最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python機(jī)器學(xué)習(xí)NLP自然語(yǔ)言處理基本操作詞向量模型

 更新時(shí)間:2021年09月21日 14:36:55   作者:我是小白呀  
本文是Python機(jī)器學(xué)習(xí)NLP自然語(yǔ)言處理系列文章,帶大家開(kāi)啟一段學(xué)習(xí)自然語(yǔ)言處理 (NLP) 的旅程。本篇文章主要學(xué)習(xí)NLP自然語(yǔ)言處理基本操作詞向量模型

概述

從今天開(kāi)始我們將開(kāi)啟一段自然語(yǔ)言處理 (NLP) 的旅程. 自然語(yǔ)言處理可以讓來(lái)處理, 理解, 以及運(yùn)用人類的語(yǔ)言, 實(shí)現(xiàn)機(jī)器語(yǔ)言和人類語(yǔ)言之間的溝通橋梁.

在這里插入圖片描述

詞向量

我們先來(lái)說(shuō)說(shuō)詞向量究竟是什么. 當(dāng)我們把文本交給算法來(lái)處理的時(shí)候, 計(jì)算機(jī)并不能理解我們輸入的文本, 詞向量就由此而生了. 簡(jiǎn)單的來(lái)說(shuō), 詞向量就是將詞語(yǔ)轉(zhuǎn)換成數(shù)字組成的向量.

在這里插入圖片描述

當(dāng)我們描述一個(gè)人的時(shí)候, 我們會(huì)使用身高體重等種種指標(biāo), 這些指標(biāo)就可以當(dāng)做向量. 有了向量我們就可以使用不同方法來(lái)計(jì)算相似度.

在這里插入圖片描述

那我們?nèi)绾蝸?lái)描述語(yǔ)言的特征呢? 我們把語(yǔ)言分割成一個(gè)個(gè)詞, 然后在詞的層面上構(gòu)建特征.

在這里插入圖片描述

詞向量維度

詞向量的維度越高, 其所能提供的信息也就越多, 計(jì)算結(jié)果的可靠性就更值得信賴.

50 維的詞向量:

在這里插入圖片描述

用熱度圖表示一下:

在這里插入圖片描述

在這里插入圖片描述

從上圖我們可以看出, 相似的詞在特征表達(dá)中比較相似. 由此也可以證明詞的特征是有意義的.

Word2Vec

Word2Vec 是一個(gè)經(jīng)過(guò)預(yù)訓(xùn)練的 2 層神經(jīng)網(wǎng)絡(luò), 可以幫助我們將單詞轉(zhuǎn)換為向量. Word2Vec 分為兩種學(xué)習(xí)的方法: CBOW 和 Skip-Gram.

在這里插入圖片描述

CBOW 模型

CBOW (Continuous Bag-of-Words) 是根據(jù)單詞周圍的上下文來(lái)預(yù)測(cè)中間的詞. 如圖:

在這里插入圖片描述

Skip-Gram 模型

Skip-Gram 用于預(yù)測(cè)同一句子中當(dāng)前單詞前后的特定范圍內(nèi)的單詞.

在這里插入圖片描述

Skip-Gram 所需的訓(xùn)練數(shù)據(jù)集:

在這里插入圖片描述

在這里插入圖片描述

負(fù)采樣模型

如果一個(gè)語(yǔ)料庫(kù)稍微大一些, 可能的結(jié)果簡(jiǎn)直太多了. 詞向量模型的最后一層相當(dāng)于 softmax (轉(zhuǎn)換為概率), 計(jì)算起來(lái)會(huì)非常耗時(shí).

我們可以將輸入改成兩個(gè)單詞, 判斷這兩個(gè)詞是否為前后對(duì)應(yīng)的輸入和輸出, 即一個(gè)二分類任務(wù).

在這里插入圖片描述

在這里插入圖片描述

但是我們會(huì)發(fā)現(xiàn)一個(gè)問(wèn)題, 此時(shí)的訓(xùn)練集構(gòu)建出來(lái)的標(biāo)簽全為 1, 無(wú)法進(jìn)行較好的訓(xùn)練. 這時(shí)候負(fù)采樣模型就派上用場(chǎng)了. (默認(rèn)為 5 個(gè))

