多機能で洗練されたテキストアノテーションツールbrat

brat (brat rapid annotation tool)は固有名・イベント抽出、共参照解析、チャンキング、構文解析などの様々なタスクに利用できるテキストアノテーションを表示・編集するツールです。数多くの機能を備えていて、右の画面のように表示が美しく、操作もマウスを使って直観的に行うことができ、ショートカットのキーボード操作も設定できるようになっているなど大変使いやすくなっています。

bratは共同作業も行えるようにサーバクライアントのシステムになっていて、サーバはPythonで、クライアントはJavaScriptで書かれています。セキュリティ面からApacheサーバなどを通して利用することが推奨されていますが、次のようにして簡単に起動することができます:

$ curl -O http://weaver.nlplab.org/~brat/releases/brat-v1.3_Crunchy_Frog.tar.gz
$ tar xzf brat-v1.3_Crunchy_Frog.tar.gz
$ cd brat-v1.3_Crunchy_Frog
$ ./install.sh -u
(ユーザ名、パスワード、管理者メールアドレスを入力します)
$ python standalone.py

ブラウザで、http://127.0.0.1:8001 にアクセスすると利用できます。アノテーションの情報は、テキストのファイルとは別に拡張子が.annのファイルに記録されます。テキストファイルを選択してログインした状態で、マウスを使ってダブルクリックまたはドラッグして単語を選択すると、固有名を指定するウィンドウが現れます。

また、MeCabを利用した日本語の単語分割にも対応しているようで、tools.confファイルに次のように指定できます:

Tokens tokenizer:mecab

Upgrading to v1.3 (Crunchy Frog) - brat rapid annotation tool

MacPortsを使っているのであれば、MeCabに対応したPythonをインストールしておきます:

$ sudo port install py27-mecab

ただし、サーバサイドでは確かにMeCabの単語分割処理が行われているようなのですが、クライアントの画面上では特に変わりがなく、単語が分かれて表示されてダブルクリックで単語が選択できるようになるとおもいきや、そうなっていないので謎ですが…。

他にもSimStringを使った類似文字列の正規化に対応していたりと、精力的に様々な機能を盛り込んでいます。