私は単語のリストを持っています.2つの単語の共起を考慮して関連性を計算したいと思います. 論文から、ピアソンカイ二乗検定を使用して計算できることがわかりました。またnltk.BigramAssocMeasures.ch_sq()
、カイ二乗値を計算するために見つけました。
これを私のニーズに使用できますか? nltk を使用してカイ二乗値を見つけるにはどうすればよいですか?
私は単語のリストを持っています.2つの単語の共起を考慮して関連性を計算したいと思います. 論文から、ピアソンカイ二乗検定を使用して計算できることがわかりました。またnltk.BigramAssocMeasures.ch_sq()
、カイ二乗値を計算するために見つけました。
これを私のニーズに使用できますか? nltk を使用してカイ二乗値を見つけるにはどうすればよいですか?
Streamhackerからのこのブログを見てください、それはコード例で良い説明を与えます。
情報獲得の最良の測定基準の1つは、カイ2乗です。NLTKは、これをメトリックパッケージのBigramAssocMeasuresクラスに含めます。これを使用するには、最初に各単語のいくつかの頻度を計算する必要があります。全体的な頻度と各クラス内の頻度です。これは、単語の全体的な頻度を表すFreqDistと、条件がクラスラベルであるConditionalFreqDistを使用して実行されます。これらの数値を取得したら、BigramAssocMeasures.chi_sq関数を使用して単語にスコアを付け、スコアで単語を並べ替えて上位10000を取得します。次に、これらの単語をセットに入れ、特徴選択関数でセットメンバーシップテストを使用して、セットに表示される単語のみを選択します。現在、各ファイルは、これらの高情報単語の存在に基づいて分類されています。