ACL HLT 2011 最終日: 自然言語理解の研究がおもしろい

ACL HLT 2011 の3日目の最初は認知言語学に関するHow do the languages we speak shape the ways we think? という基調講演。時間、性(ドイツ語やフランス語で女性名詞や男性名詞がある)、因果関係に関していろんな言語でどのように表現され、それが人間の認識にどのように影響を与えているか、というトーク。おもしろい。

たとえば、時間軸の過去と現在を前後と言う(思う)か上下と言うかは言語によって違い、たとえば日本語では「6月下旬」は6月の先の時間(未来)を指すが、英語では上下でなく前後で表現したり(たとえば "back in '90s" のように過去を指す)、アイマラ語は前後でも過去が前で未来が後ろだったりとか。

それで、言語が認識に影響を与えるかの調査の実験として、英語と中国語のバイリンガルに対し、「月曜日と火曜日がどのように位置関係になっているか図示してください」などと聞く実験をしてみた。中国・香港・台湾に住む人、アメリカ(カリフォルニア)に住む人、普段縦書きで文章を書く人と横書きで書く人、中国語をすらすらと使える人とそうでない人、質問が中国語で聞かれた場合と英語で聞かれた場合と、のようにいろいろ条件を変えてみると、関係している要因は「どの言語が優位か」と「どの言語で聞かれたか」という2つの条件が時間の認識に関係していることが分かった、とのこと。つまり、たとえばアメリカに住んでいて中国語があまり得意でない場合、上下の概念よりは前後の概念を用いるし、「図示してください」というインストラクションが中国語で書かれていたら上下の概念を用いることが多くなる、と。

あと、英語も中国語も日本語も、左右や上下は自分を中心とした相対的な表現だが、場所を示すのに絶対的な位置関係を使うような言語もあり、たとえば「自分の左にテーブルがある」と言う代わりに「自分の南西にテーブルがある」と言うような言語があるが、この言語では「こんにちは」のような挨拶に当たる表現が「これからどこに行くんですか」という表現で、「これから南南東にしばらく行きます」と言うような応答をすることが期待されていて、この文化で育つと絶対的な方向感覚を習得して、自然と絶対的な方位が分かるようになるらしい。これも、言語が認知に影響を与えている例である。

因果関係についてもおもしろくて、人の前で勝手に自動で開く傘が開いてしまうような状況をビデオに収め、いろんな言語の話者にその状況を記述させると、英語では受動態で表現するよりは動作主を明示して "He opened an automatic opening ambrella." のように (自動的に開くのだから He opened は変だが) 表現することのほうが圧倒的に多く、スペイン語や日本語のように動作主を明示しない表現もよく使われる言語では「自動で開く傘が開いてしまった」のように表現することもあり、実は後者の表現を使った場合、「誰が開いたか」という情報を忘れてしまうのに対し、英語を使った人は「誰が開いたか」をよく覚えている、ということである。英語の話者はなぜか誰がやったかという情報を無意識のうちに記憶していて、日本語やスペイン語の話者は能動的な表現を使っている場合と受動的な表現を使っている場合で、誰がやったのかという情報の記憶力に有意な差がある。

実は今回の基調講演で聞いた内容は全部先日紹介した「ことばと思考」

ことばと思考 (岩波新書)

ことばと思考 (岩波新書)

に書いてあり、どの話も既に知っている内容だった(上記の新書のほうが詳しいし、ものすごく平易に書かれているので読みやすい)が、やっぱりライブで聞くと違う。そして内容もさることながら、話し方もすばらしい。1時間があっという間に去ってしまった。上記のような話に興味がある人は、ぜひ「ことばと思考」を手に取っていただきたい。

さて基調講演のあとは Error correction のセッションへ。実は今回誤り訂正のセッションが組まれたのは本会議が初めてで、座長の人も興奮していて(ノリノリで(笑))セッションの冒頭で「今日ここにいるみなさんは歴史を作っています!誤り訂正の研究は盛り上がり始めました!」と言っていたが、確かにこのところウェブ検索のクエリの訂正を通じて誤り訂正技術の有用性が浸透し、第二言語学習でも自動誤り検出・訂正の研究が盛んになってきたようである。

