【漫話機器學習系列】249.Word2Vec自然語言訓練模型

【自然語言處理】用 Word2Vec 將詞語映射到向量空間詳解


一、背景介紹

在自然語言處理(NLP)領域,我們常常需要將文本信息轉化為機器能夠理解和處理的形式。傳統的方法,如 one-hot編碼,雖然簡單,但存在嚴重的稀疏性高維度問題,且無法體現詞語之間的語義關系。

為了解決這一問題,研究人員提出了Word Embedding(詞嵌入)的方法。其中最著名、應用最廣泛的模型之一便是 Word2Vec


二、什么是 Word2Vec?

Word2Vec 是由 Google 團隊在 2013 年提出的一種將單詞映射為連續向量的淺層神經網絡模型。

其核心思想是:

將詞語投影到一個低維度的向量空間中,使得語義上相近或語法上相關的詞在向量空間中也接近。

簡單來說,Word2Vec 可以把“王(king)”和“女王(queen)”之間的關系,與“男人(man)”和“女人(woman)”之間的關系用向量差異表示出來,且這些關系在向量空間中保持一致。

從圖中可以看到,

  • King - Man + Woman ≈ Queen
    也就是:“男人之于國王,就像女人之于女王”。

這種特性使得 Word2Vec 在 NLP 各種任務中都發揮了巨大的作用,如文本分類、情感分析、機器翻譯、推薦系統等。


三、Word2Vec的兩種訓練方法

Word2Vec 提供了兩種主要的訓練策略:

  1. CBOW(Continuous Bag of Words,連續詞袋模型)

    • 通過上下文詞(周圍的詞)來預測當前的中心詞。

    • 適合小型數據集,訓練速度快。

    • 示例:給定句子 "The cat sits on the mat",如果中心詞是 "sits",那么輸入是 "The", "cat", "on", "the", "mat",目標是預測 "sits"。

  2. Skip-gram

    • 通過當前詞預測周圍的上下文詞。

    • 更適合大規模數據集,且能夠更好地捕捉稀有詞的信息。

    • 示例:給定中心詞 "sits",目標是預測 "The", "cat", "on", "the", "mat"。

這兩種方式本質上都是在通過局部上下文來學習詞的分布式表示(distributional representations)。


四、向量空間的語義特性

如圖所示,經過訓練后,單詞被映射到一個高維向量空間,具備如下特性:

  • 語義相似性:詞義相近的詞在空間中位置也接近。

    • 例子:king 與 queen,man 與 woman。

  • 語法相似性:詞性相同的詞之間的向量方向相近。

    • 例子:復數形式(cars vs. car),時態變化(running vs. run)。

  • 向量運算:可以用簡單的向量加減表示詞與詞之間的關系。

    • 例子:vector(king) - vector(man) + vector(woman) ≈ vector(queen)

這一點,極大地提升了自然語言處理中理解、推理和生成文本的能力。


五、技術細節:訓練過程

Word2Vec 的訓練過程其實非常高效,主要分為以下幾個步驟:

  1. 初始化詞向量:為每個詞隨機初始化一個向量。

  2. 正樣本采樣:根據訓練策略(CBOW或Skip-gram),抽取正樣本。

  3. 負樣本采樣(Negative Sampling):為了減少計算量,僅更新少量負樣本而不是全部詞匯表。

  4. 誤差反向傳播:通過淺層神經網絡(通常只有一層),更新詞向量。

  5. 迭代優化:通過多次遍歷數據集(epoch),使向量逐漸收斂。

最終,得到的詞向量可以直接用于后續各種NLP任務。


六、應用場景

  • 文本相似度計算:基于詞向量的余弦相似度評估兩段文本的相似性。

  • 推薦系統:基于用戶歷史偏好推薦相關內容(例如基于文章標題、商品描述的Embedding相似性)。

  • 情感分析:通過分析詞向量組合,預測評論、帖子中的情感傾向。

  • 問答系統:輔助搜索最相關的答案。

  • 知識圖譜構建:在向量空間中發現實體之間的潛在關聯。


七、總結

