您当前的位置:首页 > 电脑百科 > 站长技术 > 网站

如何为你的网站构建无服务器NLP聊天机器人

时间:2020-11-26 10:02:35  来源:  作者:
浏览器中的自然语言处理

> Image source: Author

可以为自己的网站构建聊天机器人,而无需依赖Dialogflow或Watson等第三方服务,也无需服务器。 我将向您展示如何构建一个完全在浏览器中运行的聊天机器人。

我将假设您对JAVAScript有一定的了解,并了解自然语言处理的工作原理。不需要高级知识或机器学习经验。

如果有人告诉您在使用JavaScript的浏览器中进行机器学习是疯狂的,请不要听,因为很快您就会了解自己。

我们的代码将基于NLP.js版本4。NLP是一个开放源代码库,用于以JavaScript编写的自然语言处理。 该项目将允许您直接从语料库在浏览器中训练NLP,并将Hook添加到任何以编程方式更改答案的意图。

最终项目可以在我的GitHub存储库上找到:https://github.com/MeetMartin/nlpjs-web。 您可以下载它,打开index.html,然后与最终的聊天机器人一起玩。

如今,每个真正的开发人员都应具备一些人工智能方面的经验,并且比使用您自己开发的东西与您的计算机进行交谈更像是科幻小说。

安装套件

在任何文件夹中创建一个新的npm项目并安装NLP软件包:

npm i -D @nlpjs/core @nlpjs/lang-en-min @nlpjs/nlp @nlpjs/request-rn@nlpjs/request-rn

我们还需要browserify和terser才能构建供浏览器使用的NLP:

npm i -D browserify terser

全新安装的软件包可为您带来新项目的味道。 你应得的。

建立NLP

第一步是使用browserify和terser构建NLP。为此,我们只需要在buildable.js中创建一个基本设置:

我们仅使用NLP的核心和小型英语包。要构建所有内容,只需在您的package.json中添加一个构建命令:

现在运行构建:

npm run build

您应该以./dist/bundle.js结尾,大约只有137 KB。 还需要注意的是,NLP拥有令人印象深刻的受支持语言列表。 但是,只有英语具有针对浏览器的优化版本。

在浏览器中训练NLP

现在我们已经创建了包,我们可以在浏览器中训练我们的NLP。创建此index.html:

我们的功能setupNLP负责库的设置以及培训。语料库是一个JSON文件,它以以下格式定义我们的聊天机器人的对话:

该意图是会话节点的唯一标识符,其名称应表示聊天机器人做出响应的用户的意图。言语是用户可以说出触发意图的一系列训练示例。然后,答案是聊天机器人将随机选择的一系列响应。

为了训练我们的聊天机器人,我们从库中的例子中借用了更大的语料库:https://raw.githubusercontent.com/jesus-seijas-sp/nlpjs-examples/master/01.quickstart/02.filecorpus/corpus-en.json。但是对于您的用例,请随时创建自己的语料库。只要记住,库希望从某个URL读取语料库。

在浏览器中打开index.html时,您应该会看到一个简单的聊天表格,该表格目前还没有任何作用。

浏览器中的自然语言处理

 

但是,如果打开浏览器控制台,您已经可以看到成功的训练输出:

浏览器中的自然语言处理

 

训练非常快速,并使训练后的模型可用于浏览器中的聊天机器人。这是一种更有效的方法,因为语料库文件比生成的模型小得多。

训练您的第一个机器学习代码感觉很好。 您刚刚成为一个传奇人物,并且这个星球上的少数人可以说:"是的,我曾经训练过一次AI,没什么大不了的。"

聊天机器人HTML

现在,我们将使chatbot表单起作用。 通过添加onChatSubmit函数来扩展index.html:

现在,您可以使用新的聊天机器人了:

浏览器中的自然语言处理

 

在https://raw.githubusercontent.com/jesus-seijas-sp/nlpjs-examples/master/01.quickstart/02.filecorpus/corpus-en.json上探索您的主体或主体,以了解支持哪些对话主题。

现在,您可以在酒吧中向朋友展示并轻松获得他们的钦佩,因为您现在是真正的黑客

向意图添加挂钩

您可能希望您的聊天机器人能够使用每种意图调用一些其他代码,或者使用一些API调用替换某些意图的答案。让我们将index.html扩展到最终版本。

