日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【数据竞赛】“达观杯”文本智能处理挑战赛2

發布時間:2025/3/19 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【数据竞赛】“达观杯”文本智能处理挑战赛2 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、TF_IDF原理
    • 1、TF(item frequency)
    • 2、逆向文件頻率IDF(inverse document frequency)
    • 3、TF-IDF
  • 二、TF-IDF算法實現
    • 1、方法一
    • 2、方法二
  • 三、達觀實踐

一、TF_IDF原理

TF-IDF(Term Frequency - Inverse Document Frequency,詞頻-逆文本頻率)。TF-IDF是一種統計方法,用以評估一字詞對于一個文件集或一個語料庫中的其中一份文件的重要程度。 字詞的重要性隨著它在文件中出現的次數成正比增加,但同時會隨著它在語料庫中出現的頻率成反比下降。

它由兩部分組成,TF和IDF。

  • TF(詞頻),即統計文本中各個詞的出現頻率,并作為文本特征。
  • IDF,即“逆文本頻率”。一個詞語普遍重要性的度量。

1、TF(item frequency)

詞頻TF(item frequency)
某一給定詞語在該文本中出現次數。該數字通常會被歸一化(分子一般小于分母),以防止它偏向長的文件,因為不管該詞語重要與否,它在長文件中出現的次數很可能比在段文件中出現的次數更大。

TF(x)=M(x)MTF(x)=\frac{M(x)}{M}TF(x)=MM(x)?
其中,MMM 表示文章的總詞數,M(x)M(x)M(x) 表示詞xxx在文章中的出現次數。

2、逆向文件頻率IDF(inverse document frequency)

逆向文件頻率IDF(inverse document frequency):一個詞語普遍重要性的度量。
主要思想是:如果包含詞條 t 的文檔越少, IDF越大,則說明詞條具有很好的類別區分能力。某一特定詞語的IDF,可以由總文件數目除以包含該詞語之文件的數目,再將得到的商取對數得到。

對于 xxx 的IDF的基本公式如下:
IDF(x)=logNN(x)IDF(x)=log\frac{N}{N(x)}IDF(x)=logN(x)N?
其中,NNN代表語料庫中文本的總數,N(x)N(x)N(x)代表語料庫中包含詞xxx的文本總數。

為了避免特殊情況,對上式進行平滑處理,使得語料庫中沒有出現的詞也可以得到一個合適的IDF值。最常見的IDF平滑后的公式如下
IDF(x)=logN+1N(x)+1+1IDF(x)=log\frac{N+1}{N(x)+1}+1IDF(x)=logN(x)+1N+1?+1

3、TF-IDF

TF?IDF(x)=TF(x)×IDF(x)TF-IDF(x)=TF(x)\times IDF(x)TF?IDF(x)=TF(x)×IDF(x)

二、TF-IDF算法實現

使用兩種方法實現TF-IDF:

  • 第一種方法是在用 CountVectorizer類 向量化之后再調用 TfidfTransformer類 進行預處理。
  • 第二種方法是直接用 TfidfVectorizer 完成向量化與TF-IDF預處理。

1、方法一

# -*- coding:utf-8 -*- from sklearn.feature_extraction.text import TfidfTransformer from sklearn.feature_extraction.text import CountVectorizercorpus = ["I come to China to travel","This is a car polupar in China","I love tea and Apple","The work is to write some papers in science"]# 向量化 vectorizer = CountVectorizer()transformer = TfidfTransformer() tfidf = transformer.fit_transform(vectorizer.fit_transform(corpus)) print(tfidf)

輸出的各個文本各個詞的TF-IDF值如下:

(0, 16) 0.4424621378947393(0, 15) 0.697684463383976(0, 4) 0.4424621378947393(0, 3) 0.348842231691988(1, 14) 0.45338639737285463(1, 9) 0.45338639737285463(1, 6) 0.3574550433419527(1, 5) 0.3574550433419527(1, 3) 0.3574550433419527(1, 2) 0.45338639737285463(2, 12) 0.5(2, 7) 0.5(2, 1) 0.5(2, 0) 0.5(3, 18) 0.3565798233381452(3, 17) 0.3565798233381452(3, 15) 0.2811316284405006(3, 13) 0.3565798233381452(3, 11) 0.3565798233381452(3, 10) 0.3565798233381452(3, 8) 0.3565798233381452(3, 6) 0.2811316284405006(3, 5) 0.2811316284405006

2、方法二

TfidfVectorizer()類

推薦使用:一步到位完成向量化,TF-IDF與標準化。

from sklearn.feature_extraction.text import TfidfVectorizercorpus = ["I come to China to travel","This is a car polupar in China","I love tea and Apple","The work is to write some papers in science"]tfidf2 = TfidfVectorizer() re = tfidf2.fit_transform(corpus) print(re)

輸出的各個文本各個詞的TF-IDF值和第一種的輸出完全相同。

三、達觀實踐

采用方法二

from sklearn.feature_extraction.text import TfidfVectorizertfidf = TfidfVectorizer() vectorizer = tfidf.fit(X_train['word_seg']) X_train = vectorizer.fit_transform(X_train['word_seg']) X_valid = vectorizer.fit_transform(X_valid['word_seg']) print(X_train)

輸出結果

(0, 466302) 0.055682872725468624(0, 735749) 0.048322661901325954(0, 22559) 0.21754594654017237(0, 533960) 0.022913337050345733(0, 749018) 0.011395398329443985(0, 582264) 0.009735284700898725(0, 452264) 0.26752755253180194(0, 728808) 0.01526527311922612: :(81820, 704892) 0.05852743581039402(81820, 432914) 0.06245002624655688(81820, 555672) 0.05787077716364361(81820, 130771) 0.065602189833585(81820, 412560) 0.08122709312494762(81820, 564061) 0.13065370153624445(81820, 19064) 0.06846498077803864(81820, 762455) 0.062386169747567895(81820, 52120) 0.060666492807123586(81820, 149165) 0.07180436011103326(81820, 490793) 0.07511200951474785(81820, 16951) 0.09416234746471083(81820, 311783) 0.09756707412477648

總結

以上是生活随笔為你收集整理的【数据竞赛】“达观杯”文本智能处理挑战赛2的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。