上位下位関係抽出ツール Version1.0 : Hyponymy extraction tool


目次


上位下位関係抽出ツールとは


 上位下位関係抽出ツールは,Wikipediaダンプデータ(XMLファイル)から機械学習を使って上位下位関係となる用語ペアを数百万対のオーダーで抽出できるツールです. 上位下位関係とは,"XはYの一種(一つ)である"と言えるXとYの関係を言います. Xのことを下位語,Yのことを上位語と呼びます. 別の言い方をしますと,上位下位関係は「上位概念ー下位概念」または「概念ーインスタンス(具体例)」の関係を持つ語の対となります. 抽出できる上位下位関係の単語対の総体は,単語の分類,シソーラスと見なすこともできます. また,本ツールの出力する上位語,下位語はいわゆる「単語」にとどまらず「志摩市のスポーツイベント」のように詳細な意味を表す複合的な言語表現を含みます.
 本ツールは,我々の知る限り,日本語に関する上位下位関係を世界最大規模で抽出できます. 2010年6月24日バージョンのWikipediaに対して適用した場合,精度90%程度で約600万対の上位下位関係が抽出されます. この約600万対の上位下位関係は,上位語異なり数約20万語,下位語異なり数約245万語をカバーしています. 情報検索やテキストマイニング,オントロジー構築などでご活用下さい.
(上位下位関係の抽出例)
上位語    	下位語
仏像	七面大明神像
ジャズフェスティバル	BAY_SIDE_JAZZ_CHIBA
楽器	カンテレ
文房具	スティックのり
神楽団体	川平神楽社中
プログラミング言語	prolog
戦争映画	ハワイ・ミッドウェイ大海空戦
AOCワイン	ラ・グランド・リュー ブルゴーニュ
ゲーム	ファイナルファンタジーXI
研究所	情報通信研究機構

(Version 1.0より出力が可能になったより詳細な上位下位関係の抽出処理の結果例)
上位語    	下位語
志摩市のスポーツイベント	志摩市ロードパーティ 
シアトル・マリナーズの選手	エドガー・マルティネス
さまぁ〜ずのレギュラー番組	リンカーン 
ドバイワールドカップのステップレース	サンタアニタハンデキャップ
オープンカーの車種	ロータス・エリーゼ
トルコの都市	アンカラ

 上位下位関係となる用語ペアの抽出処理では,Wikipediaのページから以下の3種類を情報源として上位下位関係候補を抽出し,各候補が上位下位関係であるか否かを統計的に判定しています.

新着情報


注意事項


ダウンロード


# 解凍
> tar zxvf ex-hyponymy-1.0.tar.gz
インストール
 スクリプト言語rubyを使用しているため,本ツール自体のインストールは必要ありません

動作環境


実行


 解凍したディレクトリscript内にある,コマンド(ex_hyponymy.sh)により実行.

> script/ex_hyponymy.sh [オプション] Wikipediaファイル

# jawiki-20100624-pages-meta-current.xml.bz2から全ての情報源(hierarchy,
definition,category)を利用して上位下位関係候補を抽出するコマンド例
> script/ex_hyponymy.sh jawiki-20100624-pages-meta-current.xml.bz2

機械学習用モデルファイル

 本システムでは,各情報源(hierarchy, definition, category)から抽出した候補が上位下位関係であるか否かを統計的に判定する処理において,下記のモデルファイルを使用します.  hierarchyを情報源とする解析処理において,3種類のモデルファイル(data,data2,data3)を選択できます. 3種類のモデルファイルは,それぞれを作成した際の学習データ量が違い,結果として出力の精度が変わります. 大きな学習データにより作成したモデルファイルほど精度は良くなりますが,抽出に要する処理時間は長くなり,また必要なメモリも増えます. ご自分の環境に合わせたモデルファイルをご利用ください.(デフォルトは小規模な学習データにより作成したモデルファイルdataです.)
# 中規模な学習データにより作成したモデルファイル(data2)を使用
# 出力結果は,dataを利用した結果に比べて約10%増.
> script/ex_hyponymy.sh -t ./data2 jawiki-*-pages-meta-current.xml.bz2

# 大規模な学習データにより作成したモデルファイル(data3)を使用
# 出力結果は,dataを利用した結果に比べて約20%程度増.
> script/ex_hyponymy.sh -t ./data3 jawiki-*-pages-meta-current.xml.bz2

実行結果(上位下位関係の候補と判定された用語ペアとそのSVMスコアを出力)

   hierarchyに対する処理結果:   res_hier_withWD_posWD
   definitionに対する処理結果:   res_def_withWD_posWD
   categoryに対する処理結果:    res_cat_withWD_posWD
   hierarchyに対する拡張結果(v1.0で追加):   res_hier_withWD_posWD_expand
      
# 出力フォーマット(res_*_withWD_posWD)
上位語  下位語  評価スコア(peccoまたはTinySVMの出力値)
(例) 作品 ミッドウェイ 1.13208

