關(guān)于藥品網(wǎng)站建設(shè)策劃書seo軟件哪個(gè)好

Word2Vec 是一種非常流行的自然語(yǔ)言處理技術(shù),它將每個(gè)單詞表示為高維向量,并且通過(guò)向量之間的相似度來(lái)表示單詞之間的語(yǔ)義關(guān)系。
1 One-Hot 編碼🍂
在自然語(yǔ)言處理任務(wù)中,我們需要將文本轉(zhuǎn)換為計(jì)算機(jī)可以理解的形式,即向量表示。One-Hot 編碼是一種常見(jiàn)的文本向量化方法,它將每個(gè)單詞表示為一個(gè)長(zhǎng)度為詞匯表大小的向量,其中只有一個(gè)元素為1,其余元素都為0,該元素的位置表示單詞在詞匯表中的索引。
"cat": [1, 0, 0, 0]
"dog": [0, 1, 0, 0]
"apple": [0, 0, 1, 0]
"orange": [0, 0, 0, 1]
例如,假設(shè)有一個(gè)包含4個(gè)單詞的詞匯表[“cat”, “dog”, “apple”, “orange”],則對(duì)應(yīng)的 One-Hot 編碼如上所示。
但是設(shè)想一下詞匯表包含上萬(wàn)個(gè)單詞呢,那么就意味著每一個(gè)單詞的 One-Hot 編碼向量長(zhǎng)度都是上萬(wàn)的,這無(wú)疑添加了計(jì)算的復(fù)雜度。
1.1 優(yōu)缺點(diǎn)🍁
雖然 one-hot 編碼是一種簡(jiǎn)單有效的表示方法,但它也存在一些缺點(diǎn)。
- 線性表示:由于每個(gè)單詞只有一個(gè)維度為1,其余維度都是0,因此 one-hot 編碼的向量是線性表示的。這意味著,單詞之間的關(guān)系只能通過(guò)向量之間的距離來(lái)衡量,而無(wú)法通過(guò)其他非線性的方式來(lái)表示單詞之間的語(yǔ)義和語(yǔ)法關(guān)系,也就是無(wú)法度量詞語(yǔ)之間的相似性。
- 稀疏性:one-hot 編碼的向量通常非常稀疏,其中大部分維度都是0。這導(dǎo)致 one-hot 編碼需要存儲(chǔ)大量的無(wú)用信息,使得向量變得非常龐大,且容易出現(xiàn)維度災(zāi)難,從而增加了計(jì)算的復(fù)雜度和存儲(chǔ)成本。
- 無(wú)法處理未知詞:由于 one-hot 編碼只能表示已知單詞,因此它無(wú)法處理未知詞匯。當(dāng)出現(xiàn)新單詞時(shí),必須重新調(diào)整向量空間的維度,并重新訓(xùn)練模型,這會(huì)帶來(lái)很大的計(jì)算成本和時(shí)間開(kāi)銷。
盡管 one-hot 編碼有一些缺點(diǎn),但它仍然是一種簡(jiǎn)單而有效的文本向量化方法,尤其適用于一些簡(jiǎn)單的自然語(yǔ)言處理任務(wù),例如文本分類等。同時(shí),one-hot 編碼也是其他文本表示方法的基礎(chǔ)。
2 Word2Vec🌸
因此,針對(duì)上述 one-hot 編碼缺點(diǎn),近年來(lái)出現(xiàn)了很多新的詞向量表示方法,例如 Word2Vec、GloVe 等,它們能夠更好地捕捉單詞之間的語(yǔ)義和語(yǔ)法關(guān)系,同時(shí)也具有更高的計(jì)算效率和更小的存儲(chǔ)空間。
Word2Vec 是一種廣泛使用的自然語(yǔ)言處理技術(shù),用于將單詞映射到低維向量空間中。它是由谷歌公司的研究人員在2013年提出的,主要用于解決語(yǔ)言模型中的詞匯豐富性和數(shù)據(jù)稀疏性問(wèn)題。
Word2Vec 算法通過(guò)訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型來(lái)學(xué)習(xí)單詞的分布式表示,這些分布式表示可以用于表示單詞的語(yǔ)義和語(yǔ)法特征。具體來(lái)說(shuō),Word2Vec 算法包括兩個(gè)主要的模型:連續(xù)詞袋模型(CBOW)和 Skip-gram 模型。
2.1 CBOW🌹
連續(xù)詞袋模型(CBOW)是一種根據(jù)上下文單詞來(lái)預(yù)測(cè)目標(biāo)單詞的模型。具體來(lái)說(shuō),給定一個(gè)窗口大小為 n 的上下文單詞序列,連續(xù)詞袋模型的任務(wù)是預(yù)測(cè)中間的目標(biāo)單詞,如下圖所示。
連續(xù)詞袋模型的優(yōu)點(diǎn)是:由于它是基于上下文單詞來(lái)預(yù)測(cè)目標(biāo)單詞的,因此它可以利用上下文單詞的信息來(lái)推斷目標(biāo)單詞的語(yǔ)義和語(yǔ)法特征;模型參數(shù)較少,訓(xùn)練速度相對(duì)較快。

