AI大模型開發原理篇-3:詞向量和詞嵌入

簡介

詞向量是用于表示單詞意義的向量, 并且還可以被認為是單詞的特征向量或表示。 將單詞映射到實向量的技術稱為詞嵌入在實際應用中,詞向量和詞嵌入這兩個重要的NLP術語通常可以互換使用。它們都表示將詞匯表中的單詞映射到固定大小的連續向量空間中的過程。這些向量可以捕捉詞匯的語義信息。

詞向量

詞向量(Word Vector)是一種將詞語表示為向量的方式,其核心思想是把詞語映射到一個連續的向量空間中,每個詞都對應空間中的一個點(向量),通過向量之間的運算(如距離計算、相似度計算等)來反映詞語之間的語義關系。常見的方式包括:

  • One-Hot編碼(獨熱)
    為詞匯表中的每個詞分配一個唯一的整數索引,然后將每個詞表示為一個長度等于詞匯表大小的向量,向量中只有對應索引位置的值為 1,其余位置為 0。例如,詞匯表為 ["蘋果", "香蕉", "橙子"],“蘋果” 的獨熱編碼向量為 [1, 0, 0]。這種表示方法簡單直接,但存在維度高、無法表示詞之間語義關系等缺點。
  • 詞袋模型(Bag-of-Words, BoW)
  • TF-IDF
  • 詞嵌入(Word Embedding)

作用

  • 語義表示:能夠捕捉詞語的語義信息,使得語義相近的詞在向量空間中距離較近。例如,“蘋果” 和 “香蕉” 在語義上都屬于水果類別,它們的詞向量在空間中會相對靠近。
  • 作為模型輸入:方便計算機對文本進行處理,可用于各種自然語言處理任務,如文本分類、情感分析、機器翻譯等。

詞嵌入(Word Embedding)

詞嵌入是一種低維、密集的詞向量表示方法,它能夠捕捉單詞之間的語義關系上下文信息。詞嵌入通常是從大規模文本語料庫中通過機器學習訓練得到的。這個術語通常用于描述將詞映射到向量空間的過程或表示方法。它通常包括訓練算法和生成的詞向量空間。例如,我們可以說“我們使用Word2Vec算法來生成詞嵌入”。

主要方法

  1. Word2Vec(Google, 2013)

    • CBOW(Continuous Bag of Words):根據上下文預測中心詞。
    • Skip-gram:根據中心詞預測上下文詞。
    • 詞向量能學習到“王子-男人+女人≈公主”這樣的關系。
  2. GloVe(Global Vectors for Word Representation)(Stanford, 2014)

    • 結合全局統計信息,計算詞的共現矩陣,然后通過矩陣分解得到詞向量。
    • 適用于捕捉更廣泛的語義信息。
  3. FastText(Facebook, 2016)

    • 將單詞拆分成多個子詞(如"apple"→["ap", "pp", "pl", "le"])。
    • 能夠更好地處理未見過的新詞(OOV, Out-of-Vocabulary)。
  4. BERT(Google, 2018)ELMo

    • 采用深度神經網絡(Transformer / LSTM),結合上下文語境生成動態詞向量。
    • BERT能捕捉單詞在不同句子中的不同含義(例如“銀行”在“去銀行存錢”和“河岸邊的風景”中的區別)。

詞嵌入的應用

  • 自然語言處理(NLP):機器翻譯、情感分析、文本分類等。
  • 搜索引擎:提升查詢理解能力。
  • 推薦系統:基于文本的個性化推薦(如新聞推薦)。
  • 聊天機器人:讓AI更好地理解用戶輸入。

Word2Vec:基于上下文學習單詞的詞向量模型

1、概念

Word2Vec 是一種基于神經網絡的詞向量訓練方法,由 Google2013年 提出,能夠將單詞映射到一個低維稠密向量(Dense Vector),并且可以捕捉單詞之間的語義關系。

Word2Vec 訓練出的詞向量可以進行數學運算,例如:

“國王” - “男人” + “女人” ≈ “王后”

它比傳統的 One-Hot 編碼、TF-IDF 更緊湊,并且能學習到單詞的語義信息

2、原理

Word2Vec 基于分布式假設,即上下文相似的詞,其語義也相似。它的核心思想是通過在大規模文本語料上進行訓練,學習詞語的上下文信息,從而將每個詞語表示為一個固定長度的向量。在這個向量空間中,語義相近的詞語對應的向量在空間上也比較接近。

Word2Vec通過訓練一個神經網絡模型來學習詞嵌入,模型的任務就是基于給定的上下文詞來預測目標詞,或者基于目標詞來預測上下文詞。

3、訓練模型

