So extrahieren Sie benannte Entitäten mit SpaCy aus Pandas DataFrame

Dec 19 2020

Ich versuche, benannte Entitäten mit der ersten Antwort auf diese Frage zu extrahieren , und der Code lautet wie folgt

for i in df['Article'].to_list():
    doc = nlp(i)
    for entity in doc.ents:
        print((entity.text))

Es handelt sich jedoch nicht um Druckobjekte. Ich habe es versucht print(i)und print(doc)beide Variablen haben Werte und df['Article']enthalten Nachrichtentext. Kann jemand helfen, warum die zweite Schleife keine Entitäten extrahiert? Vielen Dank

BEARBEITEN:
Dies ist eine Datensatzdatei. Führen Sie den folgenden Code aus, um die von mir durchgeführte Vorverarbeitung zu erstellen.

df.iloc[:,0].dropna(inplace=True)
df = df[df.iloc[:,0].notna()]

Sonderzeichen entfernen von df['Articles']

df['Article'] = df['Article'].map(lambda x: re.sub(r'\W+', '', x))

Antworten

1 WiktorStribiżew Dec 19 2020 at 01:18

Mit df['Article'].map(lambda x: re.sub(r'\W+', '', x))entfernen Sie alle Leerzeichen aus Ihren Artikeln.

Sie müssen verwenden

df['Article'] = df['Article'].str.replace(r'(?:_|[^\w\s])+', '')

Mit dieser Regex entfernen Sie nur andere Sonderzeichen als Leerzeichen.