東京大学
コンピュータ科学専攻
辻井研究室
2011年6月16日より バージョン 2.4.2 公開中
オンラインデモ公開中
English page
目次
はじめに
Enju は英語の構文解析器です.
HPSG理論に基づく文法[1-7]と高速な構文解析アルゴリズム[8-11]により,
高速かつ高精度な構文解析を行い,構文構造および述語項構造を出力します.
文の意味を扱うことが必要な高度な自然言語処理アプリケーション,
例えば情報抽出,自動要約,質問応答で非常に有用です.
この構文解析器の主な特徴は以下のとおりです.
- 高精度かつ深い解析:
構文構造だけでなく述語項構造も出力することができ,
新聞記事や生命科学文献に対しては90%程度の精度で解析することができます.
- 高速な解析:
デフォルトの設定で一文平均約500ミリ秒(たいていの
Penn Treebank パーザより速いです),
高速な解析器("mogura")を使えば50ミリ秒以下で解析できます.
他にも以下のような機能があります.
- 解析結果をXML形式で出力する:
"-xml"
オプションを付けて起動してください.
元のテキストにXMLタグを追加出力するので,
他のツール(固有表現認識とか)の解析結果とマージするときに便利です.
また,stand-off 形式で出力することもできます
("-so"
オプションを指定する).
- 生命科学文献に特化した解析モデルを使う:
"-genia"
オプションを付けて起動してください.
- 文学・小説に特化した解析モデルを使う:
"-brown"
オプションを付けて起動してください.
- スーパータガーとして使う:
"mogura -super"
を実行してください.
- Enju XML フォーマットから Penn Treebank 形式のフォーマットへ変換する[15,16]:
"enju2ptb/convert < ENJU_XML_OUTPUT > PTB_STYLE_OUTPUT"
を実行してください.
- 品詞の曖昧性を残したまま構文解析を行う:
"-A"
オプションを指定してください.
解析精度が向上しますが,解析速度が多少遅くなります.
- Nベスト解を出力する:
"-N"
オプションを指定してください.
実験的コードなので,通常より解析時間がかかります.
問い合わせはこちらにどうぞ.
Enjuのダウンロード・インストール
Enju 2.4.2 のバイナリパッケージは,辻井研究室ソフトウェアダウンロードページでダウンロードできます.
以下のパッケージがダウンロードできます.
- Enju 2.4.2 for Ubuntu 8 for i386
(他の多くの 32 bit linux ディストリビューションでも動作します)
- Enju 2.4.2 for CentOS 5.5 for i386
(32 bit linux ディストリビューションで上のパッケージが動作しない場合はこちらをお試しください)
- Enju 2.4.2 for CentOS 5.5 for x86_64
(他の多くの 64 bit linux ディストリビューションでも動作します)
- Enju 2.4.2 for Mac OS X
- Enju 2.4.2 for Windows (32bit)
ダウンロードする前に,
オンラインデモもお試しください.
他のプラットフォーム用のパッケージが欲しい場合や,
ソースパッケージが必要な場合は,
お問い合わせください.
インストール方法 (Linux または Mac OS の場合)
1. パッケージをダウンロードする (enju-X.Y-PLATFORM.tar.gz).
2. Enju をインストールしたいディレクトリでパッケージを解凍する.
> tar xvzf enju-X.Y-PLATFORM.tar.gz
"enju-X.Y/enju" を実行すると,enju が起動します.
インストール方法 (Windows の場合)
1. パッケージをダウンロードする (enju-X.Y-win32.zip).
2. Enju をインストールしたいフォルダでパッケージを解凍する.
"enju-win/enju.bat" を実行すると,enju が起動します.
Enju の使い方
文を解析するには,
一行に一文が書かれたファイルを標準入力に渡してください.
例えば,
He runs the company.
The company that he runs is small.
と書かれたファイル RAWTEXT を解析したいときは,以下のコマンドを実行します.
> enju < RAWTEXT > RESULTS
すると,解析結果が RESULTS に出力されます.
解析結果の例はデモとウェブインタフェースを見てください.
代わりに高速な解析器 "mogura" を使うこともできます.
> mogura < RAWTEXT > RESULTS
これらのコマンドはほとんど同じように動作します.
もしすでに Penn Treebank 形式の品詞が付いている文を解析するときは:
> enju -nt < TAGGEDTEXT > RESULTS
デフォルトの出力フォーマットは述語項構造ですが,
それ以外に,構文構造も同時に出力するXMLフォーマットや,
stand-off フォーマットが利用できます.
> enju -xml < RAWTEXT > RESULTS
> enju -so < RAWTEXT > RESULTS
また,enju を CGI サーバとして利用することもできます.
> enju -cgi PORT
CGI クエリでポート番号 PORT
にアクセスして,XMLフォ
ーマットで解析結果を受け取ります.
http://localhost:PORT/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 ウェブインタフェースも公開中しており,
UIMAのフレームワークで Enju を利用することができます.
マニュアルなど
参考文献
[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.