使用Stanford CoreNLP在其中使用“.NET”一词标记英文文本

时间:2017-07-12 16:41:17

标签: stanford-nlp

我的英文文本中包含“.NET”一词。使用标准的英语标记器,这会被标记化为两个标记“。”和“NET”。

Output of Stanford CoreNLP tokenization

由于.NET是有效的单词/标记,这是标记化模型中的问题吗?作为比较,Python NLTK正确地标记了这一点:

>>> nltk.word_tokenize('The .NET CLR is cool.')
['The', '.NET', 'CLR', 'is', 'cool', '.']

其次,鉴于这是CoreNLP中当前的标记化状态,最好的解决方法是什么?我最初的想法是在tokenizer选项上使用invertible=true,然后创建一个UntokenizeAnnotator,它使用令牌注释来查找两个令牌的实例“。”和“NET”与适当的前/后信息,并将它们组合在一起。这似乎是一个真正的黑客。

或许我应该弄清楚如何重新训练标记器模型?

更新:如上所述,我使用UntokenizeAnnotator解决了这个问题。但是,我仍然对这个问题更优雅的答案感兴趣。

0 个答案:

没有答案