我使用 StanfordNLP 来标记一组用智能手机编写的消息。这些文本有很多错别字,不遵守标点规则。很多时候缺少空格会影响标记化。
例如,以下句子缺少“California.This”和“university,founded”中的空格。
斯坦福大学位于加利福尼亚州。这所大学是一所伟大的大学,成立于 1891 年。
标记器返回:
{“斯坦福”、“大学”、“是”、“位于”、“在”、“California.This”、“大学”、“是”、“a”、“伟大”、“大学”、“” , "创立", "in", "1891", "."}
正如所观察到的,他们很好地分割了除“California.This”之外的所有标记(我希望有三个标记{“California”“。”“this”})。我查看了标记化规则,并观察到单词的正则表达式接受用于单词中句子结尾的标点符号。
WORD = {LETTER}({LETTER}|{DIGIT}) ([.!?]{LETTER}({LETTER}|{DIGIT}) )*
我删除了最后一部分并重新编译,但标记器仍然没有改变它的行为。
有人知道如何避免这种不需要的行为吗?或者有人可以告诉我另一个适用于此类文本的标记器吗?