-欢迎加入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)、解析器、核心分析系统和情绪分析工具,并提供了英文分析模型文件。这一项目的目的是方便人们更快、更轻松地获得完整的自然语言文本语言注释。它的设计是高度灵活且可扩展的。使用一个选项,你就可以选择启用哪些工具、禁用哪些。
Stanford NER 也被称为 CRFClassifier。该软件提供(任意顺序)线性链条件随机场(CRF)序列模型的通用实现。这意味着通过训练自己的模型,你实际上可以使用该代码为任何任务构建序列模型。
你可以在这里尝试使用它: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
完整版下载包含三个训练过的英语标签器模型,一个阿拉伯语标签器模型,一个汉语标签器模型,和一个德语标签器模型。两种版本都包括相同的源代码和其它必需的文件。给定 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 软件包,所有特性都在包中。
原文:https://sergey-tihon.github.io/Stanford.NLP.NET/
↓↓↓ 点击阅读原文,进入【全球人工智能学院