使用Spacy自定义空间标记

时间:2019-03-12 19:34:38

标签: python spacy

Spacy令牌生成器的行为是将单个空格压缩到先前令牌的whitespace属性中,并且将两个以上的连续空格合并以形成单个单独的令牌。句子开头的单个空格也形成单个标记。这些仅空格标记将pos_作为SPACE

我想要一种方法来修改此行为,以便将连续的空格添加到前一个标记的whitespace属性中,而不是形成一个单独的标记。

示例:

句子“这正常吗?”

令牌生成器的当前行为-

sentence.tokens :['','Is','this',','工作','适当','。']

token.whitespace :['','','','','','',''] (0或1个空格)

令牌生成器的预期自定义行为-

sentence.tokens :['','Is','this','工作','适当','。'](不能避免第一个空格)

token.whitespace :['','','','','',''](0个或多个空格)

我可以在标记化并为每个标记设置新的._.whitespaces自定义spacy属性之后使用循环来执行此操作。但这将涉及将doc对象转换为令牌列表,我想避免这种情况,因为doc对象在所有令牌上都提供了一些不错的属性。如果我要使用tokenizer.tokens_from_list用不带空格的标记构造新的doc对象,则由于该单词的文本将包含空格,因此我将无法获得适当的POS标记。

0 个答案:

没有答案