逆にこの時確かにそうなる。

逆に,このとき与式は確かに恒等式になる

僕の研究について書きます(1);キーワード:計算言語学,自然言語処理

これまで,自分の研究については一切触れてこなかったが,アイデアについては去年COLINGに出したので,もう書いても大丈夫であろうから,書く。

長々と書きたいと思うので,今回は,現在の研究テーマに至る経緯について書く。

僕は,情報理工学系研究科コンピュータ科学専攻というところに所属していて,一応,知能情報学という分野の世界にいる。もともと東京大学教養学部にいたが,そこを卒業した後,上位機関である総合文化研究科には進学せずに,現在の所属に進学した。

大学に入ってしばらくは情報科学をやる気は全然なかった。まわりには凄い人たちがいっぱいいたので,かなわないと思ったからだ。研究者になる気も更々無かった。教養学部前期課程で,何に向いているかを確かめるために色々な授業を取った。経営政策科学(清水剛),現代法(大越義久),科学史(岡本拓司),言語学とフィールドワーク(小林正人)等々を取って,一番点数が良かったのは経営政策科学だったのだが,一番興味を引かれたのは言語学とフィールドワークであった。

僕は言葉が好きだ...と確信した。しかし文学部言語文化学科(当時)に進むほどの勇気はなかった(第三志望にはした)。

他人のことは差し置いて,自分の中で一番得意なものは何か問うた。どう考えても情報である。

情報学と言語学を両方良い感じにやるにはどうしたらよいだろうか。教養学部後期課程に進学するしかない。

後期教養では,情報科学の基礎的なこと(情報数学,信号処理,コンピュータアーキテクチャ形式言語理論,ネットワーク,データ構造とアルゴリズム,画像処理とCG)を学びつつ,言語学の講義も履修した(統語論,音韻論,認知言語学など)。

そこで出会ったのが自然言語処理という分野であった。コンピュータを使って,言語現象をモデル化するという学問である。

これは僕のためにある分野であることだなあと思って,これを専門にすることにした。

 

大学院修士課程から研究室を移って,研究テーマも変えることにした。

当初は,スパム撲滅運動みたいなことがやりたかったのだけれど,スパムかどうか判断すると怒られるからやめた方が良いと言われ,確かにそうだと思ったのでやめた。

全く白紙の状態になってしまったのだが,テーマはゆっくり決めれば良いということになり,僕が英語が好きであるという話から,「とりあえず,英語で論文を書くのが大変なので,何とかして下さい」と言われた。

あくまでもテーマが決まるまでの事務仕事,という感じで振られたのだが,少し考えただけでも良いテーマになりそうである。最初から博士進学をすることを決めていたので,できれば5年がかりのテーマが良い。

英語で論文を書くということを助けるということは,どういうことだろうか。

英語で論文を書いたことがないので,研究室の先輩に話を聞いてみると,いくつか問題点が浮かび上がってきた。

  1. 単語の選択の問題(論文で,くだけた表現は使えない)
  2. 単語の選択の問題(同じような意味の単語で,どれを使うべきか)
  3. 言い換えの問題(同じ表現の多用を避けたい)
  4. 文構造の問題(あまり複雑な構文は使いたくない)
  5. 論理の問題(記述の過不足を指摘して欲しい)

この問題自体は特に珍しいものでもなさそうである。問題意識はきっと共有されているはずだから,先行研究がいくらでもあるはずだ。

論文執筆支援システムの先行研究を探してみると,やはり,ないわけではなかった。いくつか紹介しよう。いつもGoogleでフレーズを検索して,件数の多い方を使う,くらいしかしていない場合,有用である可能性が高い。なお,論文が出ているもののみであり,「arXivのデータを引っ張ってきてコンコーダンスを作りました」みたいなのは挙げない。

  1. ESCORT
  2. WriteAhead
  3. AWSuM

まず,ESCORTだが,キーワードベースの例文検索システムである。ただ,Google検索とは大きく異なり,統語構造を踏まえて検索してくれる。とにかく使ってみれば分かる。使いかたのページを見ると良い。

次に,WriteAheadだが,これはVisual Studioのインテリセンスがごとく,続きの候補を表示してくれるシステムである。英英辞書を使っているので,文法の正しさが保証されている。何でも良いから英文を入れてみると良い。

そして,AWSuMは,John M. Swales(いずれ説明するが,この分野の大家である)の理論に基づいてlexical bunbles(NLPの世界ではn-gramと呼ぶ)をサジェストするシステムである。これを使うためには少し事前知識がいるので説明しておく。まず,一番上のメニューから,分野と,書きたいセクション,ムーヴを選択する。ムーヴとは,修辞構造の単位のことだが,一覧を見れば何のことか分かるだろう。

このシステムは,入力した文のうち,カーソルがあるところから,左にN語を見て,その続きになるR語を出力する。keywordのところにある数字がNであり,3R,4R,5RとあるのがRである。よく分からなければ,デフォルトのまま,「Computer Science」の「Introduction」を選択して,「In this paper we 」と入力してみると良い(最後のスペースを忘れないで)。

さて,僕の研究に戻る。こうしたシステムがあるのに,使っているという話を聞いたことがない。あまり便利ではないのではないか,という疑いが生じたのである。

まず,検索の限界を感じた。Googleであろうと,より高度な何らかの検索システムであろうと,「little attention has been paid to」という英語表現を手に入れるためには,せめて「little attention」か「paid to」くらいは思いつかないといけない。でも,「there are few researches」しか思いつかなかったら(念のために言っておくと,researchは不可算名詞なので,この文は間違っている),どうやって他の表現を探すのだろうか。

そうすると,前の入力に応じて,次の入力を表示してくれるタイプのシステムでも,同じ問題が生じるのである。little attention has been paid toを出すためには,どうしてもlittleを入力しないといけない。thereから書き始めてしまったら,もうこの英語とは出会えないのである。

どうすれば良いだろうか。

世は分散表現の時代,little attention has been paid toと,there is little researchをベクトル(数字の羅列だと思って欲しい)で表現したときに,他の英語表現と比べてより近ければ,検索可能になるのである。

一件落着だろうか。そうではなかった。

いま手元には,little attention has been paid toと,there is little researchの2つしかない。最低でも1000個くらいは欲しいよね。さあ,どうやって集めてくるのか。

 

次回に続く。