Python NLTK ошибка Chunking - PullRequest
       15

Python NLTK ошибка Chunking

0 голосов
/ 24 августа 2018

Я работаю над проектом для разбора текста, используя nltk. Я борюсь с грамматикой чанкинга, чтобы определить слова, которые я хочу найти. В частности, я хочу найти, где («not», «RB») следует (часто несколькими словами позже) («alterations», «NNS»). Слова, которые могут быть найдены между ними, могут значительно различаться, но я надеюсь, что есть частичное выражение, которое справится с этим.

Мой код (пока):

sentences = nltk.word_tokenize(text)
for sent in sentences:
    sent_tok = nltk.pos_tag(sent.split())
    myGrammar = '''
            NotAlter:
            {<RB.?><NNS>}
            {<RB.?><PDT>}'''
    parser = nltk.RegexpParser(myGrammar)
    treelist = [tree.leaves() for tree in parser.parse(sent_tok).subtrees() if tree.label() == 'NotAlter']
    for elem in treelist:
        print str(elem)

Вот несколько (из более простых) примеров текстовых фраз ввода:

ПОДПИСАТЬСЯ на подпункт (8) (b) этого пункта, не вносить и не разрешать какие-либо структурные или внешние изменения или дополнения в снятых с производства помещениях

Запрещается вносить изменения или дополнения в Помещения Не без предварительного письменного согласия Арендодателя

Арендатор не может вносить изменения в интерьер квартиры

Есть ли способ использовать nltk для борьбы с такими порциями, или я должен попробовать что-то еще полностью?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...