Как узнать время и дату или конкретное название продукта с помощью NLTK? - PullRequest
0 голосов
/ 28 сентября 2018
doc = '''Andrew Yan-Tak Ng is a Chinese American computer scientist.He is the former chief scientist at Baidu, where he led the company's
Artificial Intelligence Group. He is an adjunct professor (formerly associate professor) at Stanford University. Ng is also the co-founder
and chairman at Coursera, an online education platform. Andrew was born in the UK on 27th Sep 2.30pm 1976. His parents were both from Hong Kong.'''

# tokenize doc
tokenized_doc = nltk.word_tokenize (doc)

# tag sentences and use nltk's Named Entity Chunker
tagged_sentences = nltk.pos_tag (tokenized_doc)
ne_chunked_sents = nltk.ne_chunk (tagged_sentences)

Когда вы обрабатываете и извлекаете чаки ... Я вижу, что мы получаем только [('Andrew', 'PERSON'), ('Chinese', 'GPE'), ('American', 'GPE'),(«Baidu», «ОРГАНИЗАЦИЯ»), («Группа искусственного интеллекта компании», «ОРГАНИЗАЦИЯ»), («Стэнфордский университет», «ОРГАНИЗАЦИЯ»), («Coursera», «ОРГАНИЗАЦИЯ»), («Андрей», «ЧЕЛОВЕК '), (' Великобритания ',' ОРГАНИЗАЦИЯ '), (' Гонконг ',' GPE ')]

Мне тоже нужно узнать время и дату?Пожалуйста, предложите ... Спасибо.

1 Ответ

0 голосов
/ 29 сентября 2018

Вам нужен более изощренный тегер, такой как именованный тегер СтэнфордаПосле того, как вы установили и настроили его, вы можете запустить его:

from nltk.tag import StanfordNERTagger
from nltk.tokenize import word_tokenize

stanfordClassifier = '/path/to/classifier/classifiers/english.muc.7class.distsim.crf.ser.gz'
stanfordNerPath = '/path/to/jar/stanford-ner/stanford-ner.jar'

st = StanfordNERTagger(stanfordClassifier, stanfordNerPath, encoding='utf8')

doc = '''Andrew Yan-Tak Ng is a Chinese American computer scientist.He is the former chief scientist at Baidu, where he led the company's Artificial Intelligence Group. He is an adjunct professor (formerly associate professor) at Stanford University. Ng is also the co-founder and chairman at Coursera, an online education platform. Andrew was born in the UK on 27th Sep 2.30pm 1976. His parents were both from Hong Kong.'''

result = st.tag(word_tokenize(doc))

date_word_tags = [wt for wt in result if wt[1] == 'DATE' or wt[1] == 'ORGANIZATION']

print date_word_tags

Где будет вывод:

[(u'Artificial', u'ORGANIZATION'), (u'Intelligence', u'ORGANIZATION'), (u'Group', u'ORGANIZATION'), (u'Stanford', u'ORGANIZATION'), (u'University', u'ORGANIZATION'), (u'Coursera', u'ORGANIZATION'), (u'27th', u'DATE'), (u'Sep', u'DATE'), (u'2.30pm', u'DATE'), (u'1976', u'DATE')]

При попытке установить и настроить вы, вероятно, столкнетесь с некоторыми проблемами.все, но я думаю, что это стоит хлопот.

Дайте мне знать, если это поможет.

...