什么是自然语言处理 (NLP)?

自然语言是指人类相互交流的方式。

自然语言处理 (NLP) 被广义地定义为通过软件对自然语言(如语音和文本)进行电子操作。

NLP 很重要,因为我们希望以更自然的方式打开机器和人类之间的通信。NLP 具有多种用例,例如运行搜索引擎、情感分析、实体识别、基于语音的应用程序、聊天机器人和个人助理。

自然语言处理(NLP)的历史一般始于20世纪50年代。 艾伦·图灵发表了一篇关于人工智能的先驱论文《计算机械与智能》。

图灵论文导论

在20世纪60年代开发的一些非常成功的NLP系统是 SHRDLUELIZA。到 20 世纪 80 年代,大多数自然语言处理系统都基于复杂的手写规则集。在 20 世纪 80 年代,NLP 在引入机器学习算法后开始回升。

现在,几十年后,世界上充满了多个 NLP 库和引擎。让我们看看其中一些,特别是对于较新的语言,如D node.js和JavaScript。

NLP 库Node.js 和 JavaScript

虽然有许多有用的NLP库可用,如 Spacy,NLTK和科伦卑斯。但是,这些库中的大多数在 JavaScript 中不可用。我们在JavaScript中很难找到一些好的NLP库。经过大量的研究和测试,我们发现这些库很有用:

#1 Nlp. js

GitHub: https://github.com/axa-group/nlp.js

NLP.js 由 AXA 集团开发。它是用于构建机器人的 NLP 库,具有实体提取、情绪分析、自动语言识别等功能,支持 40 种语言。

NLP.js 是构建聊天机器人的完美节点.js 库。文档非常清晰,使用也非常简单。

下面是一个基本的代码段,可帮助您了解设置它是多么容易添加文档(’en’,”现在再见”,”问候.再见”);
经理. 添加文档 (’en’, ‘再见照顾’, ‘问候. 再见’);

也训练 Nlg
经理. 添加答案 (’en’, ‘问候. 再见’, ‘直到下一次’);
经理. 添加答案 (’en’, ‘问候. 再见’, ‘很快见!

训练和保存模型。
(异步() [>]
    等待经理. 火车 ();
    管理器. 保存 ();
    const 响应 = 等待经理. 进程 (’en’, “我现在应该走了’);
    控制台.log(响应);
\;)();”数据-lang=”文本/x-java”>

18
 
1
constNlpManager=需要"节点 - nlp");
2
const管理器=新的Nlpmanager语言[en]);
4
添加 NLP 的话语和意图
5
经理添加文档('en''再见现在''问候. 再见');
6
经理添加文档 ('en''再见照顾''问候. 再见');
7

8
也训练 Nlg
9
经理添加答案 ('en''问候. bye''直到下一次');
10
经理添加答案'en''问候. 再见' '很快见
12
训练和保存模型。
13
异步[>]
14
等待经理火车();
15
经理保存();
16
const响应=等待管理器过程('en'''我现在该走了');
17
控制台日志响应);
18
})();
https/github.com/自然诺德/自然

自然是另一个著名的NLP库为D node.js。”自然”是 Node.js 的通用自然语言设施。它当前支持标记、词干、分类、语音、tf-idf、WordNet、字符串相似性和一些拐点。

Java

 

x
1
 
1
var自然=要求"自然");
var标记器 = 新的自然.WordTokenizer();

3
控制台日志标记器)。标记("你的狗有跳蚤" );
4
[你的', '狗', '有', '跳蚤'\
5

6
控制台日志自然哈明迪斯坦斯("卡罗琳""卡斯林"));
7
控制台日志自然哈明迪斯坦斯"卡罗琳""克斯汀"));
8
如果字符串的长度不同 -1 返回
https://github.com/spencermountain/compromise/

妥协.cool确实是一个很酷和轻量级的库,非常容易使用。它可用于在您的浏览器上运行 NLP。

请注意,妥协仅适用于英语。

Java

 

x
1
 
1
文档\nlp整个视频
2

医生.如果(”#Adjective”)。文本()

4
"这是最模糊的时代?
5
如果文档'西蒙说#Verb'))|
6
返回true
7
}

#4温克. js

GitHub: https://github.com/winkjs/wink-nlp-utils

Wink 提供 NLP 函数,用于放大否定、管理信息、创建 ngram、茎、令牌的音位代码等。

Java

 

x
1
20
 
1
加载眨眼 - nlp - utils
2
varnlp=需要"眨眼 - nlp - utils" );
3

4
从字符串中提取人员姓名:
var名称 \ nlp.字符串提取个人名称‘博士莎拉康纳 M. 技术, 博士 – AI’);

6
控制台日志名称 );
7

8
标记句子。
9
vars="有关眨眼的详细信息,请查看http://winkjs.org/ URL!
10
控制台日志nlp.字符串标记 struetrue ) );
11
-> [ 值: '为了', 标签: '字' *,
12

13
  [值: "打开", 标记: "字" *,
14
  [值: "眨眼", 标签: "字" *,
15
  [值: ',', 标记: '标点符号' ],
16
  [值: "检查", 标记: "字" *,
17
  [值: "出", 标签: "字" *,
18
  [值: "http://winkjs.org/", 标签: "url" *,
19
  [值: "URL", 标记: "字' ],
20
  [值: '!', 标记: "标点符号"
Comments are closed.