Word2Vec 主要有兩種訓練模型:連續詞袋模型(CBOW)和跳字模型(Skip - Gram)。

  • 連續詞袋模型(CBOW)
    • 原理:根據上下文詞來預測目標詞。例如,在句子 “The dog chased the cat” 中,如果上下文窗口大小設為 2,對于目標詞 “chased”,上下文詞就是 “The”、“dog”、“the”、“cat”。模型的任務就是根據這些上下文詞預測出 “chased”。
    • 結構:CBOW 模型包含輸入層、隱藏層和輸出層。輸入層是上下文詞的獨熱編碼向量,隱藏層通常是線性變換,輸出層是一個 softmax 函數,用于計算每個詞作為目標詞的概率。
  • 跳字模型(Skip - Gram)
    • 原理:與 CBOW 相反,它根據目標詞來預測上下文詞。同樣以上述句子為例,以 “chased” 為目標詞,模型要預測出它的上下文詞 “The”、“dog”、“the”、“cat”。
    • 結構:Skip - Gram 模型的結構與 CBOW 類似,但輸入層是目標詞的獨熱編碼向量,輸出層要預測多個上下文詞的概率。

4、Word2Vec 的應用

📌 搜索引擎:提升關鍵詞檢索能力
📌 推薦系統:新聞推薦、商品推薦
📌 情感分析:用于理解文本情緒
📌 機器翻譯:提升翻譯質量
📌 聊天機器人:讓 AI 更好地理解用戶輸入

5、Word2Vec 的局限性

? 無法處理 OOV(Out-Of-Vocabulary,新詞):如果詞匯表中沒有某個單詞,就無法表示它。
? 忽略單詞順序:Word2Vec 僅考慮局部上下文,無法捕捉完整句意(BERT 解決了這個問題)。
? 計算資源消耗大:在大規模數據集上訓練需要較長時間。

6、Word2Vec vs. 其他詞向量方法

方法維度是否有語義計算量適用場景
One-Hot高(10萬+)? 沒有傳統文本分類
TF-IDF? 沒有文檔檢索
Word2Vec低(50-300)? 有中等NLP 任務
BERT低(768+)? 動態語義機器閱讀理解

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

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

相關文章

[內網安全] 內網滲透 - 學習手冊

這是一篇專欄的目錄文檔,方便讀者系統性的學習,筆者后續會持續更新文檔內容。 如果沒有特殊情況的話,大概是一天兩篇的速度。(實驗多或者節假日,可能會放緩) 筆者也是一邊學習一邊記錄筆記,如果…

【學術會議征稿-第二屆生成式人工智能與信息安全學術會議(GAIIS 2025)】人工智能與信息安全的魅力

重要信息 時間:2025年2月21日-23日 地點:中國杭州 官網:http://www.ic-gaiis.org 簡介 2025年第二屆生成式人工智能與信息安全將于 2025年2月21日-23日在中國杭州舉行。主要圍繞“生成式人工智能與信息安全”的最新研究展開,…

Vscode的AI插件 —— Cline

