Ограничение диапазона вывода теговых слов - PullRequest
0 голосов
/ 19 апреля 2019

Я хочу извлечь все имена (первое, среднее, последнее) в документе и показать первые два полных имени отдельно.

Я уже пробовал вложенный цикл for и все, но я могне понять.

for result in classified_text:
    tag_value= result[0],
    tag_name= result[1]
    if tag_name=='PERSON':
           print(''.join([tup for tup in tag_value]))


Ожидаемые результаты:

Steven.K.Lamberson

Steve.I.Blanton

Фактические результаты:

Briazz
Steven
K.
Lamberson
Steve
I.
Blanton
Briazz
Briazz
Proto
Briazz
Moulder
Briazz
Briazz
Briazz
Briazz
Briazz
Briazz
Briazz
Briazz
Cess
Briazz
Briazz
Briazz
Briazz
Briazz
Briazz
Briazz
Briazz

1 Ответ

0 голосов
/ 19 апреля 2019

Вы можете попробовать:

import re

person=''
last_tag=''
for result in classified_text:
    tag_value= result[0],
    tag_name= result[1]
    if tag_name=='PERSON':
        if last_tag == 'PERSON':
           person += ' ' + tag_value
        else:
           person = tag_value
    else if last_tag == 'PERSON' and re.match('\w+\ \w+\. \w+', person):
           print(person)
    last_tag = tag_value
...