Стэнфордский POS-теггер в использовании Java

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 для предложений. Я читаю предложения из файла. Изначально (за несколько предложений) я не получаю эту ошибку (то есть неосклеиваемую), но после прочтения некоторых предложений эта ошибка возникает. Я использую v2.0 (т.е. 2009) тегера POS и модель left3words.

Ответ 1

Я согласен с Yuval - проблемой кодирования символов, но самый общий случай - это когда файл находится в одной байтовой кодировке, такой как ISO-8859-1, в то время как теггер пытается прочитать его в UTF-8. См. Обсуждение U + FFFD на Wikipedia.

Ответ 2

Это похоже на проблему с кодировкой. Можете ли вы опубликовать оскорбительное предложение? Я не мог найти это в документации, но я бы попытался проверить, находится ли файл в кодировке UTF-8.

Ответ 3

Я столкнулся с этой проблемой. Один из способов проверить, является ли символ токенизируемым, - проверить, не сработал ли он Character.isIdentifierIgnorable(). Неопределяемый символ вернет true, а все токенизируемые символы вернут false.

Ответ 4

Если вы читаете контент из DOC, Portable Document Format (PDF), используйте Apache Tika. Он будет извлекать ваш контент. Это может помочь вам.

Apache Tika

О tika

Apache Tika - это инструментарий для обнаружения и извлечения метаданных и структурированного текстового контента из различных документов с использованием существующих библиотек парсеров. Он написан на Java, но включает версию командной строки для использования с других языков.

Более подробную информацию о Tika, отслеживании ошибок, списках рассылки, загрузках и т.д. можно получить по адресу http://tika.apache.org/