社会人博士修了の記録(自然言語処理編)

社会人博士として奈良先端大(NAIST)に3年間在学し、博士(工学)の学位を取得しました。自分の備忘の目的も兼ねつつ、1事例として興味ある方の参考になる点があるかと思い、振り返ります。

私の簡単な経歴としては、情報系学部・修士にて自然言語処理の研究に取り組んだ後、企業の研究所に就職して同分野での研究開発を続け、社会人6年目で在職しながら博士後期課程に進学しました(進学直後に国立研究開発法人へ転職)。

なお、具体的な予定は全くないものの、将来的な他分野(特に言語学関連)の修士号や博士号取得の可能性を残し、このようなタイトルとしました。

前置き:自然言語処理について

自然言語処理という分野について少し説明します。自然言語処理とは、人間の言語(自然言語)をコンピュータによって処理する学問分野および工学技術を指します。応用例としては、かな漢字変換を始め、スペルチェック・文章校正、機械翻訳、スマートアシスタントなどは、多くの方にとって身近なツールとなっているのではないでしょうか。自然言語処理を研究する、または利用する目的は、研究者や実務者や利用者ごとに異なるものの、以下のように代表的な三つの立場があるように感じています。

  • 人間の言語を理解するための学問として。言語がどのような性質を持ち、どのような振る舞いをするものであるかをコンピュータ(と数理的方法)を用いて解析・理解する目的。この観点を意識する場面では、計算言語学とも呼ばれます。
  • コンピュータによる言語の理解を実現するための技術として。人間と同等以上のレベルで言語を理解・使用できるシステム(わかりやすい例では「人と対話するロボット」の言語機能)を実現するという究極的な目標を見据え、その実現に必要な技術を開発するという目的。
  • 人間や社会にとって有益な形で言語データを処理・活用するための技術として。様々な産業、行政、学術、文芸などの分野で生産された電子テキストを自動処理し*1、人間の活動の生産性を高めたり、これまで出来なかった新たなことを実現する目的。具体的には、自動分類、検索、翻訳、要訳、校正など。

特に、三つ目の観点で社会的な有用性が期待されていることから、自然言語処理の研究コミュニティは様々な産業分野と結び付きが強く、研究と産業応用の両輪で発展しています。また、言語情報、特に電子テキストを生産するあらゆる分野が自然言語処理の応用領域になり得る点が一つの特徴で、たとえば、特許、教育・語学、観光、Eコマース、金融、医療、法律などでの応用例が載っている自然言語処理の書籍がありますし、言語処理学会年次大会ACL Anthologyの論文からも様々な応用を見つけることができます

私自身は、時に規則的で時に不規則な自然言語の奥深さと、数理的方法を用いて問題を解くことの爽快さとの両方に魅力を感じてこの分野に誘われたのかなと思います*2私個人のモチベーションは、上記三つのすべての観点に接しつつも、いずれとも完全には一致せず、真の目的やゴールといったものは研究生活を引退する頃まで判然としないのではないかと思っています。博士課程では、自分の興味、周囲の方との関わり、成り行きといった理由から、基盤技術に相当する単語分割(いわゆる「形態素解析」の部分タスク)を中心とした研究を行いました。興味のある方は、博論公聴会スライド「Word Segmentation and Lexical Normalization for Unsegmented Languagesをご参照ください。

社会人博士進学の経緯と学位取得の感想

以降では、本題である社会人博士について書きます。分野特有の状況には特に言及しませんが、自然言語処理の研究は、主に言語資源と計算機資源(その他、オープンアクセスの論文やオープンソースプログラミング言語ライブラリなど)があれば可能であることから、コロナ禍で在宅オンライン生活となっても研究進捗に関して負の影響をあまり受けなかったという事情はありました。

社会人博士の利点と懸念

