記事ごとの名詞を格納した2次元リスト
イメージとして
noun = [['私','子育て','問題','問題']['トランプ','今朝','会談','来日']・・・]
「私、子育て、問題」は記事1の名詞集、「トランプ、今朝、会談、来日」は記事2の名詞集
みたいなものを作りました。
そして以下のようにtfとdfを定義して求めたいと思いました。
tf = ある単語の記事内での出現回数 / 記事内のすべての単語の出現回数の和
例えば上の例なら、私:1/4 子育て:1/4 問題:2/4
df = ある単語が出現する記事の数
例えば私という単語が他の記事5つにも出てくるなら私のdf値は5です。
それでtfを求めるためにCounterのmost_commonを使って全単語の出現回数をカウントすることはできたのですが、この出現回数を全部足しすのどうやるんだってところで詰んでしまいました。。。
tfとdfを求めるためのアルゴリズム、手順をご教授いただけないでしょうか(汗)
<追記>コードはこんな感じです。
nounsというリストが上で説明したような名刺を入れている2次元のリストになります。
また、jupyter notebookでコードを書いています。
from collections import Counter def flatten_2dim(array): return [item for sublist in array for item in sublist] counter = Counter(flatten_2dim(nouns)) for word, cnt in counter.most_common(): print(word, cnt)
回答1件
あなたの回答
tips
プレビュー