簡介 vscode的一款AI輔助吃插件,主要用來輔助創建和編輯文件,探索大型項目,使用瀏覽器并執行終端命令(需要多個tokens),可以使用模型上下文協議(MCP)來創建新工具并擴展自己(比較慢…

2024 CVPR Highlight Learning-Feedback

圖像增強 Towards Robust Event-guided Low-Light Image Enhancement: A Large-Scale Real-World Event-Image Dataset and Novel Approach 解決的主要問題是低光照條件下的圖像增強 通過多尺度整體融合分支提取事件和圖像的結構和紋理信息,并引入信噪比&#xff0…

小白一命速通JS中的windowglobal對象

筆者注意到JS中的window對象與global對象經常被混淆,盡管它們在相當一部分使用情況下可以等同,但是本質上仍然存在很多不同,下面是對于兩者的詳細拆解 1. window 對象 定義:window 對象表示 瀏覽器環境中的全局上下文。作用域&am…

機器學習2 (筆記)(樸素貝葉斯,集成學習,KNN和matlab運用)

樸素貝葉斯模型 貝葉斯定理: 常見類型 算法流程 優缺點 集成學習算法 基本原理 常見方法 KNN(聚類模型) 算法性質: 核心原理: 算法流程 優缺點 matlab中的運用 樸素貝葉斯模型 樸素貝葉斯模型是基于貝葉斯…

HTB:Active[RE-WriteUP]

目錄 連接至HTB服務器并啟動靶機 信息收集 使用rustscan對靶機TCP端口進行開放掃描 將靶機TCP開放端口號提取并保存 使用nmap對靶機TCP開放端口進行腳本、服務掃描 使用nmap對靶機TCP開放端口進行漏洞、系統掃描 使用nmap對靶機常用UDP端口進行開放掃描 使用nmap對靶機…

Git圖形化工具【lazygit】

簡要介紹一下偶然發現的Git圖形化工具——「lazygit」 概述 Lazygit 是一個用 Go 語言編寫的 Git 命令行界面(TUI)工具,它讓 Git 操作變得更加直觀和高效。 Github地址:https://github.com/jesseduffield/lazygit 主要特點 主要…

58.界面參數傳遞給Command C#例子 WPF例子

界面參數的傳遞,界面參數是如何從前臺傳送到后臺的。 param 參數是從界面傳遞到命令的。這個過程通常涉及以下幾個步驟: 數據綁定:界面元素(如按鈕)的 Command 屬性綁定到視圖模型中的 RelayCommand 實例。同時&#x…

selenium定位網頁元素

1、概述 在使用 Selenium 進行自動化測試時,定位網頁元素是核心功能之一。Selenium 提供了多種定位方法,每種方法都有其適用場景和特點。以下是通過 id、linkText、partialLinkText、name、tagName、xpath、className 和 cssSelector 定位元素的…

51單片機(STC89C52)開發:點亮一個小燈

軟件安裝: 安裝開發板CH340驅動。 安裝KEILC51開發軟件:C51V901.exe。 下載軟件:PZ-ISP.exe 創建項目: 新建main.c 將main.c加入至項目中: main.c:點亮一個小燈 #include "reg52.h"sbit LED1P2^0; //P2的…

29. C語言 可變參數詳解

本章目錄: 前言可變參數的基本概念可變參數的工作原理如何使用可變參數 示例:計算多個整數的平均值解析: 更復雜的可變參數示例:打印可變數量的字符串解析: 總結 前言 在C語言中,函數參數的數量通常是固定的&#xff…

RoboMaster- RDK X5能量機關實現案例(一)識別

作者:SkyXZ CSDN:https://blog.csdn.net/xiongqi123123 博客園:https://www.cnblogs.com/SkyXZ 在RoboMaster的25賽季,我主要負責了能量機關的視覺方案開發,目前整體算法已經搭建完成,實際方案上我使用的上…

shell腳本批量修改文件名之方法(The Method of Batch Modifying File Names in Shell Scripts)

shell腳本批量修改文件名方法 我們可以使用Shell腳本來實現這個功能。Shell腳本是一種用于自動化任務的編程語言,它可以在Unix/Linux操作系統上運行。在這個腳本中,我們將使用一個for循環來遍歷目標目錄下的所有文件,并使用mv命令將每個文件…

MySQL誤刪數據怎么辦?

文章目錄 1. 從備份恢復數據2. 通過二進制日志恢復數據3. 使用數據恢復工具4. 利用事務回滾恢復數據5. 預防誤刪數據的策略總結 在使用MySQL進行數據管理時,誤刪數據是一個常見且具有高風險的操作。無論是因為操作失誤、系統故障,還是不小心執行了刪除命…

RDK X5運行DeepSeek-R1-Distill-Qwen-1.5B,體驗長思維鏈的語言大模型!

簡介 本文介紹了在RDK X5上,如何從HuggingFace的原始模型權重(safetensors)經過量化和編譯,的到llama.cpp推理框架所需要的GGUF格式的模型,然后演示了如何使用llama.cpp運行量化后的DeepSeek-R1-Distill-Qwen-1.5B模型…

SQL UCASE() 函數詳解

SQL UCASE() 函數詳解 在SQL中,UCASE() 函數是一個非常有用的字符串處理函數,它可以將字符串中的所有小寫字母轉換為大寫字母。本文將詳細介紹UCASE() 函數的用法、語法、示例以及其在實際應用中的優勢。 一、UCASE() 函數簡介 UCASE() 函數是SQL標準…

【Proteus仿真】【51單片機】簡易計算器系統設計

目錄 一、主要功能 二、使用步驟 三、硬件資源 四、軟件設計 五、實驗現象 聯系作者 一、主要功能 1、LCD1602液晶顯示 2、矩陣按鍵? 3、可以進行簡單的加減乘除運算 4、最大 9999*9999 二、使用步驟 系統運行后,LCD1602顯示數據,通過矩陣按鍵…

留學畢業論文如何利用不同問題設計問卷

在留學畢業論文的寫作中,我們經常會遇到各種問題,例如選擇合適的問題,選擇合適的研究方法,以及設計合理的研究過程。然而在完成留學畢業論文的過程中,我們往往會在研究設計這里卡住。即使我們選準了研究問題和研究方法…

深度學習在金融風控中的應用:突破傳統模型的瓶頸

深度學習在金融風控中的應用:突破傳統模型的瓶頸 金融風險控制(簡稱“風控”)是現代金融體系中至關重要的一環,關系到金融機構的穩定性、客戶的安全以及整體經濟的健康運行。近年來,隨著深度學習的迅猛發展,傳統的風控模型正面臨被顛覆的挑戰,新的技術手段和思維方式正…