Stanford CoreNLP
Stanford CoreNLP 提供了一套用 Java 编写的自然语言分析工具。它可以接受原始的自然语言文本输入,提供单词的基本形式、词性分类、判断是否为公司、人物等名称,规范和解释日期、时间、数字量,标注句子的句法短语或依存结构,并指示哪些名词短语指代相同的实体。最初为英文开发,但现在也对(现代标准)阿拉伯语、(大陆)中文、法语、德语、匈牙利语、意大利语和西班牙语提供了不同程度的支持。Stanford CoreNLP 是一个集成框架,这使得对文本应用一系列语言分析工具非常简单。只需两行代码,从纯文本开始,您就可以运行所有工具。它的分析为更高层次和特定领域的文本理解应用提供了基础构建块。Stanford CoreNLP 是一套稳定且经过充分测试的自然语言处理工具,被学术界、工业界和政府的多个团体广泛使用。工具采用基于规则、概率机器学习和深度学习的组件。
Stanford CoreNLP 代码是用 Java 编写的,并根据 GNU 通用公共许可证 (v2 及更高版本) 授权。请注意,这是完整的 GPL 许可,允许许多免费用途,但不允许在分发给他人的专有软件中使用。
构建说明
每年我们会发布几次新版本的软件,这些版本对应于稳定的提交版本。
在不同的发布之间,您始终可以使用我们代码的最新开发版本。
以下是使用最新代码的一些帮助性说明:
提供的构建
有时我们会在此提供更新的 jar 文件,这些文件包含最新版本的代码。
目前,当前发布的代码版本 是我们最近发布的 jar,尽管您可以始终从 GitHub HEAD 自行构建最新版本。
使用 Ant 构建
- 确保已安装 Ant,详情请参阅:http://ant.apache.org/
- 使用此命令编译代码:
cd CoreNLP ; ant
- 然后运行此命令以使用最新代码版本构建 jar:
cd CoreNLP/classes ; jar -cf ../stanford-corenlp.jar edu
- 这将在 CoreNLP 文件夹中创建一个名为 stanford-corenlp.jar 的新 jar,其中包含最新代码。
- 与最新代码兼容的依赖项位于 CoreNLP/lib 和 CoreNLP/liblocal 中,请确保将它们包含在您的 CLASSPATH 中。
- 使用最新版本代码时,请确保下载最新版本的 corenlp-models、english-models 和 english-models-kbp 并将它们包含在您的 CLASSPATH 中。如果处理英语以外的语言,请确保下载您感兴趣的语言的最新模型 jar 版本。
使用 Maven 构建
- 确保已安装 Maven,详情请参阅:https://maven.apache.org/
- 如果在 CoreNLP 目录中运行此命令:
mvn package
,它将运行测试并构建此 jar 文件:CoreNLP/target/stanford-corenlp-4.5.4.jar
- 使用最新代码版本时,请务必下载最新版本的 corenlp-models、english-extra-models 和 english-kbp-models 并将它们包含在您的 CLASSPATH 中。如果处理英语以外的语言,请确保下载您感兴趣的语言的最新模型 jar 版本。
- 如果要将 Stanford CoreNLP 作为 Maven 项目的一部分使用,则需要将模型 jar 安装到您的 Maven 仓库中。以下是安装西班牙语模型 jar 的示例命令。对于其他语言,只需在命令中更改语言名称。要安装
stanford-corenlp-models-current.jar
,您需要设置-Dclassifier=models
。以下是西班牙语的示例命令:mvn install:install-file -Dfile=/location/of/stanford-spanish-corenlp-models-current.jar -DgroupId=edu.stanford.nlp -DartifactId=stanford-corenlp -Dversion=4.5.4 -Dclassifier=models-spanish -Dpackaging=jar
模型
与最新代码对应的模型 jar 可在下表中找到。
一些较大的(英语)模型,如移位减少解析器和 WikiDict 未包含在我们的默认模型 jar 中。 这些需要下载英语(额外)和英语(kbp)jar。其他语言的资源需要使用相应的模型 jar。
获取模型的最佳方式是使用 git-lfs 并从 Hugging Face Hub 克隆它们。
例如,要获取法语模型,请运行以下命令:
# 确保已安装 git-lfs
# (https://git-lfs.github.com/)
git lfs install
git clone https://huggingface.co/stanfordnlp/corenlp-french
这些 jar 也可以直接从下面的链接或 Hugging Face Hub 页面下载。
语言 | 模型 Jar | 最后更新 |
---|---|---|
阿拉伯语 | 下载 (HF Hub) | 4.5.6 |
中文 | 下载 (HF Hub) | 4.5.6 |
英语(额外) | 下载 (HF Hub) | 4.5.6 |
英语(KBP) | 下载 (HF Hub) | 4.5.6 |
法语 | 下载 (HF Hub) | 4.5.6 |
德语 | 下载 (HF Hub) | 4.5.6 |
匈牙利语 | 下载 (HF Hub) | 4.5.6 |
意大利语 | 下载 (HF Hub) | 4.5.6 |
西班牙语 | 下载 (HF Hub) | 4.5.6 |
感谢 Hugging Face 帮助我们进行托管!
使用 Gradle 安装
如果您不了解 Gradle 本身,请参阅官方网站:https://gradle.org
根据 Maven Central 在您的 build.gradle 中写入以下内容:
dependencies {
implementation 'edu.stanford.nlp:stanford-corenlp:4.5.5'
}
如果您要分析英语,请添加以下内容:
implementation "edu.stanford.nlp:stanford-corenlp:4.5.5:models"
implementation "edu.stanford.nlp:stanford-corenlp:4.5.5:models-english"
implementation "edu.stanford.nlp:stanford-corenlp:4.5.5:models-english-kbp"
如果使用其他版本,请将 "4.5.5" 替换为您使用的版本。
有用的资源
您可以在 Maven Central 上找到 Stanford CoreNLP 的发布版本。
您可以在 Stanford CoreNLP 主页 上找到更多说明和文档。
有关向 Stanford CoreNLP 做出贡献的信息,请参阅文件 CONTRIBUTING.md。
关于 CoreNLP 的问题可以在 StackOverflow 上使用 stanford-nlp 标签 提问,或者加入 邮件列表。