三角獸與華為麒麟970聯合演示芯片級語義處理方案

韓平 8年前 (2017-11-30)

三角獸與麒麟970聯合演示本地快速處理智能語義意圖及信息提取、智能表情生成、智能自動回復等功能,強化手機終端精確語義認知的能力,

當前,人工智能已經是最熱門的技術。但縱觀產業界,大多人工智能的技術和能力都是在云端部署,很少有在端側部署的。今年9月,華為發布的麒麟970和蘋果發布的A11這兩款業界僅有的人工智能手機芯片,徹底改變了產業格局。其中,華為發布的麒麟970是業界首款人工智能手機芯片,是在端側人工智能領域的一次突破性探索,開創了人工智能手機應用行業先河。

作為全球領先的ICT廠商,華為此次能夠在全球率先推出人工智能手機芯片麒麟970 并不令人意外。相較前作960,除了CPU能效提升20%,GPU性能提升20%、能效提升50%之外,還創新設計了HiAI移動計算架構,首次集成NPU(Neural Network Processing Unit)專用硬件處理單元,其AI性能密度大幅優于CPU和GPU。相較于四個Cortex-A73核心,在處理同樣的AI應用任務時,新的異構計算架構擁有大約25倍性能和50倍能效優勢,這意味著麒麟970芯片可以用更少的能耗更快地完成AI計算任務。作為對深度學習、人工智能的前瞻性探索,華為這次用芯片級的方案,對硬件做到了“底層武裝”。

三角獸與華為麒麟970聯合演示芯片級語義處理方案

三角獸與麒麟970聯合演示本地快速處理智能語義意圖及信息提取、智能表情生成、智能自動回復等功能,強化手機終端精確語義認知的能力,打造極致手機操作和交互體驗。在這些功能的基礎上,可為手機拓展出豐富多樣的解決方案,讓手機更懂用戶,提供更好的交互體驗。

三角獸與華為麒麟970聯合演示芯片級語義處理方案

那么,這些功能具體是什么,又該如何應用呢?讓我們詳細研究一下:

1.智能語義意圖及信息提取

智能分析文本隱含的語義意圖并提取關鍵信息,對應到相關的功能和服務,以此優化用戶文本編輯的效率,減少操作路徑。

在我們日常使用手機的過程中,我們經常遇到以下場景:

朋友推薦了一個不錯的餐廳,希望得知它的價格、環境或導航去它的位置;

看到感興趣的歌手的新聞,希望了解TA的更多新聞或收聽TA熱門的歌曲;

一篇文章中提到的電影,想買一張它的電影票去附近影院觀看。

一個感覺不錯的商品,想了解商品詳情或價格;

在目前手機系統中,進行這些操作都比較繁瑣,以微信聊天內容的地址查詢舉例:

三角獸與華為麒麟970聯合演示芯片級語義處理方案

我們需要在復制整段文本后,找到地圖應用,然后用“胡蘿卜”似的手指對著一群細小的文字不斷觸碰,精確選擇到“北京市朝陽區惠新東街2號”,再進行搜索,才能查詢到所需內容。

經過三角獸智能語義理解能力的裝備后,這個繁瑣的步驟則可以一步到位了,不用找應用,不用為難我們“胡蘿卜”似的手指,你只需點擊再點擊就可以了!

三角獸與華為麒麟970聯合演示芯片級語義處理方案

于是,在手機在收到大段信息之后,不管是地址還是吃喝玩樂等信息,都可以同樣的一鍵識別,秒懂你的需求。下面,我們來看幾個平時經常出現的具體應用場景:

三角獸與華為麒麟970聯合演示芯片級語義處理方案

跟朋友聊天、提到了某個餐廳時,選擇這段文本,系統就可以識別提取出該餐廳名稱,并結合大眾點評等app獲取它的詳細資料,一鍵直接得知其價格、地址、環境等信息,是不是非常方便?

既然這種語義認知能力可以輕輕松松智能識別提取出商店、地址等種種信息,那么商品、視頻名稱等等關鍵詞自然也不在話下了。在相關app的支持下,用戶同樣可以一鍵獲取購物鏈接、視頻信息等,輕松實現后續動作。

三角獸與華為麒麟970聯合演示芯片級語義處理方案

三角獸與華為麒麟970聯合演示芯片級語義處理方案

三角獸與華為麒麟970聯合演示芯片級語義處理方案

三角獸與華為麒麟970聯合演示芯片級語義處理方案

技術原理:

通過數百萬級的各種場景下語料(如新聞、百度百科、百度知道、聊天、論壇、短信等),訓練而成Bi-LSTM模型的Seq2Seq模型。

