2017-10-21 12 views
1

私は「訴状詳細」2列を含むCSVファイルを持っており、ドアは内側からロックされた「などのDispositionCode'.Iが8異なるクラスdispostionCodeのに complaintDetailsを分類にしたいです 『』 、 'Vendor error'、 'Missing key or lock' ... データセットが画像に表示されます。 enter image description here削除することができませんでしストップワード、NLP

どのような分類方法を使用して精度を判断するのがよいでしょうか。

import csv 
from nltk.corpus import stopwords 
from nltk.tokenize import word_tokenize 
your_list=[] 
with open('H:/Project/rash.csv', 'r') as f: 
    reader = csv.reader(f) 
    your_list = list(reader) 
print(your_list) 
stop_words=set(stopwords.words("english")) 
words= word_tokenize(your_list) 
filteredSent=[] 
for w in words: 
    if w not in stop_words: 
     filteredSent.append() 
print(filteredSent) 

しかし、私は次のエラーを取得しています:

は当初、私はComplaintDetailsからストップワードを削除するとしようとしていますし、その後naivebayes分類器を使用し

コードは以下のとおりである -

self._lang_vars.period_context_re()に一致するようにします。finditer(text): TypeError:予期される文字列またはバイト状のオブジェクト

+1

'word_tokenize'は、文字列のリストではなく、引数として文字列をとります。 'your_list'自身のものではなく、' your_list'の各要素に対して 'word_tokenize'を呼び出します。 – bunji

+0

リスト(CSVファイル行)のリストなので、ダブルアンパックが必要です。 – alexis

答えて

0

word_tokenize()のエラーが原因でコードがストップワードになることはありません。これは、データセット全体ではなく、単一の文字列で呼び出す必要があります。

for row in your_list: 
    row[0] = word_tokenize(row[0]) 

これでコードの残りの部分を再考する必要があります。あなたは文のリスト全体を持っています。上記のようなループを使用して、一度に1つの文の単語を調べます。

+0

ありがとうございます!それは私のために働いた。@ alexis。しかし、私はあなたがnaiveBayesクラシファイアがここで働く、すなわち、分類するために使用している方法を教えてくれますか? –

+0

できません。それを試し、パフォーマンスを測定し、次に何をするかを決める必要があります。 – alexis

関連する問題