# 出力フォーマット(res_hier_withWD_posWD_expand)
上位語 中間語1 中間語2 下位語
(例)作品 [アメリカ合衆国の映画監督,ミネソタ州の人物]の作品 ジャック・スマイトの作品 ミッドウェイ_Midway
「中間語1」は上位語に対する下位語,中間語2と下位語に対する上位語です.
「中間語2」は上位語と中間語1に対する下位語,下位語に対する上位語です.
「中間語1」,「中間語2」は,抽出できているもののみ出力されます.
※ この例の「中間語1」では,「アメリカ合衆国の映画監督の作品」「ミネソタ州の人物の作品」の
2つが抽出されています.
 評価スコアは,抽出した上位下位関係の信頼度の指標となります(値が大きいほど高信頼度). 本ツールでは,我々が所有する実験用データを利用して,評価スコアが大きいものから順に精度がおおよそ90.0%となるところまで抽出しています. 例えば,後述する実験では,このスコアが0.49以上の値を持つ上位下位関係が抽出されています. さらに高精度な出力が必要な場合は,このスコアの値がさらに大きいもののみを抽出して下さい. -aオプションを使用すると,実験用データによる精度が93.0%以上となるスコアを持つ上位下位ペアが抽出されます.
 使用するモデルファイルごとに評価スコアの値が持つ意味合いが異なりますので,ご注意下さい.

オプション引数

 プログラム実行時には,次のオプションが指定可能です.

オプション 説明
-h ヘルプメッセージを表示
-d [ディレクトリ名] mecab辞書ディレクトリ指定
-t [ディレクトリ名] 機械学習用モデルファイルのディレクトリ指定(デフォルトは./data)
-w [ディレクトリ名] 中間出力ディレクトリ指定 (デフォルトはカレントディレクトリ)
-o [ディレクトリ名] 最終出力ディレクトリ指定 (デフォルトはカレントディレクトリ)
-p 中間ファイルを削除しない(preserve)
-H hierarchy実行
-D definition実行
-C category実行
-s 省メモリモード
メモリが5GB未満の場合は,省メモリモードを指定ください.
(v0.82で追加)
-E hierarchy処理結果の拡張を実行
hierarchy,definition,categoryの処理結果が必要です.
(v1.0で追加)
-v 分類器としてTiny SVMを使用
オプションを指定しない場合はpeccoを使用します.
(v1.0で追加)
-a 実験用データの抽出精度が93.0%となる評価スコアのしきい値を利用.
指定しない場合は,実験データの抽出精度が90.0%となる値に設定されています.
(v1.0で追加)

(-H, -D, -C ,-E いずれも指定されなければ,全て実行)

ディレクトリ構成

ディレクトリ 説明
script/ プログラム
data/ モデルファイル用ディレクトリ:小規模な学習データから作成したhierarchy用モデルファイルが保存(処理時間が短いモデルファイル)
data2/ モデルファイル用ディレクトリ:中規模な学習データから生成したhierarchy用モデルファイルが保存.処理時間は増大するが,出力結果は少し増える.peccoの使用推奨.
data3/ モデルファイル用ディレクトリ:大規模の学習データから生成したhierarchy用モデルファイルが保存.処理結果数は最も多い.peccoの使用必須.(v1.0で追加)
data_cat/ モデルファイル用ディレクトリ:category用のモデルファイル保存.(v1.0で追加)
data_def/ モデルファイル用ディレクトリ:definition用のモデルファイル保存.(v1.0で追加)

実行コマンド入力例

# 3種類の上位下位関係候補抽出処理をipadic辞書を指定して実行
# 既にEUC版のIPA辞書によりmecabを利用している場合は,UTF8でIPA辞書をインストールし,-dオプションによりIPA辞書を指定.
> script/ex_hyponymy.sh -d /usr/local/mecab-0.97/lib/mecab/dic/ipadic jawiki-*-pages-meta-current.xml.bz2

# Category情報のみを利用して上位下位関係の候補を抽出
> script/ex_hyponymy.sh -C jawiki-*-pages-meta-current.xml.bz2

# 新たに追加されたモデルファイル(data3)を利用して解析. hierarchyの処理結果を拡張.
> script/ex_hyponymy.sh -E -t ./data3 jawiki-*-pages-meta-current.xml.bz2

抽出上位下位関係数

 上位下位関係抽出ツールVersion1.0を使用して,2010年6月24日バージョンのWikipediaを解析した結果,下記の数の上位下位関係を抽出できます.
  • 上位下位関係数(-aオプション無し,モデルファイルdata3使用)  (情報源) : (抽出数)  hierarchy : 4,477,351ペア (下位語異なり2,281,178語)  definition : 333,536ペア (下位語異なり324,486語)  category : 1,271,725ペア (下位語異なり509,106語)  全体 : 6,082,603ペア (下位語異なり2,457,243語)
  • hierarchyを拡張した中間語数  中間語1(例:[MLBのチーム]の選手) : 8,894,187個  中間語2(例:デトロイト・タイガースの選手): 3,424,710個 ※ 実行環境によって判定処理の際に丸め誤差が生じ,抽出数が上記と異なることがあります.
  • 処理時間

     上位下位関係抽出ツールVersion1.0による2010年6月24日バージョンのWikipediaの解析時間は,下記の通りです.
    モデルファイル   SVM   pecco
    data(小規模な学習データにより作成)   2,736分   2,371分
    data2(中規模な学習データにより作成)   3,461分   2,396分
    data3(大規模な学習データにより作成)   10,000分以上   2,408分
    (Intel Xeon 2.66GHz, メモリ使用量最大5GB程度, NFSディスク環境により計測)

    参考文献


    Copyright




    MASTAR プロジェクト
    NICT 情報分析研究室(2011年度より言語基盤グループから改称)
    国立研究開発法人情報通信研究機構