深度學習|詞嵌入的演變

文本嵌入,也稱為詞嵌入,是文本數據的高維、密集向量表示,可以測量不同文本之間的語義和句法相似性。它們通常是通過在大量文本數據上訓練 Word2Vec、GloVe 或 BERT 等機器學習模型來創建的。這些模型能夠捕獲單詞和短語之間的復雜關系,包括語義、上下文,甚至語法的某些方面。這些嵌入可用于語義搜索等任務,其中文本片段根據含義或上下文的相似性進行排名,以及其他自然語言處理任務,如情感分析、文本分類和機器翻譯。

嵌入 API 的演變和出現

在自然語言處理(NLP)領域,文本嵌入從根本上改變了我們理解和處理語言數據的方式。通過將文本信息轉換為數字數據,文本嵌入促進了復雜的機器學習算法的開發,該算法能夠進行語義理解、上下文識別和更多基于語言的任務。在本文[1]中,我們探討了文本嵌入的進展并討論了嵌入 API 的出現。

文本嵌入的起源

在NLP的早期階段,使用了one-hot編碼和詞袋(BoW)等簡單技術。然而,這些方法未能捕捉語言的上下文和語義的復雜性。每個單詞都被視為一個孤立的單元,不了解它與其他單詞的關系或其在不同上下文中的用法。

Word2Vec

alt

2013 年 Google 推出的 Word2Vec 標志著 NLP 領域的重大飛躍。 Word2Vec 是一種使用神經網絡從大型文本語料庫中學習單詞關聯的算法。因此,它生成單詞的密集向量表示或嵌入,捕獲大量語義和句法信息。單詞的上下文含義可以通過高維空間中向量的接近程度來確定。

GloVe:用于單詞表示的全局向量

alt

斯坦福大學的研究人員在 2014 年推出了 GloVe,進一步推進了詞嵌入的概念。GloVe 通過在整個語料庫中更全面地檢查統計信息來創建詞向量,從而在 Word2Vec 的基礎上進行了改進。通過考慮本地上下文窗口和全局語料庫統計數據,它可以實現更細致的語義理解。

基于 Transformer 的嵌入:BERT 及其變體

alt

2017 年推出的 Transformer 架構通過引入注意力機制的概念,徹底改變了 NLP。隨后,谷歌于 2018 年發布的 BERT(來自 Transformers 的雙向編碼器表示)提供了上下文相關的詞嵌入。 BERT 通過查看單詞前后的單詞來考慮單詞的完整上下文,這與上下文無關模型的 Word2Vec 和 GloVe 不同。自 BERT 發布以來,已經開發了多種變體和改進,例如 RoBERTa、GPT(生成式預訓練變壓器)等。

嵌入 API 的出現

最近,機器學習應用程序的增長推動了提供預訓練詞嵌入的 API(應用程序編程接口)的開發。這些 API 簡化了獲取詞嵌入的任務,讓開發人員能夠專注于構建應用程序。

例如 Google 的 TensorFlow Hub,它提供可以生成嵌入的預訓練模型。這些模型包括多種選項,從 Word2Vec 和 GloVe 到基于轉換器的模型(如 BERT)。同樣,Hugging Face 的 Transformers 庫提供了一種獲取預訓練 Transformer 嵌入的簡單方法。

此類 API 極大地民主化了最先進的 NLP 技術的獲取。開發人員可以將這些 API 集成到他們的應用程序中,以執行語義搜索、情感分析、文本分類等任務,而不需要廣泛的機器學習專業知識或訓練此類模型的資源。

因此,我們可以總結說 Embedding API 是一種機器學習 API,提供對預先訓練的詞嵌入的訪問。詞嵌入是詞的向量表示,捕獲詞的含義以及與其他詞的關系。它們允許實現 (NLP) 任務,例如語義搜索、情感分析和文本分類。

嵌入 API 很重要,因為它們使開發人員可以輕松訪問最先進的 NLP 技術。過去,想要使用詞嵌入的開發人員必須訓練自己的模型。這是一個耗時且資源密集的過程。嵌入 API 使開發人員能夠快速輕松地開始 NLP 任務,而無需擁有豐富的機器學習專業知識。

有許多可用的嵌入 API,包括:

  • Google’s PaLM 2, textembedding-gecko@latest
  • Google’s TensorFlow Hub
  • Hugging Face’s Transformers library
  • Stanford’s GloVe library
  • CoVe (Contextual Vectors)
  • FastText
  • ELMo

這些 API 提供各種預先訓練的詞嵌入,包括 Word2Vec、GloVe 和基于 Transformer 的模型(如 BERT)。

