Поиск Корпуса по части речи - PullRequest
0 голосов
/ 20 апреля 2020

Я новичок в НЛП. Я пытаюсь найти корпус для части речи. Цель состоит в том, чтобы найти последовательность POS-тегов и найти все предложения, которые соответствуют последовательности из данного корпуса.

Вход: быстрая коричневая лиса перепрыгнула через ленивых собак. Tagger обработает тэг предложения: POS-тэгирование приводит к следующему: [DT] [JJ] [JJ] [NN] [VBD] [IN] [DT] [JJ] [NNS] [.] Применение поиска приведет к любому предложению, которое соответствует этой последовательности или дольше.

Как выполнить поиск по части речи? Есть ли прямая функция в NLTK или spacy?

Буду признателен за некоторые рекомендации о шагах, необходимых для решения проблемы и проблем, с которыми я могу столкнуться.

Обратите внимание, что я нашел кого-то, кто опубликовал похожий вопрос на stackoverflow, но я думаю, что проблема, с которой он столкнулся, была более конкретной c. Поиск POS

1 Ответ

0 голосов
/ 20 апреля 2020

В следующем коде s1 - обучающее предложение. s2 - любое другое предложение. Это не прямой код , как спрашивает спрашивающий, но поможет применить к предложениям и найти, соответствует ли какое-либо предложение образцу.

#Invoke libraries
from nltk import word_tokenize, pos_tag  
import re

#Build functions
def tagsToString(t):
    sequence = ""
    return(sequence.join(t))

def sequenceMatch(s1,s2):
    tagSequence1 = ""
    taggedWords1 = pos_tag(word_tokenize(s1))
    tags1 = [tagged[1] for tagged in taggedWords1]
    tagSequence1 = "".join(tags1)

    tagSequence2 = ""
    taggedWords2 = pos_tag(word_tokenize(s2))
    tags2 = [tagged[1] for tagged in taggedWords2]
    tagSequence2 = "".join(tags2)

    if tagSequence2.find(tagSequence1) == 0:
        match = "yes"    
    else:
        match = "no"
    return(match)
#Example:
s1 = "The quick brown fox"
s2 = "The quick brown fox jumped over the lazy dog"

sequenceMatch(s1,s2)
#'yes'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...