Tôi mới bắt đầu sử dụng NLTK và tôi hoàn toàn không hiểu làm thế nào để có được danh sách các từ trong văn bản. Nếu tôi sử dụng nltk.word_tokenize()
, tôi nhận được một danh sách các từ và dấu câu. Tôi chỉ cần những từ thay thế. Làm thế nào tôi có thể thoát khỏi dấu câu? Cũng word_tokenize
không hoạt động với nhiều câu: dấu chấm được thêm vào từ cuối cùng.
word_tokenize()
không làm việc với nhiều câu. Để thoát khỏi dấu câu, bạn có thể sử dụng biểu thức chính quy hoặc isalnum()
hàm python .
>>> 'with dot.'.translate(None, string.punctuation) 'with dot'
(lưu ý không nằm rải rác ở phần cuối của kết quả) nó có thể gây ra vấn đề nếu bạn có những thứ như 'end of sentence.No space'
, trong trường hợp làm việc này thay vì: the_text.translate(string.maketrans(string.punctuation, ' '*len(string.punctuation)))
thay thế tất cả các dấu câu với khoảng trắng.
nltk.word_tokenize(the_text.translate(None, string.punctuation))
nên làm việc trong python2 trong khi trong python3 bạn có thể làmnltk.work_tokenize(the_text.translate(dict.fromkeys(string.punctuation)))
.