Cara mengekstrak Entitas Bernama dari Pandas DataFrame menggunakan SpaCy

Dec 19 2020

Saya mencoba mengekstrak Entitas Bernama menggunakan jawaban pertama untuk pertanyaan ini dan kode adalah sebagai berikut

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

Tapi itu bukan entitas pencetakan. Saya sudah mencoba print(i)dan print(doc)kedua variabel memiliki nilai dan df['Article']berisi teks berita. Dapatkah seseorang membantu dengan mengapa loop kedua tidak mengekstraksi entitas? Terima kasih

EDIT:
Ini adalah file dataset , silahkan jalankan kode berikut untuk membentuk preprocessing yang sudah saya lakukan.

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

untuk menghapus karakter khusus dari df['Articles']

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

Jawaban

1 WiktorStribiżew Dec 19 2020 at 01:18

Dengan df['Article'].map(lambda x: re.sub(r'\W+', '', x)), Anda menghapus semua karakter spasi dari artikel Anda.

Anda perlu menggunakan

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

Dengan regex tersebut, Anda hanya akan menghapus karakter khusus selain spasi.