自然语言处理PyText、Snips NLU、ClearTK、Synonyms介绍

以下为你介绍的自然语言处理软件都可用在Linux系统上:PyText(基于 PyTorch 的 NLP 建模框架)、Snips NLU(自然语言解析引擎)、ClearTK(NLP 自然语言处理框架)、Synonyms(开源中文近义词工具包)。

1、PyText(基于 PyTorch 的 NLP 建模框架)

PyText 是一个基于 PyTorch 构建的深度学习 NLP 建模框架。PyText 通过为模型组件提供简单且可扩展的接口和抽象,以及使用 PyTorch 的 Caffe2 执行引擎导出模型进行推理的功能,模糊了实验与大规模部署之间的界限。其预训练模型包括文本分类、序列标注等。

PyTorch 是一个统一的框架,缩短了从研究到生产的路径,而基于 PyTorch 的 PyText 则着眼于满足 NLP 建模的特定需求。

核心特性:

1]、适用于各种 NLP/NLU 任务的生产就绪模型

文本分类:

Yoon Kim (2014): Convolutional Neural Networks for Sentence Classification

Lin et al. (2017): A Structured Self-attentive Sentence Embedding

序列标注:

Lample et al. (2016): Neural Architectures for Named Entity Recognition

联合意图时隙模型(Joint intent-slot model):

Zhang et al. (2016): A Joint Model of Intent Determination and Slot Filling for Spoken Language Understanding

上下文意图-时隙模型(Contextual intent-slot models)

2]、支持在 PyTorch 1.0 中基于新 C10d 后端构建的分布式训练

3]、可扩展组件,可轻松创建新模型和任务

4]、参考实现和预训练模型论文:Gupta et al. (2018): Semantic Parsing for Task Oriented Dialog using Hierarchical Representations(请到项目页了解)

5]、支持联合训练

安装PyText:

PyText需要Python 3.6.1或更高版本。

获取源代码:

$ git clone https://github.com/facebookresearch/pytext

$ cd pytext

创建一个virtualenv并安装PyText:

$ python3 -m venv pytext_venv

$ source pytext_venv/bin/activate

(pytext_venv) $ pip install pytext-nlp

如果在安装过程中遇到缺少依赖项的问题,请安装好这些依赖项即可。

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

2、Snips NLU(自然语言解析引擎)

自然语言处理PyText、Snips NLU、ClearTK、Synonyms介绍

Snips NLU 是 Snips 嵌入式语音平台背后的开源库,它是一个用于自然语言理解的 Python 库,可解析用自然语言书写的句子,同时提取结构化信息。开发者可以用它创造出专有的语音助手。

示例:

比如这样一句话:

"What will be the weather inparisat 9pm?"

经过适当的训练,Snip NLU 引擎将能够提取结构化数据,例如:

{

"intent": {

"intentName": "searchWeatherForecast",

"probability": 0.95

},

"slots": [

{

"value": "paris",

"entity": "locality",

"slotName": "forecastLocality"

},

{

"value": {

"kind": "InstantTime",

"value": "2018-02-08 20:00:00 +00:00"

},

"entity": "snips/datetime",

"slotName": "forecastStartDatetime"

}

]

}

注:上图是处理流程。

系统要求:

1]、Python 2.7或Python>=3.5。

2]、RAM:Snips NLU通常会使用100MB至200MB的RAM,具体取决于语言和数据集的大小。

安装:

pip install snips-nlu

当前,我们为snips-nlu预先构建了二进制文件,并为MacOS(10.11和更高版本)、Linux x86_64和Windows提供了相关的软件包。

对于其他任何体系结构/操作系统,可以从源代码发行版中安装snips-nlu,为此,必须在运行pip install snips-nlu命令之前安装Rust和setuptools_rust。

下载地址:https://github.com/snipsco/snips-nlu

3、ClearTK(NLP 自然语言处理框架)

ClearTK 提供一个 Java 的用来开发基于统计的 NLP 自然语言处理框架。基于 Apache UIMA 构建,由科罗拉多大学的计算语言与教育研究中心开发。

示例代码:

FeatureExtractor1<Token> extractor = new TypePathExtractor<Token>(Token.class, "pos");

List<Feature> features = extractor.extract(this.jCas, token);

Maven:

<properties>

<cleartk.version>2.0.0</cleartk.version>

</properties>

...

<dependencies>

<dependency>

<groupId>org.cleartk</groupId>

<artifactId>cleartk-ml</artifactId>

<version>${cleartk.version}</version>

</dependency>

<dependency>

<groupId>org.cleartk</groupId>

<artifactId>cleartk-ml-liblinear</artifactId>

<version>${cleartk.version}</version>

</dependency>

...

</dependencies>

下载地址:https://github.com/ClearTK/cleartk

4、Synonyms(开源中文近义词工具包)

Synonyms 是一个中文近义词工具包,它可用于如文本对齐、推荐算法、相似度计算、语义偏移、关键字提取、概念提取、自动摘要、搜索引擎等很多自然语言理解(NLP)任务。该工具包目前能搜索近义词和比较语句相似度等任务,且词汇量达到了 125,792。

该中文近义词工具包采用的基本技术是 Word2vec。

运行效果:

自然语言处理PyText、Snips NLU、ClearTK、Synonyms介绍

自然语言处理PyText、Snips NLU、ClearTK、Synonyms介绍

下载地址:https://github.com/huyingxi/Synonyms

注明

以上就是自然语言处理PyText、Snips NLU、ClearTK、Synonyms的介绍内容,这些自然语言处理软件都能使用在Linux操作系统中。

栏目相关文章