sseze's blog

インターネットとガジェットが好きな人のブログです

これから卒業研究を始める皆さんへ

そろそろ卒研生が研究生活を始める頃だと思うので、何かの参考になればと思い、昨年の僕の卒研のまとめを書いてみることにしました。
元々、新B4生の前で発表しようと思って書いた原稿を原文としているので、若干読みにくいかもしれませんが、まぁその辺は良しなにご理解ください。

自然言語処理との出会い

僕が"自然言語処理"と出会うまで。

  • 中学くらいからAMラジオを聴き始める
  • 受験期にネットラジオ(Podcast)の面白さに取り憑かれる
  • 2009年度調布祭オタクバトル「電通大一のネットラジオオタク」で準優勝(B1調布祭)
  • 自分でもPodcastでラジオ番組を作ってみたりもした(黒歴史)
  • 学芸大での言語処理研究をしている学生さんとの出会い「自然言語処理」という言葉を初めて知った(B2前期)

西野先生の授業にて

アルゴリズム基礎論(B2後期)・計算機システム(B3前期)などの授業中の雑談だったと記憶してるが…

  • 「これからはWebを解析する技術者が必要!」
  • Googleが採用する日本人技術者には、自然言語処理をやってる人が多数!」

などのお話をしていた

→ このぐらいの頃から、西野研で研究がしたいと思うように

卒業研究でやりたかったこと

ラジオ×自然言語処理=ラジオの内容の解析、及びデータベース化

  • 面白いラジオ番組に出会うためには、数時間分のラジオ音源を聞かねばならず…
  • 当時、ラジオ番組にはパーソナリティがまとめたインデックスが付いていた
  • 自分の配信していたラジオでもインデックスを付けていたが、その文章をまとめるのに一苦労…

そこで…
ラジオ音源を入力すると、自動的に内容の要約を出力するシステムを夢想してた
(今となっては何もかも懐かしい…)

実際の研究テーマ

「テキスト自動要約手法を用いたWebページ閲覧の効率化に関する研究」

→ ラジオどこいった?

4 - 6月

4月当初の先生とのやり取り

自分「ラジオの要約の研究がしたいです」
先生「卒研ですべてやるのは難しい。もっと内容を限定したほうがいいよ」
先生「ラジオ音源の音声認識の研究がしたいのか、要約の研究がしたいのか」
自分「では、要約の研究をさせてください」

学会誌の精読作業

手始めに情報処理学会誌のテキスト自動要約に関する記事を精読する

(先生の狙い)
⇒ テキスト自動要約の基礎知識を習得する
⇒ 知識を付けた上で、最終的な卒研テーマを決定する

自動要約そのものの興味よりも、
検索結果(Webページ・Podcast)を提示する一手段としてのようやく技術に興味がある。「音声ファイルの可視化」が目的。

「音声ファイルの可視化」とは…

音声を聞く以前に、簡素な文字情報として表すことができれば、音声を聞かずして内容を確認することができる。例えば「タグ情報」の付加など。

音声の文字化には、Juliusと呼ばれるソフトウェアや、Podcastの内容を自動的に文字化するPodcastleというWebサービスの利用を考えていた。

タグ情報の取得応用例として「フォークソノミー」の実例のWebサービスなどについて調査していた。

先生「それらのソフトウェアのチューニングだけでも困難」
先生「応用例では、どのような要約手法が使われているか?」

(;^ν^)ぐぬぬ…

7月

  • ツールや応用例にばかり気を取られてしまい、肝心の実装方法についての知識が乏しいことを知る
  • オライリーの「入門 自然言語処理」を精読するためのゼミを開く

この時点で、既に研究室内中間発表1ヶ月前

研究室内中間発表

  • テキスト自動要約について調査してきたことを説明
  • 研究方針としては、テキスト要約の王道に倣い、重要文抽出と文圧縮による「キーワード自動抽出」を目標とした
  • また、周辺知識として、同義語獲得のための「日本語版 WordNet」や、「機械学習」などの統計的手法の活用を盛り込んでいた

8 - 9月

オライリーの「入門 自然言語処理」を読み進めるものの…

  • 慣れないPythonに四苦八苦して、なかなか研究の核心部分に着手できず…
  • Python自然言語処理ライブラリは、英語に最適化されており、まずは日本語用に環境構築する必要があった。環境構築でも時間を取られ研究に進めず…

