GENIA taggerの動作確認

 そろそろ牧場での仕事もまとめに入ろうと思い、今回は、今まで作ってきたPubMed検索結果から研究者ネットワーク図を作るRubyコードが、きちんと動くかどうか確認しました。
 今まで牧場で使ってきたMacBook Proosx 10.5)から、新しく使用するマシン(osx 10.9)に移行したので、現行の環境での確認がてら自分のマシンで動作確認をしていました。
するとやはり問題が生じ、英文を品詞解析する「GENIA tagger」が、Macの最新OSのMavericksではうまくコンパイルできませんでした。
 GENIAのWebページから3.0.1のバージョンをダウンロードし、makeすると、以下のようなエラーが出ました。makeした環境は、「OSX 10.9.1, gcc: Apple LLVM version 5.0 (clang-500.2.79)」です。

error:
invalid operands to binary expression ('const point' and 'const point')
{return __x < __y;}
~~~ ^ ~~~

 調べてみると、GENIAに含まれる「namedentity.cpp」が問題らしく、307行目を以下のように修正したら、うまくコンパイルできました。

旧307行目) bool operator<(const Annotation & x) { return prob > x.prob; }
新307行目) bool operator<(const Annotation & x) const { return prob > x.prob; }

 constがついているかどうかが大事なようですね。
 これでGENIA taggerがうまく動かせることも確認でき、作成した全Rubyコードを実行できました。
 
 さて、お世話になった牧場もついに解散することになり、それまでに収穫物として完成させようと思います。あとわずかですが最後までやりきろうと思います!