2014年2月11日火曜日

Statistical Semantics入門の発表をしました

先週のPFIセミナーで、Statistical Semantics入門という発表をしました。 主に分布仮説をベースにした、単語の意味を文脈の分布で表現する研究を纏めました。 LSIから始まって、PLSI、LDAと続く言語モデル系、NMFなどの行列分解系、そしてNNLM、RNNLMと来て昨年流行したニューラルネット系の3つでまとめるという形をとっています。 あまり専門的になりすぎず、過去からの歴史や流れを踏まえ、一方で実用面や研究テーマのココロ、問題意識を重視するような内容になるように心がけたつもりではあります。 当初、他の「いわゆる意味論」との比較みたいなスライドもあったのですが、変なコト言うと刺されると思ったので消しましたw

ところで、応用の観点でこれらの話をどう考えているか、というような点について触れるのを忘れたな、と思ったのでこちらに書いてみます。 基本的に私見ですが。

私自身は、単語レベルでの意味というのは自然言語処理の応用上最重要なテーマの1つだと考えています。 一言でいえば、未知語・同義語・多義語の問題です。 こうしたテーマはあまりNLP研究者の興味を引かないようにおもいます。 ところが現場のお客さんの話を聞くと、こうした些細な問題が実際には大きな問題になっていて、応用と基礎研究のギャップを感じます。

これらの技術を実際に何かしらの応用に適用しようとすると、とたんに話が変わってくることを度々感じます。 私は修士のときに、こうした自然言語の技術をちゃんと情報検索に応用しようとしました(あまり知られてないと思いますが、この2つの分野は以外と遠い)。 その内の1つとして、同義語獲得をクエリ拡張に応用する実験を行いました。 かなり高い適合率で同義語を獲得できて手応えを感じたにもかかわらず、1つでも頻度の高い単語を誤って同義語と判断すると、その単語ばかりでてしまうため検索結果はボロボロになります。 すると、NLPの世界での適合率・再現率といった評価指標は少しも十分ではありませんでした。 一方で、前職時代(2年目くらい?)にテキストマイニングへ応用しようとしたことがありました。 こちらは、周辺文脈の類似度から訳語の自動獲得をして、マイニングの文脈で応用させました。 獲得された訳語はズタボロであった一方で、「何かしらの発見があるか」という点でいえばそれなりに意味の有りそうな発見があったよという内容でした。 マイニングの技術でピタリと何かを言い当てるのは普通難しく、発見の「きっかけ」を与えてくれる程度で、この場合中間結果の精度が不十分でも応用上は十分な場合があります。

結果がさして芳しくなかったというのもありますが、こうした取り組みは大して評価されませんでした。 というか、自分が査読者でも大して評価しないでしょう。 応用上の問題になるととたんに客観的な評価は難しくなり、公平性と客観性を重視する研究発表の場にはそぐわない。 また、複数の技術や工夫の総体として応用領域では、何が本質的に意味があるか見極めるのは極めて難しいのも事実です。 では、公平で客観的な評価であればそれで十分かというと、それも疑問です。 私は現実に役に立つことが大事であるという、どちらかと言えばエンジニアに近い立場なので、現実に役に立つかという点をもっと重視しています。 短期的に性能を向上させるために、評価セットと評価指標と評価環境を作って、原因分析と改善のサイクルを回して精度向上させる、というようなやり方はよくやるのですが、そこで満足してはいけない。

既存の評価指標に強く依存しすぎてしまうことを、「背もたれ」と表現しています。 背もたれがあると安心します。 もたれれば安定するし落ち着きます。 しかし、現実の問題に背もたれはありません。 これは素晴らしく精度の出る方法なんですといくら言っても、お客さんの問題を解決しないことには評価されません。 背もたれのない椅子の上で、バランスを取りながら背筋を伸ばして座らないといけない、というのが技術を届けるということなんだなと考えています。

1 件のコメント: