把腿张开老子臊烂你多p视频软件,free性国产高清videos,av在线亚洲男人的天堂,hdsexvideos中国少妇,俄罗斯真人性做爰

會員中心 |  會員注冊  |  兼職信息發(fā)布    瀏覽手機版!    超值滿減    人工翻譯    英語IT服務(wù) 貧困兒童資助 | 留言板 | 設(shè)為首頁 | 加入收藏  繁體中文
當前位置:首頁 > 機翻技術(shù) > 識別技術(shù) > 正文

使用Python進行文本分類

發(fā)布時間: 2023-03-04 10:19:50   作者:etogether.net   來源: 網(wǎng)絡(luò)   瀏覽次數(shù):
摘要: 考慮出現(xiàn)在所有文檔中的所有單詞,再決定將哪些詞納入詞匯表或者說所要的詞匯集合,然后必須要將每一篇文檔轉(zhuǎn)換為詞匯表上的向...


要從文本中獲取特征,需要先拆分文本。具體如何做呢?這里的特征是來自文本的詞條(token),一個詞條是字符的任意組合。可以把詞條想象為單詞,也可以使用非單詞詞條,如URL、IP地址或者任意其他字符串。然后將每一個文本片段表示為一個詞條向量,其中值為1表示詞條出現(xiàn)在文檔中,0表示詞條未出現(xiàn)。


以在線社區(qū)的留言板為例。為了不影響社區(qū)的發(fā)展,我們要屏蔽侮辱性的言論,所以要構(gòu)建一個快速過濾器,如果某條留言使用了負面或者侮辱性的語言,那么就將該留言標識為內(nèi)容不當。過濾這類內(nèi)容是一個很常見的需求。對此問題建立兩個類別:侮辱類和非侮辱類,使用1和0分別表示。

接下來首先給出將文本轉(zhuǎn)換為數(shù)字向量的過程,然后介紹如何基于這些向量來計算條件概率,并在此基礎(chǔ)上構(gòu)建分類器,最后還要介紹一些利用Python實現(xiàn)樸素貝葉斯過程中需要考慮的問題。


1. 準備數(shù)據(jù):從文本中構(gòu)建詞向量

我們將把文本看成單詞向量或者詞條向量,也就是說將句子轉(zhuǎn)換為向量??紤]出現(xiàn)在所有文檔中的所有單詞,再決定將哪些詞納入詞匯表或者說所要的詞匯集合,然后必須要將每一篇文檔轉(zhuǎn)換為詞匯表上的向量。接下來我們正式開始。打開文本編輯器,創(chuàng)建一個叫bayes.py的新文件,然后將下面的程序清單添加到文件中。


程序清單1-1   詞表到向量的轉(zhuǎn)換函數(shù)


圖1.png

圖2.png



第一個函數(shù)loadDataSet()創(chuàng)建了一些實驗樣本。該函數(shù)返回的第一個變量是進行詞條切分后的文檔集合,這些文檔來自斑點犬愛好者留言板。這些留言文本被切分成一系列的詞條集合,標點符號從文本中去掉,后面會探討文本處理的細節(jié)。loadDataset()函數(shù)返回的第二個變量是一個類別標簽的集合。這里有兩類,侮辱性和非侮辱性。這些文本的類別由人工標注,這些標注信息用于訓練程序以便自動檢測侮辱性留言。


下一個函數(shù)createvocabList()會創(chuàng)建一個包含在所有文檔中出現(xiàn)的不重復(fù)詞的列表,為此使用了Python的set數(shù)據(jù)類型。將詞條列表輸給set構(gòu)造函數(shù),set就會返回一個不重復(fù)詞表。首先,創(chuàng)建一個空集合①,然后將每篇文檔返回的新詞集合添加到該集合中②。操作符|用于求兩個集合的并集,這也是一個按位或(OR)操作符。在數(shù)學符號表示上,按位或操作與集合求并操作使用相同記號。


獲得詞匯表后,便可以使用函數(shù)setofwords2vec(),該函數(shù)的輸人參數(shù)為詞匯表及某個文檔,輸出的是文檔向量,向量的每一元素為1或0,分別表示詞匯表中的單詞在輸入文檔中是否出現(xiàn)。函數(shù)首先創(chuàng)建一個和詞匯表等長的向量,并將其元素都設(shè)置為0③。接著,遍歷文檔中的所有單詞,如果出現(xiàn)了詞匯表中的單詞,則將輸出的文檔向量中的對應(yīng)值設(shè)為1。一切都順利的話,就不需要檢查某個詞是否還在vooabList中,后邊可能會用到這一操作。


現(xiàn)在看一下這些函數(shù)的執(zhí)行效果,保存bayes.py文件,然后在Python提示符下輸入:


圖3.png


檢查上述詞表,就會發(fā)現(xiàn)這里不會出現(xiàn)重復(fù)的單詞。目前該詞表還沒有排序,需要的話,稍后可以對其排序。

下面看一下函數(shù)setofwords2vec()的運行效果:


圖4.png


該函數(shù)使用詞匯表或者想要檢查的所有單詞作為輸人,然后為其中每一個單詞構(gòu)建一個特征。一旦給定一篇文檔(斑點犬網(wǎng)站上的一條留言),該文檔就會被轉(zhuǎn)換為詞向量。接下來檢查一下函數(shù)的有效性。myVocabList中索引為2的元素是什么單詞?應(yīng)該是單詞help。該單詞在第一篇文檔中出現(xiàn),現(xiàn)在檢查一下看看它是否出現(xiàn)在第四篇文檔中。


2. 訓練算法:從詞向量計算概率

前面介紹了如何將一組單詞轉(zhuǎn)換為一組數(shù)字,接下來看看如何使用這些數(shù)字計算概率?,F(xiàn)在已經(jīng)知道一個詞是否出現(xiàn)在一篇文檔中,也知道該文檔所屬的類別。我們重寫貝葉斯準則,將之前的x、y替換為w。粗體w表示這是一個向量,即它由多個數(shù)值組成。在這個例子中,數(shù)值個數(shù)與詞匯表中的詞個數(shù)相同。


圖5.png


微信公眾號

[1] [2] [3] [下一頁] 【歡迎大家踴躍評論】
  • 上一篇:基于最大間隔分隔數(shù)據(jù)
  • 下一篇:自然語言歧義的消除


  • 《譯聚網(wǎng)》倡導尊重與保護知識產(chǎn)權(quán)。如發(fā)現(xiàn)本站文章存在版權(quán)問題,煩請30天內(nèi)提供版權(quán)疑問、身份證明、版權(quán)證明、聯(lián)系方式等發(fā)郵件至info@qiqee.net,我們將及時溝通與處理。


我來說兩句
評論列表
已有 0 條評論(查看更多評論)