推荐|斯坦福的Stanford.NLP.NET:集合多个NLP工具

2017 年 12 月 25 日 全球人工智能


-欢迎加入AI技术专家社群>>

- 日薪5K-10K招兼职AI讲师>>

该项目包含使用使用 IKVM.NET 将 Stanford NLP.jar 软件包重新编译到.NET 中的构建脚本,这些软件经过测试可以有效工作,该工具包的介绍网站是:https://sergey-tihon.github.io/Stanford.NLP.NET/

所有重编译软件包在 NuGet 上:https://www.nuget.org/packages?q=Stanford.NLP

1.Stanford CoreNLP :提供了一组自然语言分析工具,可采用原始的英文文本输入,并提供单词的基本形式、读音形式、无论它们是公司名还是人名等,以及规范化日期、时间和数字数量。它根据短语和单词之间的联系来标记句子的结构,并可指出哪个名词短语指向相同实体。

Stanford CoreNLP 是一个集成框架,可以让你轻松使用语言分析工具来分析一段文字。在纯文本的基础上,你可以使用仅仅两行代码来运行整个工具。它的分析为更高级别和特定领域的文本理解应用提供了基础。

Stanford CoreNLP 整合了所有 Stanford NLP 工具,其中包括(POS)标记器、命名实体识别器(NER)、解析器、核心分析系统和情绪分析工具,并提供了英文分析模型文件。这一项目的目的是方便人们更快、更轻松地获得完整的自然语言文本语言注释。它的设计是高度灵活且可扩展的。使用一个选项,你就可以选择启用哪些工具、禁用哪些。

2.Stanford.NLP.NER:是一个 Named Entity Recognizer 的实现。命名实体识别(NER)标签在文本序列中代指事物,如人、公司名、基因和蛋白质名称。它配有仔细设计的特征提取器,用于命名实体识别,以及许多用于定义特征提取器的其他选项,其中包含三种分类(PERSON、ORGANIZATION、LOCATION)的英语识别器,Stanford NLP Group 也在原项目页面中提供了其他不同语言和环境的模型,包括仅训练过 CoNLL 2003 数据集的版本:https://nlp.stanford.edu/software/CRF-NER.html

Stanford NER 也被称为 CRFClassifier。该软件提供(任意顺序)线性链条件随机场(CRF)序列模型的通用实现。这意味着通过训练自己的模型,你实际上可以使用该代码为任何任务构建序列模型。

3.Stanford.NLP.Parser:它适用于处理句子之中的语法结构。例如,哪些单词是聚合在一起的(作为短语)哪些单词是主题或对象动词。概率解析器使用手工标记的句子中获得知识,试图对新句子产生有意义的分析。这些基于统计的解析器虽然仍然可能产生错误,但通常工作得很好。它们的发展是 20 世纪 90 年代自然语言处理领域的最大突破之一。

你可以在这里尝试使用它:http://nlp.stanford.edu:8080/parser/

词汇化的概率解析器通过单独的 PCFG 结构和语法依赖实现了因子产生模型,其中的偏好通过有效精准推理结合 A*算法形成。同时,该软件也可以简单地用作准确的无索引随机上下文无关语法解析器。两者都可以作为性能良好的统计解析系统使用。在解析器中,有一个 GUI(Java)可用于查看解析器的短语结构树输出。

该解析器不仅有英文版本,还适用于一些其他语言。包括基于 Chinese Treebank 的中文解析器,基于 Negra 语料库的的与解析器,基于 Penn Arabic Treebank 的阿拉伯语解析器,以及意大利语、保加利亚语和葡萄牙语。

该解析器提供 Stanford Dependencies 输出,以及解析结构树。类型的依赖关系也被称为语法关系。这种风格的输出仅适用于中文和英文,更多细节可参考:https://nlp.stanford.edu/software/stanford-dependencies.shtml

4.Stanford.NLP.POSTagger:A Part-Of-Speech Tagger(POS Tagger) 是一个可以用某些语言来读取文本的软件,它可以把部分语音(和其它标记)分配到每一个单词上,比如、动词、形容词等,尽管一般的计算型应用使用的是像「名词复数」这样的更细密的 POS 标签。

完整版下载包含三个训练过的英语标签器模型,一个阿拉伯语标签器模型,一个汉语标签器模型,和一个德语标签器模型。两种版本都包括相同的源代码和其它必需的文件。给定 POS 标注的训练文本,标签器可以在任何语言上进行重复训练。

