spaCy v2.2 发布,自然语言处理库
spaCy v2.2 发布,自然语言处理库
昨天,Explosion团队宣布了自然语言处理库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倍。
搜索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
评论暂时关闭