三角獸與華為麒麟970聯合演示芯片級語義處理方案

基于Seq2Seq的方法,將命名實體識別抽象為一個序列標注的過程,具體分為Encoder和Decoder兩個階段:

?在Encoder階段,詞的序列分別按照句子行文的次序正向和反向通過LSTM的Cell

?在每個詞的位置,生成截止到當前位置句子的正向和反向語義表示 和 (其中, 表示位置的語義表示,表示正向,表示反向)

?在Decoder階段,按照詞序列的順序,生成每個詞對應的命名實體識別的結果(如果不是一個命名實體,則輸出Other)

?解碼階段,會綜合當前位置的隱層語義 ( 表示位置,以下同理),上一個命名實體輸出 ,以及基于Attention Mechanism的Context Embedding的三個語義變量,共同構成Decoder LSTM Cell的輸入

具體到Context Embedding向量 的計算過程:

?根據與encoder階段的 系列,系列計算Attention的權重

?,系列與權重 進行加權求和,得到用于生成位置 的命名實體所需要的上下文語義變量

?在Decoder輸出隱層語義 之后,再通過Softmax層,將隱層變量空間,映射到命名實體分類體系空間,得到每種命名實體的概率,再選出概率最大的命名實體進行最終輸出

這段是不是說的太高深,很難懂?沒關系,咱們來個簡單的解釋:Encoder可以理解為把人類的自然語言翻譯為機器語言,Decoder可以理解為機器用自己的語言對人類的自然語言進行解釋,識別出每個詞語的意義。比如對于“那家渝鄉小館的辣子雞真好吃”這句話,在Decoder階段,對于“渝鄉小館”這一實體,計算機對其上文(前序詞語)和下文(后序詞語)進行理解后,并經過模型的概率計算,得出結果為“渝鄉小館”最大概率是一家餐廳。上文例子中的“五道口看戰狼2”中,同樣的道理可以將“五道口”識別為地址,“戰狼2”識別為電影。

目前,整個模型支持20多種命名實體的識別,可應用于各類不同app與場景中。

三角獸與華為麒麟970聯合演示芯片級語義處理方案

三角獸與華為麒麟970聯合演示芯片級語義處理方案

2.智能表情生成

智能分析文本隱含情緒意圖,輔助用戶選擇最合適的表情。

聊天機器人并不罕見,但是一個能準確了解你的心思,還能幫你回復表情表示復雜情緒的機器人,是不是就比較稀有了?裝備了智能表情生成功能之后,通過模型,聊天機器人可自行計算判斷對話中體現的情緒意圖,并在回復時列出概率最高的表情作為備選項,進行便捷回復。

三角獸與華為麒麟970聯合演示芯片級語義處理方案

收到消息后,用戶只需輕松點擊對話文本,選擇智能表情回復,就可以點選表情進行回復了,省去了在大量表情庫里苦苦尋覓可用表情的麻煩。

目前三角獸能夠智能生成回復的表情包括20個,除了常規的開心、難過等簡單類別,更能通過計算判斷回復尷尬、驚恐、賣萌等復雜表情。

三角獸與華為麒麟970聯合演示芯片級語義處理方案

智能表情生成示例

技術原理:

抓取數億級帶有表情標簽的公開對話語料,經數據清理后選擇出數千萬高質量數據,使用這些數據訓練CNN模型構建智能情緒分類系統,下圖為帶有表情標簽的原始訓練數據示例:

三角獸與華為麒麟970聯合演示芯片級語義處理方案

三角獸與華為麒麟970聯合演示芯片級語義處理方案

CNN模型判斷一段文本的情緒分類分為以下階段:

?Embedding Layer

?查詢輸入句子中每個詞的Word Embedding,組合成句子的二維語義表示

?Convolution Layer

?定義多個大小的卷積窗口,以覆蓋多種長度的相鄰詞組

?滑動各窗口對句子的二維語義表示進行卷積操作,獲取相鄰詞組的語義特征

?Max-Pooling Layer

?通過取最大值方式,分別對每個窗口生成的語義特征進行采樣,以減少特征維數并捕獲最重要語義特征信息

?Full connected layer

?將各窗口Pooling之后的語義特征進行拼接,并經過非線性變換輸出整句語義特征

?Softmax Layer

?整句語義特征經過Softmax層計算得到各表情的概率預估值

最終選擇出概率最大的N個情緒類別作為最終輸出。

簡單地說,就是通過多次卷積計算,和特征提取,最終把整個語句映射到多個類別中,取概率最高的類別來進行表情匹配。

