私は情報検索タスクを行っています。前処理の一環としてやりたい。
- ストップワードの削除
- トークン化
- ステミング (Porter Stemmer)
最初は、トークン化をスキップしました。その結果、次のような用語が得られました。
broker
broker'
broker,
broker.
broker/deal
broker/dealer'
broker/dealer,
broker/dealer.
broker/dealer;
broker/dealers),
broker/dealers,
broker/dealers.
brokerag
brokerage,
broker-deal
broker-dealer,
broker-dealers,
broker-dealers.
brokered.
brokers,
brokers.
それで、トークン化の重要性を実感しました。英語のトークン化のための標準アルゴリズムはありますか? string.whitespace
一般的に使用される句読点に基づいています。私が書いた
def Tokenize(text):
words = text.split(['.',',', '?', '!', ':', ';', '-','_', '(', ')', '[', ']', '\'', '`', '"', '/',' ','\t','\n','\x0b','\x0c','\r'])
return [word.strip() for word in words if word.strip() != '']
- エラーが出
TypeError: coercing to Unicode: need string or buffer, list found
ます! - このトークン化ルーチンはどのように改善できますか?