以下通訊來自微軟研究院的一位傑出科學家Ashok Chandra博士和微軟研究院的程式經理Dhyanesh Narayanan。
當我(指Ashok)70年代還是斯坦福大學人工智慧實驗室的學生時,我十分樂觀的認為人類級別的機器智慧指日可待。 並且,與此同時電腦因使用機器學習(ML)的技術正變得日益強大。 正因為如此,幾乎所有微軟的新產品都不同程度的使用了機器學習技術來分析語音、資料和文本。 在這篇通訊中,我們主要側重于文本。
當電腦更好地理解了自然語言,新的領域不斷被開創,例如:使用者應用的人機界面的提升,更為完善搜素引擎,Cortana和Siri這樣的個人助理和一些分析給定文獻的工具。 例如,一個新聞網站如果能夠將文章裡提到的人使用演算法連結到維琪百科,那麼這個網站則更加吸引人,在網站中使用者能夠很容易地獲取關於某些人的更多資訊。 此外,通過對於文本中額外資訊的利用,使用者能夠輕易分別文章所講的顯著實體(如:運動員,球隊等),如圖1所示:
圖1 文本分析的願景
文本分析一直是科學研究較為活躍的領域。 畢竟創造所有人類知識(文本表示)不是一項輕鬆的工作。 90年代至今的早期工作,包括Brill標籤器[1]的工作確定了句子中的部分詞性,[2]的工作也對新工作有一定的啟示。 微軟研究院一直熱衷於在科學領域創造新的想法,但是我們又進一步將新科技落到實處,創造出了產品級別的技術。
在這篇博客通訊中,我們簡要展示了人工智慧技術如何通過利用命名實體識別(NER)技術應用於文本分析。 作為一個提供完整並可直接使用的機器學習功能的平臺,Microsoft Azure ML包含了文本分析的基本能力,並且特別支援了NER–因此我們可以將籠統的概念與具體的設計選擇聯繫起來。
NER是將文本與人、地點、組織、運動隊伍等進行參照的技術。 讓我們概覽一下如何利用「有監督學習」解決這個問題:
圖2 命名實體識別流程圖
在設計階段或「學習時間」,系統會利用訓練資料創造一個學習任務的「模型」。 這種方法從小部分例子中概化來處理任意新文本。
訓練資料包括了人類標注的被學習的命名實體的標籤。 這看起來就像:「當Chiris Bosh超常發揮,邁阿密熱火隊將變得強大無比」。 這個模型預期能夠從自然的例子中學習,訓練得能夠從新輸入的文本中識別運動員實體和隊名實體。
設計階段流程的效果取決於特徵提取階段–一般而言,特徵提取越多,模型越強大。 比如在一個文本中和一個詞相關的局部語句[比如,前k個詞和後k個詞]是我們人類用來將詞和實體聯繫起來的強大特徵。 例如,在句子「San Francisco beat the Cardinals in an intense match yesterday」,很顯然句子中提到的「San Francisco」指一個運動隊而不是地名三藩市。 字母大寫是識別命名實體例如文中出現的人、地點的又一實用特徵。
模型訓練就是機器學習做的事,如:產生一個好的模型。 一般而言,特徵的選擇是一個複雜的組合過程。 有許多可以用的機器學習技術,包括感知元(Perceptron)、條件隨機場(Conditional Random Fields)等。 技術的選擇依賴于使用有限訓練資料的模型精確性、處理的素的和能夠被自動學習的命名實體數量。 例如,Azure ML NER模組預設支援三種類型實體:人、地點和組織。
執行時間流程的目標是輸入未標記文本並且產生被創建出的模型在設計階段識別的相應的輸出文本。 正如人們能夠觀察到的一樣,執行時間流程從設計階段流程服用了特徵提取模組–因此,如果對於一個應用高效徹底的實體識別是必須的話,必須在運行進程中提供相對輕量的高值特性。 作為一個說明性的例子,Azure ML NER模組使用了一小部分容易計算的、主要基於本地文本的特性,事實證明也十分有效。 處理過程中產生的歧義通常利用Viterbi的工具解決,將實體標籤分配給一系列輸入單詞。
值得注意的是,NER只是開始,但是卻是從原始文本中捕獲「知識」的重要一步。 最近的博客通訊描述了NER加上一系列相關技術是如何提升Bing體育app的體驗的–非常相似的NER棧也可供你在Azure ML中使用。 除了NER,自然語言分詞、連結和顯著性、情感分析、事實提取等代表了提升使用者文本相關應用體驗的重要的步驟,這是能夠説明你使文本「生動」的額外技術。
我們希望你喜歡這篇通訊,並且期待您的建議。
參考文獻
[1] Eric Brill, 1992, A simple rule-based part of speech tagger, Applied natural language processing (ANLC ’92)
[2] Li Deng, Dong Yu, 2014, Deep Learning: Methods and Applications