Word2Vec 作為自然語言處理中里程碑式的技術,為后來的各種深度學習模型(如BERT、GPT)奠定了基礎。
即使到今天,理解詞嵌入和向量空間的基本原理,仍然是掌握高級自然語言處理技術的重要前提。

本文通過圖示,簡單直觀地展示了 Word2Vec 如何將單詞映射到向量空間,并體現出詞語之間微妙而豐富的語義關系。
希望能幫助你更好地理解這一經典模型,為后續深入學習打下基礎!


八、參考資料

  • Tomas Mikolov et al. (2013), “Efficient Estimation of Word Representations in Vector Space”

  • Chris Albon, Machine Learning Flashcards

  • 《Deep Learning》 — Ian Goodfellow 等


🔔 如果你覺得本文有幫助,歡迎點贊、收藏或留言交流!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/80118.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/80118.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/80118.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

支付寶 SEO 優化:提升小程序曝光與流量的完整指南

在擁有龐大用戶基數的支付寶平臺上,小程序已成為商家觸達用戶、提供服務的重要渠道。然而,隨著平臺上小程序數量的快速增長,如何在激烈的競爭中脫穎而出,獲得更多的曝光和流量,成為每個開發者和運營者必須面對的關鍵挑…

20250509——TOPSIS計算各方案得分

目錄 TOPSIS原理 算例分析 參考文獻 逼近理想解排序法(Technique for Order Preference by Similarity to an Ideal Solution, TOPSIS)是一種多屬性決策分析工具,其核心在于通過衡量備選方案與理想目標的接近程度實現科學排序。該方法首先…

【QT】項目打包與發布安裝

文章目錄 一、引言二、前期準備三、打包QT項目3.1 編譯release版3.2 相關依賴打包3.3 打包發布3.4 安裝 四、打包普通項目五、結束語 一、引言 當Qt程序編寫完成通過IDE編譯就可以得到對應的可執行程序,這個可執行程序在本地運行是完全沒有問題的。因為在本地有Qt環…

提示詞工程:通向AGI時代的人機交互藝術

?引言:從基礎到精通的提示詞學習之旅? 歡迎來到 ?"AGI時代核心技能"? 系列課程的第二模塊——?提示詞工程?。在這個模塊中,我們將系統性地探索如何通過精心設計的提示詞,釋放大型語言模型的全部潛力,實現高效、精…

三款實用電腦工具

今天為大家精心推薦三款實用軟件,分別是人聲伴奏分離軟件、文件夾遷移軟件和文字轉拼音軟件。 第一款:NovaMSS NovaMSS是一款功能強大的人聲伴奏分離軟件,它提供社區版和專業版,社區版永久免費。 該軟件能夠一鍵提取人聲、伴奏、…

CentOS 7 安裝指定版本 Docker 及鏡像加速/配置優化攻略

摘要 本文詳述 CentOS 7 系統下安裝指定版本 Docker ,涵蓋鏡像加速配置(實測最快)、存儲位置優化、日志輪轉等核心配置。 文章目錄 一、安裝指定版本Docker1.1 卸載舊版本(如有)1.2 安裝依賴包1.3 添加Docker倉庫&…

達夢、PostgreSQL數據庫講json解析成臨時表(json_table函數的使用)

官網json_table文檔路由 路徑表達式文檔路由 背景:有一些動態表格,需要新建一張中間表,里邊就兩三個字段比如主表id,某某類型id,某某類型是否選中。對于這種表新建個表還得加各種創建人修改人版本號是否邏輯刪除啥的字段太過麻煩。于是可以直…

【軟件測試】測試用例的設計方法

目錄 一、基于需求進行測試用例的設計 1.1 功能需求測試分析 二、黑盒測試用例設計方法 2.1 等價類劃分法(解決窮舉) 2.1.1 等價類設計步驟 2.1.2 等價類劃分法案例 2.1.2.1 驗證 QQ 賬號的合法性 2.1.2.2 驗證某城市電話號碼的正確性 2.1.3 適用場景 2.2 邊界值分析…

微服務系統設計

在設計微服務系統時,需要綜合考慮架構、業務劃分、通信方式、數據管理、安全性、運維等多個方面的問題。 一、微服務系統設計需考慮的問題 1. 服務劃分 如何合理拆分服務,避免“微服務地獄”。拆分粒度不宜過小:太多服務增加管理和通信成本…