在setupNLP中,我们添加了一行:

nlp.onIntent = onIntent;

我们创建了onIntent函数。请注意,onIntent将每个意图的响应对象记录到控制台中。它还通过根据用户的当前时间用答案替换其输出,从而为greetings.hello意图添加了逻辑。就我而言,现在是下午:

浏览器中的自然语言处理

 

这不是很棒吗?如果您正准备创建自己的AI创业公司,则高五。

已知局限性

请注意,NLP的浏览器版本不支持某些常见的自然语言处理功能,例如完整库中可用的命名实体或实体提取。

NLP作为图书馆目前也不支持故事或后续意图。 这些是chatbot业务流程当前开发的一部分,但是在撰写本文时,该功能仍处于试验阶段。

安全和隐私注意事项

使用此解决方案时,请记住,访问您网站的任何人都可以在浏览器中使用整个语料库及其功能。 这也使任何人都能够简单地下载您的语料库,对其进行操作以及以其他方式使用它。 确保您的漫游器没有公开任何私人信息。

使用仅浏览器的解决方案具有某些优势,但也消除了一些机会,因为您仍然需要一些后端解决方案,以便能够记录用户与您的聊天机器人在谈论什么。 同时,如果您记录整个对话,请考虑隐私问题,尤其是在GDPR之类的立法中。