誤り訂正セッションの4つのトークはどれもおもしろかった。自分的には本会議のベストセッション賞を贈呈したい (笑) まずGrammatical Error Correction with Alternating Structure Optimization言語学習者の誤り訂正を選択タスクと訂正タスクの2つに分解し、前者はネイティブの書いた文章から教師なしに学習することができるので、これを「補助問題」として Ando らの ASO を用いて半教師なし学習する、というストーリー。

ここで選択タスクとは、たとえば前置詞のあるべき場所を空白にして、どの前置詞が入るのがもっともらしいか、というのを解くタスクで、訂正タスクとは、学習者が書いた前置詞を与えられたうえで、どの前置詞が入るのがもっともらしいか、というのを解くタスク。後者では in と on と at は間違えやすいので、in と書いてあっても on や at に直さなければいけない可能性が高いが、学習者が with と書いていたらこれは at と間違えることは稀なので、よほど文脈から at しか使わないということが分からない限り at である可能性は低い、というようなもの。

選択タスクは学習者がどう書いたのかは関係ないので、たとえば Google N-gram みたいなネイティブスピーカーが書いたコーパスから学習した言語モデルで訂正できるのに対し、訂正タスクでは学習者がどのように間違えるかという誤りモデルを学習する必要がある。ASO は、後者のタスクに関係する補助問題 (auxiliary problem) を考えて素性に足すことで、たとえば大規模データから抽出した素性を訂正タスクの学習に用いることができるのである。

いずれもそれぞれの話は既存の技術の積み重ねだが、聞いていて「なるほどな」と思う。このようにネイティブの書いた(大規模で教師なしに手に入る)文章を誤り訂正タスクに用いるのは自然な流れであるし、機械学習のコミュニティで最近提案された手法はいろいろあるので、手法の適用先としても納得な感じ。一つコメントすると、訂正モデル自体の学習に使っている素性がやはり重要で、今回は英語学習者の前置詞と冠詞の誤りだけなので単純な素性を用いていたが、他の誤りも訂正しようと思ったらもっと工夫する必要があるかなという感じ。とはいえ、それはこの論文の out of scope だろうから、これはこれでよいと思う。

あと、冠詞の誤りはネイティブの書いた大規模データだけでもかなり直せるのだが、前置詞の誤りは教師なしの手法だけでもあまり直せず、逆に訂正済みのデータから学習した教師ありの手法だけでも同じくらいの精度なのだが、両方を組み合わせると高い精度で訂正できるようになる、という話も興味深かった。グラフを見るとものすごく高いように見えたのだが、よくよく見てみると、縦軸のスケールをいじっており、精度が最大で0.20前後で、「組み合わせると既存手法より大幅によくなった」ことは分かるのだが、まだまだ研究の余地はありそう。

2つ目はA Graph Approach to Spelling Correction in Domain-Centric Search。ウェブ検索では検索クエリの15%に誤りが含まれるが、これはドメイン(分野)を限定しないウェブ検索に特有の話ではなく、IBMイントラネットの検索クエリを調べたところ、分野が限定されていても検索クエリの10%に誤りが含まれていたことが分かったため、エンタープライズ検索 (特定の業種の特定の企業の検索) におけるクエリ訂正をグラフベースの手法で解きました (またグラフ!)、という話。

手法自体は「グラフベース」と書かれてたのでラベル伝播みたいなことをするのかと思いきや、日本語や中国語の形態素解析みたいに単語のラティスを組んで動的計画法で探索するだけのことを「グラフ」と呼んでいて、タイトルは微妙な感じであったが、なんでこんなことをするかというと、英語の普通の文章では単語は空白で区切られているので日本語のように
単語境界が曖昧だったりはしないのだが、検索クエリだとたとえば "download exellatachment" のような(空白で分割したら)2単語クエリは正しくは "download excel attachment" のように3単語に分割する必要があるので、このような split と merge の操作をするためにはグラフ(ラティス)を構築して探索する必要があるのだ。日本語処理をやっている人にとっては当たり前の話だが、たぶん英語 (とか他のヨーロッパの言語) を対象に研究している人に取っては「なるほど」と思うような内容なのだろう。

