Извлекать личную информацию о предмете из писем, используя Python, Spacy - PullRequest
0 голосов
/ 19 сентября 2019

Мне нужно извлечь личную информацию о конкретном человеке из приведенного ниже электронного письма

Hi Alex,



Please find my personal details below,



Name: Bill Smith

Company: Apple

Insurance number: AB 654321C

Phone: +447677679999

Birth date: 21-11-1990

City: California


Regards,

Bill

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

Я попытался извлечь с помощью Python3 и Spacy, но, к сожалению, Spacy не может идентифицировать сущности (Apple, California, Bill Smith) в указанном выше электронном письме (возможно, потому что данные представлены в табличном формате)

1 Ответ

0 голосов
/ 19 сентября 2019

Один из подходов заключается в использовании nltk (https://www.nltk.org/book/ch07.html):

import nltk
def ie_preprocess(document):
    sentences = nltk.sent_tokenize(document) [1]
    sentences = [nltk.word_tokenize(sent) for sent in sentences] [2]
    sentences = [nltk.pos_tag(sent) for sent in sentences]
    return sentences
ie_preprocess('Hi Alex, Please find my personal details below,Name: Bill Smith Company: Apple Insurance number: AB 654321C Phone: +447677679999 Birth date:21-11-1990
City: California Regards,Bill')

или nltk с Standford NER Tagger:

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

st = StanfordNERTagger('/usr/share/stanford-ner/classifiers/english.all.3class.distsim.crf.ser.gz',
                       '/usr/share/stanford-ner/stanford-ner.jar',
                       encoding='utf-8')
text='Hi Alex, Please find my personal details below,Name: Bill Smith Company: Apple Insurance number: AB 654321C Phone: +447677679999 Birth date:21-11-1990
City: California Regards,Bill'
tokenized_text = word_tokenize(text)
classified_text = st.tag(tokenized_text)

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