# Researcher2Vec: ニューラル線形モデルによる 自然言語処理研究者の可視化と推薦

持橋 大地
統計数理研究所数理・推論研究系 $/$
日本学術振興会 学術情報分析センター
daichi@ism.ac.jp

## 1 はじめに

科学技術の高度化に伴い, 論文数や研究者の数は増える一方であり, その全貌を直感的に把握することはますます難しくなっている.この傾向は自然言語処理を含む計算機科学分野では特に顕著であり,言語処理学会 2020 年大会の論文数は 338 本, ACL 2020 の採択論文数は 779 本, NeurIPS 2020 では 1,900 本を超えている.これらをタイトルだけであっても， すべて読んで関連研究を見つけたり, 興味の近い教員や研究者を探すことは, 今やほぼ不可能であると言ってよい.

この問題は論文の査読に際しても重要であり,近年では国際会議を含む論文の査読割り当ては LDA [1] を内部的に用いた Toronto Paper Matching System (TPMS)[2] による適切な候補者の自動スコア付けなしでは成り立たなくなっている。しかし， TPMS はあくまで個々の論文に査読者をマッチさせるものであり, 各研究者が全体としてどのような専門性を持っているかはわからないため, 最終的な割り当てには個人の発表文献などの情報を人手で確認する必要がある. 特に, 査読者やエリアチェアのリクルート,ワークショップの発表者などで「人を探す」必要がある場合は TPMS は使えず, 人的ネットワー クに頼らざるを得ないという現状がある.このため, たとえ興味や実力がマッチしていても, 地方にいたり, 無名研究室の場合に研究者のネットワークに入れないという重大な問題があった。

また, 大学の学生や企業の担当者が, 興味を持ったテーマに詳しい教員や研究者を見つけたい，という場合も, 多様な専門性を客観的にデータベース化したシステムがないため, 学外も含めた適切な先生が見つけられないという問題点がある.

こうした研究者情報の把握のために, researchmap ${ }^{1)}$ の

図 1: Researcher2Vec による日本の自然言語処理研究者の専門性の埋め込み. (t-SNEによる可視化,一部). 全体像は付録の図 6 を参照されたい. 論文の内容に基づいているため, 共著関係がなくとも, 専門性が近け枦ば近い位置に研究者が配置されている. 参考のため, 筆者を緑色で示した.

ような公式情報の載ったデータベースに加えて, 日本の研究. $\mathrm{com}^{2}$, , JDream Expert Finder ${ }^{3)}$ といったサー ビスが提供されている.しかし，これらはほとんど,研究者の実際の専門性を示す論文の内容を用いていない.4）代わりに論文に付与されたキーワードなどのメ夕情報や論文の引用情報が用いられているが， これらは本来は補助的な情報であり, 人手で付与されたキーワードには漏れが非常に大きい。たとえば筆者が (自然言語処理の分野では珍しく) 逐次モンテカルロ法やガウス過程に詳しいことや, ベイジアンであることは, 人手による大雑把なキーワードや引用情報から推測するのは不可能である。

そこで本論文では, Word2vec が自己相互情報量 (PMI) 行列の行列分解と等価であることを示した Levy らの考察 [3] を応用し, 各論文のニューラル文書ベクトルを SVDによって効率的に計算し,これから「研究者ベクトル」を求める Researcher2Vec を提案する.これにより, 各研究者の専門性を低次元空間で客観的に把握して可視化することが可能になる. また, 単語をいくつか入力することで, 専門性の近い

研究者を線形モデルにより高速に検索することができるシステムを構築し，一般公開した。

## 2 研究者の専門性の把握

研究者の専門性を把握するためには, 先に述べた (1)引用情報やキーワードなどのメ夕情報を用いるほかに, (2) LDAを代表とするトピックモデルによるアプローチがこれまでに提案されている.

(1) の方法は 1 節で述べた欠点のほかに, 最終的な可視化が多くの場合グラフに基づいており, 距離に客観的な意味がないことや,グラフに枝を張る基準や枝の重みの定義によって結果が変わってしまい,客観性に欠けるという大きな問題点がある.

(2) のアプローチは実際に TPMS の内部で基準の一つとして用いられており, また桂井ら [4] は CiNII に登録された約 10 万件, 約 300 万語の論文概要に対してトピック数 $K=500$ の LDA を実行し, 同姓同名の共著者の曖昧性解消夕スクで評価することで,次元圧縮を行わないべクトル空間モデルょり精度が高いことを示している. 筆者も日本学術振興会において, 約 11 万件, 約 3 億語の科研費文書について $K=2000$ の巨大な LDA を計算し ${ }^{5)}$, 特定の大型種目の各申請について, 審査員候補者のリストを参考情報として出力するシステムを構築して実運用を行つている [6].

