貪心學院AI學習挑戰賽(獎學金活動)第4週第2個問題,開放式話題,關於描述裡的問題,你的答案是什麼?

時間 2021-06-16 21:11:10

1樓:Mr.喵

通過計算詞向量的平均來獲得句子向量,是其中一種解決思路,但是卻存在一定的缺點。其實句中的每個詞的權重是不一樣的,換句話說乙個句子中並不是所有詞的重要性都是一樣的。所以說詞向量求平均是一種構建句子向量的方法。

但並不能十分有效地作為句子表徵,很有可能給最終的結果帶來很大的誤差。

關於SIF

SIF是一種計算句子嵌入向量的方法,也就是提取句子特徵,它的主要思想是:計算句子中單詞向量的加權平均值,然後減去平均向量在其第乙個主成分上的投影(「公共成分去除」)來作為句子嵌入。

2樓:豆芽

通過計算詞向量平均而得到句子向量,問題如下:問題1:沒有考慮不同詞的權重。

問題2:僅考慮出現的詞,但忽略了詞的順序,詞順序不同語義也會不同。

更好獲取句子向量的方法:Doc2vec、Bert1、Doc2vec

構建句向量的分布記憶模型:PV-DM。每次擷取句子中一小部分詞來訓練,每次訓練中輸入都包含共享Paragraph vector

構建句向量的分布詞袋:PV-DBOW

2、Bert

用bert生成句向量,解決不同詞在不同語境中的差別問題。基於的BERT的句向量能夠體現句子中的含義,並且解決了單純用詞向量加權平均的誤差

3樓:我很好奇

問題:句子的意思很可能不是所有詞語含義的簡單平均,比如乙個句子加了乙個「不」字,含義可能截然相反,但得到的句子向量在平均之後差異可能很小。平均很難體現詞語的關鍵資訊。

句子的含義隨詞語順序的變換可能截然不同,但詞向量平均丟失了句子的順序資訊,同樣會損失句子資訊。

某些詞語的搭配可能產生1+1=3的效果,對詞向量的平均可能完全無法體現這種細微的差異。

其他獲取方法:

簡單的,可以使用Doc2vec的方法,該模型在word2vec的基礎上加入了Paragraph Vector,該向量在同乙個句子的多次訓練中共享權重,用於完成和word2vec類似的訓練任務。因此,該向量可以被看成句子的主旨。

除此之外,還可以使用Bert模型,可以反映不同語境下詞語含義的差異,得到更加準確的句向量。

4樓:

基於句子中各個詞的詞向量,以其算數平均作為整個句子的句向量不失為一種簡單的方法。但是該方法假設各個詞對於句意的影響是一致的。假定有下面兩個句子:

句子1:我很喜歡這部電影

句子2:我很不喜歡這部電影

句子1與句子2僅僅在第二分詞上有差異,但是兩句的含義完全相反。簡單的算術平均將弱化這兩個句子在句向量上的差異。該情形對於情感分析可能是非常致命的。

可能的改進方案:

採用tf-idf作為詞的權重,以句子中各個詞的詞向量的加權平均作為句向量。該方法可以在一定程度上彌補簡單算數平均的不足。但是對於預料有限的場景,該方法依舊無法令人滿意。

(極端例子:假定預料只有上面兩句,那麼「很」與「很不」的tf-idf值是相同的)

優化word2vec演算法的超引數。將提公升詞向量的維度,生成更為複雜的詞向量。

採用tf-idf與優化word2vec的同時,收集更多語料,以便於生成更為精確的tf-idf與word2vec。

5樓:張慶宇

採用計算詞向量的平均得到句子向量,是可以使用的,但是該方法與自然語言處理的核心背道而馳,無法合理的描述句子的含義,可能會將句子中重要的資訊抹掉。

相比上述比較簡單的句子向量獲得方法,目前其他的sentence enmbedding方法有:Doc2Vec, Word Mover's Distance, FastSent, SkipThought Vectors, Quick-Thought和InferSent等方法。當然TFITF方法也可用於句子向量的構建。