2.2 Skip-gram🌍
Skip-gram 模型是一種根據(jù)目標(biāo)單詞來(lái)預(yù)測(cè)上下文單詞的模型。具體來(lái)說(shuō),給定一個(gè)中心單詞,Skip-gram 模型的任務(wù)是預(yù)測(cè)在它周圍窗口大小為 n 內(nèi)的上下文單詞,如下圖所示。
Skip-gram 模型的優(yōu)點(diǎn)是:由于它是基于目標(biāo)單詞來(lái)預(yù)測(cè)上下文單詞的,因此它可以利用目標(biāo)單詞的語(yǔ)義和語(yǔ)法特征來(lái)預(yù)測(cè)上下文單詞;模型能夠生成更多的訓(xùn)練數(shù)據(jù),因此可以更好地訓(xùn)練低頻詞匯的表示;Skip-gram 模型在處理大規(guī)模語(yǔ)料庫(kù)時(shí)效果比 CBOW 模型更好。

總的來(lái)說(shuō),CBOW 模型適合用于訓(xùn)練低頻詞匯的表示,并且可以較快地訓(xùn)練;Skip-gram 模型適合用于處理大規(guī)模語(yǔ)料庫(kù),并且可以更好地學(xué)習(xí)單詞之間的語(yǔ)義和語(yǔ)法關(guān)系。
2.3 負(fù)采樣(negative sampling)??
Word2Vec 技術(shù)中使用負(fù)采樣(negative sampling)的主要目的是加速訓(xùn)練過(guò)程,同時(shí)也可以提高模型的準(zhǔn)確性。在 Word2Vec 模型中,Skip-gram 和 CBOW 模型都需要對(duì)每個(gè)單詞計(jì)算 softmax 概率,這個(gè)過(guò)程需要對(duì)整個(gè)詞匯表進(jìn)行計(jì)算,計(jì)算量非常大,因此會(huì)導(dǎo)致訓(xùn)練速度非常慢。為了解決這個(gè)問(wèn)題,Mikolov 等人在2013年提出了負(fù)采樣的方法。
負(fù)采樣的基本思想是對(duì)每個(gè)訓(xùn)練樣本,隨機(jī)選擇一定數(shù)量的負(fù)樣本,并令它們的標(biāo)簽為0,然后將這些正樣本和負(fù)樣本送入模型進(jìn)行訓(xùn)練。這樣做可以避免對(duì)整個(gè)詞匯表進(jìn)行 softmax 計(jì)算,從而大大降低了計(jì)算量。
具體來(lái)說(shuō),對(duì)于每個(gè)正樣本,我們隨機(jī)選擇 k 個(gè)負(fù)樣本(即從詞匯表中隨機(jī)選取k個(gè)單詞),并將它們與 target word 組成 k+1 個(gè)樣本,其中正樣本的標(biāo)簽為1,負(fù)樣本的標(biāo)簽為0。然后,我們使用 sigmoid 函數(shù)將這 k+1 個(gè)樣本的得分(即向量點(diǎn)積)轉(zhuǎn)換為概率,并將其作為模型的輸出,然后通過(guò)反向傳播算法更新模型參數(shù)。
通過(guò)負(fù)采樣,Word2Vec 模型的訓(xùn)練速度得到了極大的提升,同時(shí)也可以提高模型的準(zhǔn)確性。在實(shí)踐中,通常將k的取值設(shè)為5-20之間,較小的 k 可以加快訓(xùn)練速度,但可能會(huì)影響模型的準(zhǔn)確性,較大的 k 可以提高模型的準(zhǔn)確性,但會(huì)增加計(jì)算量。
3 GloVe??
雖然 word2vec 是一種非常流行的詞向量模型,但它也有一些缺點(diǎn)。
- Out-of-vocabulary 問(wèn)題:如果 word2vec 沒(méi)有在訓(xùn)練數(shù)據(jù)中看到某個(gè)單詞,則它無(wú)法將其表示為向量。
- 上下文窗口大小的選擇:word2vec 中上下文窗口大小的選擇對(duì)最終詞向量的質(zhì)量有很大影響。如果窗口大小太小,則可能無(wú)法捕捉到單詞之間的語(yǔ)義關(guān)系;如果窗口大小太大,則可能會(huì)引入太多的噪音。
- 訓(xùn)練時(shí)間長(zhǎng):word2vec 的訓(xùn)練時(shí)間通常很長(zhǎng),特別是對(duì)于大型語(yǔ)料庫(kù)和高維詞向量來(lái)說(shuō)。
- 無(wú)法處理多義詞:word2vec 為每個(gè)單詞生成唯一的向量表示,因此它不能處理多義詞,即一個(gè)單詞有不同的含義,例如 “bank” 既可以表示銀行,也可以表示河岸。
相比之下,GloVe 是一種基于全局矩陣分解的詞向量模型,它可以緩解一些 word2vec 的缺點(diǎn),以下是一些 GloVe 的優(yōu)點(diǎn)。
- 處理多義詞能力:GloVe 使用詞與詞之間的共現(xiàn)統(tǒng)計(jì)信息來(lái)學(xué)習(xí)詞向量,因此它可以將多個(gè)含義相似的單詞映射到同一個(gè)向量空間中。
- 更好的向量質(zhì)量:由于 GloVe 使用全局矩陣分解來(lái)學(xué)習(xí)詞向量,因此它可以利用整個(gè)語(yǔ)料庫(kù)中的統(tǒng)計(jì)信息來(lái)學(xué)習(xí)更準(zhǔn)確的詞向量。
- 更少的超參數(shù):GloVe 中只有一個(gè)超參數(shù),即詞匯表大小,而 word2vec 需要選擇多個(gè)超參數(shù),例如上下文窗口大小和負(fù)采樣數(shù)量。
雖然 GloVe 相對(duì)于 word2vec 具有一些優(yōu)點(diǎn),但它也有一些缺點(diǎn),例如它的訓(xùn)練時(shí)間可能比 word2vec 更長(zhǎng)。在選擇哪種詞向量模型時(shí),需要考慮特定任務(wù)的要求以及可用的計(jì)算資源和數(shù)據(jù)量等因素。
4 Supplement🏀
除了one-hot 編碼、Word2Vec 和 GloVe 等常見(jiàn)的文本向量表示方法外,還有許多其他的方法可以將文本表示為向量,下面列舉了幾種比較常見(jiàn)的方法:
- FastText:FastText 是 Facebook 于2016年提出的一種文本向量表示方法,它基于 Word2Vec 模型,但是將單詞視為子詞的集合,通過(guò)子詞級(jí)別的向量表示來(lái)表示單詞。這種方法不僅能夠表示常見(jiàn)單詞,還能夠表示罕見(jiàn)單詞和未知單詞,因此在自然語(yǔ)言處理中得到了廣泛應(yīng)用。
- Paragraph Vector(Doc2Vec):Paragraph Vector 是一種將文本表示為向量的方法,它是在Word2Vec 的基礎(chǔ)上進(jìn)行擴(kuò)展,可以同時(shí)將單詞和文本表示為向量。Paragraph Vector 通過(guò)在訓(xùn)練中使用文本標(biāo)簽來(lái)捕捉文本的上下文信息,從而提高了文本向量的質(zhì)量。
- ELMo:ELMo 是一種基于深度雙向語(yǔ)言模型的文本向量表示方法,它可以為每個(gè)單詞生成多個(gè)不同的向量表示,每個(gè)向量表示都捕捉了不同層次的語(yǔ)義信息。這種方法能夠更好地捕捉單詞的多義性和上下文相關(guān)性,因此在自然語(yǔ)言處理中得到了廣泛應(yīng)用。
- Transformer:Transformer 是一種基于自注意力機(jī)制的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),它在機(jī)器翻譯任務(wù)中表現(xiàn)出了優(yōu)異的性能。Transformer 可以將文本表示為向量序列,每個(gè)向量捕捉了該位置的語(yǔ)義信息和上下文相關(guān)性。這種方法不僅能夠捕捉單詞之間的語(yǔ)義和語(yǔ)法關(guān)系,還能夠處理長(zhǎng)文本和多語(yǔ)言文本等復(fù)雜情況。
這些方法各有特點(diǎn),可以根據(jù)不同的任務(wù)需求選擇合適的方法進(jìn)行文本表示。