自然言語処理&台湾

広告

まずはコメントのお返事をします。

自然言語処理

Posted by 理系大学生 On 2010年8月11日

いつもブログを楽しく読ませていただいております。

以前からプログラミングと自然言語処理に関する記事を書かれていたのでお聞きしたいのですが、
自然言語処理に適しているのはどのプログラミング言語でしょうか。

プログラミングを始めたのは大学に入ってからであまり経験もないためご教示いただけると幸いです。

ありがとうございます。

自然言語処理は本格的にするか、手抜きをするかで変わってくると思います。

手抜きをする場合

既存のツールを使うのが簡便です。例えば、Yahoo!のデベロッパーネットワークトップのテキスト解析を使うとしたら、XMLとかHTTP通信を使うことになります。ただし

  • Yahoo!デベロッパーネットワークに登録してアプリケーションIDを登録する必要がある
  • 1日あたりのリクエスト数の上限がある
  • 1回あたりのデータ量に制限がある

などの面倒な面もあります。ユーザ登録は面倒だけど一回きりです。データ量やリクエストの回数制限は本格的にやらない範囲なら特に問題ないと思います。

そうすると、面倒な処理はYahoo!側に投げてしまえるので、自前でやることはデータを送って結果を受け取って処理する作業です。したがって、PythonとかRubyがよいでしょう。正規表現が使いやすいこともポイントです。

本格的にやる場合

テキスト処理というとスクリプト言語が適しているような印象があるかも知れませんが、おそらくそれは違います。自然言語処理は大雑把に

  1. 形態素解析
  2. 構文解析
  3. その他の解析(文法解析とか)

をします。形態素解析というのは「私はニートです」という文章を

名詞,代名詞,一般,*,*,*,私,ワタクシ,ワタクシ
助詞,係助詞,*,*,*,*,は,ハ,ワ
ニート
名詞,一般,*,*,*,*,*
です
助動詞,*,*,*,特殊・デス,基本形,です,デス,デス

というバラバラな要素(形態素)に分解します。ここまでくれば、例えば品詞にIDを割り振るとかしてやれば、あとはただのデータ処理になります。そうすると、実はスクリプト言語でなくてもよくて、C++が候補に上がってくると思います。

とりあえずは、前述のYahoo!のサービスをRubyかPythonでいじってみるといいのではないでしょうか。

台湾

行ってきます。台風に邪魔されたりしなければ、台湾を一周してくる予定。できればバイクを借りて。

ANAにするか、ユナイテッド航空か

ユナイテッド航空の方が若干安く、マイレージも9,000ポイントくらい貯まっている。ANAはマイレージクラブに参加していない。諸事情からJALを多く使っていた。しかしJALは経営破綻して心配なので、前回パリまで特典航空券を交換したことでほぼマイレージを使い切った。これからは他の会社を使っていきたい。

次はイスラエルに行きたい。イスラエルの航空券は高いし、どうせだからトルコにも行きたい。トルコまでの特典航空券はエコノミーで60,000マイルくらい必要らしい。これは貯まらないなー。何かいい裏技があればいいのだけど。

とりあえず今回の旅行はANAにすることにした。AMEXのポイントと三井住友VISAのポイントを移行すれば、そこそこポイントは貯まる。あと、AMEXが30回使うと抽選で10,000ポイントくれるので、ちょっと期待しておく。おいらは100円未満でもクレジットカードを使うから30回なんて余裕。

コットンクラブの招待

10,000ポイントが当たるかも知れないキャンペーンに登録していて見つけたのだけど、

2010年 第6回 COTTON CLUB 9月8日(水) 1stステージへ1組2名さまをご招待いたします。

こういったキャンペーンが6回ある。8日〜10日の3日間 x 前半と後半。これに全部応募してみた。1つくらい当たったらコットンクラブでジャズを堪能してくることができる。さて、誰を誘おうかな。

広告