社会人での博士進学について、修士からの進学と比べると以下の利点があると思います。

  • (利点1) 金銭的な心配が少ない
  • (利点2) 入学する時期を選べる
  • (利点3) 社会人期間の実績・経験を活かせることもある

一方、懸念される点には主に以下があると思います。

  • (懸念1) 仕事との両立
  • (懸念2) ライフイベントとの衝突

これらの観点に一部触れつつ、進学理由や大学生活について書きます。

なぜ進学したか

修士修了時点では、博士進学の強い意欲がなかったため進学しませんでした。より詳細には、次のように考えていました。

  • 日本企業で情報系研究職として働く上で、修士卒でも支障がない
  • 給与を貰える立場で研究したい

そして、社会人になってから進学したのは次のような経緯です。

  • 実際に研究職に就き、思うように研究が進まない時期を経験しつつも、少しずつ成果が出るようになり、長期的に研究職を続ける気になった。
  • 一方で、この先どのような組織・形態で働くかについては決めきれず、進路選択の幅を広げるべく学位取得を目指すことにした。
  • スムーズな修了のため、博士課程の研究テーマの一部となる論文発表の目処が立ったタイミングで進学を決めた(利点2、利点3)。
進学・修了により得たものと失ったもの

得たものには、次のようなものがあります。

  • 博士号
  • 博士号必須の職
  • 博論の執筆と審査がどのようなものかという経験・知見
  • 在学中の研究業績
  • 専門性。博論で扱った研究領域では、世界最先端の研究をしてきたことになります。
  • 限られた期間で計画的に研究を進めアウトプットする経験
  • 研究室での人的交流

失ったものはあまりありませんが、強いて言えば以下です。

  • 15万円程度の学費・雑費(詳細後述)
  • 研究に費やしたプライベートの時間(主に博論執筆に関して)
博士号を取得した感想

博士号を取得していなくても企業研究者等として活躍されている方もいますが、私の場合目立った業績が特にありませんでした。そのため、博士号取得と、その過程での研究成果を含めて、研究者としての新たなスタート地点に立ったのかなという感想です。

工学系研究者の中心的な役割は、(共著や指導の形を含めて)実際に研究活動をして、論文、特許、事業応用などの形で成果を出すことと思います。しかし、研究を行うには研究資金や研究環境が必要となるため、研究資金獲得も広義の研究活動と言えると思います。自分で予算を獲得するのも研究者に欠かせない能力であるという見方、予算を取る人と研究する人が同一かどうかは組織の体制・役割分担次第であるという見方、両方あるかもしれません。いずれにせよ、一般に、自分で資金獲得や研究の意義を認めてもらうための交渉を行った方が、自己裁量でやりたい研究内容を決めるということを実現しやすいのではないかと思います。私自身は、選択肢を広げるという考えの一環で、公的研究費の申請も今後行うと思いますが、この点については、ようやく視野に入れ始めたという段階に過ぎません。

また、自分の研究に関して助言を下さる共著者や同僚の方々がいて非常に助かっているのですが、関連する研究トピックについて主著として取り組む人が基本的に自分個人であったため、時間に対して多くとも固定係数倍でしか成果が増えていかないというある種の限界も感じています。今後、トピックを広げつつ、他の研究者と協力して活動の幅を広げていきたいとも考えています。

社会人学生生活の詳細

以降、元々書こうと思っていた本題です。(書いているうちに内容が膨れ上がってしまいました。)

業務との両立について

一般に、社会人博士における最大の懸念かと思います(懸念1)。スムーズに学位を取得できるかどうかには、意志の力だけでなく、業務や余暇の中でどれだけ学業の研究の時間を捻出できるかという環境要因が大きく影響すると思います。

私の場合、個人の研究テーマ選択の裁量が非常に大きい職場であり、主業務をそのまま大学での研究とすることができ、その結果、業務時間の8割程度を自分の研究に費やせたように思います。(これが可能であったことも、現職在職中に進学を決めた理由の一つです。)なお、論文を読むなどの「手を動かさない」活動は、半分趣味と思いながら余暇にも随時行っていました。