3.智能自動回復

智能理解文本內容,自動生成回復建議供用戶選擇回復。

顧名思義,這個功能賦予了系統智能自動回復的能力。當用戶收到某條信息時,系統可以智能理解文本內容,生成幾個選項,作為可回復句子的備選,讓回復消息也變成了動一下手指就能解決的事情。這在大大為用戶提高了回復效率的同時,也能保證回復質量:使對話持續且有效地進行,避免答非所問的“尬聊”,實現對用戶問題的有效而精準的回復。

三角獸與華為麒麟970聯合演示芯片級語義處理方案

在忙碌的生活中,我們經常會有不方便與其他人進行聊天的情況。而這時,借助智能自動回復的能力,聊天也變成了一鍵可實現的事情:只需要選中文本,選擇智能回復功能,并在備選項中選擇自己想回復的內容條目,便可直接進行回復。

技術原理:

從互聯網上抓取數億量級的人與人間的公開對話語料,使用這些海量數據訓練Seq2Seq深度學習模型構建智能自動回復系統。

三角獸與華為麒麟970聯合演示芯片級語義處理方案

原始對話訓練數據示例

Seq2Seq生成式對話模型:

三角獸與華為麒麟970聯合演示芯片級語義處理方案

Seq2Seq模型生成自動回復的過程分為Encoder和Decoder先后兩個階段:

?在Encoder階段,按照輸入句中詞序的正反兩個方向逐個處理每個詞:

?通過GRU/LSTM單元來融合以下因素,生成句首到當前詞的左子句語義表示Li

?當前詞的語義表示Xi

?左側上一位置左子句的語義表示Li-1

?通過GRU/LSTM單元來融合以下因素,生成句尾到當前詞的右子句語義表示Ri

?當前詞的語義表示Xi

?右側下一位置右子句的語義表示Ri-1

?在Decoder階段,逐個生成輸出句中的每個詞

?通過GRU/LSTM單元融合以下因素,生成當前位置的隱層語義表示Si:

?由Attention Mechanism生成當前位置的語義表示Ci

Ci計算過程如下:

?Encoder階段每個詞的左右子句語義表示(Lj和Rj)拼接為Hj

?根據Si-1及Hj,計算當前位置與每個Hj的權重aij

?Ci 為所有Hj與aij乘積的加和

?生成序列中上一位置詞的語義表示Yi-1;

?生成序列中上一位置的隱層表示Si-1

?基于當前位置的隱層語義表示Si,使用Softmax層計算得到詞表中每個詞的概率分布,并選擇出最大概率的詞為當前位置輸出詞

?當選擇出的輸出詞為句尾標志時,整句生成結束

在實際Decoder過程中,使用Beam Search方法最終輸出概率最大的N個輸出序列。

可以將我們生成回復的模型近似地想象為一個“翻譯機”。當然,這和傳統意義上的翻譯并不是一回事,只是為了幫助大家理解這一過程打的比方。這個“翻譯機”采用了逐詞生成機制,根據輸入語句所包含的語義,以及上一階段生成的文字,對現階段將要生成的詞語進行概率計算,最終逐個詞生成并連貫為一句話。

以上三個功能均由三角獸提供算法模型,并運行在麒麟970芯片上,充分展示手機本地端做智能語義處理的能力。一般來說,移動端AI由云端與終端兩部分組成,由于云端受限于時延和安全性等,催生AI的“推斷”部分向終端下沉。AI芯片級的自然語言處理能力,具有更高算力,更低時延、更低功耗,也相對安全。不難發現,為底層終端注入AI能力可謂優勢明顯,擁有巨大潛力與商業價值。

這些功能也更能在很大程度上優化用戶體驗:一方面,這些功能省去了移動端上的繁瑣操作,不但能直接提取關鍵信息進行簡便操作,還使消息回復也變得輕松快捷,大大提升了交互的便捷性;另一方面,在高效提升效率的同時,對話過程的生動流暢性也能得到保證,對話精確有效,且高度擬人化。這幾大功能的結合,必將重新定義用戶對手機交互的心理認知。

三角獸在與企業的合作中也在積極探索,尋找最優解決方案,發揚自身技術能力,為企業和用戶不斷提升效率、降低成本,打造更佳使用體驗。

最后,記得關注微信公眾號:鎂客網(im2maker),更多干貨在等你!

鎂客網


科技 | 人文 | 行業

微信ID:im2maker
長按識別二維碼關注

硬科技產業媒體

關注技術驅動創新

分享到