NLTK kullanmaya yeni başlıyorum ve metinden bir kelime listesini nasıl alacağımı tam olarak anlamıyorum. Kullanırsam nltk.word_tokenize()
, bir kelime ve noktalama işareti listesi alırım. Bunun yerine sadece kelimelere ihtiyacım var. Noktalama işaretlerinden nasıl kurtulabilirim? Ayrıca word_tokenize
birden fazla cümlede çalışmaz: Son kelimeye noktalar eklenir.
word_tokenize()
birden çok cümle ile çalışmaz. Noktalama işaretlerinden kurtulmak için normal bir ifade veya python isalnum()
işlevini kullanabilirsiniz.
>>> 'with dot.'.translate(None, string.punctuation) 'with dot'
(not hiçbir sonuç sonundaki nokta) gibi şeyler varsa o sorunlara neden olabilir 'end of sentence.No space'
ki bu durumda onun yerine bunu: the_text.translate(string.maketrans(string.punctuation, ' '*len(string.punctuation)))
beyaz boşluklarla tüm noktalama değiştirir hangi.
nltk.word_tokenize(the_text.translate(None, string.punctuation))
python3'te yapabilirsiniz, python2'de çalışmalısınıznltk.work_tokenize(the_text.translate(dict.fromkeys(string.punctuation)))
.