使用python和cython的工业级自然语言处理(nlp)

spacy-nightl的Python项目详细描述


斯帕西:工业实力NLP

spacy是一个在python和 塞松它建立在最新的研究基础上,从第一天起就被设计出来了 用于实际产品。痉挛伴随着 预先训练的统计模型和单词向量,以及 目前支持45+种语言的标记化。它的特点是 世界上最快的语法分析器 用于标记、解析和命名实体识别的神经网络模型 易于深入学习。它是商业开源软件, 根据麻省理工学院的许可证发布。

2.1版现在发布!在此处查看发行说明。

azure pipelinetravis build status当前发布版本pypi versionconda versionpython wheels代码样式:black 在Twitter上的"spacy" rel="nofollow">spacy on twitter

文档

<表><广告>文档 < T/>< /广告><正文>spacy 101新来的Spacy?这是你需要知道的一切!使用指南如何使用Spacy及其功能。在v2.1中新增新功能、向后不兼容和迁移指南。API参考Spacy的API的详细参考资料。型号下载Spacy的统计语言模型。世界图书馆、分馆、演示、书籍和课程。更改日志更改和版本历史。贡献如何为Spacy项目和代码库做出贡献。

在哪里提问

Spacy项目由@honnibal 以及@ines。请理解我们不能 通过电子邮件提供个人支持。我们也相信帮助比 如果它是公开分享的,那么它是有价值的,这样更多的人可以从中受益。

<表><广告>键入平台 < /广告><正文>错误报告Github问题跟踪程序功能请求Github问题跟踪程序用法问题 堆栈溢出···························· 一般性讨论Gitter聊天·····Reddit用户组

功能

  • 世界上最快的语法分析器
  • 命名实体识别
  • 无损标记化
  • 支持45多种语言
  • 预先培训的统计模型和单词向量
  • 易于深入学习整合
  • 词性标注
  • 标记依赖项分析
  • 语法驱动的句子分割
  • 内置可视化工具用于语法和ner
  • 方便的字符串到哈希映射
  • 导出到numpy数据数组
  • 高效的二进制序列化
  • 轻松模型打包和部署
  • 最先进的速度
  • 可靠、经过严格评估的准确度

有关详细信息,请参阅 事实、数字和基准

安装间距

有关详细的安装说明,请参见 文档

  • 操作系统:MacOS/OS X·Linux·Windows(cygwin、mingw、Visual Studio)
  • python版本:python 2.7、3.4+(仅64位)
  • 包管理器pip·conda(通过conda forge)

PIP

使用pip,spacy版本可以作为源包和二进制轮来使用。 (截至v2.0.13)。

pip install spacy

使用pip时,通常建议在虚拟机中安装软件包 避免修改系统状态的环境:

python -m venv .env
source .env/bin/activate
pip install spacy

条件a

感谢我们伟大的社区,我们终于重新添加康达支持。现在你可以 通过Conda Forge安装Spacy

conda config --add channels conda-forge
conda install spacy

对于原料,包括构建配方和配置, 查看此存储库。 我们始终感谢对配方和设置的改进和请求。

更新Spacy

Spacy的某些更新可能需要下载新的统计模型。如果你是 运行spacy v2.0或更高版本,您可以使用validate命令检查 您安装的型号兼容,如果不兼容,请打印有关如何更新的详细信息 它们:

pip install -U spacy
python -m spacy validate

如果您已经培训过自己的模型,请记住您的培训和运行时 输入必须匹配。更新Spacy后,我们建议您重新培训您的模特 使用新版本。

有关从Spacy 1.x升级到Spacy 2.x的详细信息,请参阅 迁移指南

下载型号

从v1.7.0开始,spacy的模型可以作为python包安装。 这意味着它们是应用程序的一个组件,就像任何 其他模块。可以使用spacy的download命令安装模型, 或者手动将pip指向路径或url。

<表><广告>文档 < T/>< /广告><正文>可用型号详细的模型描述、精度数字和基准。模型文档详细使用说明。
# out-of-the-box: download best-matching default model
python -m spacy download en

