国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

90%的開發(fā)者都忽略的文本向量化技巧!

0
分享至

點擊下方“JavaEdge”,選擇“設(shè)為星標”

第一時間關(guān)注技術(shù)干貨!


免責聲明~ 任何文章不要過度深思! 萬事萬物都經(jīng)不起審視,因為世上沒有同樣的成長環(huán)境,也沒有同樣的認知水平,更「沒有適用于所有人的解決方案」; 不要急著評判文章列出的觀點,只需代入其中,適度審視一番自己即可,能「跳脫出來從外人的角度看看現(xiàn)在的自己處在什么樣的階段」才不為俗人。 怎么想、怎么做,全在乎自己「不斷實踐中尋找適合自己的大道」

1. 什么是文本張量表示?

文本張量表示是將文本數(shù)據(jù)轉(zhuǎn)換為張量(通常是矩陣)形式的過程。通常,每個詞匯被表示為一個向量(稱為詞向量),這些詞向量按順序排列形成一個矩陣,從而表示整個文本。例如:

["人生", "該", "如何", "起頭"]

==>

# 每個詞對應矩陣中的一個向量
[[1.32, 4.32, 0.32, 5.2],
 [3.1, 5.43, 0.34, 3.2],
 [3.21, 5.32, 2, 4.32],
 [2.54, 7.32, 5.12, 9.54]]

2. 文本張量表示的作用

將文本表示為張量(矩陣)形式,使得計算機能夠處理和理解自然語言文本,從而進行后續(xù)的分析和處理任務。

3. 文本張量表示的方法 3.1 One-Hot 詞向量表示

One-Hot 編碼是一種簡單的詞向量表示方法。每個詞被表示為一個長度為 n 的向量,其中只有一個元素為 1,其余為 0。n 的大小等于語料庫中不同詞匯的總數(shù)。例如:

