20

大規模なテキスト データセットを使用して予測問題に取り組んでいます。Bag of Words モデルを実装しています。

言葉の袋を取得するための最良の方法は何ですか? 現在、さまざまな単語のtf-idfがありますが、単語の数が多すぎて今後の課題に使用できません。tf-idf 基準を使用する場合、bag of words を取得するための tf-idf しきい値はどうすればよいですか? または、他のアルゴリズムを使用する必要があります。私はパイソンを使用しています。

4

5 に答える 5

2

他の人がすでに述べたように、nltk安定したスケーラブルなものが必要な場合は、を使用するのが最良のオプションです。高度な設定が可能です。

ただし、デフォルトを微調整したい場合、学習曲線が非常に急になるという欠点があります。

ひと袋の言葉が欲しいという状況に遭遇したことがあります。-問題は、、_などでいっぱいの風変わりな名前の技術に関する記事に関するものでした。vue-router_.js

たとえば、nltk のデフォルト設定では、2 つの単語と単語word_tokenizeに分割されます。についても話していません。vue-routervuerouter_.js

したがって、価値のあるものとして、list私は自分の句読点基準に基づいて、すべての単語を にトークン化するこの小さなルーチンを作成することになりました。

import re

punctuation_pattern = ' |\.$|\. |, |\/|\(|\)|\'|\"|\!|\?|\+'
text = "This article is talking about vue-router. And also _.js."
ltext = text.lower()
wtext = [w for w in re.split(punctuation_pattern, ltext) if w]

print(wtext)
# ['this', 'article', 'is', 'talking', 'about', 'vue-router', 'and', 'also', '_.js']

このルーチンは、Patty3118 answer about と簡単に組み合わせることができます。これにより、たとえば、記事で言及されたcollections.Counter回数を知ることができます。_.js

于 2016-06-07T09:01:36.587 に答える