NLTK: membuang kata penghubung yang tidak bermakna

From OnnoWiki
Revision as of 13:53, 5 February 2017 by Onnowpurbo (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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