6樓:喵喵喵

計算詞向量的平均值的問題:

通過計算詞向量的平均而獲得句子向量,這是一種最簡單的方法,但是存在一定的問題。首先,該方法給與每個詞向量的同樣的權重,使得某些重要的詞語不夠突出,而無用的詞語卻也占有不小的比例,從而影響句子向量的質量。其次,該方法忽視了詞語的順序,有時候詞語的順序變了,句子的意思大大改變,但句子向量卻變化不明顯,偏離現實。

為了解決這些問題,可以使用以下方法:

Doc2Vec或者Bert可以直接獲取句子向量,這兩種方式可以直接解決以上的問題。

可以使用tf-idf加權平均法,該方法僅需要得到句子中每個非停用詞的詞向量,還需要得到句子中每個非停用詞的TFIDF值。但此方法的缺陷是忽略了詞語中間的順序對整個句子的影響。

7樓:Qien ZHANG

當已經擁有訓練好的詞向量,要通過詞向量來表達乙個句子的時,是非常簡單的事,就是通過計算詞向量的平均來獲得。這一種方法,如果是應用於標題或者是短文本,或許是靠譜的。

但是詞向量平均值是一種詞袋模型,它忽略了文字當中的語序和、語義邏輯,因為這些都不能通過相加來進行表示的,而且,有可能會將意思完全相反的句子理解為非常相似的句子,例如,句子1:今天下雨了,由於網球場是室外場所,所以,今天不適宜打網球。句子2:

今天下雨了,由於網球場是室外場所,所以,今天適宜留在室內打網球。句子1跟句子2相似度的結果很一致,但意思卻很不一樣。

因此,可以通過tf-idf或者attention來對其進行加權和改進。

8樓:ZYK

這種說法是可以的,通過詞向量取平均是在有詞向量基礎上的一種簡單直接可行的方法,但是效果不一定好。

舉個簡單的例子:兩個句子分別由兩個詞構成,這個例子中的詞向量是乙個二維稠密向量。句子A:

[1,1] [-1,-1] 句子B:[0,0] [0,0],可以發現通過取平均後,得到的句子embedding都是[0,0],說明這種簡單的方式會削弱得到的句子向量的表達能力。

其它的句子向量獲取方式,我能想到的有:

通過詞向量構建句子向量

加和法就是簡單將句子中各個詞對應的詞向量加和,個人感覺還不如平均法好,畢竟平均法還使得不同詞數的句子之句向量有比較一致的量級。加和法實際是沒有考慮的scaling的平均法

加權法先以某種方式確定詞的權重,然後將詞向量乘以權重再加和(最後可以考慮取平均,以保持不同句子之間具有相似的scale),tfidf是一種比較常用的權重,其它權重還可以考慮主成分分析法。

連線法將句子中出現的詞對應的詞向量依次concate(譬如詞向量的維度是10,某個句子中出現5個詞,那麼句子向量就是50)。可以看出,這種方式得到的句向量將不能直接使用。因為維度參差不齊。

那麼實際中可以考慮「多裁少補」的方式來強行保證句子向量維度一致。

直接得到句向量

基於統計

例如一些矩陣分解的方法(具體怎麼操作還需要再查查)

基於深度

bert(選取其中某一層直接輸出作為句向量)

Xlnet

Gpt……

9樓:JinGu

通過計算詞向量的平均的方式來句子向量雖然簡單快捷。其主要問題是沒有考慮到不同詞之間的相互關係,位置,及順序。例如,如 「貓愛吃老鼠」 和 「老鼠愛吃貓」 的編碼一樣,雖然意思正好相反。

以下擷取於(https://

)在常用的句子向量的演算法中,Sentence-BERT結合了四個方面的概念(Attention, Transformers, BERT,和Siamese Network),應該算最有效的。其中,Attention機制使產生的向量專注在輸入中最重要的部分。Transformer使用神經元結構,從而可以平行計算減少訓練時間。

