Skip to content

关于jiojio分词器的一些问答

冬日新雨 edited this page May 5, 2022 · 3 revisions

初衷

  • 制作一个在 CPU 上的高速、优质分词工具。

问:目前 NLP 开发与落地逐渐倾向于不分词直接用模型处理字 token,分词的意义在哪里?

  • :很多 NLP 任务可以采用 Bert、GPT、Seq2Seq 来完成,但这不代表所有任务都可以依赖模型。很多信息抽取、解析依然需要基于高效的分词来处理,需要词典、正则,需要大规模的泛化,那么高效的分词工具就依然有用武之地。

问:目前开源分词器如 jieba、pkuseg、lac、ansj 等,多如牛毛,为何还要再开发一个分词器?

  • :制作一个分词工具,在实际语料中达到 90%~94% 的 F1 值效果不难,但对于应用和落地,则需要 95%~99.9% 的 F1 值效果,这个优化过程需要详细的调试和分析,消耗大量的精力。
  • 另一方面,NLP 领域的模型研究逐渐趋向于超大模型,强依赖 GPU 等设备;对于无 GPU 环境下高效的分词始终缺失。开发此款分词与词性标注工具,目的在于在 CPU 上实现高效分词。

问:语言随社会变化发展演变很快,每年都有新兴词汇出现,如何保证模型的时效性和准确性?

  • :分词工具的模型优化主要核心点在于新语料数据的更新。因此,本工具提供了界面化的新语料提交接口。用户可以自主向云端提供新语料,模型计算错误的语料,本工具会定期进行模型的优化和重新训练。

问:哪些任务依赖高效的分词?

  • :很多定制化 NLP 任务依赖高速、优质的分词工具,常见解决方案见JioNLP

问:jiojio 可以由用户自由训练模型使用吗?

  • :可以,使用 jiojio.train 来完成。不过目前可能存在一些坑,可参考 jiojio/example 的例子来进行训练。