ただ、進学時点では見通しが良くても、チーム状況が変わることで研究テーマの継続が難しくなるという予見しがたいリスクもあり得ます。過去の勤務先にて、1~2年の間に所属チームの研究トピックが大きく変わったり、他チームが縮小・解散となる様子も見てきました。現職では、私が所属する遥か以前から多言語機械翻訳の研究を続けている研究室で、未来についても継続する見込みがあったため、前述の可能性はあまり考えていませんでした。(学位取得を優先するなら、もしもの場合には在学を継続しつつ転職先を探す手もあるでしょう。)

ライフイベントとの衝突について

修士からの博士進学でも20代後半という年齢に差し掛かるわけですが、社会人期間を経れば経るほど年齢は上がり、何らかのライフイベントと時期が重なる可能性はさらに高まります(懸念2)。個人ごとに状況は様々であるため、汎用的な解決策はないと思います。ちなみに、「文系研究者になる」という本では、「生きる(生活)」の章で、結婚、出産、子育て、親の介護、身体の不調、精神の不調、経済問題等による研究の中断について言及があり、参考になる点があるかもしれません*3

私の場合では、D3の間に第一子が誕生し、育児休業を取得した1か月半の間は研究進捗がほぼなく、その後も業務時間外に研究の時間を確保することが容易ではなくなりました。妻や家族の協力を得て、時折まとまった作業時間を確保させてもらうなどし、目標としていた3年での修了を何とか実現できました。

大学生活でのイベント

業務としても行った研究を除くと、学生生活として次のようなことがありました。

  • 先生との 1on1 ミーティング(概ね月1回、コロナ禍以降はオンライン)
  • 研究室全体での進捗報告発表(概ね半年に1度参加・発表、コロナ禍以降はオンライン)
  • コロナ禍前のD1時、研究室の1泊2日の合宿に(1日目だけの日帰りで)参加
  • 研究室の歓迎会や送別会(コロナ禍以降はオンライン)
  • 博論執筆(すべて自宅にて)
  • 博士課程中間発表(対面)、博論公聴会・最終審査(コロナ禍のためオンライン)
  • 英語論文ライティングの講義の履修で、4週続けて大学に通う。他の単位は国際会議発表により履修とみなされる科目を利用して修了要件を満たした。
  • たまに図書館を利用。学部・修士時の総合大学(神戸大)の図書館の圧倒的蔵書に比べるとNAISTの蔵書は少ない。
  • 入学式、学位記授与式(いずれも対面)
  • 以上を含めて、大学を訪れたのは合計30回程度。
在学中の研究進捗状況詳細

入学当初は、2年~2年半での早期修了ができれば理想的と考えていましたが、現実としては何とか3年に収めたという形になりました。以下、極めて個人的な状況となりますが、研究の進捗の様子を記録しておきます。

  • 入学前:進学希望研究室の先生にメールでアポを取り、面談により研究テーマの方向性を相談し、3つのサブテーマからなる研究テーマに具体化。なお、サブテーマ1にあたる論文を既に投稿しており、入学試験後に採択が決まる。
  • 1年目前半:転職・転居などもあり大きな進捗なし。サブテーマ2の研究を少し進める。
  • 1年目後半:サブテーマ2の研究を進める。並行してサブテーマ1の論文誌版論文を投稿・採録
  • 2年目前半:サブテーマ2の論文を投稿・採録。サブテーマ3の研究を模索し、3aと3bとして論文2本分の研究が必要という考えに至る。
  • 2年目後半:サブテーマ3aの論文を投稿・採択。
  • 3年目前半:サブテーマ3bの論文を投稿・採択。博論執筆に着手。
  • 3年目後半:博論執筆、提出、審査。
入学から修了までにかかった費用

