NLTK: membuang kata penghubung yang tidak bermakna

From OnnoWiki
Jump to navigation Jump to search

Kata penghubung yang tidak bermakna, seperti,

yang, ke, dari, hello, apa, mau, .....

bisa dibuang menggunakan cara

  • print kata 400 ranking teratas yang banyak dipakai
  • edit buang kata yang bermakna
  • sisa kata yang tidak bermakna di edit dari outputnya

script python-nya adalah

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())
wordcommon = Counter(words).most_common(400) 

for word, val in wordcommon:
    if hanya_huruf(word) and len(word)>1 and word!='Iing' :
       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 pemakaian

python cari-stopwords-common.py -i hasiltwitseach.txt

edit hasil-nya, buang kata yang penting. copykan hasilnya ke stopwords, misalnya

cat tambahan-stopwords.txt >> indonesia