91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

序列數據和文本的深度學習

人工智能君 ? 來源:人工智能君 ? 作者:人工智能君 ? 2022-07-15 09:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

?用于構建深度學習模型的不同文本數據表示法:
?理解遞歸神經網絡及其不同實現,例如長短期記憶網絡(LSTM)和門控循環(huán)單元(Gated Recurrent Unit,GRU),它們?yōu)榇蠖鄶瞪疃葘W習模型提供文本和序列化數據;
?為序列化數據使用一維卷積。
可以使用RNN構建的一些應用程序如下所示。
?文檔分類器:識別推文或評論的情感,對新聞文章進行分類。
?序列到序列的學習:例如語言翻譯,將英語轉換成法語等任務。
?時間序列預測:根據前幾天商店銷售的詳細信息,預測商店未來的銷售情況。

1使用文本數據
文本是常用的序列化數據類型之一。文本數據可以看作是一個字符序列或詞的序列。對大多數問題,我們都將文本看作詞序列。深度學習序列模型(如RNN及其變體)能夠從文本數據中學習重要的模式。這些模式可以解決類似以下領域中的問題:
?自然語言理解;
?文獻分類;
?情感分類。
這些序列模型還可以作為各種系統(tǒng)的重要構建塊,例如問答(Question and Answering,QA)系統(tǒng)。
雖然這些模型在構建這些應用時非常有用,但由于語言固有的復雜性,模型并不能真正理解人類的語言。這些序列模型能夠成功地找到可執(zhí)行不同任務的有用模式。將深度學習應用于文本是一個快速發(fā)展的領域,每月都會有許多新技術出現。我們將會介紹為大多數現代深度學習應用提供支持的基本組件。
與其他機器學習模型一樣,深度學習模型并不能理解文本,因此需要將文本轉換為數值的表示形式。將文本轉換為數值表示形式的過程稱為向量化過程,可以用不同的方式來完成,概括如下:
?將文本轉換為詞并將每個詞表示為向量;
?將文本轉換為字符并將每個字符表示為向量;
?創(chuàng)建詞的n-gram并將其表示為向量。
文本數據可以分解成上述的這些表示。每個較小的文本單元稱為token,將文本分解成token的過程稱為分詞(tokenization)。在Python中有很多強大的庫可以用來進行分詞。一旦將文本數據轉換為token序列,那么就需要將每個token映射到向量。one-hot(獨熱)編碼和詞向量是將token映射到向量最流行的兩種方法。圖6.1總結了將文本轉換為向量表示的步驟。

poYBAGLQxUaAZ3AHAAFJHZSB7IU186.png

圖6.1
下面介紹分詞、n-gram表示法和向量化的更多細節(jié)。
6.1.1分詞
將給定的一個句子分為字符或詞的過程稱為分詞。諸如spaCy等一些庫,它們?yōu)榉衷~提供了復雜的解決方案。讓我們使用簡單的Python函數(如split和list)將文本轉換為token。
為了演示分詞如何作用于字符和詞,讓我們看一段關于電影Thor:Ragnarok的小評論。我們將對這段文本進行分詞處理:
The action scenes were top notch in this movie. Thor has never been this epic in the MCU.He does some pretty epic sh*t in this movie and he is definitely not under-powered anymore.Thor in unleashed in this, I love that.
1.將文本轉換為字符
Python的list函數接受一個字符串并將其轉換為單個字符的列表。這樣做就將文本轉換為了字符。下面是使用的代碼和結果:
以下是結果:
結果展示了簡單的Python函數如何將文本轉換為token。
2.將文本轉換為詞
我們將使用Python字符串對象函數中的split函數將文本分解為詞。split函數接受一個參數,并根據該參數將文本拆分為token。在我們的示例中將使用空格作為分隔符。以下代碼段演示了如何使用Python的split函數將文本轉換為詞:
在前面的代碼中,我們沒有使用任何的分隔符,默認情況下,split函數使用空格來分隔。
3.n-gram表示法
我們已經看到文本是如何表示為字符和詞的。有時一起查看兩個、三個或更多的單詞非常有用。n-gram是從給定文本中提取的一組詞。在n-gram中,n表示可以一起使用的詞的數量??匆幌耣igram(當n= 2時)的例子,我們使用Python的nltk包為thor_review生成一個bigram,以下代碼塊顯示了bigram的結果以及用于生成它的代碼:
ngrams函數接受一個詞序列作為第一個參數,并將組中詞的個數作為第二個參數。以下代碼塊顯示了trigram表示的結果以及用于實現它的代碼:
在上述代碼中唯一改變的只有函數的第二個參數n的值。
許多有監(jiān)督的機器學習模型,例如樸素貝葉斯(Naive Bayes),都是使用n-gram來改善它的特征空間。n-gram同樣也可用于拼寫校正和文本摘要的任務。
n-gram表示法的一個問題在于它失去了文本的順序性。通常它是和淺層機器學習模型一起使用的。這種技術很少用于深度學習,因為RNN和Conv1D等架構會自動學習這些表示法。
6.1.2向量化
將生成的token映射到數字向量有兩種流行的方法,稱為獨熱編碼和詞向量(word embedding,也稱之為詞嵌入)。讓我們通過編寫一個簡單的Python程序來理解如何將token轉換為這些向量表示。我們還將討論每種方法的各種優(yōu)缺點。
1.獨熱編碼
在獨熱編碼中,每個token都由長度為N的向量表示,其中N是詞表的大小。詞表是文檔中唯一詞的總數。讓我們用一個簡單的句子來觀察每個token是如何表示為獨熱編碼的向量的。下面是句子及其相關的token表示:
An apple a day keeps doctor away said the doctor.
上面句子的獨熱編碼可以用表格形式進行表示,如下所示。
An 100000000
apple 010000000
a 001000000
day 000100000
keeps 000010000
doctor 000001000
away 000000100
said 000000010
the 000000001
該表描述了token及其獨熱編碼的表示。因為句子中有9個唯一的單詞,所以這里的向量長度為9。許多機器學習庫已經簡化了創(chuàng)建獨熱編碼變量的過程。我們將編寫自己的代碼來實現這個過程以便更易于理解,并且我們可以使用相同的實現來構建后續(xù)示例所需的其他功能。以下代碼包含Dictionary類,這個類包含了創(chuàng)建唯一詞詞表的功能,以及為特定詞返回其獨熱編碼向量的函數。讓我們來看代碼,然后詳解每個功能:
上述代碼提供了3個重要功能。
?初始化函數__init__創(chuàng)建一個word2idx字典,它將所有唯一詞與索引一起存儲。idx2word列表存儲的是所有唯一詞,而length變量則是文檔中唯一詞的總數。
?在詞是唯一的前提下,add_word函數接受一個單詞,并將它添加到word2idx和idx2word中,同時增加詞表的長度。
?onehot_encoded函數接受一個詞并返回一個長度為N,除當前詞的索引外其余位置全為0的向量。比如傳如的單詞的索引是2,那么向量在索引2處的值是1,其他索引處的值全為0。
在定義好了Dictionary類后,準備在thor_review數據上使用它。以下代碼演示了如何構建word2idx以及如何調用onehot_encoded函數:
上述代碼的輸出如下:
單詞were的獨熱編碼如下所示:
獨熱表示的問題之一就是數據太稀疏了,并且隨著詞表中唯一詞數量的增加,向量的大小迅速增加,這也是它的一種限制,因此獨熱很少在深度學習中使用。
2.詞向量
詞向量是在深度學習算法所解決的問題中,一種非常流行的用于表示文本數據的方式。詞向量提供了一種用浮點數填充的詞的密集表示。向量的維度根據詞表的大小而變化。通常使用維度大小為50、100、256、300,有時為1000的詞向量。這里的維度大小是在訓練階段需要使用的超參數。
如果試圖用獨熱表示法來表示大小為20000的詞表,那么將得到20000×20000個數字,并且其中大部分都為0。同樣的詞表可以用詞向量表示為20000×維度大小,其中維度的大小可以是10、50、300等。
一種方法是為每個包含隨機數字的token從密集向量開始創(chuàng)建詞向量,然后訓練諸如文檔分類器或情感分類器的模型。表示token的浮點數以一種可以使語義上更接近的單詞具有相似表示的方式進行調整。為了理解這一點,我們來看看圖6.2,它畫出了基于5部電影的二維點圖的詞向量。

poYBAGLQxbmAW7ZYAAAtSWtggwY721.png

圖6.2
圖6.2顯示了如何調整密集向量,以使其在語義上相似的單詞具有較小的距離。由于Superman、Thor和Batman等電影都是基于漫畫的動作電影,所以這些電影的向量更為接近,而電影Titanic的向量離動作電影較遠,離電影Notebook更近,因為它們都是浪漫型電影。
在數據太少時學習詞向量可能是行不通的,在這種情況下,可以使用由其他機器學習算法訓練好的詞向量。由另一個任務生成的向量稱為預訓練詞向量。下面將學習如何構建自己的詞向量以及使用預訓練詞向量。

審核編輯 黃昊宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 序列
    +關注

    關注

    0

    文章

    70

    瀏覽量

    20217
  • 深度學習
    +關注

    關注

    73

    文章

    5599

    瀏覽量

    124414
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    深度解析DS1830/A復位序列器:特性、操作與應用

    深度解析DS1830/A復位序列器:特性、操作與應用 在電子系統(tǒng)設計中,復位序列器是確保系統(tǒng)穩(wěn)定啟動和可靠運行的關鍵組件。今天我們就來深入探討DALLAS SEMICONDUCTOR(現MAXIM
    的頭像 發(fā)表于 02-28 15:10 ?147次閱讀

    自然語言處理NLP的概念和工作原理

    自然語言處理 (NLP) 是人工智能 (AI) 的一個分支,它會教計算機如何理解口頭和書面形式的人類語言。自然語言處理將計算語言學與機器學習深度學習相結合來處理語音和文本數據,這些
    的頭像 發(fā)表于 01-29 14:01 ?406次閱讀
    自然語言處理NLP的概念和工作原理

    機器學習深度學習中需避免的 7 個常見錯誤與局限性

    無論你是剛入門還是已經從事人工智能模型相關工作一段時間,機器學習深度學習中都存在一些我們需要時刻關注并銘記的常見錯誤。如果對這些錯誤置之不理,日后可能會引發(fā)諸多麻煩!只要我們密切關注數據
    的頭像 發(fā)表于 01-07 15:37 ?206次閱讀
    機器<b class='flag-5'>學習</b>和<b class='flag-5'>深度</b><b class='flag-5'>學習</b>中需避免的 7 個常見錯誤與局限性

    穿孔機頂頭檢測儀 機器視覺深度學習

    頂頭狀態(tài)。 檢測頂頭算法 引入人工智深度學習技術,通過Keras實現卷積神經網絡(CNN),用Numpy實現采集數據的訓練,得到符合現場需求的模型,進一步提升檢測的準確性和現場的適應性。 應用范圍
    發(fā)表于 12-22 14:33

    一文讀懂LSTM與RNN:從原理到實戰(zhàn),掌握序列建模核心技術

    在AI領域,文本翻譯、語音識別、股價預測等場景都離不開序列數據處理。循環(huán)神經網絡(RNN)作為最早的序列建模工具,開創(chuàng)了“記憶歷史信息”的先河;而長短期記憶網絡(LSTM)則通過創(chuàng)新設
    的頭像 發(fā)表于 12-09 13:56 ?1425次閱讀
    一文讀懂LSTM與RNN:從原理到實戰(zhàn),掌握<b class='flag-5'>序列</b>建模核心技術

    如何深度學習機器視覺的應用場景

    深度學習視覺應用場景大全 工業(yè)制造領域 復雜缺陷檢測:處理傳統(tǒng)算法難以描述的非標準化缺陷模式 非標產品分類:對形狀、顏色、紋理多變的產品進行智能分類 外觀質量評估:基于學習的外觀質量標準判定 精密
    的頭像 發(fā)表于 11-27 10:19 ?230次閱讀

    如何在機器視覺中部署深度學習神經網絡

    圖 1:基于深度學習的目標檢測可定位已訓練的目標類別,并通過矩形框(邊界框)對其進行標識。 在討論人工智能(AI)或深度學習時,經常會出現“神經網絡”、“黑箱”、“標注”等術語。這些概
    的頭像 發(fā)表于 09-10 17:38 ?911次閱讀
    如何在機器視覺中部署<b class='flag-5'>深度</b><b class='flag-5'>學習</b>神經網絡

    深度學習對工業(yè)物聯網有哪些幫助

    、實施路徑三個維度展開分析: 一、深度學習如何突破工業(yè)物聯網的技術瓶頸? 1. 非結構化數據處理:解鎖“沉睡數據”價值 傳統(tǒng)困境 :工業(yè)物聯網中70%以上的
    的頭像 發(fā)表于 08-20 14:56 ?1038次閱讀

    自動駕駛中Transformer大模型會取代深度學習嗎?

    [首發(fā)于智駕最前沿微信公眾號]近年來,隨著ChatGPT、Claude、文心一言等大語言模型在生成文本、對話交互等領域的驚艷表現,“Transformer架構是否正在取代傳統(tǒng)深度學習”這一話題一直被
    的頭像 發(fā)表于 08-13 09:15 ?4203次閱讀
    自動駕駛中Transformer大模型會取代<b class='flag-5'>深度</b><b class='flag-5'>學習</b>嗎?

    飛書開源“RTV”富文本組件 重塑鴻蒙應用富文本渲染體驗

    更高效的富文本解決方案。 富文本作為內容展示和信息交互的重要形式,在內容創(chuàng)作、辦公協(xié)作、教育學習、企業(yè)應用等多種復雜業(yè)務場景中扮演著重要角色。隨著鴻蒙生態(tài)應用類型的不斷豐富,富文本渲染
    的頭像 發(fā)表于 07-11 15:20 ?649次閱讀
    飛書開源“RTV”富<b class='flag-5'>文本</b>組件 重塑鴻蒙應用富<b class='flag-5'>文本</b>渲染體驗

    提高IT運維效率,深度解讀京東云AIOps落地實踐(異常檢測篇)

    基于深度學習對運維時序指標進行異常檢測,快速發(fā)現線上業(yè)務問題 時間序列的異常檢測是實際應用中的一個關鍵問題,尤其是在 IT 行業(yè)。我們沒有采用傳統(tǒng)的基于閾值的方法來實現異常檢測,而是通過深度
    的頭像 發(fā)表于 05-22 16:38 ?1038次閱讀
    提高IT運維效率,<b class='flag-5'>深度</b>解讀京東云AIOps落地實踐(異常檢測篇)

    快手上線鴻蒙應用高性能解決方案:數據序列化性能提升90%

    了其數據序列化性能,在典型場景下能夠降低約90%的數據轉換耗時,為鴻蒙應用帶來了更流暢的用戶體驗和更敏捷的交互響應。 在鴻蒙應用開發(fā)過程中,“class-transformer”三方庫被廣泛應用于將
    發(fā)表于 05-15 10:01

    嵌入式AI技術之深度學習數據樣本預處理過程中使用合適的特征變換對深度學習的意義

    ? 作者:蘇勇Andrew 使用神經網絡實現機器學習,網絡的每個層都將對輸入的數據做一次抽象,多層神經網絡構成深度學習的框架,可以深度理解
    的頭像 發(fā)表于 04-02 18:21 ?1525次閱讀

    把樹莓派打造成識別文本的“神器”!

    在許多項目中,RaspberryPi被用作監(jiān)控攝像頭或執(zhí)行機器學習任務。在這些場景中,圖像中經常包含應用程序感興趣的文本信息。我們希望提取這些信息并將其轉換,以便通過程序分析文本
    的頭像 發(fā)表于 03-25 09:30 ?990次閱讀
    把樹莓派打造成識別<b class='flag-5'>文本</b>的“神器”!