国立大学に3年間在学する費用として約200万円を想定していたのに対し、実際の支出は以下の通りで、合計15万円程度と、想定よりかなり少額となりました。大変ありがたいことに、NAISTの経済支援制度の一つである「社会人学生への奨学支援」の対象者に選んでいただき、授業料免除等の支援をしていただきました。なお、詳しい審査基準や対象者数などの情報は公表されていません。

  • 検定料 30,000円
  • 入学金 282,000円
  • 大学の社会人博士向け奨学金 -200,000円
  • 大学の社会人博士支援制度による授業料免除×3年間 0円
  • 自己負担した博論書き下ろし箇所の英文校正費用 33,000円
  • その他雑費 10,000円程度(駐車料金・郵便費など)

おわりに

学位取得は当然ながら独力では成し得なかったことで、お世話になった方々には大変感謝しております。

4月からも同じ職場で、自然言語処理の研究に勤しみますが、これからも行く先、行く末を模索しながらの研究生活になりそうです。学位取得のメリット・恩恵は今後明らかになる点もあるかもしれません。

*1:キーワード、表のような(半構造化)言語情報や、画像や数値データのような非言語情報を入力とし、文章を自動生成させる問題設定もあります。

*2:自然言語処理の研究時間の n 割はデータの前処理であるといった話もあり、実際には延々と泥臭い前処理をしていることも多いですが。

*3:同書は、文系の状況を中心に書かれた「研究者の世界がどのような仕組みで成り立っているのか、その正解を生き抜くために必要な知識は何かといった情報を網羅したマニュアル」ということですが、文系特有の事情に関する話題、文理関係なく当てはまる話題があり、どちらの点も興味深く読みました。

自然言語処理的視点から見た「覚え違いタイトル集」

n 年振りに記事を書く。

異なる表現で書かれたテキストの同義性の認識(言い換え認識)は、自然言語処理がほとんど常に直面する本質的な問題である*1

福井県立図書館サイトの「覚え違いタイトル集」では、利用者が誤って覚えた図書タイトルと正しい図書タイトル*2のリストが公開されている。
https://www.library-archives.pref.fukui.lg.jp/tosyo/category/shiraberu/368.html

例えば、次のようなものがある。(誤 → 正)

  • 強い風が吹いてきた → 風が強く吹いている
  • さんまのおふだ → さんまいのおふだ
  • 「バトルロイヤル」もしくは「バトルロイアル」 → バトル・ロワイアル
  • 「探さない」とかそんな感じのヤツ → 求めない

Twitterで話題になっているように、エンターテインメントとしてリストを眺めても楽しめるが、言語処理で対処するにはどうするかという観点で眺めても、示唆的である。

福井県立図書館の「覚え違いタイトル集」久々に見たらやっぱり面白すぎて無理だった😂https://t.co/2Dp3ZkS8RS pic.twitter.com/jwirwM3xb0— きっかわ (@tegenosan) 2021年1月21日

 「覚え違いタイトル集」にあるペアは、二つのテキストの同義性または類似性を判定するタスク*3と考えると、言語処理要素技術を総動員しても解けない超高難度の事例が豊富にある。そもそも「意味が同じ」というパラフレーズの関係を超えた超パラフレーズ的事例で、一種の誤り訂正でもある。言語処理の対象としてユーザ生成テキスト(ブログやSNSの投稿)を眺めていると、人間の言語使用の自由さ・柔軟さと言語処理の難しさを考えさせられるが、本タイトル集ではそれに勝るとも劣らない複雑な言語現象が生じている。

そのことを踏まえた上で、以下、正タイトルが誤タイトルに変更される要因に基づいてペアを分類してみる。 

同義・類義(語レベル)

  • あと全部ホリデイ → 残り全部バケーション
  • よるのおばけ → よるのばけもの
  • 悪者 → 悪人
  • カウンセラー → セラピスト
  • そのへんの石 → 路傍の石

