五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網 會員登陸 & 注冊

畢業(yè)設計 機器學習的文本聚類

2023-04-10 09:47 作者:丹成學長  | 我要投稿

0 簡介

今天學長向大家介紹一個畢設項目,中文文本分類技術

中文文本分類 ( 機器學習 和 深度學習 ) - 新聞分類 情感分類 垃圾郵件分類

畢設幫助,選題指導,技術解答,歡迎打擾,見B站個人主頁

https://space.bilibili.com/33886978


1 項目介紹

由于項目需要,需要對旅游游記文本進行聚類,為打標簽做指導,所以調研了主流的短文本聚類方法,文本聚類主要還是分成兩個方面。

1.1 提取文本特征

在《數學之美》前幾章中,詳細講了為何要將文本這個自然語言領域的事物,轉換成數學領域能處理的向量、矩陣。為了分析一段文本,我們需要首先得到這段文本的表示向量,這個向量就可以作為文本的特征輸入決策器中進行判決。

1.2 聚類算法選擇

這里的聚類算法就是上面說的決策器。聚類算法主要分成兩大類,一類是基于距離的迭代算法,比如k-means,還有一類是基于密度的流式聚類算法,比如DBSCAN。他們各有優(yōu)劣,通常由于我們并不清楚聚類的簇數量,并且由于海量文本迭代的效率比較低,真實應用場景中,我們在聚類算法的選擇上,更加傾向選DBSCAN這類的算法。

這里學長做了幾組對照實驗,分別使用tf-idf或word2vec作為文本的特征,采用k-means或者DBSCAN進行聚類分析。實驗流程如下:

2 代碼實現(xiàn)

2.1 中文文本預處理

將清洗過的數據進行分詞、去停用詞。其中分詞的時候,載入預先設置好的自定義詞典,提高分詞精度。筆者自己寫了一個分詞的類,提高代碼復用率。

from tools.tokenizer.wordCut import WordCut


mydict = ["mysenicdict.txt", "myfooddict.txt"]
file_path = '/home/zcy/haiNan/texttravelgen/data/clean_comments.txt'
# 默認是精確模式
test = WordCut()
test.addDictionary(mydict) # 加載自定義詞典
# 分詞,去停用詞(集成在類中了),不顯示在console,保存分詞后的文件到file_path目錄
test.seg_file(file_path, show=False, write=True)

2.2 ?特征提取

2.2.1 Tf-idf

# 詞頻矩陣:矩陣元素a[i][j] 表示j詞在i類文本下的詞頻
vectorizer = CountVectorizer()
# 統(tǒng)計每個詞語的tf-idf權值
transformer = TfidfTransformer()
freq_word_matrix = vectorizer.fit_transform(corpus)
#獲取詞袋模型中的所有詞語
word = vectorizer.get_feature_names()
tfidf = transformer.fit_transform(freq_word_matrix)
# 元素w[i][j]表示j詞在i類文本中的tf-idf權重
weight = tfidf.toarray()z

2.2.2 ?word2vec

# doc2vec
#訓練并保存模型
import gensim

sentences = gensim.models.doc2vec.TaggedLineDocument(token_path)
model = gensim.models.Doc2Vec(sentences, size=100, window=2, min_count=3)
model.train(sentences,total_examples=model.corpus_count, epochs=1000)
model.save('../model/demoDoc2Vec.pkl')

2.3 聚類算法

2.3.1 k-means

# K-means聚類
print 'Start K-means:'
from sklearn.cluster import KMeans
clf = KMeans(n_clusters=20)
s = clf.fit(model.docvecs)
print s
#20個中心點 ?
print(clf.cluster_centers_) ? ? ? ?
#每個樣本所屬的簇 ?
print(clf.labels_) ?
i = 1 ?
while i <= len(clf.labels_):
? ?print i, clf.labels_[i-1] ?
? ?i = i + 1 ? ?
#用來評估簇的個數是否合適,距離越小說明簇分的越好,選取臨界點的簇個數 ?
print(clf.inertia_)

2.3.2 DBSCAN

# dbscan 密度聚類
from sklearn.cluster import DBSCAN

# Compute DBSCAN
db = DBSCAN(eps=0.005, min_samples=10).fit(weight)
print db.core_sample_indices_
db.labels_

2.4 實現(xiàn)效果

為了將聚類后的類別信息與原文信對照起來,方便查看,筆者寫了一個類提高重用效率,將結果寫到ori_path的路徑下,并提供了排序的功能,代碼如下:

from tools.labelMap.labelText import LabelText

label = clf.labels_
ori_path = "../data/clean_comments.txt"
labelAndText = LabelText(label, ori_path)
labelAndText.sortByLabel(write=True)

2.4.1 tf-idf + k-means聚類結果

new file saved in /home/zhouchengyu/haiNan/texttravelgen/data/sortedLabelText.csv
0 ? 一下機場攜程訂的專車很準時的來接了我們,服務也很好,經過大約40分鐘的車程,我們從鳳凰機場來到了亞龍灣。
0 ? 下午18:35坐動車返回美蘭,住在機場附近小旅館,老板人倒是挺好,挺便宜,裝修這些也算對得起這個價格了。
0 ? 中午十二點,飛機準時到達??诿捞m國際機場。到達廳內,爺爺奶奶早已等待多時。
0 ? 祥鵬航空8L9963,特價機票,加上機場建設費及燃油費等約300。我們老大火速搶完了27人的機票,帶著這個超級散團,出發(fā)!
0 ? 到了海南一下飛機,濕熱的空氣就迎面撲來。沒幾步路就出汗了。出了機場趕緊找訂好的住宿的地方。
0 ? 作為一個北方人去過的最南端就是福州了,也是今年才去的,一般都在武漢止步。終于在北京等了個把星期,可以坐上飛機出發(fā)啦~~~
0 ? 新加坡的過境簽相當方便,填一張入境卡就可以了,而且居然不用排隊。興沖沖地通過海關后發(fā)現(xiàn)機場的兩小時的免費觀光大巴居然是在轉機區(qū),而不是入境后,只好換了100人民幣的新幣開始自助公交游。從機場坐地鐵到Raffles Palace,去找魚尾獅公園(Merlion Park)。奇怪的是這么有名的地標性景點一路上居然沒有任何指示……雕像附近合影的人超多,大家都是到此一游。
0 ? 所有的機場大巴都繞來繞去從同一條線路開往機場了,40分鐘后到達機場
0 ? 樟宜機場被多家機構評為世界最佳機場是不無道理的。整個機場就像一個購物休閑中心,吃喝玩樂各項設施應有盡有。在這里轉機絲毫不用擔心如何消磨時間。新加坡機場的登機一般提前一個小時,因為安檢被安排在了各個登機口。這樣布局的好處是在機場里可以暢行無阻。加上新加坡機場實際上只有國際區(qū)沒有國內區(qū)(全國就這一個機場嘛),因此除了邊檢,其他區(qū)域都是連成一片的。
0 ? 上班之后,基本每次出門都是想要叫車。但是這次想來一次隨心所欲的旅行,從出發(fā)開始就不再走便捷的方法了,機場大巴走起。這才發(fā)現(xiàn),志誠麗柏那個酒店門口的大巴是半小時發(fā)一次,10分一次,40分一次。會先到西稍門,然后才出發(fā)。
0 ? 用銀行貴賓卡享受了機場貴賓室

label0都與機場有關,可以看出來聚類效果還是不錯的。