# download best-matching version of specific model for your spaCy installation
python -m spacy download en_core_web_lg

# pip install .tar.gz archive from path or URL
pip install /Users/you/en_core_web_sm-2.0.0.tar.gz

加载和使用型号

要加载模型,请使用带有模型快捷链接的spacy.load()

importspacynlp=spacy.load('en')doc=nlp(u'This is a sentence.')

如果您通过pip安装了一个模型,还可以直接导入 然后调用它的load()方法:

importspacyimporten_core_web_smnlp=en_core_web_sm.load()doc=nlp(u'This is a sentence.')

有关更多信息和示例,请查看 模型文档

支持旧版本

如果您使用的是旧版本(v1.6.0或更低版本),您仍然可以下载 使用python-m spacy.en.download all从Spacy中安装旧模型 或者python-m spacy.de.download all。还有.tar.gz档案 附加到v1.6.0版本中。 若要手动下载和安装模型,请解压缩存档文件,删除 包含目录到spacy/data并通过spacy.load('en')加载模型 或spacy.load('de')

从源代码编译

另一种安装spacy的方法是克隆它的 github存储库并从 来源。如果要更改代码基,这是常见的方法。 您需要确保您有一个开发环境,由 python发行版,包括头文件、编译器, pipvirtualenvgit 安装。编译器部分是最棘手的。如何Do那取决于你 系统。有关详细信息,请参阅有关ubuntu、os x和windows的说明。

# make sure you are using the latest pip
python -m pip install -U pip
git clone https://github.com/explosion/spaCy
cd spaCy

python -m venv .env
source .env/bin/activate
exportPYTHONPATH=`pwd`
pip install -r requirements.txt
python setup.py build_ext --inplace

与通过PIP进行的常规安装相比,requirements.txt 另外安装开发人员依赖项,如cython。更多细节 和说明,请参阅 从源代码编译spacy 快速启动小部件 为您的平台和python版本提供正确的命令。

ubuntu

通过apt get安装系统级依赖项

sudo apt-get install build-essential python-dev git

MacOS/OS X

安装最新版本的xcode, 包括所谓的"命令行工具"。MacOS和OS X与Python一起提供 以及预装的Git。

窗口

安装Visual C++生成工具的版本 visual studio速成版 与用于编译python的版本相匹配的 翻译。对于官方发行版,它们是vs 2008(python 2.7)。 与2010年(Python3.4)和2015年(Python3.5)相比。

运行测试

Spacy附带了一个广泛的测试套件。为了运行 测试时,通常需要克隆存储库并从源代码构建spacy。 这还将安装所需的开发依赖项和测试实用程序 在requirements.txt中定义

或者,您可以找到spacy的安装位置并运行pyteston 那个目录。别忘了还可以通过spacy安装测试实用程序 requirements.txt

pip install spacy
0

有关详细信息和 示例。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java结合两个Date实例使用Joda创建datetime   带有POI和FileOutputStream的java Swing应用程序性能问题   Java中是否存在类似于Python的异常?   Java中有界通配符的泛型   使用字符和子字符串的java不同输出   在Java中获取LDAP模式   java自定义类在自身上生成ClassNotFoundException   java连接到从internet到通过LAN连接到internet的系统的serversocket   java如何通过maven在jaxws中使用jaxb插件?   java Kerberos如何获取主体或客户端名称?   java应用服务器中是否有JDBC的单点登录解决方案?   java是存储矩阵值以便以后访问的更好方法   Java等级计算器。开始这门课我需要一些帮助   未找到Android“libc++\u shared.so”中的java OpenCV实现   当我使用web配置部署描述符时使用java。xml。它显示了错误   java为什么我的ArrayList的add方法冲突,如何编辑我的自定义add方法   java创建一个以集合为键的映射?   java如何将用户输入到数字三角形中   为什么Java在读取LinkedHashMap时会自动从字符串转换为整数   类动态创建和读取java类