兄弟概念(上位概念が共通)(語レベル)

反義(語レベル)

  • 100万回死んだねこ → 100万回生きたねこ
  • けむたい先輩 → けむたい後輩
  • 都市消滅 → 地方消滅
  • 蟹の横ばい → 蟹の縦ばい

文字の視覚的類似

  • 痔 → 痣
  • 蚊にピアス → 蛇にピアス
  • 権児楼 → 稚児桜
  • 城中の露 → 城中の霜

文字列の類似

  • サラダ日記 → サラダ記念日
  • 入札 → 入れ札

音的類似

動詞の付属要素の変更

  • バトンを渡す → そして、バトンは渡された
  • 「払わない」というタイトルの本 → 払いません。

特に同義ではない名詞・動詞への変更

  • 天の光はすべて道 → 天の光はすべて星
  • もりのがっこう → くまのがっこう
  • 『世界のたね』と似たようなタイトルの本 → 未来のたね
  • 人魚の住む家 → 人魚の眠る家
  • こころの医者、本を聴く → ココロ医者、ホンを診る

節レベルの同義・含意

  • なぜ生きているのか → 生きているのはなぜだろう
  • 郷里忘れ難し… → 故郷忘じがたく候
  • 私、残業しません → わたし、定時で帰ります。
  • いぬたちのさいごのひ → 犬たちをおくる日
  • この空間を埋めよ → 空白を満たしなさい

構造の変更

  • アーモンドチョコレート入りのワルツ → アーモンド入りチョコレートのワルツ
  • 人生が片付くときめきの魔法 → 人生がときめく片づけの魔法
  • インド2千年前のレシピ → チャラカの食卓 二千年前のインド料理

数値表現・助数詞の変更

複雑な例(類義語+音的類似+高度な含意)

