2014-01-22 2 views
0

Мне нужно пометить слова в Tweets, используя Stanford POS Tagger.POS гистограмма со Стэнфордом POS Tagger

Как объяснено здесь 1, я использовал класс MaxentTagger, а затем метод: maxtagger.tagString("This is a sample text");

Это производят выход:

This_DT is_VBZ a_DT sample_NN text_NN

Теперь я должен создать для каждого твита гистограмму появления для каждого тега в твит. Я искал в JavaDoc, но не нашел ничего полезного.

Если мне нужно создать гистограмму самостоятельно, как я могу прочитать вывод другими способами, чем строку (например, список тегов)?

ответ

2

Я бы предложил вместо этого использовать метод tagCoreLabels() или tagSentence(). Например. с tagSentence() вы возвращаете список TaggedWord, из которого вы можете легко получить доступ к тегу pos, используя метод tag(). Это должно учитывать слова или модели с тегами POS, которые содержат «_».

Чтобы создать список из строки простого предложения, используйте PTBTokenizer, например.

List<CoreLabel> tokens = new PTBTokenizer<CoreLabel>(
    new StringReader(s),new CoreLabelTokenFactory(),"invertible").tokenize(); 

Используйте PTBEscapingProcessor, чтобы избежать символов, которые имеют особое значение в модели анализатора:

new PTBEscapingProcessor().apply(tokens) 

Я считаю, что нет никакой конкретной поддержки гистограмм в инструментах Стэнфорда, но я могу ошибаться.

+0

Кажется хорошим, но как я могу получить объект вроде: java.util.List из строкового текста? – Francesco

Смежные вопросы