自然語言處理 人工計算主題向量

2021-10-14 09:56:05 字數 2054 閱讀 9088

看**:

import numpy as np

topic =

# 這個 tfidf 向量只是乙個隨機的例子,就好像

# 它是為一篇用這些詞按隨機比例構成的文件計算出來的

tfidf =

dict

(list

(zip

(.split(

), np.random.rand(6)

)))print

(tfidf)

# 人工設定的權重(0.3, 0.3, 0, 0, -0.2, 0.2)

# 乘以上面虛構的 tfidf 值,從而為虛構的隨機文件建立主題向量。

topic[

'petness']=

(.3* tfidf[

'cat']+

.3* tfidf[

'dog']+

0* tfidf+

0* tfidf[

'lion']-

.2* tfidf[

'nyc']+

.2* tfidf[

'love'])

topic[

'animalness']=

(.1* tfidf[

'cat']+

.1* tfidf[

'dog']-

.1* tfidf+

.5* tfidf[

'lion']+

.1* tfidf[

'nyc']-

.1* tfidf[

'love'])

topic[

'cityness']=

(0* tfidf[

'cat']-

.1* tfidf[

'dog']+

.2* tfidf-

.1* tfidf[

'lion']+

.5* tfidf[

'nyc']+

.1* tfidf[

'love'])

print

(topic)

# 詞和主題之間的關係可以翻轉。3 個主題向量組

# 成的 3 × 6 矩陣可以轉置,從而為詞彙表中的每個詞生成主題權重。

# 計算詞的主題權重

word_vector =

word_vector[

'cat']=

.3*topic[

'petness']+

.1*topic[

'animalness']+

0*topic[

'cityness'

]word_vector[

'dog']=

.3*topic[

'petness']+

.1*topic[

'animalness']-

.1*topic[

'cityness'

]word_vector=

0*topic[

'petness']-

.1*topic[

'animalness']+

.2*topic[

'cityness'

]word_vector[

'lion']=

0*topic[

'petness']+

.5*topic[

'animalness']-

.1*topic[

'cityness'

]word_vector[

'nyc']=

-.2*topic[

'petness']+

.1*topic[

'animalness']+

.5*topic[

'cityness'

]word_vector[

'love']=

.2*topic[

'petness']-

.1*topic[

'animalness']+

.1*topic[

'cityness'

]print

(word_vector)

自然語言處理(三) 主題模型

什麼是lda?latent dirichlet allocation 什麼是貝葉斯模型?事件 和y同時發生的概率 發生的概率 在 發生的情況下y發生的概率 y發生的概率 在y發生的情況下 發生的概率 要想理解lda,分為以下五個步驟 1 gamma函式 看完這三篇,基本上對gamma函式就有所了解了...

自然語言處理

自然語言處理主要步驟包括 2.詞法分析 對於英文,有詞頭 詞根 詞尾的拆分,名詞 動詞 形容詞 副詞 介詞的定性,多種詞意的選擇。比如diamond,有菱形 棒球場 鑽石3個含義,要根據應用選擇正確的意思。3.語法分析 通過語法樹或其他演算法,分析主語 謂語 賓語 定語 狀語 補語等句子元素。4.語...

自然語言處理

前言 自然語言處理 natural language processing 是計算科學領域與人工智慧領域中的乙個重要方向。它研究能實現人與計算機之間用自然語言進行有效通訊的各種理論和方法。自然語言處理是一門融語言學 電腦科學 數學於一體的科學。因此,這一領域的研究將涉及自然語言,即人們日常使用的語言...