ただし, LDA には計算量が大きいという以外に，

・トピック分布 $\theta$ の総和が 1 になるという制約があるため, 複数のトピックを同様に強く持つ論文や研究者をうまく扱うことができない

$\cdot$ $\theta$ の要素は常に正であるため, 負の相関も含めた細かい制御ができない

という問題点がある [7]. 端的にいえば,トピックモデルは文書や論文の「大雑把なジャンル」は表現できるが, その中での細かい差異を表現できないことが欠点となっている.

## 3 ニューラル線形モデルによる 文書・研究者ベクトル

そこで本論文では,より柔軟な実数べクトル空間への埋め込みによって, 文書 (論文) およびそれを書いた研究者を表現することを試みる. Doc2Vec[8] のようなニューラルネットと異なり, 提案法はニュー

5）この計算をナイーブに行うと数ヶ月を要するため, $K$ に関わらず $O(1)$ で単語のトピックをサンプリングできる LightLDA[5] を用いて計算を行っている. この計算には数日を要する.

図 2: PPMI 行列の SVD による単語ベクトルの計算.

ラル手法と等価でありながら, 線形代数によって高速かつ効率的に学習・推薦を行うことが可能である.

Levy ら [3] は, 単語埋め込み word2vec の計算が, 自己相互情報量を要素とする行列の行列分解と等価であることを示した. $n(w, c)$ を単語 $w$ と周辺の文脈語 $c$ が一定の窓内で共起した回数とし, $w$ と $c$ の頻度を $n(w), n(c)$ とすると, 次の Shifted Positive PMI (PPMI)

$
\operatorname{PPMI}(w, c)=\max \left(\log \frac{n(w, c) \cdot N}{n(w) n(c)}-\log k, 0\right)
$

を要素とする行列 $\mathbf{Y}$ を図 2 のように $\mathbf{Y} \simeq \mathbf{W C}^{T}$ と特異値分解したときの $\mathbf{W}$ の各行は, word2vec で得られる単語べクトルと等価となる.またこのとき， $\mathbf{C}$ の各行は文脈語の単語ベクトルとなる.ここで $N=\sum_{w} \sum_{c} n(w, c)$ とおいた. なお, $k$ は word2vec における負例数に相当するが, [9] によって SVDを使う場合は $k=1$ (シフトを行わない) が最適であることが実験的に示されており, 以下では $k=1$ を用いた。

同様にして, 論文 $d$ に単語 $w$ が現れた頻度を $n(d, w)$ とし, $n(d)$ を $d$ の単語数とするとき， $\operatorname{PPMI}(d, w)$ を要素とする行列を図 3 のように

$
\mathbf{Y} \simeq \mathbf{D} \mathbf{W}^{T}
$

と特異値分解することで, $\mathbf{D}$ および $\mathbf{W}$ の各行として 「文書ベクトル」 $\vec{d}$ と単語ベクトル」 $\vec{w}$ を同時に得ることができる。これは Doc2Vec と異なり, 理論的に構成されるため学習率やミニバッチ等のハイパー パラメータの調整を必要とせず, 検索に以下で述べるような解析解が存在する. 大量のデータに対しても,必要があれば redsvd [10] のような高速な疎行列分解を用いることで, 非常に効率的かつ一意に埋め込みベクトルを得ることができる.

## 3.1 研究者の専門性の可視化

こうして各論文の文書ベクトル $\vec{d}$ が得られると， それらを書いた研究者の埋め込みベクトルを計算することができる. 著者に研究者 $r$ が含まれている論文の集合を $\Omega_{r}$ とすると, 研究者べクトル $\vec{r}$ は, $\Omega_{r}$ に含まれる論文の文書ベクトルの平均として

$
\vec{r}=\frac{1}{\left|\Omega_{r}\right|} \sum_{d \in \Omega_{r}} \vec{d}
$

図 3: 文書-単語行列のSVDによる文書べクトルと単語ベクトルの同時計算.このとき検索クエリは仮想的な文書 $\mathbf{y}^{*}$ とみなせ, 対応する潜在的な文書ベクトル $\mathbf{d}^{*}$ が存在する。