(本文由闻数起舞翻译自Martin Novák的文章《Natural Language Processing in the Browser》,转载请注明出处,原文链接:https://medium.com/better-programming/natural-language-processing-in-the-browser-8ca5fdf2488b)



Tags:NLP   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
语言是人类思维的基础,当计算机具备了处理自然语言的能力,才具有真正智能的想象。自然语言处理(Natural Language Processing, NLP)作为人工智能(Artificial Intelligence, AI)的核心技术之一,是用计算机来处理、理解以及运...【详细内容】
2021-10-11  Tags: NLP  点击:(48)  评论:(0)  加入收藏
> Image source: Author可以为自己的网站构建聊天机器人,而无需依赖Dialogflow或Watson等第三方服务,也无需服务器。 我将向您展示如何构建一个完全在浏览器中运行的聊天机器...【详细内容】
2020-11-26  Tags: NLP  点击:(89)  评论:(0)  加入收藏
 自然语言处理(NLP)在语音和文本方面的改进将助力主流技术的发展。例如以人类自然发音朗读电子邮件时,如果用户对电子表格中的数据提出质疑,Excel会自动以图表和数据透视表的形...【详细内容】
2020-11-05  Tags: NLP  点击:(83)  评论:(0)  加入收藏
自在ImageNet上推出AlexNet以来,计算机视觉的深度学习已成功应用于各种应用。相反,NLP在深层神经网络应用方面一直落后。许多声称使用人工智能的应用程序通常使用某种基于规...【详细内容】
2020-10-16  Tags: NLP  点击:(173)  评论:(0)  加入收藏
上期文章我们分享了NLP 自然语言处理的基础知识,本期我们分享几个比较流行的中文分词库,且这些中文分词库绝大部分是Java程序编写的,在linux系统上很容易使用,但是在windows环境...【详细内容】
2020-09-22  Tags: NLP  点击:(75)  评论:(0)  加入收藏
自然语言处理自然语言处理已成为 2020 年深度学习领域中研究最多的领域之一,这主要是由于其日益普及,未来的潜力以及对各种应用程序的支持。如果你以前玩过深度学习,那么可能...【详细内容】
2020-08-26  Tags: NLP  点击:(108)  评论:(0)  加入收藏
AI正在向更深层次进化,语言与知识技术的重要性愈加凸显。8月25日,以“掌握知识、理解语言、拥有智能”为主题的百度大脑语言与知识技术峰会重磅开启,百度CTO王海峰发表主旨演讲...【详细内容】
2020-08-25  Tags: NLP  点击:(89)  评论:(0)  加入收藏
自然语言处理(NLP)是许多数据科学系统中必须理解或推理文本的关键组成部分。常见的用例包括文本分类、问答、释义或总结、情感分析、自然语言BI、语言建模和消歧。NLP在越...【详细内容】
2020-07-23  Tags: NLP  点击:(58)  评论:(0)  加入收藏
作者:张倩种一棵树,最好的时间是十年前,其次是现在。——Dambisa Moyo 7 月 10 日,自然语言处理顶会 ACL 2020 落下帷幕。本次大会共收到 3429 篇论文投稿,其中 779 篇...【详细内容】
2020-07-16  Tags: NLP  点击:(60)  评论:(0)  加入收藏
作者:Susan Li翻译:杨毅远校对:吴金笛本文长度为4400字,建议阅读8分钟本文为大家介绍了基于自然语言处理的COVID-19虚假新闻检测方法以及可视化方法,并结合真实的新闻数据集与完...【详细内容】
2020-07-05  Tags: NLP  点击:(97)  评论:(0)  加入收藏
▌简易百科推荐
今天我们来聊一下北京地区的《ICP经营许可证》有多好办,现在的互联网上提供的商机越来越多,增值电信业务十分火爆,企业通过互联网突破地域的限制,把公司产品卖到更远的地方,同时...【详细内容】
2021-12-17  梦想理应飞翔Yy    Tags:《ICP经营许可证》   点击:(12)  评论:(0)  加入收藏
转自: https://blog.kermsite.com/p/blog-intro/由于格式问题,部分链接、表格可能会失效,若失效请访问原文此专题将详细介绍如何从零开始搭建一个个人博客。Dec 01, 2021阅读时...【详细内容】
2021-12-17  LaLiLi    Tags:个人博客   点击:(6)  评论:(0)  加入收藏
SP证是第二类增值电信业务经营许可证的简称。分为全网SP证和地网SP证。申请经营许可证是在工信部申请,全网SP经营许可证的有效期是5年,全网SP许可证在工信部办理全网SP续期,地...【详细内容】
2021-11-01  s陳述    Tags:sp证书   点击:(38)  评论:(0)  加入收藏
现在还有许多人不知道EDI许可证是什么东西今天我就来给大家讲解一下.EDI许可证就是一种增值电信业务经营许可证。是针对在线数据处理和交易处理业务需求的专业资格证书。 《...【详细内容】
2021-10-28  soberXx    Tags:edi许可证   点击:(75)  评论:(0)  加入收藏
元素的化学概念,如周期表中的化学元素,一切物质都是由元素构成的。对程序员而言,网站建设制作就是代码构成网站。企业网站设计者也收集了各种各样的元素,但并非所有元素都需要运...【详细内容】
2021-10-26  南宁云尚网络    Tags:企业网站   点击:(39)  评论:(0)  加入收藏
在运营网站的过程中,有一件不可忽略的事情。那就是网站上线之前需要完成 ICP 备案。说到这里,很多朋友就提出疑问了~· 什么是 ICP 备案呢?· ICP 备案需要哪些材...【详细内容】
2021-10-22  启测云    Tags:ICP备案   点击:(45)  评论:(0)  加入收藏
最近有朋友问我,我公司有外资就不能申请ICP许可证了么?外资的定义是什么?其实是可以的,但有一个特定条件必须满足,外资公司是指公司有外资股东,比如香港、加拿大、美国、韩国等等,...【详细内容】
2021-10-21  小白速看Z    Tags:ICP   点击:(51)  评论:(0)  加入收藏
自互联网出现以来,超文本传输协议http协议被广泛用于在Web浏览器和网站服务器之间传递信息,但随着互联网的发展,另一种协议——https出现,并与http一同服务于这个互联...【详细内容】
2021-10-20  我是FEIYA    Tags:https   点击:(44)  评论:(0)  加入收藏
Grafana Loki 是一个日志聚合工具,它是功能齐全的日志堆栈的核心。图片来自 包图网先看看结果有多轻量吧: Loki 是一个为有效保存日志数据而优化的数据存储。日志数据的高效索...【详细内容】
2021-09-14    51CTO  Tags:Loki日志   点击:(97)  评论:(0)  加入收藏
背景最近做微信小程序开发比较多,大家知道线上微信小程序为了安全起见,要求后端通信协议必须是HTTPS,这就要求需要安装证书。为了测试预发布线上环境,特地买了个最便宜的域名,为...【详细内容】
2021-09-14  小李子说程序    Tags:HTTPS证书   点击:(124)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条