Cách trích xuất các Đối tượng được đặt tên từ Pandas DataFrame bằng SpaCy
Dec 19 2020
Tôi đang cố gắng trích xuất Đối tượng được đặt tên bằng câu trả lời đầu tiên cho câu hỏi này và mã như sau
for i in df['Article'].to_list():
doc = nlp(i)
for entity in doc.ents:
print((entity.text))
Nhưng nó không phải là thực thể in. Tôi đã thử print(i)và print(doc)cả hai biến đều có giá trị và df['Article']chứa văn bản tin tức. Ai đó có thể giúp với lý do tại sao vòng lặp thứ hai không giải nén các thực thể? Cảm ơn bạn
CHỈNH SỬA:
Đây là tệp tập dữ liệu , vui lòng chạy mã sau để hình thành xử lý trước mà tôi đã thực hiện.
df.iloc[:,0].dropna(inplace=True)
df = df[df.iloc[:,0].notna()]
để xóa các ký tự đặc biệt khỏi df['Articles']
df['Article'] = df['Article'].map(lambda x: re.sub(r'\W+', '', x))
Trả lời
1 WiktorStribiżew Dec 19 2020 at 01:18
Với df['Article'].map(lambda x: re.sub(r'\W+', '', x)), bạn xóa tất cả các ký tự khoảng trắng khỏi bài viết của mình.
Bạn cần sử dụng
df['Article'] = df['Article'].str.replace(r'(?:_|[^\w\s])+', '')
Với regex đó, bạn sẽ chỉ xóa các ký tự đặc biệt khác ngoài khoảng trắng.