Машинное обучение Python Классификация слов в предложении - PullRequest
0 голосов
/ 05 декабря 2018

Я хочу сделать личного помощника, используя методы искусственного интеллекта и машинного обучения.Я использую Python 3.7 и у меня есть вопрос.

Когда программа запускается, сначала она спросит имя пользователя.Я хочу, чтобы он получал имя пользователя.

in = input('Hey, what is your name?')
#some classifier things
#...
print = input('Nice to meet you ' + in + '!')

Но я хочу знать имя правильно, если пользователь вводит предложение.Вот пример:

Hey, what is your name?
John
Nice to meet you John!

Но я хочу получить имя, даже если человек входит так:

Hey, what is your name?
It's John.
Nice to meet you John!

Но я не мог понять, как я могу просто получить имя пользователя,Я думаю, что я должен классифицировать слова в предложении, но я не знаю.Вы можете помочь?

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Вы можете использовать Инструмент распознавания пространственных имен Инструментарий.Он распознает различные объекты, включая человека, страну, организацию и ...

Следующий код является рабочим примером того, как вы можете его использовать:

import spacy
import en_core_web_sm
nlp = en_core_web_sm.load()

doc = nlp('Its John and he is working at Google')
print([(X.text, X.label_) for X in doc.ents])

Вывод:

[('John', 'PERSON'), ('Google', 'ORG')]

Примечание : Вам также может понадобиться загрузить модель Spacy перед запуском вышеуказанного сценария:

pip install spacy
python -m spacy download en 
0 голосов
/ 05 декабря 2018

Вы должны получить правильные существительные.Код ниже делает это:

from nltk.tag import pos_tag

sentence = " It's John"
tagged_sent = pos_tag(sentence.split())

propernouns = [word for word,pos in tagged_sent if pos == 'NNP']
...