著者情報から研究分野を推定する&EngTaggerを試用

 ポスター著者の情報を使って、いくつかのポスターをどのように分類すればいいのか考えたときに、その筆者が投稿した過去の論文から情報抽出してきて、それらの重なり具合から評価しようと思いました。
 前回までに調べていたPubMed APIでは、検索クエリに「field=Author」を追加すれば著者名で検索できるようです(ESearchの使い方のサイトを参考にしました)。これでその著者のいくつかの論文についてAbstractを手に入れられます。

 問題は、手に入れてきたAbstractから研究分野に関係しそうな情報をどうやって抽出するか、というところです。そこで、日本語のときと同様に今回も英文からまず名詞を抽出してきて、その出現頻度の高い順にいくつか単語を拾い集めてみようと考えました。
 品詞解析ライブラリを探していたところ、Rubyでも使えるライブラリとして「EngTagger」(品詞解析RubyライブラリEngTagger)というものがありました。
 さっそく「gem install engtagger」でインストールしてみて、あるAbstractの英文を取ってきて使ってみたところ、あっさりと名詞を抽出することができました。

tgr = EngTagger.new
text = open("test.txt").read
word_list = tgr.get_words(text)

 しかもget_wordsメソッドは単語の出現頻度まで取り出してくれる優れものでした。なかなかいい感じだったので、次回もこれを使った情報抽出に取り組んでみようと思います。