1. 程式人生 > >資料變金礦:一文讀懂序列模型(附用例)

資料變金礦:一文讀懂序列模型(附用例)

作者:TAVISH SRIVASTAVA

翻譯:王雨桐

校對:丁楠雅

本文約3000字,建議閱讀15分鐘。

本文將通過思想實驗和一些應用案例來簡要介紹序列模型的必備知識。

簡介

眾所周知,人工神經網路(ANN)的設計思路是模仿人腦結構。但是直到10年前,ANN和人類大腦之間唯一的共同點是對實體的命名方式(例如神經元)。由於預測能力較弱並且實際應用的領域較少,這樣的神經網路幾乎毫無用處。

但是隨著近十年來技術的飛速進步,神經網路越來越接近人腦,這使得ANN在各個行業中應用得越來越多。

本文中,我們將介紹人工神經網路(ANN)領域的兩大革新,這些革新使得ANN更接近於人類大腦。

目錄

  • ANN領域的兩大革新

  • 思想實驗

  • 序列模型的實際應用

  • 序列生成器

  • 序列到序列NLP模型

  • 一些非文字的序列到序列模型

ANN領域的兩大革新

  1. 隨著GPU極大地提升了計算能力,我們可以大幅度地增加神經元的深度和廣度。然而這樣的人工神經網路仍然遠遠不及大腦的神經元數量。

  2.  ANN現在既可以處理輸入節點的序列資料,也可以處理輸出節點的序列資料。這和我們大腦的工作模式一樣。人類大腦並不是通過二分類來理解複雜的理念的。基於一系列給定的資訊,我們形成了“思想”,隨後大腦會通過一系列可以理解的詞彙來表達“思想”。

我們能否在ANN中引入“思想”的概念呢?答案是肯定的,本文將進一步討論這個理念。

現實世界的大部分資料都是以序列的形式出現的,這使得序列模型受到越來越多的關注。序列可能是數列、圖片畫素序列、視訊序列或者是一段音訊序列。

在過去的十年間,我們已經儲存了近1000PB(或者超過109GB)的非結構化資料,以前我們很難從中提取資訊,幸運的是,我們現在有序列模型這樣新型的神經網路結構,它可以把資料變成金礦。

本文並不討論序列模型背後所有複雜的數學原理,或是提供一些執行序列模型的示例程式碼(我將把程式碼留給以後的文章)。本文想要提供一些行業內應用序列模型的實際案例,從而幫助你識別出可以通過此類模型解決的商業問題。

為了更好地理解本文,接下來希望你能想象一個場景。請開啟你的分析推理模式吧!

思想實驗

假如現在沃爾瑪指派你負責一個新專案 – WalKiosk,希望你帶領團隊開發出無人自助超市,顧客只需要和沃爾瑪的Kiosk互動就可以完成購物,就好像自動售賣機一樣。沃爾瑪想把這樣的Kiosk應用在美國各地。

Kiosk和普通自助售賣機的關鍵區別是Kiosk不會展示售賣商品的名錄,而是通過音訊開啟一個類似Google 的搜尋引擎。顧客走到Kiosks面前,以“OK Walmrt, xxxxxx”這樣的關鍵字開頭,然後說出或輸入想要的商品。下面是一個互動案例(你可以試著評估一下人類售貨員是否能比Kiosk 做的更好):

顧客說“OK Walmrt,,我想要Leonardo DiCaprio 和Nolan搭檔的第一個電影中,第一幕裡他穿的那雙鞋。”使用的是某國語言。

你的團隊要做的是讓Kiosk快速搜尋,如果找到一個可靠的答案,就通過客戶諮詢時使用的語言來回復,比如“Leonardo DiCaprio穿的是黑色xxxxx款的Nike鞋。點選連結觀看您所需物品的短視訊介紹。好訊息--我們目前有您需要的款式和鞋碼,價格是200美元。由於您是沃爾瑪的忠實使用者,我為您找到了合適的折扣!立即購買僅需150美元。”

如果顧客說“好的我買了”,Kiosk會在顧客付款後立刻交貨。

Kiosk最後說道“感謝XYZ先生今日的惠顧,請為我們的服務提供寶貴建議,以便我們不斷改進”,然後顧客通過文字或語音留下對本次交易的反饋後離開。

這樣一個簡單的交易現在如今的世界裡要佔據你大塊的時間,但是今後只需要不到兩分鐘(如果一切正常的情況下)。

這聽起來是不是很超前?實現Kiosk的功能主要通過一個簡單的結構--序列模型。以下是Kiosk需要具備的功能列表:

  1. 語音識別用於理解顧客所述的內容。

  2. 機器語言翻譯用於將顧客的語言翻譯為指定的語言(比如英語)。

  3. 命名實體/主題提取用於找到步驟2中顧客需要的主要物品。

  4. 關係分類用於標記步驟3中各種實體之間的關係。

  5. 查詢應答(類似Google搜尋)通過核心知識圖,找到步驟3和4中實體的關係。

  6. 語音生成將步驟5中找到的所有相關資訊生成顧客需要的答案。

  7. 聊天機器人使機器的對話能力更接近於人類。

  8. 文字總結用於將使用者的反饋總結為關鍵點或痛點。

  9. 產品銷售預測用於補充庫存。

完成Walkiosk所需的不僅僅是以上九個功能,但是它們足以實現核心想法。九個功能中的任意一個都可以通過單一結構----序列模型構建。

你可以將序列模型想象為一個幾乎保持不變的黑匣子,只需要按這九個功能改變輸入和輸出資料,每個功能的模型架構是相同的。我們可以進一步生成以任何語言為輸入的單一模型,一併完成自助服務過程、報告過程、庫存管理過程。

