微軟牛津計畫,輕鬆打造自然語言應用

2022-02-16 20:43:22 字數 3993 閱讀 1912

還記得不久前火過的那個測年齡應用how-old嗎?使用者只要將**上傳到網上,這個應用就可以識別出**裡有幾個人,他們的年齡分別是幾歲。這項有趣的應用正是基於牛津計畫人臉技術的其中乙個應用,與此相類似的還有twinsornot等。牛津計畫就像乙個「黑科技」的雜貨鋪,使用者只要註冊乙個免費的秘鑰,即可使用這些api輕鬆地打造自己個性化的應用,而不需深刻理解其背後複雜的演算法和模型。牛津計畫的提出很大程度上得益於其新任ceo 薩蒂亞•納德拉 (satya nadella)。這位印度裔高管上台初始就確定了微軟今後「移動為先雲為先」的戰略,而牛津計畫正是微軟雲平台 azure 的一部分。通過開放api和sdk的形式,將它借給第三方開發者使用,這也正體現了乙個行業領導者所具有的責任與胸懷。

除了影象視覺方面的技術,牛津計畫還開放了很多語音識別和語言理解方面的api供開發者呼叫,為人類與計算機進行輕鬆「對話」貢獻乙份力量。例如聲紋識別(speaker recognitionapis)、自定義智慧型語音識別服務(cris)、語言理解智慧型服務(luis)以及拼寫檢查服務(spell check api)等等。不僅提供微軟最先進的雲端聲紋識別演算法,可識別音訊流中的人聲;還能幫助開發者建立自定義語音識別端點的門戶,可根據應用的環境、使用者群體和詞彙表進行量身定製;更可以幫助開發者在應用中增加語言理解能力,讓應用具備網路級語言模型的強大處理能力。

那麼牛津計畫中語音識別和語言理解領域的技術服務究竟是什麼樣的,它們是如何被研發出來的呢?近日,infoq就該問題採訪了微軟中國雲計算與企業首席專案經理李京梅女士。首先對李女士做乙個介紹:

李京梅女士,本科畢業於北京大學並在美國取得紐約州立大學碩士學位。現任微軟中國雲計算與企業首席專案經理,負責微軟牛津計畫(project oxford)平台的開發工程及運營。她擁有18年軟體開發及it行業經驗,其間在美國和中國微軟公司任職近十年,先後在諮詢服務和研發部門擔任技術架構師和產品專案經理職務。

infoq:您好,李女士。首先請您對微軟的牛津計畫做乙個介紹。

李京梅:牛津計畫最早是在4月29日的全球 「build 2015」大會上公布的,當時公布的時候有4款api。「牛津計畫」僅僅是乙個代號,在正式商用之前便於大家記住。牛津計畫現階段還處於公測階段,我們希望有更多的使用者去使用,尤其是第三方的開發者,並提供反饋,以便我們不斷更新和迭代,並最終形成對外發布的版本。牛津計畫是一系列api,剛剛推出的時候僅有4款:人臉識別、語音識別、計算機視覺和語言理解智慧型服務;今天牛津計畫已經發展到11款api了。

在這背後有很多微軟的大型團隊進行支援,例如以沈向陽博士為領導者的微軟研究院以及將演算法變成現實產品的工程團隊。這些團隊在牛津計畫之前都已經存在了很多年了,但之前的這些所謂的「黑科技」都是存在與微軟的現有產品或應用服務中的,例如windows、bing.com等;但當開發者真正想要用到這些核心技術時,除了購買產品幾乎別無他法,因此微軟想要將這些核心技術開放給廣大的開發者。這些開放給廣大開發者的api具有以下特點:

目前牛津計畫的api服務可以分為:視覺、語音和語言三類領域。基本涵蓋了人類「聽(語音)、說(語言)、讀(視覺)、寫(拼寫檢查)」的各個方面。

infoq:那麼牛津計畫中的語音識別和語言理解這兩款api是怎樣的?

李京梅:至於語音功能則是來自於cortana(微軟小娜)的核心技術,還是比較成熟的,只不過將cortana當中核心技術拿出來做成了api提供給大家而已。在第一款語音api中,僅能實現語音轉文字(語音識別)和文字轉語音(語音合成)的功能,這兩項技術與cortana是完全一樣的。在語言理解的api——即luis中,與語音識別不同的是它包括模型訓練的過程,現在luis已經對公共開放測試,通過訪問 即可參與測試。語言理解更多的針對文字,會幫助我們標註「intent(意圖)」和「entity(實體)」;與此同時還提供一些現有的模型,例如「小娜」語言理解模型,也提供了自定義模型的功能,目的是為使用者提供方便。

「小娜」語言理解模型中有很多現成的功能,例如「幫我設定乙個明早7點的鬧鐘」這樣的語言命令可以直接呼叫。如果開發者想要建立乙個「鍛鍊身體」的語言模型,卻沒有現成的語言模型可以呼叫,可以自己訓練諸如「追蹤我的自行車訓練」這樣的語言命令,並進行標註其語義(intent)和實體(entity)。語言理解背後很多模型都用到了深度神經網路,我們將基本的資料進行訓練後,被訓練的模型就會根據使用而變得越來越「聰明」,這即是學習的過程。

