2011年11月30日水曜日

第10回助教の会

 第10回助教の会は、生産技術研究所 最先端数理モデル連携研究センター 特任助教の永野清仁さんにお話してもらいました。永野さんは、数理第2研究室のご出身で、2008年3月に博士号を取得され、離散アルゴリズムの研究に従事しておられます。最近は、機械学習と関連した離散最適化問題などを扱っているそうです。

 今回は、永野さんの研究テーマである、「劣モジュラ制約下の凸最適化」について、理論および応用の両側面での研究についてそれぞれ話していただきました。

 劣モジュラ関数とは、集合を引数に取る関数fで、「大きな集合に要素を加えるよりも、小さな集合に要素を加えたほうが影響が大きい」という性質を(数式では、∀S, T⊆V, f(S)+f(T)≧f(S∪T)+f(S∩T)と表される)持つもので、この劣モジュラ関数の理論は、グラフ、ネットワーク、ゲーム理論、オークション理論、機械学習など、様々な場面で使われているそうです。


 劣モジュラ関数fの例として、集合に対する2つのコスト関数の例を説明していただきました。一つは、「ホットドックの代金」、例えば「Aさんが2個、Bさんが4個、Cさんが8個のホットドックを食べるときに、必要なお金」であり、これは、それぞれの代金の和となります。(f(AさんとBさん)=f(Aさん)+f(Bさん)、など。)もう一つは、「コピーフリーのCDの代金」、例えば、「Aさんが2枚、Bさんが4枚、Cさんが8枚のCDを手に入れる時に、必要なお金」であり、これは、どの場合でも、CD1枚分の値段のままになります。(f(AさんとBさん)=f(Aさん)=f(Bさん)=定数。)いずれのfも劣モジュラ関数ですが、さらに、この両極端の場合の中間にも、様々なコスト関数を定義することができます。



 このようなfが決まると、それに対して「基多面体」B(f)と呼ばれるものが定義でき、この基多面体の上で、「もっとも良い点」(良さは、B(f)上の各点に対する関数g(x)で決まる)を見つけるのがすなわち「劣モジュラ制約下の凸最適化」ということです。

 g(x)には様々なものがあり、例えばLexicographically optimal bases (Fujishige,80)という有名な問題(これは、「なるべく中心に近い点を見つける」という問題で、様々なタスクが、この形式で表現できるそうです。)があるのですが、永野さんらは、α-カーブというアイデアに基づいて、このLexicographically optimal basesの問題が、Submodluar Utility Allocation (SUA)という、一見別の問題設定と、最適解が一致するということを発見したそうです。

 発表の後半では、この理論を、実際にネットワークの分析に応用した例を紹介していただきました。応用するのは、「最密部分グラフ問題」すなわち、「与えられたノード数の部分グラフの中で、最もエッジ重みの合計が大きいもの」を見つける問題です。この「与えられたノード数」というのが厄介で、これがなければ簡単に(多項式時間で)解けるのに、この制約があるととたんに難しく(NP-hardに)なるそうです。永野さんらは、制約なしの場合に使われる「Fujishige-Wolfe法」を拡張することで、「さまざまなノード数について、もしも最適解が見つかれば、それを出力する」というアルゴリズムを設計しました。Fujishige-Wolfe法では活用しきれていなかった情報をより「しゃぶりつくす」ことで、Fujishige-Wolfe法では出せていなかった答を出力させることができるそうです。必ず最適解が見つかるわけではありませんが、もし見つかれば高速に答えを見つけることができます。

 このFujishige-Wolfe法は、まさに前半のお話にあった、「基多面体上での最適化」に基づくアルゴリズムであり、通常の多項式時間アルゴリズムでは現実的には解けないような大きな問題まで解くことができるそうです。「最適解がもしも見つかれば、それを出力する」というアルゴリズムはなかなか変わっていて、面白いと思いました。

 劣モジュラの理論は、頭の普段使わない部分を使う感じで難しかったのですが、永野さんの力強い発表のおかげで、なんとなくやりたいことの気持ちがわかってきたような気がします。構造の複雑そうなグラフの問題が、きれいな理論で表現できる様子が魅力的でした。

情報基盤センター 助教 吉田稔


2011年11月4日金曜日

第9回助教の会

こんにちわ、先月の頭に風邪をひいたのに、今月の頭も風邪を引いたので、来月の頭が心配な東大情報基盤センターの佐藤です。

第9回助教の会では、東京大学 情報基盤センターの吉田稔さんに「接尾辞配列とディリクレ過程混合モデルを用いたテキスト中の数値表現マイニング」というタイトルで話していただきました。吉田さんは、東京大学の元辻井研で博士号を取得しており、主にテキストマイニングの研究をしています。

今回の発表では、「テキストマイニング」についての説明から始まり、東京大学中川研で公開しているテキストマイニングツールの説明とご自身が取り組んでいる数値情報と言語情報を解析する研究について、説明をしていただきました。

吉田さんの説明によると
「テキストマイニングとは、テキストデータを統計的に処理し、自明でない知見を発見する技術」のことを言います。

発表中には、「自然言語処理」と「テキストマイニング」の関係についての議論が為されました。吉田さんの認識では、自然言語処理を基礎技術として応用したのがテキストマイニングである一方で、テキストマイニングで得られた知見を自然言語処理へと活かすという相補的な関係にあるようです。

吉田さんの現在の研究テーマは、「テキスト中に含まれる数値表現をデータベースとして扱う研究」です。
テキスト中に含まれる数値表現を陽にデータベース化することなく、テキストのままデータベースとして扱うことで、言語と数値の関係を抽出する研究を行っています。

言語と数値の関係では、
例えば、年齢ごとに「人」に関する呼び名が変わる現象が挙げられます。

[12〜19]歳という数値表現で表された「男性/女性」は「少年/少女」という単語に関係しており、
[65〜歳]という数値表現で表された人間は、「高齢者」という単語に関係しています。

このような関係をテキストデータから自動で抽出することができるシステムの開発をしているそうです。

また、「75歳男性が脳梗塞で死亡」などのテキストデータが大量にある場合に
「男性」,「脳梗塞」という単語から、[60-75]歳という統計処理された数値表現データを抽出することも可能になります。


実際にシステムで使われている技術は、suffix arrayを数値データを扱いやすいように改良したデータ構造や、数値表現から抽出した数値データを統計処理するためにディリクレ過程混合モデルを検索時にリアルタイムに用いるなど、データ構造と機械学習技術の実践的な融合がなされていると感じました。