と計算できる.これは, 埋め込み空間において各研究者を高次元がウス分布で表現し，その平均を求めたことに相当している. ${ }^{6)}$

図 1 に, 言語処理学会年次大会の 20 年分の論文コーパスから計算した $K=100$ 次元の研究者ベクトル $\vec{r}$ t-SNEによって 2 次元に可視化した例の一部を示した. 全体像は, 付録の図 6 を参照されたい. 英語の論文は含まれていないため,これはあくまで言語処理学会の論文の内容から計算された埋め込みとなっている. 処理の詳細については, 4 節で説明する.

## 3.2 言葉による研究者の検索

こうして研究者の埋め込みベクトルが得られると, 関連の深い研究者を言葉によって検索することが可能になる. 提案手法は従来と異なり,キーワードではなく書いた論文の内容を潜在空間で直接モデル化しているため, たとえ専門性の高い言葉でも, それに関連した研究者を検索することができる。

いま，「談話強化学習」のようなクエリを $q$ とおくと,これは図3のように仮想的な「文書」 $\mathbf{y}^{*}$ とみなすことができ, 対応する埋め込みべクトル $\mathbf{d}^{*}$ があると考えられる. 文書べクトルと研究者ベクトルは式 (3) によって同じ埋め込み空間に存在しているから, $\mathbf{d}^{*}$ がわかればそれに近い研究者ベクトルを求めることで, 研究者の検索が可能になる.

$\mathbf{y}^{*}$ の要素は PPMI すなわち $\max \left(\log \frac{p(w \mid q)}{p(w)}, 0\right)$ であるから, $\mathbf{y}^{*}$ は $q$ に含まれる単語に 1 が立ち7), 他はすべて 0 の疎べクトルである.このとき図 3 の下段のように, 最小二乗誤差の意味で $\mathbf{y}^{*} \simeq \mathbf{d}^{*} \mathbf{W}^{T}$ が成り立つ $\mathbf{d}^{*}$ を求めたい.この式の両辺を転置して $\mathbf{y}^{*}, \mathbf{d}^{*}$

6）分散も同様に計算することができるが, 次節で説明する推薦に分散も考慮することは今後の課題としたい.

7）この值は「仮想的な文書 $q$ において, 各単語が平均より何倍多く出現したか」の対数であり, 1 とすることは $\exp (1)=2.72$倍多く出現したと指定することを意味する. 後の実装では, クエリに「音声*」「構文解析**」のように*を付けることで, $\exp (2)$ 倍, $\exp (3)$ 倍, 一が指定できるようにした.

(a) 論文内容からの研究者の検索

(b) 類似研究者の表示図 4: 研究者ベクトルに基づく Web 検索インターフェー ス. 研究者情報は名前の文字列で絞り込むことができる. の転置をそれ自身で再定義すると $\mathbf{y}^{*} \simeq \mathbf{W} \mathbf{d}^{*}$ であり， これは通常の線形回帰モデル (OLS) であることがわかる. よって, $\mathbf{d}^{*}$ の最適解は

$
\mathbf{d}^{*}=\left(\mathbf{W}^{T} \mathbf{W}\right)^{-1} \mathbf{W}^{T} \mathbf{y}^{*}
$

であり [11] ${ }^{8)}$, 事前に回帰行列 $\mathbf{R}=\left(\mathbf{W}^{T} \mathbf{W}\right)^{-1} \mathbf{W}^{T}$ を計算しておけば,クエリ $q$ に対して最適な $\mathbf{d}^{*}$ は

$
\mathbf{d}^{*}=\mathbf{R} \mathbf{y}^{*}
$

として,一瞬で求めることができる。なお, $\mathbf{R} の$計算は明示的に逆行列を使わず, Python では $\mathrm{R}=$ numpy. linalg.solve(numpy. dot(W.T,W),W.T) とすればよい. 語彙数を $V$ とすると $W$ は $V \times K$ の行列であり，よって $\mathbf{R}$ は $K \times V$ の行列となる. $V$ や $K$ が大きい場合にはメモリ使用量が大きくなるが9), 式 (5) より, $\mathbf{d}^{*}$ は $\mathbf{y}^{*}$ のうちごく少数の非零の要素に対応する $\mathbf{R}$ の列ベクトルの和であるから, $\mathbf{R}$ は事前に計算してディスクに mmap()しておけば, 空間計算量も最小に抑えることができる.

クエリに対応する $\mathbf{d}^{*}$ が得られれば, 研究者べクトルとのコサイン距離が近い順に研究者を表示することで検索を行うことができる.

