NLTK – Громкая грамматика не читает запятые

from nltk.chunk.util import tagstr2tree from nltk import word_tokenize, pos_tag text = "John Rose Center is very beautiful place and i want to go there with Barbara Palvin. Also there are stores like Adidas ,Nike ,Reebok Center." tagged_text = pos_tag(text.split()) grammar = "NP:{<NNP>+}" cp = nltk.RegexpParser(grammar) result = cp.parse(tagged_text) print(result) 

Вывод:

 (S (NP John/NNP Rose/NNP Center/NNP) is/VBZ very/RB beautiful/JJ place/NN and/CC i/NN want/VBP to/TO go/VB there/RB with/IN (NP Barbara/NNP Palvin./NNP) Also/RB there/EX are/VBP stores/NNS like/IN (NP Adidas/NNP ,Nike/NNP ,Reebok/NNP Center./NNP)) 

Грамматика, которую я использую для chunking, работает только с тегами nnp, но если слова последовательны с запятыми, они все равно будут на одной строке. Мне нужен мой кусок:

 (S (NP John/NNP Rose/NNP Center/NNP) is/VBZ very/RB beautiful/JJ place/NN and/CC i/NN want/VBP to/TO go/VB there/RB with/IN (NP Barbara/NNP Palvin./NNP) Also/RB there/EX are/VBP stores/NNS like/IN (NP Adidas,/NNP) (NP Nike,/NNP) (NP Reebok/NNP Center./NNP)) 

Что я должен писать в «grammar =» или я могу отредактировать вывод, как я написал выше? Как вы можете видеть, я разбираю только собственные имена для моего имени. Проект PLS помогает мне.

One Solution collect form web for “NLTK – Громкая грамматика не читает запятые”

Используйте word_tokenize(string) вместо string.split() :

 >>> import nltk >>> from nltk.chunk.util import tagstr2tree >>> from nltk import word_tokenize, pos_tag >>> text = "John Rose Center is very beautiful place and i want to go there with Barbara Palvin. Also there are stores like Adidas ,Nike ,Reebok Center." >>> tagged_text = pos_tag(word_tokenize(text)) >>> >>> grammar = "NP:{<NNP>+}" >>> >>> cp = nltk.RegexpParser(grammar) >>> result = cp.parse(tagged_text) >>> >>> print(result) (S (NP John/NNP Rose/NNP Center/NNP) is/VBZ very/RB beautiful/JJ place/NN and/CC i/NN want/VBP to/TO go/VB there/RB with/IN (NP Barbara/NNP Palvin/NNP) ./. Also/RB there/EX are/VBP stores/NNS like/IN (NP Adidas/NNP) ,/, (NP Nike/NNP) ,/, (NP Reebok/NNP Center/NNP) ./.) 
  • NLTK для персидского
  • Процесс НЛП для объединения общих коллокаций
  • NLTK - Многоклеточная классификация
  • Как создать случайный текст в NLTK 3.0?
  • Как я могу пометить и вырезать французский текст с помощью NLTK и Python?
  • Как сгенерировать несколько деревьев синтаксического анализа для двусмысленного предложения в NLTK?
  • Статистическая модель предложения предложений, например проверка орфографии
  • NLTK и определение языка
  •  
    Interesting Posts for Van-Lav

    Обработка запроса уведомлений от Facebook после успешной подписки

    Индивидуальные тайм-ауты для concurrent.futures

    Использование ансамбля голосования sklearn с частичной подгонкой

    Нужна помощь в установке lxml на os x 10.7

    Как передать обратный вызов python на вызов функции c #

    Является ли Python 3.3 лучше, чем 2,7 для декодирования и повторного кодирования Скребковый веб-текст для UTF-8? Как, намного лучше?

    Загрузить CSV-файл с помощью Spark

    Средняя разница между датами в Python

    Несколько экземпляров scipy.integrate.ode

    недопустимый синтаксис печати в Python 3.3.0

    Есть ли простой способ в Python создать файл, который можно записать в один поток и прочитать в другом?

    Лучшие способы печати имен столбцов при использовании cx_Oracle

    Как преобразовать эту функцию не-хвостовой рекурсии в цикл или версию хвостовой рекурсии?

    Скопировать данные с помощью Python, когда с веб-сайта с несколькими страницами, но URL-адрес не изменяется?

    Объект Js Date для даты и времени python

    Python - лучший язык программирования в мире.