Researcher2Vec: ニューラル線形モデルによる自然言語処理研究者の可視化と推薦
持橋 大地
統計数理研究所 数理・推論研究系 ／日本学術振興会 学術情報分析センター
daichi@ism.ac.jp

1

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

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

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

ような公式情報の載ったデータベースに加えて, 日本の研究.com2）, JDream Expert Finder3）といったサービスが提供されている. しかし, これらはほとんど,研究者の実際の専門性を示す論文の内容を用いていない.4） 代わりに論文に付与されたキーワードなどのメタ情報や論文の引用情報が用いられているが,これらは本来は補助的な情報であり, 人手で付与されたキーワードには漏れが非常に大きい. たとえば筆者が (自然言語処理の分野では珍しく) 逐次モンテカルロ法やガウス過程に詳しいことや, ベイジアンであることは, 人手による大雑把なキーワードや引用情報から推測するのは不可能である.
そこで本論文では, Word2vec が自己相互情報量クに頼らざるを得ないという現状がある. このため,(PMI) 行列の行列分解と等価であることを示した

たとえ興味や実力がマッチしていても, 地方にいたり, 無名研究室の場合に研究者のネットワークに入Levy らの考察 [3] を応用し, 各論文のニューラル文れないという重大な問題があった.

ら「研究者ベクトル」を求める Researcher2Vec を提また, 大学の学生や企業の担当者が, 興味を持ったテーマに詳しい教員や研究者を見つけたい, という場合も, 多様な専門性を客観的にデータベース化したシステムがないため, 学外も含めた適切な先生が見つけられないという問題点がある.
こうした研究者情報の把握のために, researchmap1）の書ベクトルを SVD によって効率的に計算し, これか案する. これにより, 各研究者の専門性を低次元空間で客観的に把握して可視化することが可能になる.
また, 単語をいくつか入力することで, 専門性の近い
2） https://research-er.jp/search/researchers3） https://jdream3.com/service/expert-ﬁnder/4） TPMS はこの情報を用いているが, 研究者別の情報は公開されておらず, 対象分野も限定的である.

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

2

研究者の専門性の把握

単語ベクトル w®

研究者の専門性を把握するためには, 先に述べた(1) 引用情報やキーワードなどのメタ情報を用いる

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

ほかに, (2) LDA を代表とするトピックモデルによるラル手法と等価でありながら, 線形代数によって高アプローチがこれまでに提案されている.

速かつ効率的に学習・推薦を行うことが可能である.

(1) の方法は 1 節で述べた欠点のほかに, 最終的なLevy ら [3] は, 単語埋め込み word2vec の計算が, 自可視化が多くの場合グラフに基づいており, 距離に客観的な意味がないことや, グラフに枝を張る基準己相互情報量を要素とする行列の行列分解と等価でや枝の重みの定義によって結果が変わってしまい,一つとして用いられており, また桂井ら [4] は CiNII

c が一定の窓内で共起した回数とし, w と c の頻度をn(w), n(c) とすると, 次の Shifted Positive PMI (PPMI)()n(w, c) · N
PPMI (w, c) = max log− log k, 0(1)n(w)n(c)に登録された約 10 万件, 約 300 万語の論文概要にを要素とする行列 Y を図 2 のように Y ' WCT と対してトピック数 K = 500 の LDA を実行し, 同姓同特異値分解したときの W の各行は, word2vec で得名の共著者の曖昧性解消タスクで評価することで,られる単語ベクトルと等価となる. またこのとき,次元圧縮を行わないベクトル空間モデルより精度

C の各行は文脈語の単語ベクトルとなる. ここで∑ ∑N = w c n(w, c) とおいた. なお, k は word2vec にお客観性に欠けるという大きな問題点がある.
(2) のアプローチは実際に TPMS の内部で基準のが高いことを示している. 筆者も日本学術振興会にあることを示した. n(w, c) を単語 w と周辺の文脈語おいて, 約 11 万件, 約 3 億語の科研費文書について
K = 2000 の巨大な LDA を計算し5）, 特定の大型種目場合は k = 1 (シフトを行わない) が最適であることの各申請について, 審査員候補者のリストを参考情が実験的に示されており, 以下では k = 1 を用いた.

報として出力するシステムを構築して実運用を行っている [6].
ただし, LDA には計算量が大きいという以外に,ける負例数に相当するが, [9] によって SVD を使う

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

• トピック分布 θ の総和が 1 になるという制約がY ' DWTあるため, 複数のトピックを同様に強く持つ論と特異値分解することで, D および W の各行として® を同時に得「文書ベクトル」d® と「単語ベクトル」w

文や研究者をうまく扱うことができない• θ の要素は常に正であるため, 負の相関も含めた細かい制御ができない(2)

ることができる. これは Doc2Vec と異なり, 理論的に構成されるため学習率やミニバッチ等のハイパーという問題点がある [7]. 端的にいえば, トピックモパラメータの調整を必要とせず, 検索に以下で述べ