## 4 実装と実験

言語処理学会年次大会の 1995-2013 年の約 20 年分の発表論文デー夕 [12]を使って実装および実験を行った. 今回は直感が働く言語処理分野で実験を行ったが, 提案法は自然言語処理に限らず, あらゆる分野の論文・言語に適用することができる.

## 4.1 データ

論文のタイトルおよび全文を MeCab で形態素解析し,句読点や括弧を除いた単語の原形を使用した。
$ は要素数 7 億 2000 万個, 4GB の行列になる.
}
表 1: 著者予測夕スクにおける平均適合率 (MAP) の平均.提案法は Doc $2 \mathrm{Vec}$ の性能を上回り, 圧倒的に高速かつ省メモリである. 計算時間は $K=1000$ の場合を表している.

語彙は頻度 10 以上の 18,135 語, 論文数は 4,082 本である. 全文を用いているため, 総単語数は $13,654,061$ となった. 著者の総数 3,660 人のうち, 5 本以上の論文があった著者 499 人を実験の対象とした. 疎行列の SVD による文書ベクトル・単語ベクトルの計算は高速であり, $K=1,000$ のとき 1 分程度で終了した。

## 4.2 実装

Python の Flask モジュールを用いて図 4 のように検索サーバを実装し, 公開した. サーバは http:// clml.ism.ac.jp/nlp2vec/でアクセスすることができる.検索結果の著者をクリックすることで, 研究者べクトルの類似する研究者も同時に表示できる.

## 4.3 評価実験

論文の内容から著者を予測する実験で評価を行つた. ランダムな 500 文書をテストデー夕,残りの 3,582 文書を学習データとし, 学習デー夕の中で 5 本以上の論文を持つ研究者がテストデータの著者に含まれる場合 (410/500 文書) の各文書について, 研究者をスコア順に並べた中での真の著者集合の平均適合率 (MAP) を計算した. スコアは文書の Bag of words 表現から 3.2 節の方法で求めた文書べクトルと, 研究者ベクトルの余弦類似度で計算する ${ }^{10)}$. MAP は高いほど良い指標であり, $\mathrm{MAP}=1$ とは, スコア順に並び換えた研究者リストの最上位がすべて真の著者で占められていることを意味する. 比較として, Doc2Vec [8] およびLDAを用いた実験も行った.

Doc2Vec 標準的に使われている gensim の Doc2Vec 実装を使用した. 条件を揃えるため分散 BoW のモデルを使用し, 学習時のパラメータは epochs $=100, \mathrm{hs}=1$, alpha= 0.025 ,sample=1e-5 である. 学習したモデルを使用し, テストデータの各文書について Doc $2 \mathrm{Vec}$ の

10）このとき, 文書 $d$ に対する観測値 $\mathbf{y}$ の要素である $\operatorname{PPMI}(d, w)$ は $\max \left(\log \frac{p(d, w)}{p(d) p(w)}, 0\right)=\max \left(\log \frac{p(w \mid d)}{p(w)}, 0\right)$ と書けるから, 訓練デー夕の各単語の確率 $p(w)$ を保存しておけば, $p(w \mid d)$ は文書 $d$ 内での最尤推定で得られるため, $\mathbf{y}$ は容易に計算できる.

(a) LDA KLdiv

(b) Researcher $2 \mathrm{Vec}$ (提案手法)図 5: テストデー夕の各論文の著者予測の平均適合率(MAP) のプロット. 提案手法は多くの場合に $\mathrm{MAP}=1$ を達成しており,それ以外は英語論文などのノイズとなっている.

infer_vector() で繰り返し計算により文書べクトルを求める他は, 提案手法と同様に計算する. ${ }^{11)}$

LDA 公開している Cython 版の LDA 実装 ${ }^{12)}$ を使用し, モデルが充分収束するまで 1,000 回の $\mathrm{MCMC}$ を行った. 学習したモデルを用い, テストデー夕の各文書に対して変分べイズ EM 法でトピック分布の事後期待値 $\theta$ を求め, 式 (3) で計算した著者のトピック分布 $\vec{r}$ と比較してスコアを計算する. ${ }^{13)}$ [4]では単純に $\theta$ と $\vec{r}$ の余弦距離を計算しているが (LDA cosine), 確率分布に対してコサイン距離を適用するのは適切ではない. そこで同時に, $\theta$ と $\vec{r} の$ Kullback-Leibler ダイバージェンス