実験結果を見ると、提案手法は検索クエリログを恐らく使っている Google のウェブ検索クエリ訂正と比較して、検索クエリログを使わなくても同等の性能が出せる、というところが売りのようである。まあ、大規模な検索クエリログが手に入るのは巨大な検索エンジン企業だけなので、この手法はそれはそれで嬉しいのではないかと思う。

これって日本語とか中国語の形態素解析と同じですよね、そちらの手法を適用することは考えなかったんですか、と質問しようかと思ったが、最初に質問した人が「音声認識とかではこういう問題は重み付き有限状態トランスデューサー(weighted Finite State Transducer, wFST)を使ってやるのが普通で、merging や splitting も扱えるし、SVM で merging や splitting の重みを学習したりするのはちょっと変だと思う」とのコメントがあったので、みんな発表聞いたら考えることは同じなのかと思った (汗) まあ、音声認識でも単語の境界が明示されないし、日本語や中国語のような単語境界が分からない言語を扱っている人ならこういう話は常識なので、まだまだ日本語処理の人が NLP 全体に貢献できるところもあるのではなかろうか。

3つ目はAlgorithm Selection and Model Adaptation for ESL Correction Tasks。タスクとしては1番目の発表と同じく英語学習者の前置詞誤りと冠詞誤りを直すタスクで、手法はタイトルからはよく分からなかったが、言語モデルを使って直すような教師なしの手法と averaged perceptron や naive Bayes のような識別的学習器を使って教師あり学習する手法の比較をしているところが「アルゴリズム選択」で、第二言語学習者の母語によって誤り方が違うという仮説を立てて分野適応の問題だと思って教師あり学習の分野適応をした、という話が「モデル適応」の話。

前半の話のモチベーションとしては、これまで言語モデルを使った訂正と (SVM などの) 教師あり学習を使った訂正では、前者のほうが一般的に精度がよいと言われているが、実験設定がばらばらで、言語モデルを使った場合のほうが大規模なデータを使っていることが普通なので、実験設定を揃えて比較したら、教師あり学習のほうが精度がよかった、という話。これはある意味当然で、教師あり学習しようと思ったらタグつきデータが必要だし、タグつきデータが十分な量あれば教師あり学習のほうが精度がよくなって当たり前。言語モデルを使う利点としては、処理が簡単で高速に動くということと、大規模データを使えるというところなので、そもそもデータ量を同じにして比較したら負けて当然。

逆に、言語学習者の母語別にモデルの重みを変化させる、という後半の話はこれまで自然言語処理でこういうことをやった人はいなかったので、非常に興味深い。というか、@tomo_wb くんも統計的機械翻訳の手法を用いて母語別に訂正モデルを作っていろいろ比較したりしていて、これは新しい研究ではないかと思っていた (英語が母語の人と中国語が母語の人、あるいは韓国語が母語の人で、日本語の作文の間違え方は違うだろう、というのが研究の動機) のだが、一歩先を越されてしまった感あり。ちょっと残念。結果としては、適応したら相当よくなるという話で、納得。

このセッション最後の発表はAutomated Whole Sentence Grammar Correction Using a Noisy Channel Model。この論文自体は先日言語教育勉強会でも紹介したので、詳しくはそちらを参照されたいが、会場からの質問は、恐らく人文・教育系の人たちもそれなりに聞きに来ていたので、「学習者の書いた作文だけでどうやって誤りモデルを学習するのか」という部分が分かりづらくて、そこに質問が集中していた。(EM アルゴリズムを使う、という話も、知っている人は分かるだろうが、初めて聞く人には伝わらないんじゃないかと思った)