在這里插入圖片描述

在這里插入圖片描述

詞向量的訓(xùn)練過(guò)程

1. 初始化詞向量矩陣

在這里插入圖片描述

在這里插入圖片描述

2. 神經(jīng)網(wǎng)絡(luò)反向傳播

通過(guò)神經(jīng)網(wǎng)絡(luò)反向傳播來(lái)計(jì)算更新. 此時(shí)不光更新權(quán)重參數(shù)矩陣 W, 也會(huì)更新輸入數(shù)據(jù).

在這里插入圖片描述

詞向量模型實(shí)戰(zhàn)

格式:

Word2Vec(tokenized, sg=1, window=5, min_count=2, negative=1, sample=0.001, hs=1, workers=4)

參數(shù):

seg: 1 為skip-gram算法, 對(duì)低配詞敏感. 默認(rèn) sg=0, CBOW算法

window: 句子中當(dāng)前詞與目標(biāo)詞時(shí)間的最大距離. 3表示在目標(biāo)詞前看3-b個(gè)詞, 后面看b個(gè)詞 (b在0-3之間隨機(jī))

min_count: 對(duì)詞進(jìn)行過(guò)濾, 頻率小于min-cout的單詞會(huì)被忽視, 默認(rèn)值為5

訓(xùn)練模型

import jieba
from gensim.models import Word2Vec
# 獲取停用詞
file = open("../stop_words/cn_stopwords.txt", encoding="utf-8")
stop_word = set(file.read())
print("停用詞:", stop_word)  # 調(diào)試輸出
# 定義語(yǔ)料
content = [
    "長(zhǎng)江是中國(guó)第一大河,干流全長(zhǎng)6397公里(以沱沱河為源),一般稱6300公里。流域總面積一百八十余萬(wàn)平方公里,年平均入海水量約九千六百余億立方米。以干流長(zhǎng)度和入海水量論,長(zhǎng)江均居世界第三位。",
    "黃河,中國(guó)古代也稱河,發(fā)源于中華人民共和國(guó)青海省巴顏喀拉山脈,流經(jīng)青海、四川、甘肅、寧夏、內(nèi)蒙古、陜西、山西、河南、山東9個(gè)省區(qū),最后于山東省東營(yíng)墾利縣注入渤海。干流河道全長(zhǎng)5464千米,僅次于長(zhǎng)江,為中國(guó)第二長(zhǎng)河。黃河還是世界第五長(zhǎng)河。",
    "黃河,是中華民族的母親河。作為中華文明的發(fā)祥地,維系炎黃子孫的血脈.是中華民族民族精神與民族情感的象征。",
    "黃河被稱為中華文明的母親河。公元前2000多年華夏族在黃河領(lǐng)域的中原地區(qū)形成、繁衍。",
    "在蘭州的“黃河第一橋”內(nèi)蒙古托克托縣河口鎮(zhèn)以上的黃河河段為黃河上游。",
    "黃河上游根據(jù)河道特性的不同,又可分為河源段、峽谷段和沖積平原三部分。 ",
    "黃河,是中華民族的母親河。"
]
# 分詞
seg = [jieba.lcut(sentence) for sentence in content]
# 去除停用詞 & 標(biāo)點(diǎn)符號(hào)操作
tokenized = []
for sentence in seg:
    words = []
    for word in sentence:
        if word not in stop_word & {'(', ')'}:
            words.append(word)
    tokenized.append(words)
print(tokenized)  # 調(diào)試輸出
# 創(chuàng)建模型
model = Word2Vec(tokenized, sg=1, window=5, min_count=2, negative=1, sample=0.001, hs=1, workers=4)
# 保存模型
model.save("model")

