NLTK: membuang kata penghubung yang tidak bermakna

From OnnoWiki
Revision as of 06:00, 5 February 2017 by Onnowpurbo (talk | contribs)
Jump to navigation Jump to search

Kata penghubung yang tidak bermakna, seperti,

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

bisa dibuang menggunakan cara

  • print kata 300 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(300)
print wordcommon

cara pemakaian

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

hasilnya kira-kira

[('ahok', 18443), ('https', 13710), ('t', 13361), ('co', 13041), ('rt', 11634), ('dan', 3224), ('yg', 2907), ('ini', 2400),
('ma', 2328), ('ruf', 2220), ('di', 2074), ('amin', 2057), ('kh', 1976), ('nu', 1972), ('yang', 1861), ('ulil', 1734),
('tak', 1301), ('pak', 1219), ('warga', 1126), ('akan', 1122), ('jangan', 1112), ('tidak', 1088), ('saya', 1069), ('mui', 1059),
('maf', 1046), ('ke', 1036), ('agama', 1033), ......... dst ............

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

cat tambahan-stopwords.txt >> indonesia