如何打包spaCy令牌生成器以与新词汇表一起使用?

时间:2019-07-16 18:56:27

标签: spacy

我已经习惯了打包自定义域特定的spaCy语言模型,将其作为共享经过训练的模型,令牌生成器和/或向量嵌入以便在整个组织中轻松使用的有效方法。

到目前为止,最常用的组件是自定义标记器。从字面上看,所有各种下游模型都希望使用此相同的自定义Tokenizer。一些具体的用例:

  1. 客户端可能需要标记文本,而不依赖spaCy进行任何其他处理。
  2. 另一个客户可能希望从en_core_web_lg语言中提取名词_块,除了用我们的自定义语言替换该语言的.tokenizer

为客户建立共享spaCy令牌生成器(仅)的最佳方法是什么?

直到现在,我已经将Tokenizer打包为一种独立的spaCy语言,具有零管道组件(它包括来自spacy.blank('en')的自己的Vocab)。

对于用例2,我希望简单

import my_domain_tokenizer_language
my_tokenizer = my_domain_tokenizer_language.load().tokenizer

import en_core_web_lg
nlp2 = en_core_web_lg.load()
nlp2.tokenizer = my_tokenizer

但这不好,因为两种语言有不同的Vocab

有没有一种方法可以将tokenizer程序包作为独立语言使用?还是应该只打包create_tokenizer(language) python函数,让下游客户端根据需要使用自己的Language来调用它?

0 个答案:

没有答案