最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

北太天元學(xué)習(xí)43-文本分析之詞頻-逆文檔頻率

2023-09-03 22:13 作者:盧朓  | 我要投稿

我們搜集了很多文檔,把這些文檔作為一個(gè)集合來(lái)研究。 我們確定了一批單詞(這些單詞可以是把這些文檔的所有的不同的單詞都找出來(lái),然后剔除到一些意義不大的單詞之后得到的), 然后就得到了 文檔-單詞 矩陣, 每一行表示一個(gè)文檔(每一行的文檔兩兩不同),每一列表示一個(gè)單詞(每一列的單詞兩兩不同), 文檔i中單詞j中出現(xiàn)的次數(shù) 是矩陣的(i,j) 元, 例如

???? ? ? ? ? ? 單詞1????? 單詞2?? 單詞3

文檔1??????? 0???????????? 2?????????? 3

文檔2????? 1????????????? 0??????????? 1

這個(gè)文檔-單詞矩陣表示? 單詞1 在文檔1 中出現(xiàn)了0 次, 在文檔2 中出現(xiàn)了1次, 那么我們可以看到,在我們搜索的搜有文檔中,文檔1中單詞1出現(xiàn)了0次,單詞2出現(xiàn)了2次,單詞3出現(xiàn)了3次,? 其中在文檔1中單詞1出現(xiàn)的次數(shù)占比是 0/5,? 單詞2出現(xiàn)的次數(shù)占比是 2/5,? 單詞3總出現(xiàn)的次數(shù)占比是 3/5,?? 我們我們就定義 文檔1中單詞1 , 2, 3 的詞頻是 0/5, 2/5, 3/5 。 類似的,我們可以得到文檔2 單詞 1 2 3? 的詞頻, 這樣我們就得到了詞頻矩陣

詞頻(term frequency)矩陣(有時(shí)候就簡(jiǎn)稱為詞頻了)

???? ? ? ? ? ? 單詞1???? ?? 單詞2? ? ?? 單詞3

文檔1??????? 0/5 ??????????? 2/5 ????????? 3/5

文檔2????? 1 /2 ??????????? 0/2 ?????????? 1/2

matrix_tf = [ 0/5 ??????????? 2/5 ????????? 3/5;

???????????????????? 1 /2 ??????????? 0/2 ?????????? 1/2 ];

北太天元命令行窗口輸入matrix_tf

北太天元命令行窗口輸入詞頻矩陣


單詞3 在文檔1 中的詞頻是3/5,比單詞2在文檔1中的詞頻2/5高,我們應(yīng)該覺(jué)得單詞3更能體現(xiàn)文檔3的特色,因此單詞應(yīng)該對(duì)文章1的重要性更大,但是我們又觀察到單詞3在文檔2中的詞頻是 1/2, 而單詞2在文檔2的詞頻是0/2,? 那么我們又會(huì)猜測(cè) 單詞3可能是個(gè)常用單詞,在很多文檔中都會(huì)出現(xiàn),因此它對(duì)一個(gè)文章的重要性不是那么大,而單詞2僅僅在文檔1中出現(xiàn),它對(duì)文檔1的重要性可能應(yīng)該更大。于是我們就引入了逆文檔頻率(inverse document freqency):

單詞3 的 逆文檔頻率可以定義成:

?????????? idf_3? =? log(??? 文檔總數(shù) / 包含單詞3的文檔數(shù) )

針對(duì)我們上面這個(gè)例子,文檔總數(shù)是2,包含單詞3的文檔總數(shù)也是2, 因此,

????? idf_3? =? log( 2/ 2 ) = 0

類似的,我們可以得到單詞1 的逆文檔頻率是

??? idf_1 = log( 2/ 1 )

類似的,我們可以得到單詞2的逆文檔頻率是

???? idf_2 = log(2/1)

逆文檔頻率矩陣是一個(gè) 1x3 的矩陣

? matrix_idf? =? [?? log(2/1), log(2/1), log(2/2) ]


這里的 diag(matrix_idf) 是從1x3的向量構(gòu)造一個(gè)3x3的對(duì)角陣, 看北太天元的執(zhí)行結(jié)果

北太天元命令行窗口看diag函數(shù)從向量構(gòu)造對(duì)角矩陣

最后,我們得到的 tf-idf 矩陣是

matrix_tf_idf =? matrix_tf? * diag( matrix_idf )

最后得到的tf_idf 矩陣

matrix_tf 乘以一個(gè)對(duì)角矩陣,相當(dāng)于每一列乘以對(duì)角矩陣相應(yīng)的對(duì)角元,? 本來(lái) matrix_tf 的第3列的元素都很大,但是乘以第個(gè)單詞的逆文檔頻率0之后,在 tf-idf 矩陣中第三個(gè)單詞的重要性一下子下降到0 了。

下面是完整的計(jì)算tf-idf矩陣的北太天元代碼,包括函數(shù) tfidf 和兩個(gè)子函數(shù) tf, idf