学科内中間発表

1週間前に、
「参考文献に先行研究が一つもないのでは?」
「君の研究にはそもそもバックボーンとなる研究がない」
「一からやり直し。」
死刑宣告を受けた

  • 先行研究として「構文片」と呼ばれる修飾節と被修飾節の対で構成されたキーワードを使った研究を、偶然にもバイト先の先輩から教えて貰う
  • 先行研究では、新聞などの文語調のデータを取り扱っていたのに対し、Webなどの口語調のデータで、構文片を獲得する研究として、仕切り直す

10 - 11月

Amebaブログ(アメブロ)を使って、ブログ記事からキーワードの取得を試みる

  • 形態素(単語)の単位が細かく、内容を表す単語が取れない
  • そもそも、芸能人のブログの要約を読みたい需要はあるのか?

→ 口語調のテキストの例として、ブログを選んだが、需要に疑問があった

"はてなブックマーク" の人気エントリー(ホッテントリー)の解析

  • 一定数支持を集めてる記事集合には、何らかの「わかりやすい」書き方が存在するのではないか
  • 口語テキストの中では、比較的くだけた表現の少ないデータが取れる
  • 技術的話題が多く、文書量も多いため、要約が求められていると考えた
  • 集合知によるタグクラウドが既に存在
  • 評価用の教師データとして使用できる可能性があるのではないか

統計的手法<視覚的特徴

「視覚的に強調された単語」=「筆者の訴えたい情報」と捉え、なぜかWebページのCSS情報の取得などに走り、一時統計的手法を無視し始める

→ 中間発表での内容と大きく乖離し始めたため、CSSの解析は止め、統計的手法を取ることにする

ここでも環境構築に悩まされる

  • htmlデータから、内容と思わしき要素のみを抽出したいのだが…
  • 結局、はてなブックマークのdescription(抜粋文)データを使うことに…

12 - 1月

MeCab辞書の強化

形態素解析MeCabは、細かい単位での単語の分かち書きは得意だが、特徴語を表す「複合名詞」を獲得することが苦手

そこで…

形態素解析の精度を上げるために、既に口語調の単語が多数登録されている

のタイトルリストを使い、Webテキストに強い辞書を作成した

複合名詞の獲得

構文片のような就職関係を用いたキーワードを取る代わりに連続した名詞節をキーワードとして取得するようにした

システム実装と卒業論文執筆、及び発表

  • 結果が出始めたのが12月末
  • 1月中旬までに実装を終え、その後卒業論文を執筆
  • 発表もなんとか乗り切ることができた

総括・伝えたいこと

研究と勉強は違う

「勉強したいこと」と「研究したいこと」は全く違う。
勉強しながら、研究を進めることの難しさを痛感した。

あと、研究のための環境構築はなるべく早いうちに終えておくことを強く推奨する。

「自分のやりたいこと」を実現するための道筋を考える

「自分がやりたいこと」は先輩はおろか、先生だってわからない。
アイデアはあっても、それを実現するための明確な道筋を見積もれてなければ、その道を模索するだけでも苦行になる。

日々目先のことに追われがちな人は要注意

西野研では、毎週のゼミ発表、研究室内・学科内中間発表、UEC-daと自分個人の研究時間以外にも、リソースを割かなくてはならない。
目先のゼミ発表にばかり気を取られて、研究生活全体の進捗状況を顧みないと、自分のやりたいことはおろか、卒業研究そのものさえも立ち行かなくなる。
全体を見通すことが苦手な人は、おそらく西野研では苦労するので、今から準備しましょう。

困った時に先輩に頼れるよう、できるだけ研究室に通いましょう

バイトがフルタイムだった関係で、週2日程度しか研究室に顔を出さなかった。
研究が上手くいかなくなると、先輩に「研究大丈夫か?」と心配されるのが嫌で余計に研究室から足が遠のいた。
けど、そうなる前から研究室に通う癖を付けていれば、先輩からのアドバイスももっと早い段階で聞けただろう。

個人の研究のために、なぜ「研究室」という組織が存在するのか

やはり、それは研究が一人の力だけではどうしようもなくなるときがあるからだと思う。後輩が困っていても、研究室に来なければ、先輩は様子を伺うことすらできない。困ったときに助けて貰えるよう、研究室にはなるべく通いましょう。

新卒研生の皆さん、悔いのない1年をお過ごしください。