自然語言處理第四期

2021-09-18 03:52:56 字數 1240 閱讀 3815

tf-idf原理

tf-idf(詞頻-逆文字頻率),是一種統計方法,用於評估乙個詞對於乙個文字的重要程度,詞的重要性隨著它在檔案**現的次數成正比,但同時會因為它在多個文字**現的頻率成反比。總的來說,乙個詞語在一篇文章**現的次數越多,同時在所有文件**現的次數越少,就越能代表該文章。

tf-idf主要是有詞頻tf和idf逆文字頻率idf組成,公式為:

t f−

idf=

tf∗i

df

tf-idf = tf * idf

tf−idf

=tf∗

idftf是指語料庫中的詞在該句子**現的頻率,公式如下;

t f=

在某一類

中詞條w

出現的次

數該類中

所有的詞

條數

目tf = \frac

tf=該類中

所有的詞

條數目在

某一類中

詞條w出

現的次數

​idf的定義如下:

i df

(x)=

log語

料庫的文

檔總數+

1包含詞

條w的文

檔數+1

+1

idf(x) = log\frac+1

idf(x)

=log

包含詞條

w的文件

數+1語

料庫的文

檔總數+

1​+1

idf越大,則越說嗎該詞條具有很好的類別區分能力,上述公式是經過idf平滑後的公式,防止因為某乙個詞語沒出現在語料庫的時候,分母變為0。

文字矩陣化

import pandas as pd

# 將txt檔案轉化為dataframe

f = open('/users/weihongyin/知識星球/nlp/cnews/cnews.test.txt').read()

from sklearn.feature_extraction.text import tfidfvectorizer

corpus =

vectorizer = tfidfvectorizer()

tfidf = vectorizer.fit_transform(corpus)

print(tfidf.shape)

print(tfidf)

Python自然語言分析(第四期) 第2課書面作業

coding utf 8 import nltk from nltk.book import len text2 len text2 len dis text2 len set text2 print 在text2中有 str len text2 個詞 print 在text2中有 str len ...

第四期題目

1 乙個工人打工7天,工資一天一結,有一根金條是這七天的總工資,問只能掰兩次,而且工資天天發,怎麼掰?2.乙個商人,想做乙個管理員工的資訊的系統,他提供了員工名,和員工工資 開發員就在資料庫中建了乙個表,有員工名和員工工資兩列,系統做好了,商人聽到員工的要求,說要把錢直接打到自己的卡里,商人要求,在...

第四期c語言答案

在字串中找出第乙個只出現一次的字元,如輸入 abaccdeff 則輸出 b 要求時間複雜度為o n 對於乙個字串,請設計乙個高效演算法,找到第一次重複出現的字元,測試樣例 qywyer23tdd 返回 y 乙個整形陣列裡除了兩個數字之外,其他的數字都出現了兩次,請寫程式找出這兩個只出現一次的數字,例...