BERT包括24層Transformer結構,創造了乙個通用性的語言理解模型。Siamese Network是乙個神經網路被訓練來比較兩個輸入之間的相似性。

10樓:Freya

存在的問題

句子是具有時序資訊的,直接做詞向量的平均忽略了句子中各個詞之間的順序與邏輯資訊,會對整個句子的表示產生影響。此外,由於平均法簡單粗暴,無法突出各個詞語在句子中的重要性,因此導致句子表示不準確。

句子向量獲取方法:

TF-IDF加權平均法:主要核心思想是設定乙個詞語TF-IDF值與它在文件中出現頻數成正比,與它在語料庫中出現的頻率成反比。

SIF嵌入法:該方法用到了主成分分析。

doc2vec:該方法是在Word2vec的基礎上做出的改進,它不僅考慮了詞和詞之間的語義,也考慮了詞序。

Bert:現階段最常用的方法,特點是同乙個詞語在不同語境下的向量是不同的,多義詞因為上下文環境的不同而產生不同的向量。

Reference

Kalafinaian:自然語言處理中句向量獲取方式的簡要綜述

11樓:hnuzl

直接向量平均,沒發表示不同詞對句子中的權重含義。如有些核心詞是比其它詞對句子含義的貢獻更大,這個時候可以使用attention 對每個詞權重進行學習;

整個句子的含義,除了句子中詞組成外,還有句子語法,這樣使用NER技術和RNN相關的模型會撲捉句子語法的含義,更能表達句子含義;

對於低頻詞,向word2vector模型中的word沒發包含在內,就無法找到這些詞的含義,從而形成句子向量;

片語在一起有特色含義的片語,word的vector相加不能表達片語的含義,更別說句子的含義。

12樓:文悅

通過平均法得到句向量是一種非常簡單並且較常用的方法,他的問題是沒有考慮每個單詞的權重,每個單詞在句中的作用是不一樣的,但是用平均法,就給了每個單詞一樣的權重。因此,我們可以可以通過給單詞加權來改善這個方法,比如說我們可以通過tfidf/isf算出每個單詞的權重,然後通過加權得到句向量。

這種方法的缺陷就是沒有考慮句子中詞語的缺陷,所以,我們還可以通過一些方法直接得到句向量。第一種是doc2vec,和word2vec相似,他有兩種方式:PV-DM和PV-DBOW.

這種方式都不需要額外的標籤,我們用文字本身就可以進行訓練。

另外我們還可以用bert這樣的transformers得到向量表示。

貪心學院 Pytorch跟Tensorflow相比有哪些優缺點?

ZYK Tensorflow 和 pytorch 相比,前者佔據先機,後者則勢頭正猛。Tensorflow 需要定義一張靜態計算圖,需要利用placeholder,session等資料結構去完成計算圖,而pytorch不需要,後者顯得更加靈活。Pytorch更像是一段解釋程式,可以隨時除錯尚未構建完...

貪心學院的騰訊資料分析課程怎麼樣?

這個問題的回答,大部分都是不客觀的。因為貪心科技的工作人員讓我們在這個問題下回覆好評,給我們返200 400元不等的費用。所以,大家要慎重入坑! 總體來說,還可以。付費課和免費資料的區別我就不說了,針對這個課和我自己學習的感受說一下吧。優點 主講老師比較負責任,基本有問就會有答。課程包覆蓋的內容也挺...

學AI需要學英語嗎?

哈哈,這都是什麼問題,這要看AI前沿的大牛們使用的是什麼語言,大牛們都是中中國人就不用學,咱們都出生在乙個全民學英語的時代,說明這個時代其他國家科技還很強,如果你所在的乙個時代全球都學中文說明中國強大了,乙個文明的語言的通用性主要看這個文明昌不昌盛。重要到其他民族不得不學的程度 藍天森林小樹 題主的...