構建詞向量(單向量版)

2021-10-05 07:25:09 字數 1666 閱讀 8135

為了節省記憶體,詞向量的結果進行了惰性計算,返回的是乙個記憶體位址

如果想要使用,請list展開

共計三個結果,原順序:詞向量,單詞標籤,以及乙個排序結果

import re

import numpy as np

import matplotlib.pyplot as plt

import scipy

import jieba

import collections

words =

'''def

delsymbols

(strings,symbles=

':,."](>)):

srcrep =

rep =

dict

((re.escape(k)

, v)

for k, v in srcrep.items())

pattern = re.

compile

("|"

.join(rep.keys())

)return pattern.sub(

lambda m: rep[re.escape(m.group(0)

)], strings)

defget_word_vector

(words)

: src_count_words = collections.counter(words)

sorted_words =

sorted

(src_count_words.items(

), key=

lambda x:

-x[1])

sorted_words,sorted_numbers=

zip(

*sorted_words)

sorted_words_in_map =

counter_vector_machine =

(src_count_words[i]

for i in src_count_words)

counter_words_machine =

(i for i in src_count_words)

return counter_vector_machine,counter_words_machine,

((word,count)

for word,count in

zip(sorted_words,sorted_numbers)

)## 呼叫

clearning = delsymbols(words,

':,."](>)

)split_words =

list

(jieba.cut(clearning, cut_all=

true))

result = get_word_vector(split_words)

## 解包

counter_vector_machine,counter_words_machine,sortresult = result

## 展開list型別結果(原文順序不變)

[list

(i)for i in result[:2

]]## 展開原文詞計數list(由大到小排序)

list

(sortresult)

詞向量 如何評價詞向量的好壞

詞向量 詞嵌入或者稱為詞的分布式表示,區別於以往的獨熱表示,已經成為自然語言任務中的乙個重要工具,對於詞向量並沒有直接的方法可以評價其質量,下面介紹幾種間接的方法。對於詞向量的評價更多還是應該考慮對實際任務的收益,脫離的實際任務很難確定a模型就一定比b好,畢竟詞向量方法更多是一種工具。學生 上課 0...

詞向量與句向量概述

比較常見的詞向量表示方式 glove fasttext wordrank tfidf bow word2vec 詞向量一般看作是文件特徵,不同詞向量有不同用法,主要有四類詞向量 1.hash演算法及衍生 2.bow演算法延伸 3.word2vec延伸 4.lda主題延伸 乙個詞一列向量 hash演算...

詞向量簡介

1.什麼是詞向量?每乙個詞典 裡面存著一堆單詞,例如 用nn.embedding模組進行詞嵌入 輸出的就是對應的詞向量。2.什麼是 nn.embedding torch.nn.embedding理解 看這個解釋 3.如何訓練乙個詞向量?skip gram 模型 雖然這個任務並沒有什麼卵用,但它可以幫...