今回の会議の特徴は、結果の評価で Amazon Mechanical Turk を使ってクラウドソーシングするのは当然で、むしろしていないほうがおかしいくらいの勢いだったのが印象的。ほんの数年前までは、Amazon Mechanical Turk を使った研究はキワモノ扱いされていたのだが、一気に変わってしまっている。確かにアメリカに住んでいると、評価として安く使えるので、使いたくなる気持ちも分かるのだが、アメリカのクレジットカードがないと使えないので、日本だとどうするのがいいのだろう。はてなとかが Mechanical Turk 的なものを作ったりしてくれないだろうか (汗)

誤り訂正・検出も、人間がどのように誤るのか、というモデルを作る、という意味では人間の言語理解に踏み込んだ研究であり、正しく書かれた文の構文解析や意味解析も重要な研究ではあるが、誤っている文を見ることで、むしろ正しく書かれた文がなぜ正しいのか、ということを考えるのもおもしろい研究だと思うし、(ウェブの登場や機械学習・統計的手法の登場で) そういう流れになりつつある、とも感じる。

お昼は@Bollegalaさんと川沿いのピザ屋へ。これまでも @Bollegala さんとは学会などでよくすれ違っていたのだが、なかなか一緒にご飯食べる機会がなく、ようやく今回実現したのである。実は他の大学で同時期に助教を始めた人と話すのは初めてかもしれず (奈良先端大の中ではちょくちょく出かけて行って話しているが)、いろいろお互いの悩みとか人生相談とか乗っていただいて、とても嬉しかった。

最近困っているのは「小町さんは最近なにを研究されているのですか」あるいは「ブートストラッピングの研究はまだ続けてらっしゃるのですか」と言われて、自分自身ではなにも研究的には手を動かしていないので、答えに詰まるというところである。ある程度仕事を断って時間を作らないと、自分でなにかする時間は作れないのではないか、と思うし、複数の人から「助教のうちはまだ論文を書いたほうがよい」と言われるし、自分でも最近はそう感じるので、なんとか時間を作りたいものである。

午後は ACL Business Meeting (運営会議) に出る。名前からは偉い人が出る会議に見えるが、参加自由で自分もときどき参加している。ちょうど松本先生が国別の投稿数・採択率やテーマ別の投稿数・採択率を話しているところだった。投稿数・採択率ともにトップなのは当然ながらダントツでアメリカ(採択率3割)だが、投稿数2番目は中国。続いて日本。しかし採択率で見ると日本は20%くらいなのに対し、中国は10%程度なので、質より量なんだろう。日本も平均の採択率を超えるくらい通ればいいと思うのだが、英語の壁があるにしては健闘しているのかも。研究の質はそんなに悪くないし、世界的にも日本は戦えると思うので、通りやすい書き方を身につけないといけないのかも (通すことが目的ではないが、日本でも似たような研究やっている人いるに、と残念に思うことはある)。

いろいろ来年の会議のアナウンスがあり、EACL 2012はフランスのアヴィニョンで来年の4月、LREC 2012イスタンブールで5月、NAACL HLT 2012 はカナダのモントレオールで6月ACL 2012 は韓国の済州島で7月 (EMNLP/CoNLL と連続開催)、COLING 2012はインドのムンバイで12月。これだと ACL/EMNLP に行きたいかなぁ。

また、来月の EMNLP 2011 に併設して、チュートリアルの代わりに大学院生向けに Hadoop HackathonGoogle 主催で開催されるとのこと。参加したい人は7月10日までに登録してほしいとのことであった。Data Intensive Text Processing with MapReduceの邦訳本が今年の8-9月に出るらしいということを@nokuno さんの日記で知ったが、日本から参加する人はいるのだろうか……。

あと自然言語処理の分野でジャーナルのサイクルが遅い問題、結局データベース系の論文誌を模倣して、通年で投稿を受けつけ、採択された論文の一部が国際会議で発表できる、というようなジャーナルを新たに創刊するらしい。自分は2006年から ACL のビジネスミーティングに参加していると思うが、そのころからこの問題ずっと議論していて、5年越しでようやく決着しそうな感じ。

