大規模なテキスト データセットを使用して予測問題に取り組んでいます。Bag of Words モデルを実装しています。
言葉の袋を取得するための最良の方法は何ですか? 現在、さまざまな単語のtf-idfがありますが、単語の数が多すぎて今後の課題に使用できません。tf-idf 基準を使用する場合、bag of words を取得するための tf-idf しきい値はどうすればよいですか? または、他のアルゴリズムを使用する必要があります。私はパイソンを使用しています。
大規模なテキスト データセットを使用して予測問題に取り組んでいます。Bag of Words モデルを実装しています。
言葉の袋を取得するための最良の方法は何ですか? 現在、さまざまな単語のtf-idfがありますが、単語の数が多すぎて今後の課題に使用できません。tf-idf 基準を使用する場合、bag of words を取得するための tf-idf しきい値はどうすればよいですか? または、他のアルゴリズムを使用する必要があります。私はパイソンを使用しています。
他の人がすでに述べたように、nltk
安定したスケーラブルなものが必要な場合は、を使用するのが最良のオプションです。高度な設定が可能です。
ただし、デフォルトを微調整したい場合、学習曲線が非常に急になるという欠点があります。
ひと袋の言葉が欲しいという状況に遭遇したことがあります。-
問題は、、_
などでいっぱいの風変わりな名前の技術に関する記事に関するものでした。vue-router
_.js
たとえば、nltk のデフォルト設定では、2 つの単語と単語word_tokenize
に分割されます。についても話していません。vue-router
vue
router
_.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