luis——語言理解智慧型服務在標註了自定義的意圖和實體之後,開發者可以將其對外發布成自己的「runtime」——即自己的服務。就像微軟提供的一些語音識別、人臉識別服務,都是前期訓練好的runtime,只不過用的是微軟自己收集的資料集來訓練出來的。

infoq:這些微軟收集到的,用於訓練模型的資料集會有多大體量呢?

李京梅:不同api有所不同。這些api都是由不同的研發團隊研發而成的,不同服務的研發團隊所收集資料的方式、收集資料的體量都各有不同。例如cortana的美國研發團隊與負責人臉識別的國內研發團隊收集資料的方式與體量是不一樣的。牛津計畫涉及到很多團隊的工作,但並不存在乙個專門為此提供資料的部門。

infoq:目前市面上存在很多其他廠家的語音識別api,牛津計畫的語音識別api相較於它們有什麼特色或者創新之處嗎?

李京梅:凡是進入到「牛津計畫」中的api,目前在微軟中的技術一定是相對有競爭力的。從研究領域來說,計算機視覺和語音在業界是有不同的衡量標準的,大家進行測試和排名的標準也不一樣。從技術上來說,業界彼此所提供的功能也不同。以計算機視覺為例,人們可以簡單地講:「我這是一款計算機視覺的api。」但是每一款api裡面可能還包括很多細分的專案,在每乙個細分專案上會有自己不同的衡量和排名。

另外,在研究領域上,如果我們某個研究團隊的研究成果獲得了一些排名,精確度有所提高,但也僅僅是在該研究領域的技術層面來看,不等於我們的api與該研究成果是等同的。從api的角度很難去做比較,很難簡單地從數字指標的方式去評判優劣。

infoq:在語音識別過程中人們往往會碰到遠場識別和噪音環境下識別等特殊情況,微軟在這兩方面的應對方案是怎樣的?

李京梅:我們有「cris」---自定義智慧型語音識別服務。2023年4月份發布的語音識別服務是微軟提前訓練好的、通用的模型。通用模型只在正常環境下那些各方面都健全、各個年齡段都有的人群,其測試結果才會比較高。而我們有時候會涉及到特定人群:例如托福考試中非英語母語的人群,說出的英語往往帶有口音;老人院中的老人,說話往往不太清楚;比如迪斯尼遊樂場這樣的噪音環境。針對上述這些特殊環境,我們允許開發者使用自己的、適用於特殊環境的資料集來訓練出乙個定製化的模型。由於這些資料是針對小範圍的、特殊人群(或特殊環境下)的,因此使用cris開發出的自定義服務在這些語音識別環境下的識別精確度比通用模型要好很多。cris要求我們的開發者具有自定義的資料集,目前還處於內測階段,開發者可以去申請使用。

infoq: 從api發布之後,微軟使用api收集使用者資料的過程是怎樣的?會涉及到使用者隱私嗎?

如果這個資料是事務(transaction)所必須的,例如聲紋識別資料、人臉影象資料。使用者需要提供這些資料來進行建檔/建模,微軟肯定需要收集這些資料,幫助使用者「註冊」。

infoq:語音識別api和語言理解api目前有成熟的產品應用嗎?

李京梅:現在說「成熟的產品應用」還有點早,因為整個牛津計畫發布到現在還不到一年。「微軟小冰」對我們來說就是乙個應用,雖然它集結了微軟的各種技術,但其中語音部分就用了牛津計畫中的語音識別技術。現在也有很多使用者在使用牛津計畫api,但是暫時沒有多少使用者將其開發出的產品公布出來。

infoq:牛津計畫對於自然語言處理技術未來的期待是怎樣的?

李京梅:牛津計畫還是很注重各個技術領域的平衡。雖然剛開始自然語言處理技術在牛津計畫中所佔的比重比較小,但是目前也開始慢慢上來了。後續還會有像「知識」、「字典」、「字型檔」這樣偏向語言的服務出現。

立即訪問

封裝微軟牛津計畫API客戶端

本主題所有內容以軟認知服務為技術基礎 關於微軟人臉識別,請參閱 本節內容請先參閱微軟認知服務人臉api介面列表 封裝微軟牛津計畫api客戶端 牛津計畫的api是由乙個基礎url 服務名稱 引數組成為的服務,大多是post 我還沒有完全看完 這些引數多是字串,但也有流格式 比如上傳什麼的 我們的pro...

當微軟牛津計畫遇到微信APP 一

本主題所有內容以軟認知服務為技術基礎 關於微軟人臉識別,請參閱 本節內容請先參閱微軟認知服務人臉api介面列表 微軟牛津計畫提供了一組基於rest架構的api和sdk工具包,幫助開發者輕輕鬆鬆使用微軟的自然資料理解能力為自己的解決方案增加智慧型服務。利用微軟牛津計畫構建你自己的解決方案,支援任意語言...

微軟認知服務開發實踐(1) 牛津計畫簡介

近些年來由於雲平台 大資料 高效能計算 機器學習等領域的進步,人工智慧也火了起來。人臉識別 語音識別等相關功能早已被提出,但是能夠形成產品並大規模使用的很少。因為非專業人員很難獨自實現一套完整人工智慧方案,涉及人工智慧基本只能去找開源的庫,畢竟所以自己去訓練網路,自己去學習各種庫的使用並移植到自己的...