最後のセッションはMT の Reordering Models に出る。最初の Reordering Metrics for MT は並べ替えを考慮した新しい評価尺度で、順位相関係数を用いて評価しているのだが、これって先日 NTT 研究所のオープンハウスで聞いた話と酷似しているような……(しかしリファレンスを見たら引用も言及もされていない) 人手による評価との相関も BLEU より若干よいくらいなのだが、磯崎さんたちの研究と比較したほうがいいのではないかと思った。

次の話はReordering with Source Language Collocationsで、単言語の単語対応から翻訳元言語のコロケーションを検出し、検出したコロケーションを元に並べ替えを行なう、という話。shuhei-k くんも単語ではなく句を単位として並べ替える統計的機械翻訳の手法の研究をしているが、shuhei-k くんが言語学的に意味のある単位 (文節とか名詞句とか) でやっているのに対し、自動で固まりを推定しているところが違うかな。どちらがいいのか分からないけど。

本会議最後のセッション最後のトークA Joint Sequence Translation Model with Integrated Reordering。この話はおもしろかった。翻訳を「翻訳」「並べ替え」という2つのオペレーションの連続だと捉え、shift-reduce のように毎回どちらのアクションを取るかを判断し、決定的に翻訳していく、という話。訓練事例は対訳コーパスから学習する (アライメントがついているので、「並べ替え」するかどうかはこれから学習できる)。質疑応答も盛んで、「Moses でも Hiero でもない新しい仕組みのデコーダの研究をしているのはすばらしい。」というコメントも飛び出したり (笑)

最後は Lifetime Achievement Award の発表(+トーク)と閉会式。誰が Lifetime Achievement Award をもらうのかと思っていたが、今年は Eugene Charniak が受賞。なるほど〜。Kevin Knight が「彼が教えてくれたことのうち、大事なことのひとつは "Look at the data." で、もうひとつ大事なことは "Don't look at the data." だ」と紹介していて笑いを誘っていたが、Charniak Parser という英語の構文解析器は自然言語処理をやっている人では知らない人はいないくらい有名で、受賞も納得。

トークは人間の言語理解に統計的な解釈を与えたいが、ベイズ的な説明はどのモデルを使えばいいのかは教えてくれないし、サンプリング的な手法は EM アルゴリズムと比べて結果はいいものの、人間はサンプリングなんかしているように見えないので、おかしいだろう、という話。人間の言語理解はパーティクルフィルターみたいなことをしているのではないか、というのがトークの結論だったが、このあたりを考えるのは聴衆の宿題、ということなのだろう :-)

夕食は甲南大学の永田さんにお誘いいただいて、英語学習者支援に関するミーティングに参加させてもらう。午前中の誤り訂正のセッションに関する話が話題になったが、言語学習支援だと、実は誤りを訂正する必要はないし、むしろ誤りは検出するだけでよくて、なにを埋めればいいのかを学習者に考えさせる方が、学習の定着率が高いのだとか。目から鱗である。

そういえば NTT 研究所の永田さん (Robo-Sensei を作ってらっしゃるサンフランシスコ大学の先生も永田さんだし、なんだか言語教育関係は「永田さん」がたくさんいらっしゃるのである……)も「適切な候補を見せるのは必ずしも言語学習では必要ないという研究がある」とおっしゃっていたのだが、学習者が能動的に間違いを直そうとするのが定着率を上げるのだろうし、それもそうかも。

「これをどう直せばよいか分からない」というような状況もあるのだが、誤り訂正が必要なネイティブ向け(学習する必要がない)とは違い、学習者向けは誤り検出だけすればいいのかもしれない。とりあえず、日本語教師(=ネイティブ)的な立場からは誤り訂正をしてくれるほうがありがたい、ということなので、日本語教師向けに日本語学習者の作文の自動訂正の研究をしているが、誤り検出は検出でやれることはあるので、そちらも考えてみよう。

ACL HLT 2011、3日間駆け足ではあったが、今回はいろいろ研究動向も肌身で感じることもでき、いろんな人とも話せたし、来てよかった。去年は1度も海外に行かなかったのだが、毎年1回くらいは行ってもいいかなと思った (3回行くのはさすがに多すぎるので止めたいが……)。ではみなさんまた来年!