研究表示學習跟人工智慧很多領域研究對象有關,這些領域包括自然語言處理,數據挖掘,社會網路分析,多媒體處理等等,他們研究的對象包括 :

  • 網路結構:用戶及其關係和行為
  • 媒體信息:文本,視頻,語音等信息
  • 知識圖譜:結構化的世界知識

那麼研究自然語言處理領域的人會關注與現實世界相關的。非常多的不同種類的數據的對象,當面向這些數據的對象做數據挖掘的時候,有一個非常嚴峻的挑戰,就是這些信息本身是多源異構的,很難建立它們之間的語義關聯,解決這個問題的方法與表示學習有關。 在傳統的數據挖掘或者說相關的領域裡面,大多數數據對象表示方案是基於符號的表示,這種思想可以用一個簡單的例子來舉例:

star[0,0,0,0,0,0,0,0,1,0,0,0,0,…]

sun[0,0,0,0,0,0,0,1,0,0,0,0,0,…]

上面是來自自然語言處理裏關於詞的表示,在信息檢索或者自然語言處理裏,一個非常基礎的關於詞表示,就是one-hot representation,獨熱表示,基本思想是每一個詞都用一個和這個辭彙表相等長度的向量來表示在向量裏,只有某一維是1,然後其他維都是零,通過這種方式就可以把現實世界語言中的每一不同的詞都能用不同向量表示。實際如果熟悉信息檢索的Bag of words模型,就會發現one-hot representation或者基於符號的辭彙表示方案是Bag of words模型的一個基礎,Bag of words模型現在已經廣泛應用在各大商業的搜索引擎當中,並且取得了非常好的效果,但是這種基於符號的方案存在非常嚴重的問題,就是它假設對象之間在語義上完全沒有任何關係,如上面的star和sun,如果計算它們的相似度,我們會認為它們之間的相似度是0,但這肯定是不符合實際。

為瞭解決這個問題,隨著深度學習的發展,一種新的數據表示方案被提出來,並且在各個領域取得了比較好的成績,這種方案就叫做分散式表示(distributional representation)。分散式表示基本思想是把研究的對象表示成一個低維的稠密的實質的向量,那麼這種向量的物理意義就是在於它能夠把所有的這些對象都能夠表示在一個語義的空間裏。

在這個語義空間裏,這些對象之間的距離反映了他們互相之間的語義的關係,這是分散式表示的基本思想。

那麼為什麼要叫分散式表示或者說它為什麼會取這樣名字?

我的理解是在低維向量裏這個對象的語義,是分佈在低維向量裏的每一維裏,換句話說就是低維向量裏的每一維被單獨取出來,它其實是沒有任何的物理含義,只有當這些維集合在一起形成一個向量,它能夠反映對象在空間裏的具體位置,那麼他纔能夠真正的反映對象本身的語音信息,這就是分散式表示的一個基本的思想。 分散式表示在自然語言處理領域裡面具有非常多的優勢:

第一:能夠解決大數據自然語言處理的數據稀疏的問題

假設在上面的語義空間裏,我們能夠用大數據裡面的高頻的數據,經過學習語義的空間,就可以用語義的
空間去表示那些相對低頻的數據,就形成了使用大數據中的高頻部分的語義信息去幫助表示低頻數據的語
義信息,這樣就一定程度上解決了大數據自然語言處理的數據稀疏的問題。

第二:實現跨領域,跨對象的知識遷移

自然語言處理裏一個非常大的特點是會關注非常多不同的對象,譬如說自然語言處理裏會關注辭彙,句子
,文檔,知識等多個不同的對象,如果要對這些對象進行各種各樣的自然語言處理的任務,往往要計算這
些不同對象之間的語義關係,如果我們能夠把這些不同的對象通過某種方式映射到同一個語義空間裡面,
就能夠更好的去實現跨領域跨對象的知識遷移,譬如在自然語言處理裏,一個任務是做文檔的關鍵詞提取
,它本質上是計算辭彙和文檔之間的相似度,在做關鍵句子的抽取或者是做文檔的摘要,其實就是在做文
檔和句子之間的語義相似度之間的計算。這些任務都可以用分散式表示的方法。

第三:提供多任務的統一底層表示

自然語言處理裡面對於同一個輸入有非常多不同的任務,如對同一個句子,可以做詞性標註,命名實體識
別,句法分析等等任務。如果通過分散式的表示可以給句子提供統一的底層的表示,就能夠更好的支持多
任務的學習。這對自然語言處理有非常大的優勢。

這種分散式表示能夠給自然語言處理提供更好的工具,進行關於語言對象的深層語義的分析。 過去我們更多的是通過計算辭彙或者句子互相之間表層的,同線的,統計的各種關係,然後計算他們這種關聯的語義關係,如果能夠對這些語言對象背後的語義信息進行深層的表示,就有可能進行更加複雜的語義關係的計算,比如因果關係等等。

推薦閱讀:

相關文章