デルは文書や論文の「大雑把なジャンル」は表現でるような解析解が存在する. 大量のデータに対してきるが, その中での細かい差異を表現できないことも, 必要があれば redsvd [10] のような高速な疎行列が欠点となっている.

分解を用いることで, 非常に効率的かつ一意に埋めニューラル線形モデルによる文書・研究者ベクトル3

そこで本論文では, より柔軟な実数ベクトル空間への埋め込みによって, 文書 (論文) およびそれを書いた研究者を表現することを試みる. Doc2Vec[8] の込みベクトルを得ることができる.

3.1

研究者の専門性の可視化

こうして各論文の文書ベクトル d® が得られると,それらを書いた研究者の埋め込みベクトルを計算すようなニューラルネットと異なり, 提案法はニューることができる. 著者に研究者 r が含まれている論
文の集合を Ωr とすると, 研究者ベクトル r® は, Ωr に5） この計算をナイーブに行うと数ヶ月を要するため, K に
関 わ ら ず O(1) で 単 語 の ト ピ ッ ク を サ ン プ リ ン グ で き るLightLDA[5] を用いて計算を行っている. この計算には数日を要する.

含まれる論文の文書ベクトルの平均として
1 ∑ ®
dr® =|Ωr | d ∈Ωr(3)文書ベクトル d®

単語ベクトル w®

図 3: 文書–単語行列の SVD による文書ベクトルと単語ベクトルの同時計算. このとき検索クエリは仮想的な文書 y∗とみなせ, 対応する潜在的な文書ベクトル d∗ が存在する.と計算できる. これは, 埋め込み空間において各研究者を高次元ガウス分布で表現し, その平均を求めたことに相当している.6）(a) 論文内容からの研究者の検索(b) 類似研究者の表示

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

図 1 に, 言語処理学会年次大会の 20 年分の論文d∗ = (WT W)−1 WT y∗

コーパスから計算した K = 100 次元の研究者ベクトル r® を t-SNE によって 2 次元に可視化した例の一部であり [11] 8）, 事前に回帰行列 R = (WT W)−1 WT を計算しておけば, クエリ q に対して最適な d∗ はを示した. 全体像は, 付録の図 6 を参照されたい. 英d∗ = Ry∗

語の論文は含まれていないため, これはあくまで言語処理学会の論文の内容から計算された埋め込みとなっている. 処理の詳細については, 4 節で説明する.

3.2

言葉による研究者の検索

こうして研究者の埋め込みベクトルが得られると, 関連の深い研究者を言葉によって検索することが可能になる. 提案手法は従来と異なり, キーワード
ではなく書いた論文の内容を潜在空間で直接モデル化しているため, たとえ専門性の高い言葉でも, それに関連した研究者を検索することができる.
いま, 「談話 強化学習」のようなクエリを q とお
くと, これは図 3 のように仮想的な「文書」y∗ とみなすことができ, 対応する埋め込みベクトル d∗ があると考えられる. 文書ベクトルと研究者ベクトルは式 (3) によって同じ埋め込み空間に存在しているから, d∗ がわかればそれに近い研究者ベクトルを求めることで, 研究者の検索が可能になる.
()p(w|q)∗
y の要素は PPMI すなわち max log,0 でp(w)あるから, y∗ は q に含まれる単語に 1 が立ち7）, 他はすべて 0 の疎ベクトルである. このとき図 3 の下段のように, 最小二乗誤差の意味で y∗ ' d∗ WT が成り立つ d∗ を求めたい. この式の両辺を転置して y∗, d∗6） 分散も同様に計算することができるが, 次節で説明する推薦に分散も考慮することは今後の課題としたい.
7） この値は「仮想的な文書 q において, 各単語が平均より何倍多く出現したか」の対数であり, 1 とすることは exp(1) = 2.72倍多く出現したと指定することを意味する. 後の実装では,クエリに「音声*」「構文解析**」のように*を付けることで,exp(2) 倍, exp(3) 倍, …が指定できるようにした.

(4)(5)と し て, 一 瞬 で 求 め る こ と が で き る. な お, R の
計 算 は 明 示 的 に 逆 行 列 を 使 わ ず, Python で は R =numpy.linalg.solve(numpy.dot(W.T,W),W.T) とすればよい. 語彙数を V とすると W は V × K の行列であり, よって R は K × V の行列となる. V や K が大きい場合にはメモリ使用量が大きくなるが9）, 式 (5) より, d∗ は y∗ のうちごく少数の非零の要素に対応するR の列ベクトルの和であるから, R は事前に計算してディスクに mmap() しておけば, 空間計算量も最小に抑えることができる.
クエリに対応する d∗ が得られれば, 研究者ベクトルとのコサイン距離が近い順に研究者を表示することで検索を行うことができる.

実装と実験

4

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

4.1

データ

論文のタイトルおよび全文を MeCab で形態素解析し, 句読点や括弧を除いた単語の原形を使用した.
8） これに対し, Doc2Vec は出力層に softmax の形で非線形性が含まれているため, こうした解析解を得ることはできず, 検索の度に繰り返し最適化が必要になる. また, その際に巨大なパラメータもすべてメモリ上にロードしておく必要がある.
9） 日本学術振興会では筆者は現在 V = 180, 000, K = 4, 000 で計算しており, R は要素数 7 億 2000 万個, 4GB の行列になる.

表 1: 著者予測タスクにおける平均適合率 (MAP) の平均.
提案法は Doc2Vec の性能を上回り, 圧倒的に高速かつ省メモリである. 計算時間は K = 1000 の場合を表している.

モデル＼ K

500

10002000 計算時間

Researcher2Vec 61.3% 66.6% 70.2%
Doc2Vec [8]57.4% 60.5% 62.0%
LDA KLdiv
56.3% 56.2% 51.2%
LDA cosine [4] 44.2% 48.0% 32.7%

1m 8s
21m 9s14h 48m
14h 48m

語彙は頻度 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

評価実験

200200150150

10010050500000.2

0.40.60.8(a) LDA KLdiv

100.2

0.40.60.8

1(b) Researcher2Vec (提案手法)

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

infer_vector() で繰り返し計算により文書ベクトルを求める他は, 提案手法と同様に計算する.11）
LDA 公開している Cython 版の LDA 実装12）を使用
し, モデルが充分収束するまで 1,000 回の MCMC を行った. 学習したモデルを用い, テストデータの各文書に対して変分ベイズ EM 法でトピック分布の事後期待値 θ を求め, 式 (3) で計算した著者のトピック分
布 r® と比較してスコアを計算する.13） [4] では単純に
θ と r® の余弦距離を計算しているが (LDA cosine), 確率分布に対してコサイン距離を適用するのは適切ではない. そこで同時に, θ と r® の Kullback-Leibler ダイ
バージェンスKL(θ||®
r) =∑Kθkk=1 θ k log rk ∝ − k=1 θ k log rk∑K(6)をスコアとする実験 (LDA KLdiv) も行って比較した.

論文の内容から著者を予測する実験で評価を行っ結果 表 1 に, 各モデルの平均適合率の結果とモデルた. ラ ン ダ ム な 500 文 書 を テ ス ト デ ー タ, 残 り のの計算時間を示した. 提案手法は Doc2Vec や LDA を3,582 文書を学習データとし, 学習データの中で 5 本以上の論文を持つ研究者がテストデータの著者に含超えて最高性能を達成し, モデルの計算もきわめて高速である. また図 5 のように, 平均適合率は多くのまれる場合 (410/500 文書) の各文書について, 研究者論文で 1 に集中し, それ以外は英語論文や, 教員の専をスコア順に並べた中での真の著者集合の平均適合門と異なる学生の論文の場合となっていた. 提案手率 (MAP) を計算した. スコアは文書の Bag of words

法での K の最大値は SVD の性質から D (=3582) 以下表現から 3.2 節の方法で求めた文書ベクトルと, 研であり, K = 3000 での精度は 71.6%であった.

究者ベクトルの余弦類似度で計算する10）. MAP は高いほど良い指標であり, MAP = 1 とは, スコア順に5まとめ並び換えた研究者リストの最上位がすべて真の著本研究では, ニューラル手法と等価な文書ベクト者で占められていることを意味する. 比較として,ルを効率的な SVD によって計算し, 研究者を論文のDoc2Vec [8] および LDA を用いた実験も行った.

内容で可視化・検索できるシステムを構築し, 評価

Doc2Vec 標準的に使われている gensim の Doc2Vec

した. 実験により, 提案手法はきわめて効率的かつ実装を使用した. 条件を揃えるため分散 BoW のモデ

Doc2Vec およびトピックモデルより高い著者予測

ルを使用し, 学習時のパラメータは epochs=100, hs=1,性能を見せることがわかった. 今後は arXiv や ACL

alpha=0.025,sample=1e-5 である. 学習したモデルをanthology など, 英語論文への拡張を検討したい.

使用し, テストデータの各文書について Doc2Vec の10） こ の と き, 文 書( d に 対 す る)観 測 値( y の 要 素 で) あ る
p(d , w)|d)
PPMI (d, w) は max log p(d)p(w), 0 = max log p(wp(w) , 0 と書けるから, 訓練データの各単語の確率 p(w) を保存しておけば,p(w |d) は文書 d 内での最尤推定で得られるため, y は容易に計算できる.

11） 学習時・テスト時の各文書に対する繰り返し回数は 100 としたが, これ以上増やしても性能に変化はみられなかった.
12） http://chasen.org/˜daiti-m/dist/lda-python/13） Ωr に含まれる論文の θ を生成するディリクレ事前分布を著者毎に 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 PaperMatching 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 ofSentences and Documents. In ICML 2014, pp. 1188–1196,2014.
[9] Omer Levy, Yoav Goldberg, and Ido Dagan. Improving
Distributional Similarity with Lessons Learned from WordEmbeddings. 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 は実行の度に確率的に結果が変わるため, これが唯一の可視化というわけではない.