词类名缩写(Part-of-speech name abbreviations):英文标签器使用的是 Penn Treebank 标签集。这里有 Penn Treebank POS 标签集的相关文献连接(http://acl.ldc.upenn.edu/J/J93/J93-2004.pdf,http://www.comp.leeds.ac.uk/amalgam/tagsets/upenn.html,http://www.computing.dcu.ie/~acahill/tagset.html)。标签器在 GNU General Public License 下被授权,包含源码。软件包包括命令行调用,服务器运行和一个 Java API。

5.Stanford.NLP.Segmenter:原生文本的标记化(Tokenization)是许多 NLP 任务的标准预处理步骤。对英语来说,标记化通常包括标点符号分离和一些词缀的分离。其它语言则需要更大量的标记预处理,通常叫做分割(segmentation)。

The Stanford Word Segmenter(斯坦福词汇分割器)现在支持阿拉伯语和中文。它所提供的分割方法已经在大量应用中广泛应用,并且表现不俗。斯坦福 NLP 组推荐对包含长句的文件使用至少 1G 的存储。

分割器现在已经可以下载,在 GNU General Public License 下被授权,包含源码。软件包包括命令行调用和一个 Java API。分割器代码被双重授权(与 MySQL 的方式相类似)。开源许可是经过全部授权的,很多使用都是免费的。

安装说明

a. 选择适用于任务的软件包。如果你的任务非常复杂,需要深度分析,请使用 Stanford CoreNLP

b. 安装选择的 NuGet 软件包

c. 下载原始 ZIP 文档(软件包上有链接)

d. 如果有的话,解压缩*.jar 盒模型

e. 开始之前,请参阅示例:https://sergey-tihon.github.io/Stanford.NLP.NET/samples.html

注意:请不要尝试从项目中引用 NuGet 软件包,它们是互相关联的!如果你需要使用多于一个,请引用 Stanford CoreNLP 软件包,所有特性都在包中。

版本说明:NuGet 软件包中的模型版本与 Stanford NLP Group 中的相对应。例如,如果你使用了 Stanford NLP 网站中的 Stanford CoreNLP 3.3.1 版,在 NuGet 中,它的版本为 3.3.1.x 版,其中 x 只对应 NuGet,该位数字被用作标记.NET 集合中的内部版本。

原文:https://sergey-tihon.github.io/Stanford.NLP.NET/

↓↓↓ 点击阅读原文,进入【全球人工智能学院

登录查看更多
3

相关内容

NLP:自然语言处理
【ACL2020-复旦大学NLP】异构图神经网络的文档摘要提取
专知会员服务
34+阅读 · 2020年5月1日
【复旦大学-SP2020】NLP语言模型隐私泄漏风险
专知会员服务
24+阅读 · 2020年4月20日
【哈佛《CS50 Python人工智能入门》课程 (2020)】
专知会员服务
111+阅读 · 2020年4月12日
【ACL2020-Allen AI】预训练语言模型中的无监督域聚类
专知会员服务
23+阅读 · 2020年4月7日
【强化学习资源集合】Awesome Reinforcement Learning
专知会员服务
94+阅读 · 2019年12月23日
【精通OpenCV 4】Mastering OpenCV 4 - Third Edition 随书代码
专知会员服务
39+阅读 · 2019年11月13日
中文自然语言处理相关资料集合指南
专知
18+阅读 · 2019年3月10日
命名实体识别(NER)综述
AI研习社
66+阅读 · 2019年1月30日
准确实用,7个优秀的开源中文分词库推荐
开源中国
5+阅读 · 2018年7月26日
Github 上 Star 过千的 PyTorch NLP 相关项目
专知
3+阅读 · 2018年7月5日
简单有效的多标准中文分词
全球人工智能
6+阅读 · 2018年1月1日
Python NLP 入门教程
开源中国
14+阅读 · 2017年10月1日
Arxiv
11+阅读 · 2019年6月19日
Arxiv
22+阅读 · 2018年8月30日
Arxiv
14+阅读 · 2018年5月15日
Arxiv
3+阅读 · 2017年11月12日
VIP会员
相关VIP内容
相关资讯
中文自然语言处理相关资料集合指南
专知
18+阅读 · 2019年3月10日
命名实体识别(NER)综述
AI研习社
66+阅读 · 2019年1月30日
准确实用,7个优秀的开源中文分词库推荐
开源中国
5+阅读 · 2018年7月26日
Github 上 Star 过千的 PyTorch NLP 相关项目
专知
3+阅读 · 2018年7月5日
简单有效的多标准中文分词
全球人工智能
6+阅读 · 2018年1月1日
Python NLP 入门教程
开源中国
14+阅读 · 2017年10月1日
相关论文
Arxiv
11+阅读 · 2019年6月19日
Arxiv
22+阅读 · 2018年8月30日
Arxiv
14+阅读 · 2018年5月15日
Arxiv
3+阅读 · 2017年11月12日
Top
微信扫码咨询专知VIP会员