
東京大学
コンピュータ科学専攻
辻井研究室
2008年12月12日より バージョン 2.3.1 公開中
オンラインデモ公開中
English page
目次
はじめに
Enju は英語の構文解析器です.HPSG理論に基づく文法[1-7]と高速な構文解
析アルゴリズム[8-11]により,高速かつ高精度な構文解析を行い,構文構造お
よび述語項構造を出力します.文の意味を扱うことが必要である高度な自然言
語処理アプリケーション,例えば情報抽出,自動要約,質問応答などで特に有
用です.
この構文解析器の主な特徴は以下のとおりです.
- 高精度かつ深い解析: 構文構造だけでなく述語項構造も出力する
ことができ,新聞記事や生命科学文献に対しては90%程度の精度で解析する
ことができます.
- 高速な解析: デフォルトの設定で一文平均約500ミリ秒(たいていの
Penn Treebank パーザより速いです),高速なバージョンを使えば50ミリ秒以下
で解析できます.
このバージョンでは,他にも以下の機能が追加されています.
- スーパータガーとして使う:
"mogura -super" を実行してください.
- Enju XML フォーマットからPenn Treebank 形式のフォーマットへ変換する[15,16]:
"enju2ptb/convert < ENJU_XML_OUTPUT > PTB_STYLE_OUTPUT"
を実行してください.
- 完全な解析ができなかったときは部分解析結果を出力する.
- Nベスト解を出力する(実験的コード).
問い合わせはこちらにどうぞ.
Enjuのインストール
Enju 2.3.1 のバイナリパッケージは,
辻井研究室ソフトウェアダウンロードページでダウンロードできます.
現在のところ,以下のパッケージがダウンロードできます.
- Enju 2.3.1 for Ubuntu 8 for i386
- Enju 2.3.1 for Debian 4 for i386
- Enju 2.3.1 for Cent OS 4.7 for x86_64
- Enju 2.3.1 for Mac OS X
ダウンロードする前に,オンラインデモもお試しく
ださい.ソースパッケージが必要な場合はお問い合わせください.
バイナリパッケージのインストール
1. 最新のパッケージをダウンロードする (enju-X.Y-PLATFORM.tar.gz).
2. Enju をインストールしたいディレクトリでパッケージを解凍する.
(以下の例で $DIR はそのディレクトリを表します)
> cd $DIR
> tar xvzf enju-X.Y-PLATFORM.tar.gz
"enju" コマンドが "$DIR/enju-X.Y/" にインストールされます.
ソースパッケージのインストール
Enju をインストールするには,以下のソフトウェアが必要です.
- g++3.2 かそれ以上 (4.3 はサポートしていません)
- zlib
- regex ライブラリ
これらのソフトウェアはたいていの Linux ディストリビューションに入って
います.
1. 最新のパッケージをダウンロードする (enju-X.Y.tar.gz).
2. コンパイル&インストールする.
> tar xvzf enju-X.Y.tar.gz
> cd enju-X.Y
> ./configure
> make
> make install
"enju" コマンドが "/usr/local/bin/" にインストールされます.
もし "/usr/local/" 以外にインストールしたい場合は,"--prefix" オプションを付けてください.
> ./configure --prefix=$DIR
これで "enju" は "$DIR/bin/" にインストールされます.
Enju の使い方
文を解析するには,一行に一文が書かれたファイルを標
準入力に渡してください.
> enju < RAWTEXT > RESULTS
代わりに高速な解析器 "mogura" を使うこともできます.
> mogura < RAWTEXT > RESULTS
これらのコマンドはほとんど同じように動作します.
もしすでに Penn Treebank 形式の品詞が付いている文を解析するときは:
> enju -nt < TAGGEDTEXT > RESULTS
デフォルトの出力フォーマットは述語項構造です.それ以外に,構文構造
も同時に出力するXMLフォーマットや,スタンドオフフォーマットが利用で
きます.
> enju -xml < RAWTEXT > RESULTS
> enju -so < RAWTEXT > RESULTS
また,enju を CGI サーバとして利用することもできます.
> enju -cgi PORT_NUMBER
CGI クエリでポート番号 PORT_NUMBER にアクセスして,XMLフォ
ーマットで解析結果を受け取ります.
http://localhost:PORT_NUMBER/cgi-lilfes/enju?sentence=he+runs+the+company
出力フォーマットの詳細については,
マニュアルやテクニカル
レポートを参照してください.
デモとウェブインタフェース
CFGに基づく構文解析器と違い,Enju の出力は述語項構造です.入力文の単語
間の意味的関係を簡単に利用することができます.
構文解析結果の例は以下をご覧ください.出力の各行が一つの述語項関係を表
します.例えば,最初の例の2行目は,述語 "run" とその項 "he" が,"ARG1"
(意味的主語)という関係であることを表しています.以下の例では,"he",
"run", "company" が様々な構文構造で現れますが,その述語項関係はすべて
同じであることに注目してください.
文1: He runs the company.
| ROOT | ROOT | ROOT | ROOT | -1 | ROOT | ROOT | runs | run | VBZ | VB | 1 |
| runs | run | VBZ | VB | 1 | verb_arg12 | ARG1 | He | he | PRP | PRP | 0 |
| runs | run | VBZ | VB | 1 | verb_arg12 | ARG2 | company | company | NN | NN | 3 |
| the | the | DT | DT | 2 | det_arg1 | ARG1 | company | company | NN | NN | 3 |
文 2: The company that he runs is small.
| ROOT | ROOT | ROOT | ROOT | -1 | ROOT | ROOT | is | be | VBZ | VB | 5 |
| is | be | VBZ | VB | 5 | verb_arg12 | ARG1 | company | company | NN | NN | 1 |
| is | be | VBZ | VB | 5 | verb_arg12 | ARG2 | small | small | JJ | JJ | 6 |
| small | small | JJ | JJ | 6 | adj_arg1 | ARG1 | company | company | NN | NN | 1 |
| The | the | DT | DT | 0 | det_arg1 | ARG1 | company | company | NN | NN | 1 |
| that | that | IN | IN | 2 | relative_arg1 | ARG1 | company | company | NN | NN | 1 |
| runs | run | VBZ | VB | 4 | verb_arg12 | ARG1 | he | he | PRP | PRP | 3 |
| runs | run | VBZ | VB | 4 | verb_arg12 | ARG2 | company | company | NN | NN | 1 |
Enju の XML フォーマットでは,述語項構造に加えて構文構造も出力されます.
以下のページでは,文"It's
falling like a stone, said Danny Linger, a pit trader who was standing
outside the London International Financial Futures Exchange."に対
する構文木と述語項構造を見ることができます.
注意:このページでは,Firefox は結果をグラフィカルに表示しますが,
Internet Explorer では XML 文書がそのまま表示されます.
また,
オンラインデモ でもXMLフォーマットの出力を見る
ことができます.
UIMA ウェブインタフェースも公開中
です.
マニュアルなど
生命科学文献用の解析モデル
Enju には生命科学文献のテキストに特化した構文解析モデルが付属していま
す.これはGENIA
treebankを学習データに用い,分野適応手法[12,13]を用いて再学習
したものです.このモデルを用いるには,"-genia"オプションを指定してくだ
さい.
> enju -genia
参考文献
[1] Yusuke Miyao and Jun'ichi Tsujii. 2002.
Maximum
Entropy Estimation for Feature Forests.
In Proceedings of HLT 2002.
[2] Yusuke Miyao and Jun'ichi Tsujii. 2003.
Probabilistic modeling of argument structures including non-local dependencies.
In Proceedings of the Conference on Recent Advances in Natural Language Processing (RANLP) 2003, pp. 285-291
[3] Yusuke Miyao, Takashi Ninomiya, and Jun'ichi Tsujii. 2004.
Corpus-oriented Grammar Development for Acquiring a Head-driven Phrase Structure Grammar from the Penn Treebank.
In Proceedings of IJCNLP-04.
[4] Yusuke Miyao and Jun'ichi Tsujii. 2005.
Probabilistic Disambiguation Models for Wide-Coverage HPSG Parsing.
In Proceedings of ACL-2005, pp. 83-90.
[5] Takashi Ninomiya, Takuya Matsuzaki, Yoshimasa Tsuruoka, Yusuke
Miyao and Jun'ichi Tsujii. 2006.
Extremely Lexicalized Models for Accurate and Fast HPSG Parsing.
In Proceedings of EMNLP 2006.
[6] Takashi Ninomiya, Takuya Matsuzaki, Yusuke Miyao, and Jun'ichi
Tsujii. 2007.
A log-linear model with an n-gram reference distribution for accurate HPSG parsing.
In Proceedings of IWPT 2007.
[7] Yusuke Miyao and Jun'ichi Tsujii. 2008.
Feature Forest Models for Probabilistic HPSG Parsing.
Computational Linguistics. 34(1). pp. 35--80, MIT Press.
[8] Yoshimasa Tsuruoka, Yusuke Miyao, and Jun'ichi Tsujii. 2003.
Towards efficient probabilistic HPSG parsing: integrating semantic and syntactic preference to guide the parsing.
In Proceedings of IJCNLP-04 Workshop: Beyond shallow analyses - Formalisms and statistical modeling for deep analyses.
[9] Takashi Ninomiya, Yoshimasa Tsuruoka, Yusuke Miyao, and Jun'ichi Tsujii. 2005.
Efficacy of Beam Thresholding, Unification Filtering and Hybrid Parsing in Probabilistic HPSG Parsing
.
In Proceedings of IWPT 2005.
[10] Takashi Ninomiya, Yoshimasa Tsuruoka, Yusuke Miyao, Kenjiro Taura
and Jun'ichi Tsujii. 2006.
Fast and Scalable HPSG Parsing. Traitement
automatique des langues (TAL). 46(2). Association pour le Traitement
Automatique des Langues.
[11] Takuya Matsuzaki, Yusuke Miyao, and Jun'ichi Tsujii. 2007.
Efficient
HPSG Parsing with Supertagging and CFG-filtering.
In Proceedings of IJCAI 2007.
[12] Tadayoshi Hara, Yusuke Miyao, and Jun'ichi Tsujii. 2005.
Adapting a probabilistic disambiguation model of an HPSG parser to a new domain
.
In Proceedings of IJCNLP 2005.
[13] Tadayoshi Hara, Yusuke Miyao, and Jun'ichi Tsujii. 2007.
Evaluating Impact of Re-training a Lexical Disambiguation Model on Domain Adaptation of an HPSG Parser.
In Proceedings of IWPT 2007.
[14] Kenji Sagae, Yusuke Miyao, and Jun'ichi Tsujii. 2007.
HPSG Parsing with Shallow Dependency Constraints.
In Proceedings of ACL 2007.
[15] Takuya Matsuzaki and Jun'ichi Tsujii. 2008.
Comparative Parser Performance Analysis across Grammar Frameworks
through Automatic Tree Conversion using Synchronous Grammars.
In Proceedings COLING 2008.
[16] Yusuke Miyao, Rune Saetre, Kenji Sagae, Takuya Matsuzaki, and
Jun'ichi Tsujii. 2008.
Task-Oriented Evaluation of Syntactic Parsers and Their
Representations.
In Proceedings of ACL-08:HLT.