["改變", "要", "如何", "起手"]`
==>

[[1, 0, 0, 0],
 [0, 1, 0, 0],
 [0, 0, 1, 0],
 [0, 0, 0, 1]]

One-Hot 編碼的實現(xiàn)

from sklearn.externals import joblib
from keras.preprocessing.text import Tokenizer

vocab = {"周杰倫", "陳奕迅", "王力宏", "李宗盛", "吳亦凡", "鹿晗"}
t = Tokenizer(num_words=None, char_level=False)
t.fit_on_texts(vocab)

for token in vocab:
    zero_list = [0]*len(vocab)
    token_index = t.texts_to_sequences([token])[0][0] - 1
    zero_list[token_index] = 1
    print(token, "的one-hot編碼為:", zero_list)

tokenizer_path = "./Tokenizer"
joblib.dump(t, tokenizer_path)

輸出:

鹿晗 的one-hot編碼為: [1, 0, 0, 0, 0, 0]
王力宏 的one-hot編碼為: [0, 1, 0, 0, 0, 0]
李宗盛 的one-hot編碼為: [0, 0, 1, 0, 0, 0]
陳奕迅 的one-hot編碼為: [0, 0, 0, 1, 0, 0]
周杰倫 的one-hot編碼為: [0, 0, 0, 0, 1, 0]
吳亦凡 的one-hot編碼為: [0, 0, 0, 0, 0, 1]

One-Hot 編碼的優(yōu)缺點
  • 優(yōu)點:簡單易懂,易于實現(xiàn)。

  • 缺點:無法捕捉詞與詞之間的關(guān)系,且在大語料庫中,向量維度會變得非常大,占用大量內(nèi)存。

由于這些缺點,One-Hot 編碼逐漸被更高效的稠密向量表示方法(如 Word2Vec 和 Word Embedding)所取代。

3.2 Word2Vec

Word2Vec 是一種無監(jiān)督學習方法,能夠?qū)⒃~匯表示為稠密向量。它通過訓練神經(jīng)網(wǎng)絡(luò)模型,將網(wǎng)絡(luò)參數(shù)作為詞匯的向量表示。Word2Vec 有兩種訓練模式:

3.2.1 CBOW(Continuous Bag of Words)

CBOW 通過上下文詞匯預測目標詞匯。例如,給定一個窗口大小為 9 的文本,使用前后 4 個詞匯來預測目標詞匯。

3.2.2 Skip-Gram

Skip-Gram 通過目標詞匯預測上下文詞匯。與 CBOW 相反,Skip-Gram 使用目標詞匯來預測其周圍的詞匯。

3.3 Word Embedding(詞嵌入)

詞嵌入是通過某種方式將詞匯映射到高維空間中的稠密向量表示。廣義上,詞嵌入包括所有稠密向量表示方法,如 Word2Vec;狹義上,詞嵌入指的是神經(jīng)網(wǎng)絡(luò)中的嵌入層,通過訓練得到的嵌入矩陣。

4. 使用 FastText 訓練和使用 Word2Vec 4.1 獲取訓練數(shù)據(jù)

可以使用維基百科的部分網(wǎng)頁信息作為訓練數(shù)據(jù)。通過以下命令下載并解壓數(shù)據(jù):

wget -c http://mattmahoney.net/dc/enwik9.zip -P data
unzip data/enwik9.zip -d data

4.2 訓練詞向量

使用 FastText 訓練詞向量:

import fasttext
model = fasttext.train_unsupervised('data/fil9')

4.3 模型超參數(shù)設(shè)定

可以調(diào)整模型的超參數(shù),如訓練模式、詞向量維度、學習率等:

model = fasttext.train_unsupervised('data/fil9', "cbow", dim=300, epoch=1, lr=0.1, thread=8)

4.4 模型效果檢驗

通過查找鄰近詞匯來檢驗模型效果:

model.get_nearest_neighbors('sports')
model.get_nearest_neighbors('music')
model.get_nearest_neighbors('dog')

4.5 模型的保存與重加載

保存和加載模型:

model.save_model("fil9.bin")
model = fasttext.load_model("fil9.bin")

5. 詞嵌入的可視化分析

通過 TensorBoard 可以可視化詞嵌入的效果:

import torch
from torch.utils.tensorboard import SummaryWriter

writer = SummaryWriter()
embedded = torch.randn(100, 50)
meta = list(map(lambda x: x.strip(), fileinput.FileInput("./vocab100.csv")))
writer.add_embedding(embedded, metadata=meta)
writer.close()

啟動 TensorBoard 服務:

tensorboard --logdir runs --host 0.0.0.0

通過瀏覽器訪問可視化頁面,查看詞嵌入的效果。

總結(jié)

文本張量表示是將文本數(shù)據(jù)轉(zhuǎn)換為計算機可處理的張量形式的過程。通過 One-Hot 編碼、Word2Vec 和詞嵌入等方法,可以將詞匯表示為稠密向量,從而捕捉詞匯之間的語義關(guān)系。FastText 是一種常用的工具,能夠高效地訓練詞向量,并通過調(diào)整超參數(shù)優(yōu)化模型效果。

本文已收錄在Github Java-Interview-Tutorial,關(guān)注我,緊跟本系列專欄文章,咱們下篇再續(xù)!

  • 魔都架構(gòu)師 | 全網(wǎng)30W+技術(shù)追隨者

  • 大廠分布式系統(tǒng)/數(shù)據(jù)中臺實戰(zhàn)專家

  • 主導交易系統(tǒng)億級流量調(diào)優(yōu) & 車聯(lián)網(wǎng)平臺架構(gòu)

  • AIGC應用開發(fā)先行者 | 區(qū)塊鏈落地實踐者

  • 以技術(shù)驅(qū)動創(chuàng)新,我們的征途是改變世界!

  • 實戰(zhàn)干貨:編程嚴選網(wǎng)

關(guān)注我,緊跟本系列專欄文章,咱們下篇再續(xù)!

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點推薦
5折清倉!小米15 Pro徹底崩盤了

5折清倉!小米15 Pro徹底崩盤了

手機評測室
2026-01-10 11:50:09
對華承諾全作廢?中國又一伙伴背后捅刀子?攬走大單倒向日本?

對華承諾全作廢?中國又一伙伴背后捅刀子?攬走大單倒向日本?

補懂事的孩紙
2026-01-12 00:43:30
留存戰(zhàn)力,盧克-肖未入選大名單是因為輪休,沒有受傷

留存戰(zhàn)力,盧克-肖未入選大名單是因為輪休,沒有受傷

懂球帝
2026-01-12 00:41:07
U23國足取得在U23亞洲杯歷史第3勝,單屆4分已創(chuàng)歷屆最高

U23國足取得在U23亞洲杯歷史第3勝,單屆4分已創(chuàng)歷屆最高

懂球帝
2026-01-11 21:27:46
演員陳明昊:被長相耽誤多年,曾深愛過梅婷,如今也火了

演員陳明昊:被長相耽誤多年,曾深愛過梅婷,如今也火了

民間平哥
2026-01-05 19:19:48
人到晚年,不管兒女待你好不好,牢記這4句話,你就贏了

人到晚年,不管兒女待你好不好,牢記這4句話,你就贏了

文雅筆墨
2026-01-04 11:44:00
他被判死刑,行刑前一天晚上,借口肚子疼,要上廁所,看守叫住了他:早去早回

他被判死刑,行刑前一天晚上,借口肚子疼,要上廁所,看守叫住了他:早去早回

年代回憶
2025-12-29 20:52:10
買草莓送的“筐”千萬別丟!用處可多著呢,看誰還不會?

買草莓送的“筐”千萬別丟!用處可多著呢,看誰還不會?

甜茶極簡記
2026-01-08 11:52:45
班級聚餐每人收1萬,我瞅著太貴就沒參加,結(jié)果第二天就聽說消息

班級聚餐每人收1萬,我瞅著太貴就沒參加,結(jié)果第二天就聽說消息

蘭姐說故事
2025-12-02 08:05:05
一頓亂扔!11投0中,全場0分0板1助,媒體人:需苦練,球迷:一根筋

一頓亂扔!11投0中,全場0分0板1助,媒體人:需苦練,球迷:一根筋

金山話體育
2026-01-11 07:12:00
斯諾克最新戰(zhàn)報:首位8強出爐,吳宜澤6-2干掉衛(wèi)冕冠軍墨菲

斯諾克最新戰(zhàn)報:首位8強出爐,吳宜澤6-2干掉衛(wèi)冕冠軍墨菲

各生歡喜者
2026-01-12 00:49:29
武松在景陽岡喝了15碗酒,吃了四斤肉,正常人真的能吃下這么多?

武松在景陽岡喝了15碗酒,吃了四斤肉,正常人真的能吃下這么多?

歷史人文2
2026-01-09 18:46:51
廣東潮州一佳人好漂亮,仙姿玉色,貌美如花,絕世佳人不過如此

廣東潮州一佳人好漂亮,仙姿玉色,貌美如花,絕世佳人不過如此

老吳教育課堂
2026-01-10 13:50:09
49歲馬伊琍變樣了!穿紅衣燙羊毛卷土到認不出,皮松肉垮老得真快

49歲馬伊琍變樣了!穿紅衣燙羊毛卷土到認不出,皮松肉垮老得真快

小咪侃娛圈
2026-01-09 09:30:21
原來iPhone自帶的這些軟件這么香,之前刪了的我血虧!

原來iPhone自帶的這些軟件這么香,之前刪了的我血虧!

我不叫阿哏
2026-01-05 13:17:43
上海96-81山西豪取9連勝,洛夫頓29+!5,迪亞洛空砍22分

上海96-81山西豪取9連勝,洛夫頓29+!5,迪亞洛空砍22分

懂球帝
2026-01-11 21:57:02
恭喜,陳芋汐官宣上任,新崗位曝光,全紅嬋回歸跳水隊有定論了

恭喜,陳芋汐官宣上任,新崗位曝光,全紅嬋回歸跳水隊有定論了

樂聊球
2026-01-11 14:11:02
廣東解除寒冷紅色預警信號,下周氣溫緩慢回升

廣東解除寒冷紅色預警信號,下周氣溫緩慢回升

新快報新聞
2026-01-11 20:23:03
警惕!仁愛礁對峙暫告一段落,暗藏博弈還在繼續(xù),戰(zhàn)斗或隨時打響

警惕!仁愛礁對峙暫告一段落,暗藏博弈還在繼續(xù),戰(zhàn)斗或隨時打響

長野星河散去了
2026-01-11 22:32:42
有錢人的生活能有多奢淫?30位情婦、60輛豪車,比賭王過得還瀟灑

有錢人的生活能有多奢淫?30位情婦、60輛豪車,比賭王過得還瀟灑

瞻史
2026-01-09 19:09:06
2026-01-12 01:31:00
JavaEdge incentive-icons
JavaEdge
Java 技術(shù)
466文章數(shù) 457關(guān)注度
往期回顧 全部

科技要聞

“我們與美國的差距也許還在拉大”

頭條要聞

特朗普就格陵蘭島下最后通牒 加拿大開始行動了

頭條要聞

特朗普就格陵蘭島下最后通牒 加拿大開始行動了

體育要聞

U23國足形勢:末輪不負泰國即確保晉級

娛樂要聞

留幾手為閆學晶叫屈?稱網(wǎng)友自卑敏感

財經(jīng)要聞

外賣平臺"燒錢搶存量市場"迎來終局?

汽車要聞

2026款宋Pro DM-i長續(xù)航補貼后9.98萬起

態(tài)度原創(chuàng)

健康
旅游
數(shù)碼
親子
游戲

這些新療法,讓化療不再那么痛苦

旅游要聞

冰雕獸首立老街!哈爾濱用 60 年冰雪基因,解鎖文旅融合新密碼

數(shù)碼要聞

科技有AI,連接全球:海信家電參展CES 2026,定義智慧生活新圖景

親子要聞

晨時評 | 新生兒疑被助產(chǎn)士剪斷手指,別用孩子亂動推卸責任

Epic喜加二/LPL、KPL春季賽開戰(zhàn)| 下周玩什么

無障礙瀏覽 進入關(guān)懷版