新建一個(gè)文件 tfidf.m?? 把下面的代碼copy 到tfidf.m 中,一個(gè)調(diào)用的例子可以是

X = [ ?0 ? 0 ? 1 ? 2 ? 1; 1 ? 0 ? 1 ? 0 ? 1; ?2 ? 1 ? 0 ? 0 ? 0; 0 ? 1 ? 1 ? 0 ? 0; 0 ? 1 ? 0 ? 2 ? 3; ?0 ? 1 ? 0 ? 0 ? 1 ]

Y = tfidf(X)

得到如下圖的運(yùn)行結(jié)果


%北太天元計(jì)算 tf-idf

% tf-idf(term frequency–inverse document frequency)

% tf-idf是一種統(tǒng)計(jì)方法,用以評(píng)估一個(gè)單詞對(duì)于一個(gè)文擋集或一個(gè)語(yǔ)料庫(kù)中的其中

%一份文檔的重要程度。單詞的重要性隨著它在一個(gè)文檔中出現(xiàn)的次數(shù)成正比增加,

% 但同時(shí)會(huì)隨著它在語(yǔ)料庫(kù)中出現(xiàn)的頻率成反比下降(如果這個(gè)單詞在所有的

% 文檔中都出現(xiàn),那么它就不重要,例如the 這個(gè)冠詞。)。

% tf是詞頻(Term Frequency),

%idf是逆文檔頻率(Inverse Document Frequency)。

%


% 函數(shù) 計(jì)算TF-IDF

%

% ? Y = tfidf( X );

%

% 輸入:

% ? X ?- 文檔-單詞矩陣(每一行表示一個(gè)文檔,每一列表示一個(gè)單詞)

% ? ? ? X(i,j) 表示文檔i中單詞j出現(xiàn)的次數(shù)

%


% 輸出:


% ? Y ? ? ? ?- tf-idf 文檔-單詞矩陣(每一行表示一個(gè)文檔,每一列表示

% ? ? ? ? ?一個(gè)單詞, Y(i,j) 表示文檔i 中單詞j 的 tf-idf

% 例如: 我么通過(guò)處理6個(gè)文檔,只考慮5個(gè)單詞,然后得到文檔-單詞矩陣如下:

% X = [ ?0 ? 0 ? 1 ? 2 ? 1; 1 ? 0 ? 1 ? 0 ? 1; ?2 ? 1 ? 0 ? 0 ? 0; 0 ? 1 ? 1 ? 0 ? 0; 0 ? 1 ? 0 ? 2 ? 3; ?0 ? 1 ? 0 ? 0 ? 1 ]

%? Y = tfidf(X)


function Y = tfidf( X )


% 獲得詞頻

X = tf(X);


% 獲得逆文檔頻率

I = idf(X);


% 詞頻(tf) 乘以 這個(gè)單詞的逆文檔頻率(idf)

Y = X* diag( I );


end



function X = tf(X)


% ?子函數(shù)-計(jì)算詞頻


% 對(duì)于每一個(gè)文檔

for i=1:size(X, 1)

%對(duì)于第i個(gè)文檔,所有單詞出現(xiàn)的次數(shù)組成的向量

x = X(i, :);


% 在文檔i中單詞次數(shù)都加起來(lái)


sumX = sum( x );


% 計(jì)算單詞i出現(xiàn)的頻率


if sumX ~= 0

X(i, :) = x / sumX;

else

% 避免0作除數(shù)

X(i, :) = 0;

end

end


end


function I = idf(X)


% 子函數(shù) 計(jì)算 逆文檔頻率


% m - 文檔個(gè)數(shù)


% n - 單詞個(gè)數(shù)


[m, n]=size(X);


% 預(yù)先為逆文檔頻率分配分配存儲(chǔ)


I = zeros(1,n);


% 對(duì)于每一個(gè)單詞


for j=1:n

%統(tǒng)計(jì)出現(xiàn)單詞j的文檔的個(gè)數(shù)

nz = nnz( X(:, j) ); % nnz 得到的是矩陣的非零元的個(gè)數(shù)

% 如果nz不是0,那么計(jì)算一個(gè)權(quán)重作為逆文檔評(píng)率

if nz

I(j) = log( m / nz );

end

end

end


北太天元學(xué)習(xí)43-文本分析之詞頻-逆文檔頻率的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
竹山县| 阿勒泰市| 枝江市| 屏山县| 土默特右旗| 舒城县| 安岳县| 思南县| 疏附县| 将乐县| 保靖县| 石首市| 天等县| 衡东县| 腾冲县| 当雄县| 将乐县| 高平市| 深泽县| 勐海县| 奉新县| 来凤县| 那坡县| 荥经县| 大新县| 旬邑县| 澄城县| 武安市| 巴南区| 华亭县| 成武县| 铜陵市| 鄂尔多斯市| 镇坪县| 盈江县| 鹤壁市| 武义县| 延长县| 曲阜市| 教育| 阿拉善右旗|