spaCy v2.2 发布,自然语言处理库


昨天,Explosion团队宣布了自然语言处理库spaCy v2.2的新版本,强调该版本更精简,更简洁,甚至更加用户友好。

spaCy v2.2包括用于培训,评估和序列化的新模型包和功能。此版本还包含许多错误修复,改进的调试和错误处理,并大大减小了磁盘上库的大小。

spaCy v2.2 发布,自然语言处理库

spaCy v2.2 发布,自然语言处理库

spaCy v2.2的新功能

在现有的预训练模型中添加了更多语言并进行了改进

此spaCy版本引入了针对另外两种语言的预训练模型:挪威语和立陶宛语。由于当前模型既未使用预训练的单词向量,也未使用spacy pretrain命令,因此这两种语言的准确性都可能在后续版本中提高。该团队希望尽快添加更多语言。

经过预先训练的荷兰NER模型现在包括一个新的数据集,使其更加有用。新的数据集在LaSSy语料库上提供了OntoNotes 5注释。这使研究人员可以用经过20类黄金标准实体训练的半自动Wikipedia NER模型代替。

用于培训的新CLI功能

spaCy v2.2现在包括对培训和数据开发工作流程的各种可用性改进,尤其是在文本分类方面。开发人员对错误消息进行了改进,更新了文档,并使评估指标更加详细-例如,默认情况下,评估现在提供按实体类型和按文本类别的准确性统计信息。

为了使培训更加容易,开发人员还引入了新的debug-data命令,以验证用户培训和开发数据,获取有用的统计信息以及发现诸如无效的实体注释,循环依赖项,数据标签不足等问题。

减少磁盘占用空间并改善语言资源处理

随着spaCy支持更多语言,磁盘占用空间稳步攀升,尤其是在添加了基于查找的词法表的支持时。这些表存储为Python文件,在某些情况下变得很大。 spaCy团队已将这些查找表切换为gzip JSON,并将它们移至单独的程序包spacy-lookups-data,可以在需要时与spaCy一起安装。根据系统的不同,spaCy安装现在应小5-10倍。

而且,大型语言资源现在由一致的LookupsAPI提供支持,您在编写自定义组件时也可以利用。自定义组件通常需要可用于Doc,Token或Spanobjects的查找表。自然的地方是在共享的Vocab中。现在,自定义组件也可以使用新的查找API在此放置数据。

新的DocBin类可有效地序列化Doc集合

通过新的DocBin类,可以轻松地一起对一组Doc对象进行序列化和反序列化,并且比在每个Doc对象上调用Doc.to_bytes效率更高。您还可以控制保存哪些数据,并且可以将托盘合并在一起以简化地图/简化样式的处理。

词组匹配速度提高10倍

spaCy以前的PhraseMatcher算法可以轻松扩展到大型查询集。 但是,当使用更少的查询时,并不一定会那么快-使其性能特征有些不直观。 spaCy v2.2用更直接的基于trie的算法替换了PhraseMatcher。 由于搜索是通过令牌而不是字符进行的,因此匹配非常快-即使在使用Cython数据结构优化实现之前也是如此。 使用少量查询时,新的实现将快20倍,而使用10,000个查询时,仍将快5倍。

spaCy v2.2 发布,自然语言处理库

搜索10,000多个Wikipedia文章的基准

资料来源:experiment.ai

spaCy v2.2中的一些bug修复

  • 通过移动和压缩大字典来减小磁盘上的软件包大小。
  • 拆分令牌后更新了引理和向量信息。
  • 此版本自动跳过Doc.retokenize中的重复项。
  • 允许自定义实体HTML模板。
  • 确保培训不会因空批次而崩溃。

要详细了解其他错误修复,请阅读GitHub上的发行说明。

要详细了解spaCy v2.2,请阅读官方文章。

linuxboy的RSS地址:https://www.linuxboy.net/rssFeed.aspx

本文永久更新链接地址:https://www.linuxboy.net/Linux/2019-10/160895.htm

相关内容

    暂无相关文章