當開發人員使用嵌入 API 時,他們首先需要選擇他們想要使用的預訓練模型。然后,API 將返回輸入文本中每個單詞的向量表示。然后可以使用向量表示來執行 NLP 任務。

使用嵌入 API 的好處

  • 易于使用:嵌入 API 使開發人員可以輕松開始 NLP 任務。他們不需要任何機器學習方面的專業知識或資源來訓練自己的模型。
  • 準確性:嵌入 API 為各種 NLP 任務提供高精度。這是因為他們接受了大型文本和代碼數據集的訓練。
  • 可擴展性:嵌入 API 是可擴展的,因此它們可用于處理大量文本。

嵌入 API 是 NLP 任務的強大工具。它們使開發人員可以輕松訪問最先進的 NLP 技術并執行語義搜索、情感分析和文本分類等任務。隨著 NLP 領域的不斷發展,嵌入 API 將變得更加重要。

總結

自 NLP 出現以來,文本嵌入經歷了重大演變,每一次進步都讓我們更接近于有效模仿人類對語言的理解。隨著嵌入 API 的出現,這些強大的工具可供廣大開發人員使用,進一步加速了 NLP 應用程序的進步。

Reference

[1]

Source: https://dr-arsanjani.medium.com/the-evolution-of-text-embeddings-75431139133d

本文由 mdnice 多平臺發布

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

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

相關文章

要求CHATGPT高質量回答的藝術:提示工程技術的完整指南—第 27 章:如何避開和繞過所有人工智能內容檢測器

要求CHATGPT高質量回答的藝術:提示工程技術的完整指南—第 27 章:如何避開和繞過所有人工智能內容檢測器 使用高易錯性和突發性方法 與人工智能生成的文本相比,人類寫作往往具有更多的突發性,這是由于人類往往比人工智能生成的文…

【開源】基于Vue+SpringBoot的陜西非物質文化遺產網站

文末獲取源碼,項目編號: S 065 。 \color{red}{文末獲取源碼,項目編號:S065。} 文末獲取源碼,項目編號:S065。 目錄 一、摘要1.1 項目介紹1.2 項目錄屏 二、功能模塊2.1 設計目標2.2 研究內容2.3 研究方法與…

GEE中Landsat中大改變——Landsat Collection 1 到 Collection 2 影像集合遷移

Landsat Collection 1 到 Collection 2 遷移 本指南提供了從Landsat Collection 1 數據切換 到 Collection 2 數據的說明。自 2022 年以來,集合 2 已在 Earth Engine 中完全可用, 自 2021 年 12 月 31 日以來,美國地質調查局 (USGS) 未生成集合 1 數據。Landsat Collection …

3D點云:平面模型上提取凸(凹)多邊形方法

目錄 一、實現原理 二、實現代碼 三、運行結果 一、實現原理 首先要在點云中提取出潛在平面,對原始點云數據進行濾波,根據提取出的平面模型系數從濾波后的點云進行投影,然后根據投影后的點云計算其對應的二維凹(凸)多邊形。 二、實現代碼 #in

webrtc 設置不獲取鼠標 啟用回聲消除

數 getDisplayMedia()(屬于 navigator.mediaDevices 的一部分)與 getUserMedia() 類似,用于打開顯示內容(或部分內容,如窗口)。返回的 MediaStream 與使用 getUserMedia() 時相同。 顯示鼠標與否 getDisp…

案例064:基于微信小程序的考研論壇設計

文末獲取源碼 開發語言:Java 框架:SSM JDK版本:JDK1.8 數據庫:mysql 5.7 開發軟件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序開發軟件:HBuilder X 小程序…

正則表達式(7):轉義符

正則表達式(7):正則表達式(5):轉義符 本博文轉載自 此處,我們來認識一個常用符號,它就是反斜杠 “\” 反斜杠有什么作用呢?先不著急解釋,先來看個小例子。 …

【游戲引擎 - C#腳本系統】6、C#端調用C++函數

強烈建議閱讀Mono官方文檔 有mono庫提供的API&#xff0c;這個過程非常簡單&#xff0c;通過mono在C中注冊函數&#xff0c;然后在C#中聲明和調用這些函數 1、在C中注冊Internal Call&#xff1a; C代碼中定義一個函數 static void CppFunc() {std::cout << "這…

24 遞歸求解二叉樹打家劫舍

問題描述&#xff1a;在上次大街萬一條街道之后和一圈房屋后&#xff0c;小偷又發現了一個新的可行竊的地區。這個地區只有一個入口&#xff0c;我們稱之為根。除了根之外&#xff0c;每棟房子有且只有一個父房子與之項鏈&#xff0c;一番偵查之后&#xff0c;聰明的小偷意識到…

CGAL的3D簡單網格數據結構

