Как получить информацию о населении / стране в тексте, используя пакет NLTK - PullRequest
0 голосов
/ 11 июля 2019

У меня есть текст, который содержит информацию о населении, а также о стране. Я хотел бы получить NER для населения и страны.

Мой текст выглядит следующим образом:

text_sent = антигены при артериальных окклюзионных заболеваниях в Японии. Использование стандартного теста на лимфоцитотоксичность, возможного японского специфического антигена, bjw 22,2 было выявлено у 17 из 48 пациентов с облитерирующим тромбоангиитом (35,4%), у 5 из 15 пациенты с таким артериитом (33,3%) и 11 из 113 пациентов с нормальным контролем (9,7%).

Я пытался использовать это

из nltk import word_tokenize, pos_tag, ne_chunk ne_chunk (pos_tag (word_tokenize (text_sent)))

я получил тег, но не получил слово с тегом GPE .

(S Антигены / NNS в / IN артериальная / JJ окклюзионные / JJ Заболевания / NNS в / IN japan.using / VBG а / DT NIH / JJ стандарт / JJ lymphocytotoxicity / Н.Н. Испытание / Н.Н. , /, а / DT возможно / JJ японский / JJ специфические / JJ антиген / Н.Н. , /, bjw / JJ 22,2 / CD был / ВБД идентифицированы / VBN в / IN 17 / CD наружу внутрь из в 48 / CD пациентов / NNS в тромбангиит / Н.Н. облитерирующий / NNS (/ ( 35,4 / CD в / IN цент / Н.Н. ) /) , /, в / IN 5 / CD наружу внутрь из в 15 / CD пациентов / NNS в Такаясу / Н.Н. «S / POS артериит / Н.Н. (/ ( 33,3 / CD в / IN цент / Н.Н. ) /) и / CC в / IN 11 / CD наружу внутрь из в 113 / CD нормальный / JJ средства управления / NNS (/ ( 9,7 / CD в / IN цент / Н.Н. ) /) ./.)

1 Ответ

1 голос
/ 11 июля 2019

вы не получаете GPE, потому что "japan.using" не является названием географического местоположения, вместо этого это должна быть Япония, использующая

. Я пробовал это, используя обученную простую модель

import spacy 
nlp = spacy.load("en_core_web_sm")

doc = nlp(u"antigens in arterial occlusive diseases in japan.using a nih standard lymphocytotoxicity test, a possible japanese specific antigen, bjw 22.2 was identified in 17 out of 48 patients with thromboangiitis obliterans (35.4 per cent), in 5 out of 15 patients with takayasu's arteritis (33.3 per cent) and in 11 out of 113 normal controls (9.7 per cent).")

for ent in doc.ents:
print(ent.text, ent.start_char, ent.end_char, ent.label_)

#o/p
japanese 106 114 NORP
22.2 137 141 CARDINAL
17 160 162 CARDINAL
48 170 172 CARDINAL
35.4 per cent 215 228 MONEY
5 234 235 CARDINAL
15 243 245 CARDINAL
33.3 per cent 282 295 MONEY
11 304 306 CARDINAL
113 314 317 CARDINAL
9.7 per cent 335 347 MONEY

Но когда вы меняете «japan.using» на «Japan».используя 'вы получите тег GPE

Japan 43 48 GPE
japanese 107 115 NORP
22.2 138 142 CARDINAL
17 161 163 CARDINAL
48 171 173 CARDINAL
35.4 per cent 216 229 MONEY
5 235 236 CARDINAL
15 244 246 CARDINAL
33.3 per cent 283 296 MONEY
11 305 307 CARDINAL
113 315 318 CARDINAL
9.7 per cent 336 348 MONEY
...