<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 什么是用于文本的詞嵌入? > 原文: [https://machinelearningmastery.com/what-are-word-embeddings/](https://machinelearningmastery.com/what-are-word-embeddings/) 詞嵌入是一種單詞表示,允許具有相似含義的單詞具有相似的表示。 它們是文本的分布式表示,這可能是深度學習方法在挑戰自然語言處理問題上令人印象深刻的表現的關鍵突破之一。 在這篇文章中,您將發現用于表示文本數據的嵌入方法。 完成這篇文章后,你會知道: * 用于表示文本的單詞嵌入方法是什么以及它與其他特征提取方法的區別。 * 從文本數據中學習單詞嵌入有 3 種主要算法。 * 您可以訓練新的嵌入或在自然語言處理任務中使用預先訓練的嵌入。 讓我們開始吧。 ![What Are Word Embeddings for Text?](img/23e8161466890c5f0b0351c94167ab1f.jpg) 什么是詞嵌入文本? 照片來自 [Heather](https://www.flickr.com/photos/woolgenie/32248092754/) ,保留一些權利。 ## 概觀 這篇文章分為 3 部分;他們是: 1. 什么是詞嵌入? 2. 單詞嵌入算法 3. 使用詞嵌入 ## 什么是詞嵌入? 單詞嵌入是文本的學習表示,其中具有相同含義的單詞具有相似的表示。 正是這種表達文字和文檔的方法可能被認為是深刻學習挑戰自然語言處理問題的關鍵突破之一。 > 使用密集和低維向量的一個好處是計算:大多數神經網絡工具包不能很好地處理非常高維,稀疏的向量。 ......密集表示的主要好處是泛化能力:如果我們認為某些特征可能提供類似的線索,那么提供能夠捕獲這些相似性的表示是值得的。 - 第 92 頁,[自然語言處理中的神經網絡方法](http://amzn.to/2wycQKA),2017。 字嵌入實際上是一類技術,其中各個單詞在預定義的向量空間中表示為實值向量。每個單詞被映射到一個向量,并且向量值以類似于神經網絡的方式被學習,因此該技術經常被集中到深度學習領域。 該方法的關鍵是為每個單詞使用密集的分布式表示。 每個單詞由實值向量表示,通常為數十或數百個維度。這與稀疏字表示所需的數千或數百萬維度形成對比,例如單熱編碼。 > 將詞匯表中的每個詞與分布式詞特征向量相關聯...特征向量表示詞的不同方面:每個詞與向量空間中的點相關聯。特征的數量......遠小于詞匯的大小 - [神經概率語言模型](http://www.jmlr.org/papers/volume3/bengio03a/bengio03a.pdf),2003。 基于單詞的使用來學習分布式表示。這允許以類似方式使用的單詞導致具有相似的表示,自然地捕獲它們的含義。這可以與一袋單詞模型中清晰但脆弱的表示形成對比,除非明確管理,否則不同的單詞具有不同的表示形式,無論它們如何被使用。 該方法背后有更深層次的語言學理論,即 Zellig Harris 的“_ 分布假設 _”,可歸納為:具有相似語境的詞語具有相似的含義。有關更深入的信息,請參閱 Harris 的 1956 年論文“[分布式結構](http://www.tandfonline.com/doi/pdf/10.1080/00437956.1954.11659520)”。 這個概念讓這個詞的用法定義了它的含義可以通過 John Firth 經常重復的諷刺來概括: > 你應該知道它所保留的公司的一句話! - 第 11 頁,“[語言學理論概要 1930-1955](http://annabellelukin.edublogs.org/files/2013/08/Firth-JR-1962-A-Synopsis-of-Linguistic-Theory-wfihi5.pdf) ”,1963 年至 1955 年語言分析研究。 ## 單詞嵌入算法 單詞嵌入方法從文本語料庫中學習預定義固定大小的詞匯表的實值向量表示。 學習過程要么與某個任務的神經網絡模型聯合,例如文檔分類,要么是無監督的過程,使用文檔統計。 本節介紹了可用于從文本數據中學習單詞嵌入的三種技術。 ### 1.嵌入層 由于缺少更好的名稱,嵌入層是與特定自然語言處理任務(例如語言建模或文檔分類)的神經網絡模型聯合學習的單詞嵌入。 它要求清理和準備文檔文本,使得每個單詞都是單熱編碼的。向量空間的大小被指定為模型的一部分,例如 50,100 或 300 維。向量用小的隨機數初始化。嵌入層用于神經網絡的前端,并且使用反向傳播算法以監督方式擬合。 > ...當神經網絡的輸入包含符號分類特征(例如,采用 k 個不同符號之一的特征,例如來自封閉詞匯表的單詞)時,通常將每個可能的特征值(即詞匯表中的每個單詞)相關聯對于某些 d,使用 d 維向量。然后將這些向量視為模型的參數,并與其他參數一起訓練。 - 第 49 頁,[自然語言處理中的神經網絡方法](http://amzn.to/2wycQKA),2017。 單熱編碼的單詞被映射到單詞向量。如果使用多層感知器模型,則在作為模型的輸入饋送之前,將字向量連接起來。如果使用循環神經網絡,則每個字可以作為序列中的一個輸入。 這種學習嵌入層的方法需要大量的訓練數據并且可能很慢,但是將學習嵌入特定文本數據和 NLP 任務的嵌入。 ### 2\. Word2Vec Word2Vec 是一種有效學習從文本語料庫中嵌入獨立單詞的統計方法。 它由 Tomas Mikolov 等人開發。 2013 年谷歌作為回應使嵌入式神經網絡訓練更有效率,從那時起已成為開發預訓練字嵌入的事實標準。 此外,工作涉及學習向量的分析和對單詞表示的向量數學的探索。例如,從“ _King_ ”中減去“ _man-ness_ ”并添加“ _women-ness_ ”會產生“ _Queen_ “,捕捉類比”_ 國王是女王,男人是女人 _“。 > 我們發現這些表示在捕獲語言中的句法和語義規律方面令人驚訝地擅長,并且每個關系的特征在于特定于關系的向量偏移。這允許基于單詞之間的偏移的面向向量的推理。例如,自動學習男/女關系,并且通過誘導的向量表示,“King - Man + Woman”產生非常接近“Queen”的向量。 - [連續空間詞表示中的語言規則](https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/rvecs.pdf),2013。 引入了兩種不同的學習模型,可以作為 word2vec 方法的一部分來學習嵌入一詞;他們是: * 連續的詞袋,或 CBOW 模型。 * 連續 Skip-Gram 模型。 CBOW 模型通過基于其上下文預測當前單詞來學習嵌入。連續跳過 - 克模型通過預測給定當前單詞的周圍單詞來學習。 連續跳過 - 克模型通過預測給定當前單詞的周圍單詞來學習。 ![Word2Vec Training Models](img/f09c74451d303a15ece34698c6e6adca.jpg) Word2Vec 訓練模型 取自“向量空間中詞表示的高效估計”,2013 兩個模型都專注于在給定其本地使用上下文的情況下學習單詞,其中上下文由相鄰單詞的窗口定義。該窗口是模型的可配置參數。 > 滑動窗口的大小對得到的向量相似性具有強烈影響。大窗戶傾向于產生更多的局部相似性[...],而較小的窗口往往產生更多的功能和句法相似性。 - 第 128 頁,[自然語言處理中的神經網絡方法](http://amzn.to/2wycQKA),2017。 該方法的主要優點是可以有效地學習高質量的詞嵌入(低空間和時間復雜度),允許從更大的文本語料庫(數十億個單詞)學習更大的嵌入(更多維度)。 ### 3\. GloVe 用于 Word 表示的全局向量或 GloVe 算法是用于有效學習單詞向量的 word2vec 方法的擴展,由 Pennington 等人開發。在斯坦福大學。 使用諸如潛在語義分析(LSA)之類的矩陣分解技術開發了單詞的經典向量空間模型表示,該技術在使用全局文本統計方面做得很好,但是在捕獲意義和在任務上演示時,不像 word2vec 這樣的學習方法。比如計算類比(例如上面的國王和王后例子)。 GloVe 是一種將矩陣分解技術(如 LSA)的全局統計與 word2vec 中的本地基于上下文的學習相結合的方法。 GloVe 不是使用窗口來定義本地上下文,而是使用整個文本語料庫中的統計信息構造顯式的單詞上下文或單詞共現矩陣。結果是學習模型可能導致通常更好的詞嵌入。 > GloVe 是一種新的全球對數雙線性回歸模型,用于無監督學習單詞表示,在單詞類比,單詞相似度和命名實體識別任務方面優于其他模型。 - [GloVe:Word 表示的全局向量](https://nlp.stanford.edu/pubs/glove.pdf),2014。 ## 使用詞嵌入 當您在自然語言處理項目中使用單詞嵌入時,您有一些選擇。 本節概述了這些選項。 ### 1.學習嵌入 您可以選擇為您的問題學習嵌入字。 這將需要大量的文本數據以確保學習有用的嵌入,例如數百萬或數十億個單詞。 訓練單詞嵌入時,您有兩個主要選項: 1. **學習它獨立**,其中訓練模型來學習嵌入,嵌入被保存并在以后作為另一個模型的一部分用于您的任務。如果您想在多個模型中使用相同的嵌入,這是一個很好的方法。 2. **共同學習**,其中嵌入是作為大型任務特定模型的一部分學習的。如果您只打算在一個任務上使用嵌入,這是一個很好的方法。 ### 2.重復使用嵌入 研究人員通常可以免費提供經過預先訓練的單詞嵌入,通常是在許可許可下,這樣您就可以在自己的學術或商業項目中使用它們。 例如,word2vec 和 GloVe 字嵌入都可以免費下載。 這些可以在您的項目中使用,而不是從頭開始訓練您自己的嵌入。 在使用預先訓練好的嵌入時,您有兩個主要選項: 1. **靜態**,其中嵌入保持靜態并用作模型的組件。如果嵌入非常適合您的問題并提供良好的結果,這是一種合適的方法。 2. **更新了**,其中預訓練嵌入用于為模型播種,但嵌入在模型訓練期間聯合更新。如果您希望充分利用模型并嵌入任務,這可能是一個不錯的選擇。 ### 你應該選擇哪種選擇? 探索不同的選項,如果可能的話,測試哪個選項可以最好地解決您的問題。 也許從快速方法開始,例如使用預先訓練的嵌入,并且如果它能夠在您的問題上獲得更好的表現,則只使用新的嵌入。 ## 進一步閱讀 如果您要深入了解,本節將提供有關該主題的更多資源。 ### 用品 * [維基百科上的詞嵌入](https://en.wikipedia.org/wiki/Word_embedding) * [維基百科上的 Word2vec](https://en.wikipedia.org/wiki/Word2vec) * 維基百科上的 [GloVe](https://en.wikipedia.org/wiki/GloVe_(machine_learning)) * [詞匯嵌入概述及其與分布式語義模型的聯系](http://blog.aylien.com/overview-word-embeddings-history-word2vec-cbow-glove/),2016。 * [Deep Learning,NLP 和 Representations](http://colah.github.io/posts/2014-07-NLP-RNNs-Representations/) ,2014。 ### 文件 * [分布結構](http://www.tandfonline.com/doi/pdf/10.1080/00437956.1954.11659520),1956。 * [神經概率語言模型](http://www.jmlr.org/papers/volume3/bengio03a/bengio03a.pdf),2003。 * [自然語言處理的統一架構:具有多任務學習的深度神經網絡](https://ronan.collobert.com/pub/matos/2008_nlp_icml.pdf),2008。 * [連續空間語言模型](https://pdfs.semanticscholar.org/0fcc/184b3b90405ec3ceafd6a4007c749df7c363.pdf),2007。 * [向量空間中詞表示的有效估計](https://arxiv.org/pdf/1301.3781.pdf),2013 * [單詞和短語的分布式表示及其組合](https://arxiv.org/pdf/1310.4546.pdf),2013。 * [GloVe:Word 表示的全局向量](https://nlp.stanford.edu/pubs/glove.pdf),2014。 ### 項目 * Google 代碼上的 [word2vec](https://code.google.com/archive/p/word2vec/) * [GloVe:用于詞表示的全局向量](https://nlp.stanford.edu/projects/glove/) ### 圖書 * [自然語言處理中的神經網絡方法](http://amzn.to/2wycQKA),2017。 ## 摘要 在這篇文章中,您發現了詞嵌入作為深度學習應用程序中文本的表示方法。 具體來說,你學到了: * 表示文本的嵌入方法是什么,以及它與其他特征提取方法的區別。 * 從文本數據中學習單詞嵌入有 3 種主要算法。 * 您可以在自然語言處理任務中訓練新的嵌入或使用預先訓練的嵌入。 你有任何問題嗎? 在下面的評論中提出您的問題,我會盡力回答。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看