2010年10月19日火曜日

用語抽出の理論

用語抽出プログラムなるものが数万円で販売されていたりします。何か特殊なアルゴリズムを使用しているのかと思ったら、高い値段のものもフリーのものも基本は同じでした。

かなりシンプルです。多分プログラマさんなら簡単に作成できるんじゃないかなぁ。

1. 用語の語数範囲を決める
1~4 語ぐらいになると思います。通常はユーザーが指定します。

2. 出現頻度を指定します。
用語であれば、複数回出現するはずです。例えば 3 回以上などと指定します。

3. 除外リストを作成します。
冠詞や be 動詞にヒットしたらたまりませんから、用語から除外する単語のリストを作成します。まともな用語抽出ソフトウェアであれば、このパラメータを指定できます。

4. 文節から単語の組を抽出します。
例えば "This method is used in powder metallurgy" という文章に対して、適切に除外リストが作成されていれば、次のように検出されます。

powder
metallurgy
powder metallurgy

5. さらに、長い単語に含まれる短い単語を除外するオプションを使用すると、次のようになります。

powder metallurgy
(粉末冶金学)

-----------

用語抽出を試してみたい場合は、有償のプログラムを購入する前に、Okapi Framework などのフリーウェアを使いましょう。

rainbow
オカピーのレインボーちゃん


最後に Okapi Framework の Rainbow を使用して Wikipedia の Powder Metallurgy の記事から用語を抽出した結果を示します。

30 powder
20 metal
16 mold
15 particles
15 pressing
14 materials
14 sintering
12 edit
12 techniques
10 gas
10 isostatic pressing
10 material
10 pressure
9 compacting
9 die
9 powders
9 process
9 temperature
8 compaction
8 high
8 products
8 psi
8 strength
7 atomization
7 manufacturing
7 metallurgy
7 powder metallurgy
7 processes
7 range
6 action
6 alloys
6 distribution
6 extrusion
6 jet
6 operations
6 powder compaction
6 pressures
6 produce
6 sintered
6 thin
6 tooling
--- 以下省略 ---

まぁ、調整するとさらに精度が上がると思いますが、このままでも実使用に耐えうると思います。
他のソフトウェアとの統合が必要なければ、有償のものは買わなくても大丈夫だと思いますよこはま黄昏ホテルの小部屋。

0 件のコメント: