mots quotidiens.
Daichi Mochihashi (持橋大地) daichi <at> ism.ac.jp by hns, version 2.10-pl1.

先月 2024年11月 来月
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

2023年01月07日() [n年日記]

#1 ACL2Vec & ACL2Vec-authors

2022年の年末に, 自然言語処理の実質的に全論文が集まる ACL anthologyの論文を「内容」で検索できるニューラル検索システム, "ACL2Vec" を公開しました。これは, 2021年の言語処理学会年次大会で発表した "Researcher2Vec" [PDF] の方法を, 2022年秋までのACL anthologyの内容が全て含まれている新しいデータセット, https://github.com/shauryr/ACL-anthology-corpus に対して適用したものです。 この方法は完全に統計的に動いており, 内部的には1000次元のニューラル文書ベクトルをSVDで効率的に計算し, 基本的な線形代数を用いて最適解を返すものになっています。

この方法を拡張して, Researcher2Vecにもあるように, 各研究者の「研究者ベクトル」を計算することで, キーワードから研究者を検索できる"ACL2Vec-authors"をさらに公開しました。 「Score」とは, 検索キーワードから計算した仮想的な文書ベクトルと研究者ベクトルのコサイン距離のことです。(クリックで拡大)

これは元々は私がTACLのEditorとして査読者を見付けるのに, 何か自動化が必要だと感じて開発したものなので, キーワードを入れるだけでなく, 論文のPDFを指定すると, 内部でそれをアップロードしてテキストに直して解析し, その統計量から最も近い研究者を表示するシステムも含めました。
上記のインターフェースは一見簡単に見えますが, HTMLの<input type="file">をそのまま使うと, submit後に指定したファイル名が消えてしまいます。 このため, 自前で別に赤いボタンの<input type="button">を用意し, それをクリックするとCSSで非表示にした見えない <input type="file"> が起動され, その状態が変更されるとファイル文字列が書き換わるようにする, というようなJavascriptとCSSを書く必要があり, 年末にコーディングしましたが, 正しく動くまでかなり大変でした。(本職のwebデザイナーの方であれば, このくらいは余裕なのだと思いますが..。)
内部ではPythonのPDFminerでPDFをテキスト化して解析していますが, PDFによっては失敗することがあるため, その場合はそれを自動的に検出してPyPDFの方で処理する, というような仕組みになっています。PDFを解析した結果, 下記の方法で計算されるその論文の統計的なキーワードが表示されるため, その意味でも結構面白いと思います(右の画像)。

さらに, 単に研究者の名前が表示されるだけではどんな人かが分からないため, 予め研究者を表すキーワードを統計的に計算しておき, 上記の画像のようにそれを表示するようにしました。
これは, 各研究者ベクトルから予想される単語確率のNPMI (Normalized PMI)の上位を表示したものです。
具体的には, 研究者 a が単語 w を出力する確率 p(w|a) はモデルから求めることができますが, これをwの平均的な確率と比較して対数をとった log p(w|a)/p(w) は研究者aと単語wの自己相互情報量(PMI)を表しています。ただしこれは, wの確率p(w)が小さいと過敏に反応するため, PMIの最大値である -log p(w,a) との比をとったNPMIを用いるのが適しています。 今の場合, wとaが完全に相関していれば, p(w,a)=p(w)=p(a)なので, NPMIは

NPMI(w,a) = - (log p(w|a)/p(w)) / (log p(w))
で求めることができます。

実際に計算してみると, これは研究者の特徴をかなり正確に表しており, 非常に面白い情報になりました。ACL anthologyに5本以上論文がある研究者8963人の統計的なNPMIキーワードを計算したものが こちら です。(論文数の多い順)
これは, 自然言語処理の研究者にとっては, いくら見ていても飽きないほどの情報な気がします。たとえば松本先生やグラムさんのNPMIキーワードは

Yuji Matsumoto       japanese, method, dependency, word, pos, proposed, corpus, because, parsing, words
Graham Neubig        translation, bleu, nmt, languages, decoder, language, source, training, model, resource
となっており, 確かにそういう気がします。 有名所では例えば
Dan Klein            parsing, manning, petrov, parse, over, likelihood, collins, substantially, penn, model
Kathleen McKeown     summarization, summary, summaries, generation, views, sentences, content, sentence, document, produce
Mark Steedman        ccg, categorial, combinatory, parser, category, parsing, derivations, np, categories, derivation
で, これも非常に妥当な結果に思えます。 なお, 私自身のキーワードは
Daichi Mochihashi    bayesian, gram, probability, japanese, sampling, segmentation, dirichlet, distribution, gibbs, w
で, ACL系の論文に限ってみれば確かにそうだろうなと思います。 実際には私はロボティクスなど他の分野の論文も出しているので, もし全体のデータセットで計算できたとすると, もう少し統計的なキーワードは変わるのではないかと思います。
なお, ACL2Vec-authorsと同様な研究者推薦システムは, 私が分析研究員を務める日本学術振興会の学術情報分析センターですでに稼働していますが, キーワードや論文PDFに基づいて動的に推薦を行うシステムの実装は, 今回が初めてとなります。


1 days displayed.
タイトル一覧
カテゴリ分類
 なかのひと
Powered by hns-2.10-pl1, HyperNikkiSystem Project