由具有多個曲面面片的多面體曲面生成的多域四面體網格。將顯示完整的三角剖分&#xff0c;包括屬于或不屬于網格復合體、曲面面片和特征邊的單元。 1、網格復合體、 此軟件包致力于三維單純形網格數據結構的表示。 一個3D單純形復雜體由點、線段、三角形、四面體及其相應的組合…

從零開始搭建鏈上dex自動化價差套利程序(13)

優化 優化觸發條件&#xff1a; 之前的觸發條件有問題&#xff0c;導致遲遲不能觸發&#xff0c;優化后觸發條件如下&#xff1a; dydx_take 0.0002apex_make 0.0005?float(b_first_price_apex)-float(s_first_price_dydx) > float(b_first_price_apex)*apex_makefloat…

華為數通---配置Smart Link主備備份示例

定義 Smart Link&#xff0c;又叫做備份鏈路。一個Smart Link由兩個接口組成&#xff0c;其中一個接口作為另一個的備份。Smart Link常用于雙上行組網&#xff0c;提供可靠高效的備份和快速的切換機制。 目的 下游設備連接到上游設備&#xff0c;當使用單上行方式時&…

Microsoft 365 Copilot正式上線,如何穩定訪問體驗?

如果將微軟對人工智能的投資看成一場豪賭&#xff0c;Microsoft Copilot無疑是現階段最受矚目的賭注。2023年9月正式發布的Microsoft Copilot是一種基于大型語言模型&#xff08;LLM&#xff09;和微軟圖形&#xff08;Microsoft Graph&#xff09;的數據和人工智能&#xff08…

貝銳花生殼3大安全能力,保障網絡服務安全遠程連接

在沒有公網IP的情況下&#xff0c;使用內網穿透工具&#xff0c;將本地局域網服務映射至外網&#xff0c;雖然高效快捷&#xff0c;但信息安全也是不可忽略的方面。 對此&#xff0c;貝銳花生殼提供了多維度的安全防護能力&#xff0c;滿足不同場景下用戶安全遠程訪問內網服務的…

svn log | less

svn log | less 是一個命令行指令&#xff0c;用于查看 Subversion (SVN) 倉庫的提交日志&#xff0c;并通過分頁方式進行瀏覽。 具體而言&#xff0c;svn log 命令用于獲取 SVN 倉庫的提交歷史記錄。而 less 命令則是一個分頁器&#xff0c;它可以將輸出內容逐頁顯示在終端窗…

阿里巴巴通義實驗室周暢:讓大模型率先在PC上“跑起來”

12月7日&#xff0c;以“AI新生態 智啟新元年”為主題的首屆AI PC產業創新論壇在北京聯想集團總部舉辦。阿里巴巴-通義實驗室、通義千問大模型負責人周暢受邀出席分享關于端側大模型的技術進展&#xff0c;以及終端設備與AI結合的發展前景。 周暢表示&#xff0c;大模型技術的…

【Python百寶箱】Python與移動應用開發:框架對比與交互全指南

一站式指南&#xff1a;如何用Python打造移動應用的完美體驗 前言 隨著移動應用市場的不斷擴大&#xff0c;開發者們尋求更便捷、靈活的方式來構建跨平臺的應用。本文將帶領讀者深入探討Python在移動應用開發中的應用&#xff0c;聚焦于幾個主要框架&#xff0c;并詳細介紹它…

Python django-xadmin:構建強大的 Django 后臺管理系統

概要 Django作為一款強大的Web框架&#xff0c;其后臺管理系統提供了便捷的數據管理和操作方式。而 django-xadmin 則為Django的后臺管理系統提供了更加強大的功能和靈活的定制選項。在本文中&#xff0c;我們將深入研究如何使用django-xadmin&#xff0c;并通過詳細的示例代碼…

企業博客SEO:優化SOP,助您提升搜索引擎可見性

企業博客是互聯網時代企業與用戶溝通的重要渠道之一&#xff0c;引流成本也比較低。然而&#xff0c;依然有企業會處在3種狀態&#xff1a; 1. 有博客&#xff0c;但內容更新不積極或擱置 2. 有博客&#xff0c;但內容散亂 3. 根本就沒有博客 如果是這幾種狀態&#xff0c;…

Java網絡編程-深入理解BIO、NIO

深入理解BIO與NIO BIO BIO 為 Blocked-IO&#xff08;阻塞 IO&#xff09;&#xff0c;在 JDK1.4 之前建立網絡連接時&#xff0c;只能使用 BIO 使用 BIO 時&#xff0c;服務端會對客戶端的每個請求都建立一個線程進行處理&#xff0c;客戶端向服務端發送請求后&#xff0c;…