如何使用机器学习的Nyckel的评论审核功能

318 阅读5分钟

使用Nyckel的机器学习进行评论审核功能

Nyckel是一个机器学习API,在训练能够执行不同任务的自动化模型方面已经被证明是有效的。一个评论功能可以识别和分类有关它所持有的内容的消息。

在这篇文章中,我们将创建一个评论函数,使用Nyckel训练它的模型,并将Nyckel模型与该函数集成,以对信息中的垃圾邮件的可能性进行分类。

目标

在本文结束时,你应该能够做到以下几点。

  • 使用Nyckel机器学习API工作。
  • 使用API创建一个评论审核功能。
  • 想出一个能够对信息进行分类的工作模型。

要求

为了成功创建你的功能,你需要。

  • 对API的事先了解。
  • 一个用于训练模型的数据集。
  • 一个稳定的网络连接,因为这个API是在线工作的。

开始使用Nyckel

如果你是Nyckel的新手,你需要用一个有效的电子邮件地址或你的Gmail账户进行注册。在Nyckel创建一个账户,你就可以使用Nyckel API提供的服务。登录后,你将被引导到以下页面。

home

创建评论功能

进入主页后,点击页面底部的New function 按钮,之后你会被引导到如下所示页面。

function

这个页面给了你两种数据输入方式,即文本和图像。在这种情况下,你要对评论进行分类,所以文本将是最好的输入方式。

选择文本,然后在后面的表格中添加标签,如spamNot spam 。之后,点击创建函数按钮,将创建名为NewFunction的函数。

你可以重命名这个函数的名字,给一个可取的名字,在这种情况下,其commentFunction ,以便在你的账户中有多个函数时容易识别。

训练模型

对于这一部分,需要一组CSVTSV 、或JSON 格式的数据来训练模型。

点击画布或拖动,上传你打算用于训练的文件,并遵循提供的上传规则。

这个模型的CSV 文件会显示其内容,你必须选择你想使用的列(使用文字较多的列)。

选择一个列,然后点击import

导入成功后,文本将按其出现在单元格中的样子显示,在这里你需要手动训练几行。你所需要的是选择你所指的文本类型,如下面的图片所示,spamnot spam

category

你需要标记大约15个输入,然后模型需要时间来学习。一旦模型从输入中进行训练,它就会自动为其余部分贴上标签,同时以百分比的形式显示准确率。

你会注意到,训练了几个后,准确率很低,但随着你训练的增多,准确率也随之上升。这与人工智能的事实相吻合,即训练数据越多,模型的准确性就越高

测试模型的准确性

在用大量的数据训练了模型后,你可以用不同的数据进行满意度测试,以确定你的模型有多准确。

要做到这一点,请在顶部导航到Invoke ,移动到测试页面。在该页面上,在标有函数输入的画布上输入或粘贴你想用来测试的数据。

结果显示在函数输出处,并标明标签和准确率百分比,如下图所示。

result

这是用来确认模型已经训练有素,可以用于真实数据。如果你对模型的准确性感到满意,你可以使用JavaScript将其与你的网站集成,如下所述。

使用JavaScript将模型与网站集成

由于本指南是关于使用Nyckel的机器学习,我们不会深入到开发一个网站来使用该模型。

本节将介绍如何从Nyckel调用模型,就像它在网站中建立一样。

下面的代码创建了与API的连接。

// The whole of this code send a request to the API from the website
function checkText(text)
{
    var formdata = new FrmData();
    formdata.append('file', text);
// this enables the model interpret the appended text as if it is in the web application
    $.ajax({
        url: 'https://www.nyckel.com/v1/functions/j3l3xdfs0fv4tec7/invoke',
        type: 'post',
        data: formdata,
        //contentType: false,
        //processData: false,
        dataType: 'json',
        success: function (response) // the text is checked against the model for easy classification
        {

            displayResult(response);    // On checking, the text is classified as either "Spam" or "Not Spam" and displayed by this function

        },
        error: function (response)
        {
        // in case of an error with the text, the resetPage function clears the page with no response to indicate an error with classification.
            alert("Error checking text", response);
            $("#title").show();
            resetPage();
        }
    });
}

链接到应用程序的URL是在API上提供的。要为你的模型获得一个URL,请导航到API部分。你会看到一个类似于这个的URL。https://www.nyckel.com/v1/functions/j3l3xdfs0fv4tec7/invoke

随着所有这些步骤的正常工作,你应该有你的模型完成并准备使用。

为什么使用Nyckel API?

随着机器学习领域的技术进步,不同的人都在努力想出更容易的方法,让大家接受人工智能。

构建API是迄今为止最有效的方法之一,因为不需要编程/编码技能就能提出训练好的模型。

为什么人们仍然喜欢手工训练?

尽管API提供了简单性,但开发者仍然喜欢训练模型的老方法。

以下是一些原因。

  1. 准确性--使用其他方法训练你的模型要考虑到许多因素,这些因素会提高模型的准确性
  2. 对模型的控制--API并没有给你对模型的完全控制。有时你可能永远不知道它做出决定所考虑的因素。出于这个原因,程序员更喜欢用更好的方式来编写训练模型的代码。

结论

到此为止,你已经学会了训练一个可以在任何网站上调用的模型,以对文本进行分类和检测垃圾邮件。虽然API还没有被完全接受,但本教程表达了它们背后的简单性。

这可以帮助许多网络开发者在他们的应用程序中实现机器学习模型,这也是预测的技术的未来。