輸出結(jié)果:

Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\Windows\AppData\Local\Temp\jieba.cache
停用詞: {'它', '算', '比', '庶', '針', '乎', '相', '幸', '上', '慢', '叫', '儻', '時(shí)', '出', '爾', '吱', '著', '要', '身', '所', '大', '?', '是', '家', '介', '幾', '隨', '由', '況', '”', '像', '有', '兒', '歸', '果', '簡(jiǎn)', '唷', '您', '啦', '間', '止', '僅', '啊', '喂', '步', '待', ' ', '豈', '料', '二', '或', '結(jié)', '乃', '竟', '人', '方', '若', '無(wú)', '3', '哼', '6', '鑒', '莫', '誰(shuí)', '會(huì)', '們', '嗎', '呸', '讓', '根', '固', '惟', '致', '余', '就', '乘', '拿', '啐', '換', '循', '次', '哩', '代', '死', '類', '\n', '經(jīng)', '始', '問(wèn)', '較', ':', '咧', '否', '令', '登', '首', '許', '云', '尚', '得', '這', '諸', '夫', '罷', '見(jiàn)', '多', '種', '嘿', '該', '然', '小', '除', '雖', '兩', '呀', '己', '極', '天', '前', '咦', '進(jìn)', '設(shè)', '望', '對(duì)', '彼', '徒', '反', '咚', '$', '哎', '唉', '呼', '噠', '受', '直', '據(jù)', '連', '體', '哇', '寧', '?', '遵', '言', '任', '今', '點(diǎn)', '憑', '緊', '俺', '獨(dú)', '如', '旦', '正', '哦', '下', '已', '打', '接', '呃', '》', '可', '在', '邊', '縱', '何', '叮', '矣', '每', '過(guò)', '沿', '則', '盡', '樣', '愿', '!', '全', '唄', '0', '值', '非', '《', '另', '轉(zhuǎn)', '給', '成', '年', '切', '特', '往', '恰', '5', '巴', '處', '依', '噯', '哪', '悉', '拘', '到', '些', '眨', '賴', '巧', '逐', '眼', '自', '2', '說(shuō)', '此', '越', '基', '消', '哧', '至', '嘩', '很', '毋', '用', '省', '般', '借', '。', '還', '曰', '最', ',', '冒', '述', '誠(chéng)', '光', '兼', '啥', '個(gè)', '呵', '別', '其', '免', '曾', '繼', '怎', '先', '甚', '使', '譬', '8', '嗚', '再', '鄙', '抑', '候', '了', '總', '以', '他', '都', '倘', '一', '截', '離', '作', '沖', '啪', '道', '分', '喻', '靠', '因', '等', '什', '達(dá)', '噓', '朝', '按', '句', '話', '者', '及', '管', '故', '關(guān)', '外', '嘍', '孰', '兮', '向', '限', '面', '沒(méi)', '加', '順', '咳', '賊', '么', '亦', '里', '奈', '各', '照', '嘔', '“', '之', '萬(wàn)', '于', '似', '9', '我', '而', '7', '少', '從', '怕', '地', '論', '哉', ';', '去', '某', '又', '_', '4', '將', '把', '和', '能', '呢', '猶', '來(lái)', '也', '阿', '啷', '便', '與', '內(nèi)', '好', '本', '吧', '齊', '知', '單', '歟', '唯', '跟', '嚇', '喔', '第', '部', '喏', '卻', '嗡', '那', '為', '距', '嗬', '1', '起', '咋', '嘛', '被', '即', '并', '喲', '嗯', '、', '仍', '位', '嘻', '趁', '哈', '凡', '例', '騰', '烏', '焉', '替', '且', '假', '但', '漫', '辦', '同', '才', '中', '她', '舊', '真', '妨', '開(kāi)', '既', '通', '難', '趕', '咱', '確', '看', '你', '綜', '期', '只', '臨', '具', '肯', '旁', '后', '嘎', '的', '當(dāng)', '不'}
Loading model cost 1.641 seconds.
Prefix dict has been built successfully.
[['長(zhǎng)江', '是', '中國(guó)', '第一', '大河', ',', '干流', '全長(zhǎng)', '6397', '公里', '(', '以', '沱沱河', '為源', ')', ',', '一般', '稱', '6300', '公里', '。', '流域', '總面積', '一百八十', '余萬(wàn)平方公里', ',', '年', '平均', '入海', '水量', '約', '九千', '六百余', '億立方米', '。', '以', '干流', '長(zhǎng)度', '和', '入海', '水量', '論', ',', '長(zhǎng)江', '均', '居', '世界', '第三位', '。'], ['黃河', ',', '中國(guó)', '古代', '也', '稱河', ',', '發(fā)源', '于', '中華人民共和國(guó)', '青海省', '巴顏喀拉山', '脈', ',', '流經(jīng)', '青海', '、', '四川', '、', '甘肅', '、', '寧夏', '、', '內(nèi)蒙古', '、', '陜西', '、', '山西', '、', '河南', '、', '山東', '9', '個(gè)', '省區(qū)', ',', '最后', '于', '山東省', '東營(yíng)', '墾利縣', '注入', '渤海', '。', '干流', '河道', '全長(zhǎng)', '5464', '千米', ',', '僅次于', '長(zhǎng)江', ',', '為', '中國(guó)', '第二', '長(zhǎng)河', '。', '黃河', '還是', '世界', '第五', '長(zhǎng)河', '。'], ['黃河', ',', '是', '中華民族', '的', '母親河', '。', '作為', '中華文明', '的', '發(fā)祥地', ',', '維系', '炎黃子孫', '的', '血脈', '.', '是', '中華民族', '民族', '精神', '與', '民族', '情感', '的', '象征', '。'], ['黃河', '被', '稱為', '中華文明', '的', '母親河', '。', '公元前', '2000', '多年', '華夏', '族', '在', '黃河', '領(lǐng)域', '的', '中原地區(qū)', '形成', '、', '繁衍', '。'], ['在', '蘭州', '的', '“', '黃河', '第一', '橋', '”', '內(nèi)蒙古', '托克托縣', '河口鎮(zhèn)', '以上', '的', '黃河', '河段', '為', '黃河', '上游', '。'], ['黃河', '上游', '根據(jù)', '河道', '特性', '的', '不同', ',', '又', '可', '分為', '河源', '段', '、', '峽谷', '段', '和', '沖積平原', '三', '部分', '。', ' '], ['黃河', ',', '是', '中華民族', '的', '母親河', '。']]

