統語ツリーを描く3つの方法

概要
統語論における構造を表すツリーの描き方として、(1)ウェブサービス、(2)ツリー専門ソフト、(3)TeX を紹介。

はじめに

統語論では、文の構造を示すために統語ツリー (syntactic tree) を用いることがしばしば見られる。今日は、統語ツリーを簡単かつ美しく描く方法について紹介しよう。

結論を先に言うと、大したことのないレポートやアイディアメモに使うなら Syntax Tree Generator というウェブサービスをオススメする。本格的な論文を書くなら、TeX のマクロを使うのが良いだろう。

ウェブサービスを利用する

統語ツリーを作成する際に一番手軽に使えるのが、統語ツリーを製作できるウェブサイトだろう。今回は3つの統語ツリーに関するウェブサービスを紹介するが、いずれも括弧を使って統語構造を入力すると、統語ツリーの画像を出力するというものだ。例えば、

[S [NP Colorless green ideas][VP [V sleep][Adv furiously]]]

のように入力すると、それに対応する統語ツリーが出力されるのだ。

Syntax Tree Generator

入力欄に、統語構造をカッコで入れると、即座に画面下側に統語ツリーが表示される。今日紹介する3つのウェブサービスの中で一番のオススメである。ただ古いブラウザだとうまく動かないかもしれないので、その場合は phpSyntaxTree などを使用されたい。

Syntax Tree Generator の出力結果
Syntax Tree Generator の出力結果

なお、他の2つのWebサービスと異なり、移動の矢印も記せる。例えば、

[S [X_a Movement] [Y example <a>]]

ならば、Y が X に移動したことを示す矢印が引かれる。上で、“X_a”と“<a>”とあるが、これは対応をとるために存在しているので、別に“a”でなくてもそろっていさえすれば良い。

Syntax Tree Generator での移動の表現
Syntax Tree Generator での移動の表現

設定を変えるのも非常に簡単だ。作成した統語ツリーが気に入ったならば、そのツリーを画像として保存すれば良い。画像形式はPNGのみだ。

phpSyntaxTree

入力欄に括弧の形で統語構造を入力し、[Draw]ボタンを押すだけで、統語ツリーができる。[Draw]ボタンを押した後に、文字サイズなどツリーの設定を変更できるので、適宜変更しよう。

phpSyntaxTree 入力欄。括弧で統語構造を入力し、[Draw]ボタンを押すだけ。
phpSyntaxTree 入力欄。括弧で統語構造を入力し、[Draw]ボタンを押すだけ。

設定は、見たままなので、特に説明を要さないだろう。分からなかったら色々試してみれば良い。フォントを Bitstream Vera Serif に変え、Colorのチェックを外してモノクロにすると、印刷の際は見やすくなる。

phpSyntaxTree 出力結果。画像をダウンロードできるほか、設定を色々と変更できる。
phpSyntaxTree 出力結果。画像をダウンロードできるほか、設定を色々と変更できる。

作成された統語ツリーをダウンロードするには、統語ツリーの上でクリックすれば良い。そうすると、PNG形式の画像ファイルがダウンロードできる。また、統語ツリーの下にある小さなアイコンをクリックすると、SVG形式でダウンロードできる。SVG形式は、取り扱いが若干面倒だが、印刷したときにギザギザしないようにするには、SVGの方が良い。

phpSyntaxTreeでSVGをダウンロード
phpSyntaxTreeでSVGをダウンロード

なお、“php”というのはこのウェブサービスを作るときに使われているプログラミング言語の名前である。

RSyntaxTree

RSyntaxTree も、入力欄に括弧の形で統語構造を入れるだけで統語ツリーが作れるウェブサービスだ。PNG形式の他、SVG形式やPDF形式でもダウンロード可能。

RSyntaxTreeの出力結果
RSyntaxTreeの出力結果

日本語の入力にも対応している。ただし、日本語を使う際には、Font-style を、Gothic (ゴシック体)か Mincho (明朝)に変更しておこう。もっとも、統語ツリーに日本語を交える機会はさほどないだろう。日本語の文法について議論する時でも、論文やレポートを英語で書くのなら、統語ツリーに出てくる日本語もローマ字化したものを使うからだ。

なお、“RSyntaxTree”の“R”は、プログラミング言語“Ruby”の頭文字で、統計処理ソフトの“R”とは無関係である。

ツリーを描く専門ソフトを利用する

先に紹介した方法はウェブ上で統語ツリーを作成するものであったが、今度はローカルの環境でツリーを作成できるアプリケーションを紹介しよう。

統語ツリー作成用のアプリケーションはさまざまなものがある。私が知っているアプリケーションを列挙すると以下の通り。

このうち、TreeFormが使い勝手が良く、オススメなので、これを紹介していこうと思う。

TreeForm

まずは、SourceForge の TreeForm のプロジェクトページから、TreeForm をダウンロードしよう。2012年4月現在、最新バージョンは 1.0.3 だ。Win だろうが、Mac だろうが、Linux だろうが同じファイルをダウンロードすれば良い。ダウンロードしたものを解凍すれば、特にインストール作業をせずに、そのまま使える。Windows を使っている人なら、解凍した中に含まれる TreeForm.bat を動かすと、TreeForm が立ち上がる。

TreeForm の画面
TreeForm の画面

立ち上がった画面を見れば、使い方は一目瞭然だろう。左のパネルにある要素を、右側の白い画面に配置していき、ツリーを作っていくのだ。使用方法を説明した動画を参考にするのも良いだろう。

TreeFormでのツリーの作成例
TreeFormでのツリーの作成例

なお、移動を示す矢印を引いたり、ノードの下に格やら素性やらを記すこともできる。

TreeForm での移動
TreeForm での移動

また、作成したツリーは、画像としてエクスポートできる。保存形式は PNG と JPEG だ。

TeX

論文などを書くときに使う、組版ソフトの TeX のマクロの中には、統語ツリーを描けるものがある。TeX で作れば、ベクターデータとして出力できるので、PNG画像のように、引き延ばしたら荒くなるといった問題が起きない。また、Word を使って論文を書く場合でも、統語ツリーだけ TeX で作成してPDFに出力して、それを埋め込むという手段もある。

さて、TeX の統語ツリー作成のためのマクロの中でも、Qtree というマクロは、シンプルで使いやすい。ほとんど括弧だけで、ツリーを描く命令を記述できるためだ。

また、複雑なツリーを作りたい場合は、xyling というマクロを用いると良い。これがおそらく最も高機能だ。移動に関する矢印も色々な種類のものが引ける。

なお、TeX の統語ツリーに関することは、乙黒研究室のTeXの樹形図の説明ページに日本語で詳しく書かれているので、そちらを参照すると良いだろう。