Difference between revisions of "NLTK: membuang kata penghubung yang tidak bermakna"

From OnnoWiki
Jump to navigation Jump to search
(Created page with "Kata penghubung yang tidak bermakna, seperti, yang, ke, dari, hello, apa, mau, ..... bisa dibuang menggunakan cara * print kata 300 ranking teratas yang banyak dipakai * e...")
 
 
(2 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
bisa dibuang menggunakan cara
 
bisa dibuang menggunakan cara
  
* print kata 300 ranking teratas yang banyak dipakai
+
* print kata 400 ranking teratas yang banyak dipakai
 
* edit buang kata yang bermakna
 
* edit buang kata yang bermakna
 
* sisa kata yang tidak bermakna di edit dari outputnya
 
* sisa kata yang tidak bermakna di edit dari outputnya
Line 35: Line 35:
 
   
 
   
 
  words = re.findall(r'\w+', open(infile).read().lower())
 
  words = re.findall(r'\w+', open(infile).read().lower())
  wordcommon = Counter(words).most_common(300)
+
  wordcommon = Counter(words).most_common(400)  
  print wordcommon
+
   
 +
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
 
cara pemakaian
Line 42: Line 48:
 
  python cari-stopwords-common.py -i hasiltwitseach.txt
 
  python cari-stopwords-common.py -i hasiltwitseach.txt
  
hasilnya kira-kira
+
edit hasil-nya, buang kata yang penting.
 +
copykan hasilnya ke stopwords, misalnya
  
  [('ahok', 18443), ('https', 13710), ('t', 13361), ('co', 13041), ('rt', 11634), ('dan', 3224), ('yg', 2907), ('ini', 2400),
+
  cat tambahan-stopwords.txt >> indonesia
('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 ............
 

Latest revision as of 13:53, 5 February 2017

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