Microsoft Academic のすゝめ

先日『[Ananta: Azure を支えるステートフル L4 ロードバランサー - Qiita](https://qiita.com/OpenJNY/items/6c5e6614868c732dff3b)』という記事を書いたのですが、そのときに偶々見つけた Microsoft Academic と呼ばれる文献検索サービスが相当優秀だったので紹介します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127839/e0345676-4f85-98cb-24db-e1d2db6f559b.png)
**■ Home | Microsoft Academic**
https://academic.microsoft.com/home

# TL;DR

- [Microsoft Academic](https://academic.microsoft.com/home) は、高度な文献検索機能を有する Google Scholar のような Web サービス
- Microsoft Research が研究開発した、自然言語処理によるコンテンツのトピック抽出技術、意味論的検索エンジン、文献重要度の算出手法などを活用
- 検索の他にも、文献やトピックをフォローして関連情報を収集できる機能も

# Microsoft Academic とは？

[Microsoft Academic](https://academic.microsoft.com/home) は、Microsoft Research によって提供されている、学術文献検索のための Web サービスです。イメージとしては Google Scholar (https://scholar.google.co.jp/) が近いです。

## 使うのに向いてる人

どんな人が Microsoft Academic を使うのに向いているのでしょうか？

これは、一言で言ってしまえば**「論文を探すのに苦労を感じるすべての人」**です。例えば、、、

- 論文の関連論文をいい感じに見つけたい人
- ある技術に興味があるけど、どの論文から読めばいいか決めかねてる人
- 論文に使われている技術のカテゴリをささっと調べたい人
- 自分の好みの論文を多く引用している (つまり"趣味の合う") 論文を見つけたい人
- h-index よりも悪意的操作に頑健な指標を使ってソートしたい人

Microsoft Academic は、上のような需要を満たしてくれます。**とにかく検索能力が優秀です。**

さらに、後にこ紹介するようなタイムライン機能を使うと、例えば「クラウドサービス ネットワーク トポロジーに関する論文の最新ニュース」を追うことなんかもできます。つまり、**普段論文なんて読まないしなぁ…という人にもオススメできるのです。**

なにはともあれ、まずは触って試してみてください！

**■ Home | Microsoft Academic**
https://academic.microsoft.com/home

## 研究プロジェクト

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127839/60cceece-6d24-f99a-7ebf-63a170557fc6.png)
裏側 (作られた経緯) の話をすると、Microsoft Academic は Microsoft Research のある研究プロジェクトの成果を活用したサービスです。具体的には、**意味論的検索エンジン (semantics search engine, セマンティクス サーチ エンジン)** と呼ばれる、ただのキーワード検索ではない高度な検索技術です。

そしてなんと、そのプロジェクトの名前も Microsoft Academic です…。

**■ Microsoft Academic - Microsoft Research**
https://www.microsoft.com/en-us/research/project/academic/

名前が一緒なのでややこしいですが、研究プロジェクトとしての Microsoft Academic は、次の 3 つのための技術を開発/研究することが目的です。

1. Bing のクローリングと人工知能技術を利用した、文献ナレッジベースの構築[^mag]
2. ナレッジベースの意味論的検索 (セマンティクス サーチ)
3. 文献のより良い重要度、インパクト指標、ランク付け (e.g. h-index)

[^mag]: このナレッジベースの一部は、Microsoft Academic Graph (MAG) というサービス名で一般提供されています。 ref: [MAG documentation - Microsoft Academic Services | Microsoft Docs](https://docs.microsoft.com/en-us/academic-services/graph/)

それぞれの研究結果についてはプロジェクトのページを参照してもらえたら幸いですが、この記事で紹介する Microsoft Academic (web サイト) は 2 番目の研究の成果です (以下では、もうプロジェクトの話はしないので、単に Microsoft Academic と言った場合は Web サイトを表してます)。Microsoft Research が本気出して研究しているだけに、**検索機能がかなり強力なのが特徴**です。

歴史的な経緯など、他の情報については以下の文献が参考になります。

- [Microsoft Academic - Wikipedia](https://en.wikipedia.org/wiki/Microsoft_Academic)
- [学術文献検索サービス“Microsoft Academic Search”が大幅アップデート　検索可能分野が5から14に増加へ | カレントアウェアネス・ポータル](https://current.ndl.go.jp/node/18584)

# 便利機能

このセクションでは、Microsoft Academic のすごいところを紹介します。

## 1. 自然言語処理によるトピックの自動抽出 & セマンティクス検索エンジン

やはりなんといっても、**検索能力が高いです**。これは何度でも声を大にして言いたい重要なポイントです。

文献を探す際の課題の一つが、**検索クエリに利用する単語を選ぶ難しさ**です。

例えば Google Scholar はサイトが軽い、機能がシンプル、Google Chrome の拡張機能が便利などなど、めちゃくちゃいいところが多い文献検索サイトですが、検索でタイトルとアブストラクトくらいしか単語を拾ってません[^is-all-you-need]。もっとも、自分の検索クエリ作成能力が低いのが悪いんですが、検索機能は他のエンジン (e.g. Google Search) を使ってました。

[^is-all-you-need]: All You Need 系など、パターン認識の論文で、洒落たタイトルがつけられてるケースをたまにみるのですが、こういうのが検索のとき困る・・・

一方、**Microsoft Academic はセマンティクス検索エンジンによる、コンテンツの内容に基づいた文献検索が可能**です。

検索エンジンにはオフライン処理とオンライン処理がありますが、Microsoft Academic では、まずオフライン時に**機械学習 (自然言語処理) を使ったトピック抽出**を行います[^topic-extraction]。だいたい各文献に 10 個程度のトピック[^topic-structure]が割り当てられるようです。

[^topic-extraction]: プロジェクトとしての Microsoft Academic の 1 番目の目的で開発されている技術です。
[^topic-structure]: トピックには階層構造があります (例: Computer Science -> Computer Network -> Cloud Computing)。

そして、実際に文献検索する時 (i.e. オンライン処理) には、キーワードを入力してる途中でトピックがサジェストされます。例えば、"cloud network topology" と検索しようとすると、"cloud computing" と "network topology" という 2 つのトピックが表示され、検索ワードを正規化してくれます。

### 比較例

![image.png test](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127839/5b62433c-4f48-9a58-edfb-e4ffae3454d5.png)
この画像は、「クラウドのネットワークトポロジー」についての文献を探すシナリオにおける、セマンティクス検索の威力を表しています。ここでは、Microsoft Academic (MA) と Google Scholar (GS) のそれぞれで、"cloud network topology" のクエリを使って、2015 年から現在までの文献検索をかけました。

個人的に、Microsoft Academic の方が嬉しい点をまとめると…

- クエリがトピックに正規化されている[^query-normalization]。
- 僕の感性では MA の方が有益な情報が取れています。定量的にも、仮に引用数を指標に使うのであれば、上位結果の平均引用数が多い MA に軍配が上がります。
- 関連性、Saliency、引用数、公開年日といった属性を使ってソートできる。(一方で GS は関連性と日付だけ)
- 関連トピック、Authors, Institutions といったクエリのサジェストが (左側のサイド カラム[^sidecolumns]に) 表示される。
- クエリ トピックに関する情報が (右側のサイドカラム[^sidecolumns]に) 表示され、関連技術を知れる。

[^sidecolumns]: サイドカラムにこんなに豊富な情報が出るのは、Microsoft Academic の `MA enables you to understand research fields, not just search for papers.` という理念が関係しています。詳細は [Frequently Asked Questions | Microsoft Academic](https://academic.microsoft.com/faq) を見てみてください。

### トピック以外の属性情報

また、トピック以外にも、正規化されている情報として次のものがあり、複数条件を使った精度の高い文献検索が可能となります。

* 著者 (author)[^author-dup]
* 組織 (institution)
* カンファレンス (conference)
* ジャーナル (journal)

例えば、2007 年以降に Microsoft から出版された機械学習に関する best paper を、**自然言語のように**検索できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127839/ffcae561-9cd6-ce1f-66b6-f23ca4e53c74.png)

[^author-dup]: 同姓同名の人物でさえも、コンテキストを考慮してそれぞれを一意に判別する技術が組み込まれています。参考：[How Microsoft Academic uses knowledge to address the problem of conflation/disambiguation - Microsoft Research](https://www.microsoft.com/en-us/research/project/academic/articles/microsoft-academic-uses-knowledge-address-problem-conflation-disambiguation/)
[^query-normalization]: 実際には、入力するとトピックのサジェストがでるので、ユーザーがどのトピックで検索するかを最終的に決定する必要があります。





## 2. 複数文献を考慮したサジェスト

Microsoft Academic では、各ユーザーが Reading List と呼ばれる文献リストをつくれます[^list-user]。Reading List は、Twitter のリストに近い概念で、このアナロジーの場合 Twitter User と文献が対応します。

[^list-user]: この機能を使うにはサインアップが必要なので、まずは画面右上から登録する必要があります。

### リストの管理

各文献ページ (または文献一覧の) のこのアイコンから、List への追加、List の新規作成ができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127839/1a6670e2-2011-de8c-d908-bd4f85e0f207.png)

右上の [ユーザー] -> [MANAGE READING LISTS] から、所有するすべての Reading List を確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127839/52c11ef5-954e-1162-27d5-99689f2b4143.png)

### 文献サジェスト

さてさて、普通の文献管理ソフトでもリストの作成くらいはありそうな機能なんですが、Microsoft Academic のすごいところは**リストに関連した文献を、リスト内の全文献を考慮してサジェストしてくれる**ことです。論文単位での関連論文検索サービスはありますが、複数の論文を同時に考慮してくれるのはなかなか見ないですよね。

具体的には、RELATED, REFERENCES, CITED BY のタブがサジェストの機能で、それぞれ異なる文献集合 (対象, domain) からのサジェストです。

- **[RELATED]** `全論文` を対象にサジェスト。Microsoft が引用ネットワーク全体を独自に分析した結果に基づきソート
- **[REFERENCES]** `{ 文献_s | あるリスト内文献が、その文献_sを引用 }` からサジェスト。リスト内の複数の文献から頻繁に引用されている文献ほど上位に表示
- **[CITED BY]** `{ 文献_s | その文献_s が、リスト内のある文献を引用 }` からサジェスト。

なお、文献リストはもちろん bibtex や Microsoft Word のような形式で Export が可能です。




## 3. Follow によるカスタム タイムライン

### Follow

Microsoft Academic には、気になる対象のニュースを追いかけるために Follow という概念があります。Follow の対象エンティティは、文献/トピック/組織です。

例えば、自分の Follow しているエンティティはこの 5 つ[^youve-followed]。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127839/93e113b8-a051-686a-60d5-00c79fd26e82.png)

### タイムライン

そうすると、トップ ページでは次のようなタイムラインが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127839/8ec58229-214f-ff61-efc4-5eaf1540b939.png)

- **[PAPERS FROM FOLLOWS]**: Follow しているトピック/組織/著者からの新たな文献のタイムライン
- **[NEWS]**: Follow しているトピックに関係するニュースのタイムライン[^news-timeline]
- **[CITATIONS FROM FOLLOWS]**: Follow している論文/特許を引用する新たな文献のタイムライン

[^news-timeline]: 個人的にはタイムラインの中で [NEWS] が一番すごいと思いました。

フォローしているエンティティが多くなるとタイムラインを追うのが大変になりますが、質の良い一次情報源を探す方法として良いかもしれません。

なお、以下の2つは Follow に関係しないタイムラインです。

- **[NEW CITATIOINS]**: 自分の出版物への引用を通知するタイムライン
- **[BLOG]**: Microsoft Research ブログ更新を通知するタイムライン

[^youve-followed]: 右上のユーザーボタンから "MANAGE FOLLOWS" 選ぶと、following を管理できます。


# その他

知っとくといつか役に立つかもしれない面白い機能/情報を紹介します。

## 機関 (institution) の地理的マップ

https://academic.microsoft.com/institutions では、世界中の機関一覧がトピックごとに閲覧できます。ここでトピックを絞っていくと、代表的な機関の場所が geo マップに表示されます。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127839/e6d15e5f-e8d9-55fa-df76-7295c80ee865.png" width=500>

ユースケースとしては、例えば「SDN (ネットワーク仮想化) に強い大学・研究所はどこだろう・・・」ていうのを視覚的に把握できるので、スライド/ブログ記事のちょっとした挿絵に良さそうです。


## 一時的な文献リスト

Reading List とは別に、一時的に文献を保存する機能があります。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127839/40902d00-a521-f853-f492-8f1469a3fd48.png" height=400 style="display: block; margin-left: auto; margin-right: auto;" >

以下のようにクリップボードにコピーしたり、bibtex として出力できます。
論文の記事とかノートを書く際、一時的に関連する論文を記録していくのに使えそうです（最後に一気に出力してノートにコピペ）。

```
López-Cózar, Emilio Delgado, et al. “The Google Scholar Experiment: How to Index False Papers and Manipulate Bibliometric Indicators.” Journal of the Association for Information Science and Technology, vol. 65, no. 3, 2014, pp. 446–454.
Waltman, Ludo. “A Review of the Literature on Citation Impact Indicators.” Journal of Informetrics, vol. 10, no. 2, 2016, pp. 365–391.
Singh, Saurabh, et al. “A Survey on Cloud Computing Security.” Journal of Network and Computer Applications, vol. 75, no. 75, 2016, pp. 200–222.
```

## 独自のインパクト指標

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127839/adfb2b77-84ca-17b1-cdab-7e8bcf70a3b7.png)

論文や著者のインパクト (重要度) を測る指標として、被引用回数 (citations) や h-index が一般的に使われています。しかしながら、被引用回数や h-index には、次のような既知の問題が知られています。

- [研究活動に対する客観的かつ定量的な評価指標](https://www.jstage.jst.go.jp/article/johokanri/52/8/52_8_464/_pdf)
- [＜論文紹介＞ Google Scholarはニセ論文にだまされるか？ 研究者が自分の被引用回数やh-indexを不正操作できるか、スペインの研究グループが実験 | ワイリー・サイエンスカフェ](http://www.wiley.co.jp/blog/pse/?p=25024)
- [The Google scholar experiment: How to index false papers and manipulate bibliometric indicators | Paper | Microsoft Academic](https://academic.microsoft.com/paper/1547304362/)

そこで、Microsoft Academic では "Saliency" や "Prestige" と呼ばれる指標も使えるようになっています[^indicator-project]。
[^indicator-project]: "プロジェクトとしての Microsoft Academic" の目的の 3 番目。

[FAQ ページ](https://academic.microsoft.com/faq) に説明があったので、勝手に意訳したものを掲載しておきます。個人的には、Prestige を使っておけば問題ない気がします。

> 引用数と Saliency はどう違いますか？
>
> 引用数に基づく h/g-index のような手法では、各引用を等しく、そして時間的に変化のないものと考えます。一方で Saliency は、評判や年次と言った引用元の情報に基づいて、それぞれの引用に重み付けを行います。引用数を悪意を持って操作することは非常に容易い (e.g. "The Google Scholar expreiment") のに対し、Saliency を上昇させるためには、評判の高い会議へ論文を発表している多くの著名な研究者らを説得して、頻繁に自分の論文を引用してらう必要があります。Microsoft Academic へのランダムなアクセスを観察した結果、Saliency と引用数に基づいたランキングは 8 割しか一致しませんでした。引用数が多いのに Saliency が低い論文がしばしば存在しますが、それは Saliency が低いソースから多く引用されているか、しばらく最近の論文で言及がないかのどちらかに起因します。反対に、引用ソースのいくつかがの Saliency が急激に上昇した場合は、たとえその論文への新たな引用がなかったとしても、Saliency が向上する場合があります。
>
> Prestige は Saliency とどのように違いますか？
>
> Saliency はエンティティが注目を集めているかどうかを測定するため、著者/機関/出版機関は、単に量産することで高い Saliency  性を達成できます。しかしながら、我々のドメインエキスパートへのヒアリングの結果、しばしば「量」よりも「質の一貫性」を重視するほうが、研究者たちの認識するランキングの実情に合致することが明らかになりました。言い換えると、多くの場合、「回数」よりも「ヒット率」のほうがより主観的評価と相関があるようです。そこで、我々は Prestige と呼ばれる指標を導出します。これは、基本的に著者/機関/出版社の文献サイズで正規化された Saliency です。Prestige は、生産性と影響を完全に分解すべき状況で、過度に低く評価されてしまう指標の欠点をうまく回避する為に発見されました。

# 最後に

実際に使ってみると精度の高さに驚くと思います。
ぜひ一度好きなトピックの論文を検索してみてください！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127839/e0345676-4f85-98cb-24db-e1d2db6f559b.png)
**■ Home | Microsoft Academic**
https://academic.microsoft.com/home