単語出現頻度解析Part3

 前回のスクリプトアルゴリズムだと、先に頻度演算をして頻度の値を足されてしまった単語は、後に演算するものに比べてその値が小さくなってしまうという問題を含んでいたので、今回はすべての単語について平等に頻度の値を増加させるため、一つの単語に3つのパラメータを配列で割り当て、1つ目は文章中で純粋に現れた回数を表し、2つ目は正規表現でマッチされたときに、相手が文章中で現れた回数を足し合わせていき、3つ目は自身がマッチした相手の現れた回数を足し合わせていくように演算を進め、最後にそれら3つを足し合わせて、最終的な単語の頻度とするように、アルゴリズムを変更しました。これにより、例えば「細胞」で正規表現のマッチを調べて、「ES細胞」にひっかかったら、「ES細胞」の出現頻度と「細胞」の出現頻度の両方が増加するようになりました。
 このアルゴリズムにより、すべての単語が平等に扱われるようになり、さらに言葉の下位概念も上位にランクするようになりました。しかし低頻度の言葉の中にも重要な生物用語が残っているので、今後はこれをどう引っ張りだすかが課題です。
 まず考えられるのは、英語で書かれたものや、長い合成語などは頻度が小さくなりがちなので、言葉の長さによって頻度の重み付けをかえていことですかな。あとは、複数の論文の単語出現頻度を調べて足し合わせて、よく出る単語の重みをかえていくこともやっていこうと思います。
 あるいは、簡単な生物用語辞典を作成しておいて、そこに登録されている単語については、頻度計算時の重みを大きくするのもアリかと思われますが、じゃあどうやって辞典を用意するんだ…ってことになりますな。ほむ。