$
\mathrm{KL}(\theta \| \vec{r})=\sum_{k=1}^{K} \theta_{k} \log \frac{\theta_{k}}{r_{k}} \propto-\sum_{k=1}^{K} \theta_{k} \log r_{k}
$

をスコアとする実験 (LDA KLdiv) も行って比較した.結果表 1 に, 各モデルの平均適合率の結果とモデルの計算時間を示した. 提案手法は Doc $2 \mathrm{Vec}$ や LDA を超えて最高性能を達成し, モデルの計算もきわめて高速である. また図 5 のように, 平均適合率は多くの論文で 1 に集中し, それ以外は英語論文や, 教員の専門と異なる学生の論文の場合となっていた. 提案手法での $K$ の最大値は SVD の性質から $D(=3582)$ 以下であり $K=3000$ での精度は $71.6 \%$ であった.

## 5 まとめ

本研究では,ニューラル手法と等価な文書べクトルを効率的な SVDによって計算し, 研究者を論文の内容で可視化・検索できるシステムを構築し, 評価した. 実験により, 提案手法はきわめて効率的かつ Doc2 Vec およびトピックモデルより高い著者予測性能を見せることがわかった. 今後は $\operatorname{arXiv}$ や ACL anthology など, 英語論文への抎張を検討したい.
$ に含まれる論文の $\theta$ を生成するディリクレ事前分布を著者每に Newton 法によって計算し, 式 (6)の KL 距離の期待値を求めるべイズ的な方法も検討したが, あまり高い性能が得られなかった。
}

## 参考文献

[1] David M. Blei, Andrew Y. Ng, and Michael I. Jordan. Latent Dirichlet Allocation. Journal of Machine Learning Research, Vol. 3, pp. 993-1022, 2003.

[2] Laurent Charlin and Richard S. Zemel. The Toronto Paper Matching System: An automated paper-reviewer assignment system. In ICML 2013, 2013.

[3] Omer Levy and Yoav Goldberg. Neural Word Embedding as Implicit Matrix Factorization. In Advances in Neural Information Processing Systems 27, pp. 2177-2185, 2014.

[4] Marie Katsurai, Ikki Ohmukai, and Hideaki Takeda. Topic Representation of Researchers' Interests in a Large-Scale Academic Database and Its Application to Author Disambiguation. IEICE Trans. Inf. Syst., Vol. E99-D, No. 4, pp. 1010-1018, 2016.

[5] Jinhui Yuan et al. LightLDA: Big Topic Models on Modest Computer Clusters. In WWW 2015, pp. 1351-1361, 2015.

[6] 日本学術振興会. 学術情報分析センター平成 30 年度活動報告, 2019. https://www.jsps.go.jp/j-csia/data/h30/ JSPS-CSIA_REPORT_2018_4.pdf.

[7] 持橋大地, 吉井和佳, 後藤真孝. ガウス過程に基づく連続空間トピックモデル. 情報処理学会研究報告 2013NL-213, Vol. 11, pp. 1-8, 2013.

[8] Quoc Le and Tomas Mikolov. Distributed Representations of Sentences and Documents. In ICML 2014, pp. 1188-1196, 2014.

[9] Omer Levy, Yoav Goldberg, and Ido Dagan. Improving Distributional Similarity with Lessons Learned from Word Embeddings. Transactions of the Association for Computational Linguistics, Vol. 3, pp. 211-225, 2015.

[10] Daisuke Okanohara. redsvd: RandomizED Singular Value Decomposition, 2010. https://code.google.com/archive/p/ redsvd/.

[11] 持橋大地, 大羽成征. ガウス過程と機械学習. 機械学習プロフェッショナルシリーズ. 講談社, 2019.

[12] 言語処理学会 20 周年記念年次大会コーパス, 2014. https://www.anlp.jp/anniversary/20th_anniversary.html.

## 付録

研究者ベクトルの t-SNE による 2 次元への可視化. 高次元の研究者ベクトルは精度が高すぎて「それ自身 (あるいは強い共著者) としか似ていない」状態になり, 全体的な構造を反映しないため, あえて $K=100$ 次元のべクトルを可視化している. 可視化には Scikit-learn の t-SNE 実装を用いた. ${ }^{14)}$ 紫は明らかなグループについて筆者が付けた注釈であり,他にも様々な構造を見て取ることができる.

図 6: 研究者ベクトルの 2 次元への可視化.

14） t-SNE は実行の度に確率的に結果が変わるため,これが唯一の可視化というわけではない.