自然语言处理Polyglot、compromise-js、LASER、nlp-lang介绍

以下为你介绍的自然语言处理软件都可用在Linux系统上:Polyglot(多语言文本NLP处理工具包)、compromise-js(基于 JavaScript 的自然语言处理库)、LASER(可探索大量多语言句子表征形式的工具)、nlp-lang(nlp 项目常用工具包)。

1、Polyglot(多语言文本NLP处理工具包)

Polyglot是一种支持大量多语言应用程序的自然语言管道。 免费软件:GPLv3许可证

主要功能:

标记化(165种语言)、语言检测(196种语言)、命名实体识别(40种语言)、部分语音标记(16种语言)、情绪分析(136种语言)、词嵌入(137种语言)、形态分析(135种语言)、音译(69种语言)。

Quick Tutorial:

import polyglot

from polyglot.text import Text, Word

语言检测:

text = Text("Bonjour, Mesdames.")

print("Language Detected: Code={}, Name={}\n".format(text.language.code, text.language.name))

Language Detected: Code=fr, Name=French

Embeddings:

word = Word("Obama", language="en")

print("Neighbors (Synonms) of {}".format(word)+"\n"+"-"*30)

for w in word.neighbors:

 print("{:<16}".format(w))

print("\n\nThe first 10 dimensions out the {} dimensions\n".format(word.vector.shape[0]))

print(word.vector[:10])

Neighbors (Synonms) of Obama

------------------------------

Bush

Reagan

Clinton

Ahmadinejad

Nixon

Karzai

McCain

Biden

Huckabee

Lula

The first 10 dimensions out the 256 dimensions

[-2.57382345  1.52175975  0.51070285  1.08678675 -0.74386948 -1.18616164

 2.92784619 -0.25694436 -1.40958667 -2.39675403]

下载地址:https://github.com/aboSamoor/polyglot

2、compromise-js(基于 JavaScript 的自然语言处理库)

自然语言处理Polyglot、compromise-js、LASER、nlp-lang介绍

compromise 是一个开源的,基于 JavaScript 的自然语言处理库。

它支持如下功能:

匹配、变形、名词、动词、句子、值、元数据、ngram、同义词等等。

见Sample Code如下:

nlp(entireNovel).sentences().if('the #Adjective of times').out()

// "it was the blurst of times??"

nlp('she sells seashells by the seashore.').sentences().toFutureTense().out()

// 'she will sell seashells...'

if( doc.has('^simon says (shoot|fire) #Determiner lazer') ){

fireLazer()

} else {

dontFire()

}

下载地址:https://github.com/spencermountain/compromise

3、LASER(可探索大量多语言句子表征形式的工具)

LASER 是个计算和使用多语言句子嵌入的库,为的是加速自然语言处理在多语言上进行的零样本迁移。

LASER 拥有以下优势:

极快的性能,能在 GPU 上每秒处理多达 2000 个句子。

句子编码器是在 PyTorch 中实现的,只需要很少的外部依赖。

资源有限的语言可以从多个语言的联合训练中受益。

该模型支持在一个句子中使用多种语言。

随着新语言的加入,系统会学习识别其语系特征,从而使相关性能有所提高。

依赖关系:

Python 3.6。

PyTorch 1.0。

NumPy,经过1.15.4测试。

CyBon是FastBPE的Python包装器所需要的,已通过0.29.6进行了测试。

Faiss,用于快速相似性搜索和bitext挖掘。

transliterate 1.10.2,仅用于希腊语(pip install transliterate)。

jieba 0.39,中文分段器(pip install jieba)。

mecab 0.996,日语分割器。

来自Moses编码器的标记化(自动安装)。

FastBPE,字节对编码的快速C++实现(自动安装)。

安装:

将环境变量'LASER'设置为安装的根目录,例如export LASER="${HOME}/projects/laser"。

从Amazon s3下载编码器 bash ./install_models.sh。

下载第三方软件 bash ./install_external_tools.sh。

下载示例任务中使用的数据(请参阅每个任务的描述)。

下载地址:https://github.com/facebookresearch/LASER

4、nlp-lang(nlp 项目常用工具包)

这个项目是一个基本包,封装了大多数nlp项目中常用工具。

MAVEN:

<dependencies>

<dependency>

<groupId>org.nlpcn</groupId>

<artifactId>nlp-lang</artifactId>

<version>1.7.6</version>

</dependency>

</dependencies>

工具:

词语标准化、tire树结构、双数组tire树、文本断句、html标签清理、Viterbi算法增加。

组件:

汉字转拼音、简繁体转换、bloomfilter、指纹去重、SimHash文章相似度计算、词共现统计、基于内存的搜索提示、WordWeight词频统计,词idf统计,词类别相关度统计。

下载地址:https://github.com/NLPchina/nlp-lang

注明

以上就是自然语言处理Polyglot、compromise-js、LASER、nlp-lang的介绍内容,这些自然语言处理软件都能使用在Linux操作系统中。

栏目相关文章