オープンソースなラピッドアノテーションツール「brat」

brat
Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInEmail this to someone

自然言語処理とかアノテーションとか、自分にとってはチャットボット開発を始めてから興味を持ち始めたものなのですが、市場的にはそれなりに長い歴史があるわけで、ラピッドアノテーションツール「brat」に今更ながら感動しています。しかもMITライセンス。

 

bratをダウンロード

Webサーバーで動作させるだけでなく、Macでスタンドアロンでも動作させることもできます。とりあえずスタンドアロンで動作させました。必要なファイルはTOPページからダウンロードできます。

バージョンは1.3。2012年リリースとか。すごい。

bratをインストール

ダウンロードファイルを任意のフォルダにおいて、解凍。「brat-v1.3_Crunchy_Frog」フォルダが現れるので、移動後にインストールを実行。

$ tar xvzf brat-v1.3_Crunchy_Frog.tar.gz
$ cd brat-v1.3_Crunchy_Frog
$ ./install.sh

ログインに必要なユーザー名・パスワード・メールアドレスを聞かれるので、1つ1つ答えていけば、インストール完了です。

アノテーションをするデータは、「brat-v1.3_Crunchy_Frog」以下の「data」フォルダに配置します。形式は.txtになります。併せて、.txtファイルと同名の.annファイルを用意してください(空でOK)。アノテーションされた情報が.annファイルに保存されます。

bratの起動

bratはpythonで実行されます。2.5以上で3では動きません。

$ python2 standalone.py

Serving brat at http://127.0.0.1:8001

bratが起動されたメッセージが表示されたら、「http://127.0.0.1:8001」にブラウザでアクセスします。

無事アクセスできました。

「Document」欄を見ると、いくつかのサンプルtxtが用意されています。「examples」フォルダ内のどれかを開いてみてください。

既にアノテーションされた状態のファイルを確認することができます。追加で何か単語をアノテーションする場合は、ドラックして選択すると…

テキストに対して、どのタイプとしてアノテーションするか?やオプションなども選択できます。アノテーションタイプは、「annotation.conf」ファイルで定義できます。

ルールベースにしろ機械学習にしろ必要なアノテーション作業を、GUIかつ複数人でできるとあってかなり便利でした。

現在はボット同士による自動アノテーションも精度があがっているという話も聞きますが、最初はやっぱり人が分類を示す必要があるかと。分類の思考ツールとして良さげでした。しばらく使ってみようと思っています。

Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInEmail this to someone