mots quotidiens. | |
Daichi Mochihashi (持橋大地) daichi <at> ism.ac.jp | by hns, version 2.10-pl1. |
|
||||||||||||||||||||||||||||||||||||||||||||||
この方法を拡張して, 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系の論文に限ってみれば確かにそうだろうなと思います。 実際には私はロボティクスなど他の分野の論文も出しているので, もし全体のデータセットで計算できたとすると, もう少し統計的なキーワードは変わるのではないかと思います。
タイトル一覧 |