Academic Knowledge APIAcademic Knowledge API

歡迎使用學術知識 API。Welcome to the Academic Knowledge API. 有了這項服務,您便可針對學術目的來解譯使用者查詢,並從 Microsoft Academic Graph (MAG) 擷取豐富資訊。With this service, you will be able to interpret user queries for academic intent and retrieve rich information from the Microsoft Academic Graph (MAG). MAG 知識庫是 Web 規模的異質實體圖表,並由為學術活動建模的實體所組成:研究領域、作者、機構、論文、地點和事件。The MAG knowledge base is a web-scale heterogeneous entity graph comprised of entities that model scholarly activities: field of study, author, institution, paper, venue, and event.

MAG 資料都採礦於 Bing Web 索引和 Bing 之中的內部知識庫。The MAG data is mined from the Bing web index as well as an in-house knowledge base from Bing. 由於 Bing 的索引編制會持續進行,所以此 API 會因為 Bing 的探索和索引編製而包含最新 Web 資訊。As a result of on-going Bing indexing, this API will contain fresh information from the Web following discovery and indexing by Bing. 根據此資料集,學術知識 API 可啟用知識驅動的互動式對話,其透過主動式建議體驗、多種研究論文的圖表搜尋結果,以及一組論文和相關實體屬性值的長條圖分佈,與回應式搜尋完美結合。Based on this dataset, the Academic Knowledge APIs enables a knowledge-driven, interactive dialog that seamlessly combines reactive search with proactive suggestion experiences, rich research paper graph search results, and histogram distributions of the attribute values for a set of papers and related entities.

如需有關 Microsoft Academic Graph 的詳細資訊,請參閱 more information on the Microsoft Academic Graph, see

學術知識 API 已經從認知服務預覽移至認知服務實驗室。The Academic Knowledge API has moved from Cognitive Services Preview to Cognitive Services Labs. 此專案的新首頁是: new homepage for the project is: 您現有 API 金鑰的有效期限是 2018 年 5 月 24 日。Your existing API key will continue working until May 24th, 2018. 在此日期之後,請產生新的 API 金鑰。After this date, please generate a new API key. 請注意,您現有金鑰到期之後,將無法再使用付費預覽版。Please note that paid preview will no longer be available once your existing key expires. 如果 API 的免費層不夠您使用,連絡我們的團隊。Please contact our team if the free tier of the API is not sufficient for your purposes.


學術知識 API 包含四個相關的 REST 端點:The Academic Knowledge API consists of four related REST endpoints:

  1. interpret – 解譯自然語言的使用者查詢字串。interpret – Interprets a natural language user query string. 傳回已標註的解譯來獲得豐富的搜尋方塊自動完成體驗,進而預期使用者所鍵入的項目。Returns annotated interpretations to enable rich search-box auto-completion experiences that anticipate what the user is typing.
  2. evaluate – 評估查詢運算式並傳回學術知識實體結果。evaluate – Evaluates a query expression and returns Academic Knowledge entity results.
  3. calchistogram – 計算查詢運算式所傳回的學術實體屬性值發佈長條圖,例如指定的作者依年份的引文發佈。calchistogram – Calculates a histogram of the distribution of attribute values for the academic entities returned by a query expression, such as the distribution of citations by year for a given author.

一起使用這些 API 方法,即可打造豐富的語意搜尋體驗。Used together, these API methods allow you to create a rich semantic search experience. 指定使用者查詢字串後,interpret 方法會提供註釋版的查詢和結構化查詢運算式,同時根據基礎學術資料的語意選擇性地完成使用者查詢。Given a user query string, the interpret method provides you with an annotated version of the query and a structured query expression, while optionally completing the user’s query based on the semantics of the underlying academic data. 例如,如果使用者輸入字串 latent s,interpret 方法會提供一組有排名的解譯,並暗示使用者可能會搜尋 latent semantic analysis 研究領域、latent structure analysis 論文或其他開頭為 latent s 的實體運算式。For example, if a user types the string latent s, the interpret method can provide a set of ranked interpretations, suggesting that the user might be searching for the field of study latent semantic analysis, the paper latent structure analysis, or other entity expressions starting with latent s. 這項資訊可用來快速將使用者指引至所需的搜尋結果。This information can be used to quickly guide the user to the desired search results.

evaluate方法可用於從學術知識庫中擷取一組相符的論文實體,而 calchistogram 方法可用於計算一組論文實體的屬性值分佈,其可用來進一步篩選搜尋結果。The evaluate method can be used to retrieve a set of matching paper entities from the academic knowledge base, and the calchistogram method can be used to calculate the distribution of attribute values for a set of paper entities which can be used to further filter the search results.

開始使用Getting Started

請如需詳細文件,請參閱左側的子主題。Please see the subtopics at the left for detailed documentation. 請注意,為了改善範例的可讀性,REST API 呼叫包含未經過 URL 編碼的字元 (例如空格)。Note that to improve the readability of the examples, the REST API calls contain characters (such as spaces) that have not been URL-encoded. 您的程式碼必須套用適當的 URL 編碼。Your code will need to apply the appropriate URL-encodings.