如果這還不足以幫助你完整了解序列模型,讓我們整理一個序列模型可以實現哪些功能的詳盡列表。

序列模型的實際應用

為了確保列表儘可能涵蓋序列模型的潛在用例,我們基於輸入和輸出序列的型別進行分類。輸入和輸出可以是以下任意一種:標量(Scalar)、趨勢、文字、影象、音訊和視訊。如果以上六種都可以作為輸出和輸入,我們一共得到36種分類,然而不是每一種組合的研究都已經成熟。

在閱讀下面這個列表之前,你可以先停下來。嘗試寫出你自己的用例列表(可以參考前文的思想實驗)。

列表如下:

輸入

輸出

用例

型別

元素

型別

元素

標量

單個

趨勢

多個

模式生成

音訊

多個

音樂生成

文字

多個

文字生成

影象

多個

圖片生成

趨勢

多個

標量

單個

股票交易決策

固定時段的績效預測

趨勢

多個

DNA序列分析

時間序列預測

文字

多個

標量

單個

情感分類

話題分類

答案選擇

文字

多個

文字總結

機器翻譯

聊天機器人

命名實體識別

主題提取

詞性標註

文字蘊含

關係分類

趨勢

多個

查詢應答

音訊

多個

語音生成

影象

多個

標量

單個

面部表情標註

實體分類

文字

多個

影象描述

影象

多個

影象修整

音訊

多個

標量

單個

情感分類

對話人數標註

話題分類

文字

多個

語音識別

會議總結

音訊

多個

語音助理

視訊

多個

標量

單個

行為識別

文字

多個

字幕生成

表格中的名詞解釋:

型別是輸入或輸出的型別。

元素是輸入或輸出序列中元素的數目。

用例是分類中可能的應用方向。

下面我們將介紹一些實際案例,帶你領略序列模型的超能力。

首先,我們先介紹最簡單的—序列生成器

這些生成器通常採用標量作為輸入,標量輸入可以是任意的隨機種子或資料。以下是一些生成器的案例:

值得注意的是,我們可以用任何特定型別的資料來訓練模型。例如,如果我們用哈利波特的書來訓練文字生成器(Text generator),很可能會得到一段有關於哈利波特主人公的奇幻文字。如果你足夠幸運,可能會得到一個有實際意義的章節,於是你創造了屬於你的獨創內容。

如果你用爵士樂訓練模型,你可能會通過模型生成同一風格的新曲子。如果你用動物的圖片訓練模型,你可能會看到雜交物種的樣子。

其次,我們介紹最受歡迎的-序列到序列 NLP模型

機器語言翻譯(Machine Language Translation)已經達到新的高度,現在正和人工翻譯展開激烈的競爭。如今,你可以輕鬆找到基於序列到序列模型(Sequence to sequence, seq2seq)核心概念的實時翻譯機器。

文字總結(Text Summarization)是序列模型的另一個重要用例。文字總結可以顯著減輕以下工作負擔--閱讀顧客冗長的投訴、電話/通訊監控、彙總顧客對產品的反饋等。

聊天機器人(Chatbot)是另一個重要的用例,目前被廣泛地應用於經營活動、呼叫中心、交流中心和類似Siri、Google Home、Alexa型別的使用者輔助。

最後,我們介紹更多非文字的序列到序列模型

語音識別(Speech Recognition)是目前最受投資追捧的一個領域,其在個人Al助理(Alexa、Google Home等)和呼叫中心語音記錄工具等用例中扮演了非常重要的角色。

在上圖提到的三項技術中,目前有市值約10億美元的企業以語音識別為核心競爭力,語音識別中廣泛地使用序列到序列模型。影象描述(Image Captioning)是最熱門的研究領域之一,它在社交媒體領域有廣泛應用。至於字幕生成(Subtitle Generator),這項技術儘管還沒有達到產品階段,但是目前也在積極地探索中。

尾記

如今資料科學領域的很多牛人都在致力於解決已經存在的問題。然而對於任何成功的資料科學家或分析員來說,識別並提出可以分析解決的問題是同樣重要的任務。後者是非常不同的工作,並且不需要過多的程式設計經驗或數學背景。你唯一需要做的是通過給定的工具瞭解哪些是可能實現的,而哪些不能。

問題識別是資深的分析專業人士必備的技能。我希望這篇序列模型的入門文章可以激勵你去尋找領域內能以此工具解決的新問題。

原文標題:A Must-Read Introduction to Sequence Modeling (with use cases)

原文連結:

https://www.analyticsvidhya.com/blog/2018/04/sequence-modelling-an-introduction-with-practical-use-cases/

譯者簡介


王雨桐,統計學在讀,資料科學碩士預備,跑步不停,彈琴不止。夢想把資料視覺化當作藝術,目前日常是摸著下巴看機器學習。

翻譯組招募資訊

工作內容:需要一顆細緻的心,將選取好的外文文章翻譯成流暢的中文。如果你是資料科學/統計學/計算機類的留學生,或在海外從事相關工作,或對自己外語水平有信心的朋友歡迎加入翻譯小組。

你能得到:定期的翻譯培訓提高志願者的翻譯水平,提高對於資料科學前沿的認知,海外的朋友可以和國內技術應用發展保持聯絡,THU資料派產學研的背景為志願者帶來好的發展機遇。

其他福利:來自於名企的資料科學工作者,北大清華以及海外等名校學生他們都將成為你在翻譯小組的夥伴。

點選文末“閱讀原文”加入資料派團隊~

點選“閱讀原文”擁抱組織