NLTK: membuang kata yang tidak penting dan jarang dipakai
Jump to navigation
Jump to search
Untuk membuang kata2 yang tidak penting, langkah-nya
- print kata yang frekuensi penggunaannya kecil, misalnya <20
- masukan ke dalam daftar corpus, misalnya,
~/nltk_data/corpora/stopwords/indonesia
cara yang sederhana, menggunakan Python script berikut
import os,nltk,os.path,re,string import argparse from nltk.stem.porter import PorterStemmer from collections import Counter import re ps=PorterStemmer() def hanya_huruf( input ): r=re.match('^[a-zA-Z]+$', input) if r==None: return False else: return True def parse_args(): parser = argparse.ArgumentParser() parser.add_argument('-i', '--infile', default=, help='input filename') return parser.parse_args() args = parse_args() infile = args.infile words = re.findall(r'\w+', open(infile).read().lower()) wordfreqs = Counter(words) for word, count in wordfreqs.items(): if hanya_huruf(word) and len(word)>1 and word!='Iing' and count<10 : word = word.strip(string.punctuation).lower() if word not in nltk.corpus.stopwords.words('english'): if word not in nltk.corpus.stopwords.words('indonesia'): print word
Cara pakainya
python cari-stopwords-freqs.py -i hasiltwitsearch.txt > tambahan-untuk-stopwords-indonesia.txt