複雑な例(その他)

  • 肌の色 → ぼくはイエローでホワイトで、ちょっとブルー
  • ストラディバリウスはこう言った → ツァラトゥストラはこう言った
  • 俺がいて俺だけだったみたいなタイトル → 俺か、俺以外か。
  • 「鳥の学者だけどそんなに鳥が好きではない」みたいなタイトル → 鳥類学者だからって、鳥が好きだと思うなよ
  • 食パン食べると乳がんになるみたいなタイトルの本 → 乳がん患者の8割は朝、パンを食べている
  • ほんださんが書いたこうやって生きなさいって感じの本 → 気楽に生きれば、自分が活きる(本多信一

最後の方は分析が困難で分類を諦めたが、人間の覚え違いでは、意味的類似(同義、類義、反義)、音的類似、視覚的類似、文字列的類似などの観点で同一視が行われていることがわかる。つまり、これらの観点は類似性を捉える特徴として有用であり、実際にいろいろな研究で利用されている場面を見かける。*4

大規模事前学習ニューラルネットモデルに代表される最近の自然言語処理技術の進歩によって、数年前から考えると驚くような質・精度の向上が実現されてきている一方で、まだまだ解けていない問題も存在する。本タイトル集は、解けない/解くべき問題を考えるヒントを与えてくれる貴重な資源かもしれない。

*1:単語分割など、意味の領域に踏み込まなくても大部分が解けるタスクもある。

*2:「覚え違い?」と「こうかも!」という列名となっており、後者は図書館員のサジェストのように見えるが、投稿フォーム経由でユーザ自身が「正しいタイトル」として入力した情報のようである。

*3:正解候補提示までを自動で行うなら、入力に対して候補を探索し、各候補を評価して最適な候補を選択するタスクとなる。

*4:これらの特徴の使用頻度には差があり、視覚的類似性は主に漢字のような表語文字を扱う場合に限られる。

環上の代数(後編)

環上の代数(前編)で代数の2つの定義について述べた。結論から言うと、2つの定義が異なるのは見かけ上のことであって、それらは同じ構造を持つ代数系を表している。

そのことを確認するために、改めて2つの定義を与える。以下、簡単のため、環 R は可換環であるとしておく(可換環でない場合を考える際は、適宜 R-加群を左 R-加群と読み替えてほしい)。

まず、(M) に対応する加群から代数を構成する定義を次で与える。


定義1 環 R 上の加群 A において,(A における和と合わせて)A が環となるような積が定義され,x,y∈A および c∈R に対して

{\quad (cx)y = x(cy) = c(xy)}

が成り立っているとき,A を R 上の代数という.

定義1は、(M) におけるベクトル空間を加群に一般化しただけにすぎない。
要するに、加群に積を入れて環としての構造を持つようにしたものが代数であると言えるだろう。

次に、(H) に対応する環から代数を構成する定義を与える。


定義1' 環 R と環 Aの間に凖同型

{\quad f:~A \rightarrow R}

が存在し,Im f の元が A の元と可換である,つまり,Im f⊂Z(A) (Z(A) は A の中心)であるとき,RからAへの作用を

 {\quad R \times A \ni (c, x) \mapsto cx := f(c)x \in A}

と定義すると,A の和とこの作用に関して A は R-加群となる.
また,x,y∈A および c∈R に対して

{\quad (cx)y = x(cy) = c(xy)}

が成立する.このとき,A を R 上の代数という.

このように定義した代数 A は、定義1と同じ構造・性質を持つことがわかるだろう。
つまり、2つの環の間に準同型写像が存在するとき、上のように作用を定義することで、環は「自然に」代数としての構造を持つのである。

代数 A が R-加群としての構造を持つこと、積とスカラー倍についての条件が成り立つことの証明は易しいので省略するが、c(xy)=x(cy) の成立のために Im f⊂Z(A) が必要となっている。

なお、環からの構成の定義を理解する際には、Wikipedia結合多元環のエントリを大いに参考にした。

環上の代数(前編)

環上の代数についての疑問が解消したのでそれについて書く。

堀田良之「代数入門―群と加群―」で環の基礎について学んでいると、序盤で「代数」という代数系が次のように定義されていた(文字等は原文と異なる)。


(H) 2つの環 R,A の間に環準同型

{\quad f:~R \rightarrow A}

が与えられ,それを固定して考えるとき,特に,A を R 上の(結合的)代数といい,f をその構造射という.
通常は,R が可換環で,f(R) の元がすべての A の元と可換である場合を考えることが多い.
(この場合,R 上の多元環ともいう.)

直後に多項式環 R[x1,...,xn] が R 代数の例として挙げてあったので、多項式環を一般化した概念なのかと思ったのだが、定義の後には例と命題が1つずつ載っていただけですぐにイデアルの節へと移ってしまい、そのときは結局のところ「代数」がどういう代数系を表しているのかよくわからないまま放置して先に進むことになった。

それから暫く後、松坂和夫「代数系入門」で環論に再入門した際、体 K 上の代数について次のように書かれていた。


(M) 体 K 上のベクトル空間 A において,さらに乗法が定義され,加法とこの乗法に関してAが環をなし,すべての x,y∈A およびすべての c∈K に対して

{\quad (cx)y = x(cy) = c(xy)}

が成り立っているとき, A を K 上の線型環または多元環,あるいは代数という.

この1文を読んで、加法と乗法とスカラー倍(とそれらの演算の関係を定める条件)が定義されたベクトル空間(あるいは環)を拡張したようなものなのかと合点がいき、「どういう代数系なのか」については納得したものだったが、(H)の定義とはかけ離れていて関連が見えない。

先日、雪江明彦「代数学2 環と体とガロア理論」で環論に再々入門していた際、再び代数の定義に出くわしたので、今度こそ理解しようと思って調べることにしたのである。

…と、導入まで書いた時点で、思った以上に記事が長くなりそうなので続きは次回としよう。