01/10/2018, 09:24

[Web Mining] Split văn bản thành các từ và loại bỏ stopword

Tớ có cái vấn đề thế này.
VD: cho mẫu news


" He continued, “So you have to, if you are Russia, ask yourself: Is this a country and a regime that you want to align yourself with?”

The White House charged Tuesday that Russia had sought to cover up the Syrian government’s role in the chemical attack."


Mình xóa hết mọi kí tự khác [^A-aZ-z0-9’ s]
Sau đó dựa vào dấu cách (s) để phân tách (split) các từ ra thành một ArrayList
Sau đó mình dựa xóa các stopword vd: ('d, 's, 've, the, a, an, am, is, are…)

Nhưng mà lúc lập trình thuật toán xóa stopword tớ mới gặp vấn đề thế này

  1. nếu tách ra thành từng từ và so sánh xem nó có bằng stopword không. Ví dụ như từ would’d, thì làm sao so sánh được nó với 'd để mà xóa 'd đi.
  2. Nếu dùng cách xem thử có stopword có trong từ không. Thì ví dụ như từ Hang nó sẽ có an và rồi xóa nó đi thì sẽ thành Hg và rồi sẽ bị sai.

Có cách nào giải quyết nó được không mọi người?

Hoàng Trung viết 11:34 ngày 01/10/2018

Mình góp ý như này không biết có ok ko . Mình phân loại ra là những từ nào nằm riêng biệt, những từ nào nằm chung với từ khác. Vd 's, 'd, 've,… thì nó phải đi liền với các từ khác để nó có nghĩa -> kiểm tra vị trí trong từ, với the, an , am,… thì nó có thể đứng riêng biệt nên mình kiểm tra dấu space ở hai đầu. Nếu bạn thấy hay thì có thể phát triển từ ý tưởng này lên <3

Bài liên quan
0