私はCountVectorizer
を使用していて、ハイフネーションされた単語を別のトークンに分けたくありません。私はtoken_pattern
引数に異なる前置詞パターンを渡そうとしましたが、目的の結果を得ることができませんでした。scikit-learn:トークン化中にハイフネーションされた単語を分離しないでください。
pattern = r''' (?x) # set flag to allow verbose regexps
([A-Z]\.)+ # abbreviations (e.g. U.S.A.)
| \w+(-\w+)* # words with optional internal hyphens
| \$?\d+(\.\d+)?%? # currency & percentages
| \.\.\. # ellipses '''
text = 'I hate traffic-ridden streets.'
vectorizer = CountVectorizer(stop_words='english',token_pattern=pattern)
analyze = vectorizer.build_analyzer()
analyze(text)
は私も以前の質問で提案されているようにnltk
のregexp_tokenize
を使用しようとしましたが、それは行動が同様に変更されているように見えるのです。
は、ここで私がしようとしているものです。
http://stackoverflow.com/questions/25355046/using-nltk-regex-example-in-scikit-learnの可能性の重複-countvectorizer –
@AbhinavArora私はすでにその解決策を見てきました。正規表現以外でも問題ない場合は、3.0.2 –
のようにNLTKの最新バージョンでは解決しません。これはレーキで達成することができます。 – vinod