Java使用中的Stanford POS标记

时间:2011-03-09 08:02:21

标签: java stanford-nlp pos-tagger

Mar 9, 2011 1:22:06 PM edu.stanford.nlp.process.PTBLexer next
WARNING: Untokenizable: � (U+FFFD, decimal: 65533)
Mar 9, 2011 1:22:06 PM edu.stanford.nlp.process.PTBLexer next
WARNING: Untokenizable: � (U+FFFD, decimal: 65533)
Mar 9, 2011 1:22:06 PM edu.stanford.nlp.process.PTBLexer next
WARNING: Untokenizable: � (U+FFFD, decimal: 65533)
Mar 9, 2011 1:22:06 PM edu.stanford.nlp.process.PTBLexer next
WARNING: Untokenizable: � (U+FFFD, decimal: 65533)
Mar 9, 2011 1:22:06 PM edu.stanford.nlp.process.PTBLexer next
WARNING: Untokenizable: � (U+FFFD, decimal: 65533)
Mar 9, 2011 1:22:06 PM edu.stanford.nlp.process.PTBLexer next
WARNING: Untokenizable: � (U+FFFD, decimal: 65533)
Mar 9, 2011 1:22:06 PM edu.stanford.nlp.process.PTBLexer next
WARNING: Untokenizable: � (U+FFFD, decimal: 65533)

当我想将POS标签分配给句子时,这些是我得到的错误。我从文件中读取句子。最初(对于几句话)我没有得到这个错误(即不可言说的),但在读完一些句子之后会出现这个错误。我使用POS标签的v2.0(即2009),模型是left3words

4 个答案:

答案 0 :(得分:8)

我同意Yuval - 一个字符编码问题,但最常见的情况是文件是单字节编码,例如ISO-8859-1,而标记器试图用UTF-8读取它。请参阅Wikipedia上对U + FFFD的讨论。

答案 1 :(得分:2)

这对我来说看起来像编码问题。你可以发布违规的句子吗?我在文档中找不到这个,但我会尝试检查文件是否采用UTF-8编码。

答案 2 :(得分:1)

我也遇到了这个问题。测试字符是否可标记的一种方法是检查它是否失败Character.isIdentifierIgnorable()。无法识别的字符将返回true,而所有可呈现字符的字符都将返回false

答案 3 :(得分:0)

如果您正在阅读DOC,可移植文档格式(PDF)中的内容,请使用 Apache Tika 。它将提取您的内容。它可能会对你有帮助。

Apache Tika

关于tika

Apache Tika是一个工具包,用于使用现有的解析器库从各种文档中检测和提取元数据和结构化文本内容。它是用Java编写的,但包含一个可供其他语言使用的命令行版本。

有关Tika,错误跟踪器,邮件列表,下载等的更多信息,请访问http://tika.apache.org/