Извлечение сущностей из Spacy и добавление нового фрейма данных - PullRequest
0 голосов
/ 21 апреля 2020

Итак, я последовал ответу в этом вопросе ( Извлечение сущности из фрейма данных с использованием spacy ), и это решило мне возможность перебирать DF.

Проблемы, с которыми я сталкиваюсь, - попытаться получить эти результаты, добавить столбец из исходного df и поместить все это в новый df. Я хочу, чтобы DOI из оригинального df, текст сущности и метки сущности из NER.

Код, чтобы получить и поместить в список:

entities=[]
nlp = spacy.load("en_ner_bionlp13cg_md")
for i in df['Abstract'].tolist():
    doc = nlp(i)
    for entity in doc.ents:
        entities.append((df.DOI, entity.text , entity.label_))

Затем я беру список сущностей и передаю в новый df:

df_ner = pd.DataFrame.from_records(entities, columns =['DOI', 'ent_name', 'ent_type'])

К сожалению, в df загружаются только первые записи. Чего мне не хватает?

DOI ent_name    ent_type
0   3 10.7501/j.issn.0253-2670.2020.... COVID-19    GENE_OR_GENE_PRODUCT
1   3 10.7501/j.issn.0253-2670.2020.... ACE2    GENE_OR_GENE_PRODUCT
2   3 10.7501/j.issn.0253-2670.2020.... angiotensin converting enzyme II    GENE_OR_GENE_PRODUCT
3   3 10.7501/j.issn.0253-2670.2020.... ACE2    GENE_OR_GENE_PRODUCT
4   3 10.7501/j.issn.0253-2670.2020.... UniProt GENE_OR_GENE_PRODUCT
...