使用模型

from gensim.models import Word2Vec
# 加載模型
model = Word2Vec.load("model")
# 判斷相似度
sim1 = model.wv.similarity("黃河", "長(zhǎng)江")
print(sim1)
sim2 = model.wv.similarity("黃河", "黃河")
print(sim2)
# 預(yù)測(cè)最接近的人
most_similar = model.wv.most_similar(positive=["黃河", "母親河"], negative=["長(zhǎng)江"])
print(most_similar)

輸出結(jié)果:

0.20415045
0.99999994
[('公里', 0.15817636251449585), ('上游', 0.15374179184436798), ('入海', 0.15248821675777435), ('干流', 0.15130287408828735), ('的', 0.14548806846141815), ('是', 0.11208685487508774), ('段', 0.09545847028493881), ('為', 0.0872812420129776), ('于', 0.05294770747423172), ('長(zhǎng)河', 0.02978350967168808)]

以上就是Python機(jī)器學(xué)習(xí)NLP自然語(yǔ)言處理基本操作詞向量模型的詳細(xì)內(nèi)容,更多關(guān)于NLP自然語(yǔ)言處理的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • django框架基于queryset和雙下劃線的跨表查詢操作詳解

    django框架基于queryset和雙下劃線的跨表查詢操作詳解

    這篇文章主要介紹了django框架基于queryset和雙下劃線的跨表查詢操作,結(jié)合實(shí)例形式詳細(xì)分析了Django框架queryset和雙下劃線的跨表查詢相關(guān)實(shí)現(xiàn)技巧與操作注意事項(xiàng),需要的朋友可以參考下
    2019-12-12
  • Python使用Selenium模塊實(shí)現(xiàn)模擬瀏覽器抓取淘寶商品美食信息功能示例

    Python使用Selenium模塊實(shí)現(xiàn)模擬瀏覽器抓取淘寶商品美食信息功能示例

    這篇文章主要介紹了Python使用Selenium模塊實(shí)現(xiàn)模擬瀏覽器抓取淘寶商品美食信息功能,涉及Python基于re模塊的正則匹配及selenium模塊的頁(yè)面抓取等相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • Python+selenium破解拼圖驗(yàn)證碼的腳本

    Python+selenium破解拼圖驗(yàn)證碼的腳本

    很多網(wǎng)站在登錄或者注冊(cè)時(shí)都會(huì)遇到拼圖驗(yàn)證碼,這種拼圖驗(yàn)證碼實(shí)際上是多個(gè)小碎片經(jīng)過(guò)重新組合成的一張整體。本文將和大家分享一個(gè)基于Python selenium的破解拼圖驗(yàn)證碼的腳本,需要的可以參考一下
    2022-02-02
  • Python的多維空數(shù)組賦值方法

    Python的多維空數(shù)組賦值方法

    下面小編就為大家分享一篇Python的多維空數(shù)組賦值方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • Python3?DataFrame缺失值的處理方法

    Python3?DataFrame缺失值的處理方法

    這篇文章主要介紹了Python3?DataFrame缺失值的處理,包括缺失值的判斷缺失值數(shù)據(jù)的過(guò)濾及缺失值數(shù)據(jù)的填充,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • Python3實(shí)現(xiàn)建造者模式的示例代碼

    Python3實(shí)現(xiàn)建造者模式的示例代碼

    這篇文章主要介紹了Python3 實(shí)現(xiàn)建造者模式的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 詳解Pytorch 使用Pytorch擬合多項(xiàng)式(多項(xiàng)式回歸)

    詳解Pytorch 使用Pytorch擬合多項(xiàng)式(多項(xiàng)式回歸)

    這篇文章主要介紹了詳解Pytorch 使用Pytorch擬合多項(xiàng)式(多項(xiàng)式回歸),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • 講解Python中的遞歸函數(shù)

    講解Python中的遞歸函數(shù)

    這篇文章主要介紹了講解Python中的遞歸函數(shù),遞歸是學(xué)一門編程語(yǔ)言必須掌握的重要特性,需要的朋友可以參考下
    2015-04-04
  • Python編程新標(biāo)準(zhǔn)學(xué)會(huì)十項(xiàng)好習(xí)慣提升編碼質(zhì)量

    Python編程新標(biāo)準(zhǔn)學(xué)會(huì)十項(xiàng)好習(xí)慣提升編碼質(zhì)量

    這篇文章主要為大家介紹了Python編程新標(biāo)準(zhǔn)學(xué)會(huì)十項(xiàng)好習(xí)慣提升編碼質(zhì)量,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Python?ArcPy實(shí)現(xiàn)批量計(jì)算多時(shí)相遙感影像的各項(xiàng)元平均值

    Python?ArcPy實(shí)現(xiàn)批量計(jì)算多時(shí)相遙感影像的各項(xiàng)元平均值

    這篇文章主要為大家詳細(xì)介紹了如何基于Python中ArcPy模塊,實(shí)現(xiàn)對(duì)大量長(zhǎng)時(shí)間序列柵格遙感影像文件的每一個(gè)像元進(jìn)行多時(shí)序平均值的求取,感興趣的可以了解一下
    2023-04-04

最新評(píng)論

黎川县| 黔西县| 修文县| 微山县| 东光县| 伊春市| 昆山市| 连山| 万年县| 玛纳斯县| 青河县| 册亨县| 黑水县| 丰城市| 林西县| 拉孜县| 通化县| 安塞县| 泰宁县| 南川市| 曲阳县| 建宁县| 田阳县| 红河县| 土默特左旗| 万州区| 如皋市| 克拉玛依市| 怀集县| 金川县| 定日县| 金乡县| 广水市| 郑州市| 武定县| 黄浦区| 开鲁县| 大英县| 桓台县| 崇礼县| 罗田县|