3 ? 在沙灘上玩了一會我就去附近泳池邊的WC換泳衣,回來和LILY撲向大海試圖游泳。其實浪還是挺大的,我們在靠近沙灘的地方都不太能穩(wěn)住自己,遠處幾個金發(fā)的外國姑娘卻能在浪里漂浮自如,也許人家從小在海灘玩到大的吧!羨慕啊。 ? ?我在水里玩的不亦樂乎,LILY時刻緊盯著我的皮膚怕我曬傷,我很驚訝他有著能看出我皮膚被曬黑程度的能力,我自己看不出來……在海里玩了半小時的樣子他果斷拖回樂不思蜀的我,說再曬我就要回去哭了。
3 ? 南灣猴島其實是個半島,但這里的位置得天獨厚,三面環(huán)海,景色和離島一樣的美。除了擁有優(yōu)越的熱帶海島生態(tài)環(huán)境、獼猴特色資源、優(yōu)質的海水以及濱海沙灘,還有水上疍家魚排的獨特民俗風情。全國最長的跨海觀光索道,猶如一條凌空彩鏈橫跨新村港灣,將神秘的南灣猴島、迷人的熱帶港灣、濃郁的疍家民俗、喧鬧的漁港風情等串成一線。
3 ? 大東海是三亞我常去的沙灘,其他地方不是下餃子就是煮餛飩。
3 ? 剛上船的時候心情還是挺激動的~想象島上迷人的風景,結果到站之后看到碼頭左邊的天空還有點藍色了,就先往左邊走去看看,一路上人都很多,零星的開著幾個小店,大概走了100多m的樣子都都到頭了,路封著的,一堆建筑垃圾在哪兒堆著,也沒看見機械設備動工。于是只能調頭往回網右邊走,其實右邊一來我就看見了只有很小一片沙灘,我還以為左邊會有一大片沙灘和浮潛的海域等著我們呢~越往右邊走越是失望啊,先經過美食一條街,各種高價的食品和紀念品出售,等終于穿過美食街的人群到了海邊那更是失望,比大東海劃分的每個游泳區(qū)域還要小一半以上~還只有三個區(qū)域,完全沒得浮潛地方!我也是醉了,我還以為是像東南亞那些海島一樣,上島都是很寬泛的游泳和浮潛區(qū)域,結果。。。而且這個區(qū)域離碼頭也不遠,水質可想而知,當然人也非常多,瞬間沒了下海的欲望~真不知道網上那些好評怎么來的~商業(yè)化的氣息太重了,我不相信大多數人來這里是為了去深潛去玩那些海上項目~家人都說還不如在大東海游泳,還要花100多的門票來看這烏泱泱的水~還好海邊沙灘椅收費不貴,15塊一張隨便躺
3 ? 三亞自游行心得1、我不想去景點打卡,只為純度假。所以選擇住大東海,我住在大菠蘿(類似于京華城)附近的哈曼酒店。去年才開的五星酒店,設施完備,吃住行都方便!哈曼有私家沙灘,有酒店電瓶車接送,服務很貼心!不是所有酒店都有私家沙灘,需看清。如果住在沒有私家沙灘的酒店,各種不便!我住的是哈曼的16樓行政山海房,(最高17層)記?。阂欢ㄒ邩菍?,樓層低了什么都看不到2、大東海商業(yè)發(fā)達,價廉物美,只是海水和沙灘略遜亞龍灣一籌。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3、交通:因為我住大東海,很便利,沒有租車的必要。去較遠的景點、接送機等,我全程易到專車、滴滴專車,非常方便4、關于第一市場:易到司機告訴我們,那已經相當于旅游商店的性質了,大東海區(qū)域用餐,我都在大菠蘿。
3 ? 從照片看就知道這時候的三亞天氣不是很好,時常烏云甚至下雨,所以找出來的照片好不好看很大程度取決于天氣怎么樣啦大東海海灘上人很多,長長的海岸線上都是人,我去的這個時候天不是很熱,海水還是有些涼的,多以游泳的人并不多,大多數都在沙灘上撿貝殼或石頭。
3 ? 收拾完畢!步行至大東海廣場的沙灘~脫鞋玩水啦~!
3 ? 亞龍灣是很長一個海灣。沙灘除了名地細膩。有很多的星級酒店私人沙灘。當然我們去的是公共開放海灘,建議四點以后再去游泳,否則日曬很嚴重。我和小果果都在陰涼下。

第3類都與沙灘有關,聚類效果也不錯。

2.4.2 word2vec + k-means 聚類結果

1 ? 直到回來后還在流連成都老火鍋的味道。真的很好吃。用牛油做鍋底,加熱后牛油化了,根本不用加水的。
1 ? 離開寬窄巷子,回酒店附近吃了小天鵝,午睡過后下午去人民廣場喝茶采耳。
1 ? 黃流老鴨:海南最有特色的美食之一,在三亞,最正的黃流老鴨還是在勝利路的光明黃流老鴨店,十多年的老店,黃流老鴨必然是白切的才是最好的,也是最好吃的,再加上微熱的蘸料,就更美味了,我們倆人點了白切黃流老鴨、蝦醬地瓜葉和冬瓜海螺湯,冬瓜海螺湯,可以說是此次去三亞吃到的最好吃的湯品,其他地方吃到的總有那么些不新鮮的無奈~,這的冬瓜海螺湯太讓我喜歡了,現(xiàn)在想起來都能感覺到的味美~當然,鴨肉那可是吃得精光的~,海南的特色美食啊~~
1 ? 很多老人在這里,聊天,喝茶,打牌,老成都的生活。我們也喝了蓋碗茶,叫了師傅來采耳,享受安逸。
1 ? 第三次登臨這座熱帶島嶼。2013年來的時候還是一個剛上大一的小姑娘,在海邊遇到同是一個人來三亞游玩的泥巴,后來成為了朋友,在上海的時候還一起約著吃過飯,逛過上海博物館,在夜晚的浦江邊散步拍照。 ? ?2014年清明,趁著假期,去了???,約見了在海南念書的閨蜜,住在海口巴納納國際青旅和一群來自五湖四海的朋友一起玩殺人游戲到凌晨三點多,第二天醒來和青旅認識的姑娘一起逛海南的菜市場。來自濟南的她對南方的蔬果特別感興趣,她說,因為海南的水果多,于是她就考了個海大的研究生,準備過來撈水果了。 ? ?2015年國慶過后,和一起奮戰(zhàn)過高考的好朋友一起,在不同的城市出發(fā)來到三亞找在三亞念書的閨蜜。一起住在三亞老班長國際青旅,和青旅的義工老板們,去吃了三亞最好吃的炒冰炸雞,去大東海游泳玩沙子,好是快活。
1 ? 從北京西開出的Z201次列車,在漫長的27小時行駛后來到了我的城市。晚上吃過晚飯,八點多到火車站候車,第二天早上八點就能到三亞了。全程762公里,途中跨越瓊州海峽,火車會被拆分成五節(jié)運上粵海輪渡,抵達海南島接駁后將繼續(xù)行駛。(前三圖來自網絡,侵刪。)
1 ? 海南雞飯:雞飯的主料是雞和大米,最好的雞飯選用的作料是“文昌雞”。由于“文昌雞”供不應求,一般雞飯攤檔選用本地雜色雞,要求是剛成熟而尚未下蛋的雞,以1至1.5公斤重為宜。大米選用上等新鮮的優(yōu)質米,雞是白切雞。雞飯皮色油黃,肉白且嫩,骨髓帶血,吃來清甜爽口。這種米飯,油潤軟滑,香濃味爽。
1 ? 出發(fā)前在老班長國際青旅訂好住宿。位置就在吉祥街,徑直往海邊走不到五分鐘,吉祥街口有到各個景點的汽車公交,招手即停,交通十分便利。周圍有海南最大的超市旺豪超市,還有很多吃東西的小飯館,住下來不用愁吃的。
1 ? 三個人一起逛超市看海鮮買水果,海洋動物多的就像水族館。因為海南氣候原因,種出來的水果都像是放大版的。(如果不想在街頭小販那里買不足稱的水果,可以來超市看看,一般海南的各種水果在這里都可以買到。)
1 ? 清補涼是三亞當地的一種小吃。將紅棗、薏米、綠豆、芋頭、西瓜、湯圓等煮熟的東西,淋上椰子汁或糖水,清熱消暑,是夏季必備的飲品。在冬天也可以吃到熱的清補涼。清補涼攤多是設在路旁,擺上一席小桌子和小櫥窗,旁邊擺上一個保溫冰桶,幾套塑料的椅子和木桌。清補涼攤的小櫥窗里放著一排塑料碗,碗里面分別裝著糖水煮的蕓豆、煮好的綠豆、通心粉、鵪鶉蛋、菠蘿丁、西瓜丁、桂圓肉、紅棗、薏米等等,很是誘人

可以發(fā)現(xiàn),類別1的輸出基本都是美食,但是也有一些錯分的情況發(fā)生,考慮到Doc2Vec輸出的向量跟向量大小、迭代次數等參數,影響較大,這只是一個Doc2Vec的baseline,這些錯誤聚類暫時還是可以接受的。


畢設幫助,選題指導,技術解答,歡迎打擾,見B站個人主頁

https://space.bilibili.com/33886978

畢業(yè)設計 機器學習的文本聚類的評論 (共 條)

分享到微博請遵守國家法律
常宁市| 噶尔县| 宜丰县| 武义县| 遵化市| 恩平市| 桂林市| 勃利县| 盐城市| 桓仁| 湖口县| 巨鹿县| 习水县| 余江县| 上犹县| 常德市| 盐源县| 类乌齐县| 大悟县| 岑巩县| 隆子县| 永济市| 勐海县| 大渡口区| 六安市| 永州市| 鄱阳县| 竹溪县| 三原县| 鄂伦春自治旗| 孟州市| 中山市| 壶关县| 安乡县| 鄯善县| 土默特右旗| 合山市| 桓台县| 定安县| 夏邑县| 广宁县|