Django ORM: values() 和 annotate() 方法詳解

1. values()方法 1.1 基本概念 values()方法用于返回一個包含字典的QuerySet,而不是模型實例。每個字典表示一個對象,鍵對應于模型字段名稱。 1.2 基本用法 # 獲取所有書籍的標題和出版日期 from myapp.models import Bookbooks Book.objects.value…

43.防雷擊浪涌設計

防雷擊浪涌設計 1. 雷擊浪涌形成的機理2. 雷擊浪涌的防護 1. 雷擊浪涌形成的機理 雷擊浪涌分為直擊雷和感應雷: 直擊雷——帶電荷的云對建筑物、避雷針等放電,或者帶異種電荷的雷云撞擊放電,其能量超級大; 感應雷——雷云在高壓…

雙端口ram與真雙端口ram的區別

端口獨立性 真雙端口RAM:擁有兩個完全獨立的讀寫端口(Port A和Port B),每個端口都有自己的地址總線、數據總線、時鐘、使能信號和寫使能信號。這意味著兩個端口可以同時進行讀寫操作,且互不干擾。 偽雙端口RAM&…

Python畢業設計219—基于python+Django+vue的房屋租賃系統(源代碼+數據庫+萬字論文)

畢設所有選題: https://blog.csdn.net/2303_76227485/article/details/131104075 基于pythonDjangovue的房屋租賃系統(源代碼數據庫萬字論文)219 一、系統介紹 本項目前后端分離,分為租客、房東、管理員三種角色 1、租客: 注冊、登錄、公…

Webpack基本用法學習總結

Webpack 基本使用核心概念處理樣式資源步驟: 處理圖片資源修改圖片輸出文件目錄 自動清空上次打包的內容EslintBabel處理HTML資源搭建開發服務器生產模式提取css文件為單獨文件問題: Css壓縮HTML壓縮 小結1高級SourceMap開發模式生產模式 HMROneOfInclud…

數字IC前端學習筆記:鎖存器的綜合

相關閱讀 數字IC前端專欄https://blog.csdn.net/weixin_45791458/category_12173698.html?spm1001.2014.3001.5482 鎖存器是一種時序邏輯,與寄存器相比面積更小,但它的存在會使靜態時序分析(STA)變得更加復雜,因此懂得什么樣的設計會綜合出…

LVGL源碼學習之渲染、更新過程(2)---無效區域的處理

LVGL版本:8.1 往期回顧: LVGL源碼學習之渲染、更新過程(1)---標記和激活 區域合并 在前面的代碼分析中,發現標記無效區域的工作其實很繁瑣,雖然大部分區域因為包含關系被剔除,但仍可能存在相互交叉的區域&#xff0c…

01 dnsmasq 中 dns服務

前言 這里我們主要是 來看一下 dns 服務器這邊的相關業務處理 通常來說 在我們日常生活中 還是經常會需要使用 dns 的情況, 主要是更加友好的去給一個主機命名一個別名 比如 現在我的應用在服務器 192.168.220.133 但是我不想記這個生硬的 ip, 我可能更期望記錄一個域名, …

最優化方法Python計算:有約束優化應用——線性Lasso回歸分類器

利用線性Lasso模型類LineLassoModel類(見博文《最優化方法Python計算:有約束優化應用——線性Lasso回歸預測器》)及分類器類Classification(見博文《最優化方法Python計算:無約束優化應用——線性回歸分類器》&#xf…

Python基礎學習-Day20

目錄 奇異值分解(SVD)的輸入和輸出奇異值的應用實際案例1. 問題分析2. 解決方案:對測試集應用相同的變換3. 為什么不能對測試集單獨做 SVD?4. 代碼示例:訓練集和測試集的 SVD 降維6. 實際操作中的注意事項 奇異值分解&…

2025年 全新 AI 編程工具 Cursor 安裝使用教程

一、Cursor 軟件下載 首選,登錄Cursor官網,進行軟件下載,官網下載地址如下: Cursor AI IDE 下載 二、Cursor軟件安裝配置 此處以Windows10系統安裝為例,下載完成之后,右鍵安裝包,以管理員身份…