非結構化資料分析:文本分類/ Unstructured Text Analytics

文章推薦指數: 80 %
投票人數:10人

這是巨量資料探勘與統計應用課程的投影片「非結構化資料分析:文本分類」。

... 這份資料集取自於袁梅宇所著的「王者歸來: WEKA機器學習與大數據聖經」中的例子,這是 ... ::: HOME SITEMAP ABOUT MENU HOME回到首頁 SITEMAP網站地圖 ABOUT關於布丁 PUBLICATIONS發表 WORKS作品 ARCHIVES文章列表 LABELS標籤 DONATE捐款 SUBSCRIBE訂閱 CONTACT聯絡布丁 HELP ::: 非結構化資料分析:文本分類/UnstructuredTextAnalytics:TextClassification 10月17,2017 Course , Presentation , Series/BigDataAnalysisCourse , Software/GoogleDoc , Software/Weka , Work/Widget 7Comments Edit Copy Download 這是巨量資料探勘與統計應用課程的投影片「非結構化資料分析:文本分類」。

本單元是屬於系列課程中的「資料預測級」中最後一個單元。

處理資料類型是為非結構化的資料進行分類,也就是使用類別資料。

這邊使用了Jieba斷詞來作文本語義分析,然後使用樸素貝氏多項式文本分類器(NaiveBayesMultinomialText)來為文本進行分類,最後還用特徵篩選(Selectattributes)找出關鍵字。

到底圖書館員分類編目的核心技能會不會被這篇所講的自動化文本分類機器所取代呢?看完這個單元你就可以知道結果了。

本單元使用了二個我自製的工具來搭配Weka實作文本分類,單元內包含了四份實作學習單跟一份測驗,供同學邊看邊練習。

這個單元包含了四個實作學習單跟一份測驗,供同學邊看邊練習。

單元大綱/Outline處理非結構化資料:特徵量化實作:文本語義分析實作:文本分類找出分類關鍵字:特徵篩選進階的文字向量:TF-IDF更進階的文本分類結語:圖書館員的危機?課堂練習:一般留言還是垃圾留言?投影片/Slide教學投影片:GooglePresentation教學投影片其他格式:PowerPoint、PDF、OpenDocumentPresnetation我以Google簡報的檔案匯出成PPTX,再備份到以下位置:SlideShare、GitHub、OneDrive、Box、Mega、MediaFire、GoogleDrive學習單/Worksheets本單元包含了以下的學習單,請搭配課程投影片一起練習吧。

W16-a.文本語義分析W16-b文本分類W16-c.關鍵字篩選W16-d.留言分類測驗/Examine本單元整理了一份測驗,供同學驗證所學:Q7.文本分類:這是唐詩還是新詩?資料集/Dataset本單元用到了以下資料:是籃球還是地球?:這份資料集取自於袁梅宇所著的「王者歸來:WEKA機器學習與大數據聖經」中的例子,這是從維基百科中取籃球與Google地球介紹的句子組合而成。

這個單元的規劃主要也是受到該書中「文字分類」一節的啟發。

我為了教課之便,又增加了些許籃球與Google地球的句子進去資料集中。

一般留言還是垃圾留言?:這份資料取自於本blog「布丁布丁吃什麼?」的留言資料。

Blogger內建了相當優良的垃圾留言過濾器,被視為垃圾留言的話,就不會顯示在blog中。

我從一般使用者留言跟垃圾留言中取得一些例子,組合成這個資料集。

是唐詩還是新詩?:我從唐詩三百首網站跟小品欣賞的新詩感覺中取了一些例子組合成這個資料集。

就各方面來說,新詩跟唐詩用於文本分類、探勘都是蠻有趣的例子。

線上操作平臺/OnlineWorkplace本單元的實作需要使用部分雲端服務、我自己開發的工具,以及安裝在本機端的Weka搭配使用。

以下的雲端服務建議使用GoogleChrome瀏覽器開啟:資料來源Google試算表(Google雲端硬碟)布丁開發的雲端工具試算表轉ARFFARFF轉CSVWekaWeka下載(本單元不需要安裝套件)如何在Weka中顯示中文:調整檔案編碼為UTF8文本分類工具/TextClassificationTools這次文本分類也會使用到兩個工具,它們必須搭配Weka一起使用。

所有的程式碼都已經放在GitHub保存庫,屬於線上中文斷詞工具:Jieba-JS的一部分應用。

GitHub網址如下:https://github.com/pulipulichen/jieba-js試算表轉ARFF/SpreadsheettoARFF開啟新視窗:試算表轉ARFFARFF轉CSV/ARFFtoCSV開啟新視窗:ARFF轉CSV小結/Inclosing非結構資料的文本分類會很難嗎?如果你能夠回答上面的問題,那你就已經抓到了文本分類、甚至是所有非結構資料處理的精髓了。

這個單元的內容所教的文本分類可以用於相當多地方:顧客意見分類:如果公司時常收到顧客的各種抱怨,先使用文本分類來分類顧客意見,並藉此找出對應的處理方法,這可以加快處理客訴的流程。

學生作文評語:請文本分類先將學生的作文看過一次,並預先挑好要給學生的評語,這可能也是一個不錯的應用。

新聞分類:記者寫了一篇新聞,這到底該分成娛樂類還是政治類呢?用文本分類協助主編作決策吧。

情緒分析:社群媒體上的一篇短文到底是正面情緒還是負面情緒?這是現在文本分析最流行的應用。

決定圖書分類號:圖書館員的核心技能分類編目也可以用文本分類來決定。

事實上,圖書分類一直是文本分類研究中許多人爭相挑戰的一項議題呢。

附帶一提,如果我們這次不是要將文本分成不同「類別」,而是要給予分數這種「連續」資料,那麼這就是文本自動評分的領域。

請看「AI解籤不用1秒,廟公要失業了嗎?Weka的中文自動評分:預測詩籤的等第」這篇的做法。

圖書館員要失業了嗎?/Librarians'crisis?繼熊貓症候群之後,面對文本分類技術的成熟,我想應該很多人應該會開始擔心,這是否會對圖書館員的核心技能「分類編目」帶來威脅呢?就我個人來看,文本分類並沒辦法取代專業的圖書館員,這是可以肯定的事情。

如果仔細看過前一個單元的分類與預測跟這個單元的內容,你應該可以發現到資料探勘的分類其實有很多限制。

最大的限制在於機器本身並無法解釋資料、無法歸納與發掘資料新的特性,而且分類的有效性幾乎有九成取決於一開始輸入的資料。

換句話說,如果沒有圖書館員提供正確與精準的分類資料,文本分類就沒有任何意義。

更何況,圖書館廣納百川資訊,蘊含五花八門知識的書籍與論文不斷產生,機器很難動態地學習新知識並將其歸類,只有受過專業訓練的圖書館員才能辦到。

看到這兒,身為圖書館員的你是不是很開心只想把文本探勘技術一腳踢開,抱著圖書館員的驕傲開心地去睡了呢?不!事實上,文本分類並非圖書館員的敵手,而是圖書館員分類編目的幫手!想像一下,如果在作分類編目之前,熟悉文本分類技術的你先把檯面上待編的50本書籍全部用文本分類預測個可能的分類,以此作為分類的參考依據,然後依照Entropy預測亂度結果來決定是不是要認真編這本書,這樣不就能夠省下大量的編目時間,讓你的編目效率突飛猛進嗎?這可不是機器跟人類的對抗,而是機器輔助人類的合作呢!不過,如果有一天,當圖書館員完全放棄自己的專業,將分類號的判斷全部來自抄錄編目或交給文本分類機器,那我得說聲抱歉,這樣子的圖書館員真的會被文本分類取代。

那麼,我們到底該怎麽面對像是文本分類這樣子的人工智慧AI呢?李開復在今年臺大畢業典禮的致辭中歸納了相當發人深省的看法。

AI能夠在既有的領域、已知的知識上快速地成為僬僬者,小到搜尋文字找的比人類自己看還快、大到AlphaGo下棋大勝人類棋手。

它就像是魔法棒一樣地加快和優化了整個流程。

我們應該要掌握AI這隻魔法棒,而在這之後,就如李開復所說:「有了AI這支魔法棒,你有責任去解決困難的問題。

不要浪費時間做那些機器很快就能勝過人類的事。

不要接受沒有挑戰的工作,對自己設定積極而嚴格的學習目標,選定某個具體領域勤下苦工,成為AI無法取代的人才。

」(李開復,2017)跟大家共勉之!本單元所介紹的文本分類就到此為止,這也是這一系列巨量資料探看與統計應用課程的最後一個單元了。

不知道看到這邊的你,對於文本分類對圖書館員帶來的衝擊有什麼看法呢?如果你也能夠掌握文本分類這個魔法棒的話,你會想要拿來作什麼事情呢?歡迎在下面的留言處與我分享你的看法,或是在AddThis分享工具按讚分享我的文章到Facebook等社群媒體吧!很感謝你的耐心閱讀,讓我們下次見囉! 布丁布丁吃布丁 非結構化資料分析:文本分類/UnstructuredTextAnalytics:TextClassification 是由 布丁布丁吃布丁 製作,以創用CC姓名標示-非商業性-相同方式分享3.0台灣授權條款釋出。

這個布丁是在無聊的世界中找尋樂趣的一種不能吃的食物,喜愛動漫畫、遊戲、程式,以及跟世間脫節的生活步調。

L P 關於布丁 訂閱BLOG 贊助 RelatedPosts 總共7則留言 ( 我要發問 , 隱藏留言 顯示留言 ) Unknown2020年6月21日中午12:25您好我有看這篇的文本分析教學有試著自己跑看看想做飯店評論預測分析class:為正向、負向、中性使用的分類器是樸素貝葉斯但是跑出來的結果很差只有58%的成功率可以麻煩幫我看一下問題出在哪嗎?謝謝https://upload.cc/i1/2020/06/21/lL9V8w.jpg試算表:https://docs.google.com/spreadsheets/d/1Bm4sVJUb-j2SKuY1J-p7XuATfecmH3mftjyhZc7wRGI/edit?usp=sharing回覆刪除回覆Unknown2020年6月21日中午12:27想要達到成功率75%以上要怎麼做呢?謝謝刪除回覆回覆Unknown2020年6月21日下午6:31另外可以在推薦2個預測的分類器給我嗎?要可以做正向、負向、中性的謝謝刪除回覆回覆Unknown2020年6月23日下午6:19請問有解了嗎?刪除回覆回覆布丁布丁吃布丁2020年6月23日晚上8:41你好,我有空才能幫你看看喔不太能跟你保證何時完成呢刪除回覆回覆回覆Unknown2020年6月25日下午3:32好的那就等您有空幫忙看一下了謝謝那請問可否先告訴我class類別有3種(正向、負向、中性)是否可以用NaiveBayesMultinomialText分類器做呢?(因為數據不好看想知道是不是方法用錯了?謝謝)另外還有別種的weka上的分類器可以做嗎?謝謝回覆刪除回覆布丁布丁吃布丁2021年5月11日晚上10:49你好,事隔一年之後的回覆。

我嘗試了以下作法,獲得了81.6425%的正確率結果報告如下:https://docs.google.com/document/d/e/2PACX-1vQL29xSiebn_bOCZ2RlO8VV0Vj9IrsHkpTrJNnq_ns95kgPIJhguhrasgk7lRxat3lrxw3YsuTDys36/pub作法如下:#Step1.試算表中的資料前處理將測試資料刪除,只留下訓練資料#Step2.Weka中的資料前處理(Preprocess)做兩次Filter,作法如下a.NonimalToString將document轉換成Type:Stringb.StringToWordVector將document轉換成文字向量,主要參數如下:-attributeIndces:1(document)-attributeNamePrefix:_(避免跟class相衝突)-outputWordCounts:True-wordsToKeep:10000000(儘可能保留所有文字)這樣會產生詞頻模型到這一步為止,資料轉換會變成下面這張表格https://pulipulichen.github.io/blog-pulipuli-info-data-2021/05/inn-rating-comment.arff.7z#Step3.Weka中建立分類模型ClassifyClassifier:weka.classifiers.functions.SMO分類器採用預設值,沒有其他設定Testoptions:Cross-validationFolds:10分類目標:(Nom)class#Step4.Weka中模型結果建立模型跟驗證時間大概花費5分鐘結果正確率為81.6425%F-Measure為0.814https://lh3.googleusercontent.com/-XDsrfZ42FMI/YJqS2dyPkNI/AAAAAAAE9oQ/tJJEA71nJKwq1eoxGEX-qr-u6N7kpoJTwCLcBGAsYHQ/s1600/2021-05-11_222030.png----也許會有更好的作法,不過我做了第一種作法,結果就達到你想要的75%以上的正確率我把可以改善的方向列在下面,你可以自己嘗試看看:-不做斷詞,將單一字作為詞彙。

這樣子可以確保特徵數量足夠多-保留標點符號。

原本的評論內容就已經很短了,保留標點符號可以讓特徵數量增加。

-資料前處理的時候,將詞頻模型改用,而使用TF/IDF模型-用AttribueSelection篩選屬性-選擇其他演算法刪除回覆回覆回覆新增留言載入更多… CommentTools: Chooseone... UploadImage(imgur) UploadVideo(Streamable) UploadTemporaryFile(Upload.express) CodeFormatter(forHTMLorXMLcode) CommentsFeed(JSONformat) CommentsFeed(XMLformat) 較新的文章 首頁 較舊的文章 訂閱: 張貼留言(Atom) ::: AboutMe 布丁布丁吃布丁 這個布丁是在無聊的世界中找尋樂趣的一種不能吃的食物,喜愛動漫畫、遊戲、程式,以及跟世間脫節的生活步調。

FacebookFanpage NowLoading... RandomPosts Guestbook RecentPosts Comments ::: 聯絡布丁 信箱:[email protected] 提問: 留言板 聯絡時間:週一~週日24小時 BuyMeACoffee(Donate) 如果有幫到您的話,請布丁喝杯咖啡吧! 進入贊助捐款網頁 Labels (AllLabels) 日記 (235) 輔大圖資 (166) 電腦軟體 (129) 政大圖檔 (113) 期刊論文閱讀 (98) Programming/JavaScript (85) 作品 (84) Blogger (77) 網路管理 (71) 記事 (58) DSpace (56) JavaScript (56) OS/ProxmoxVE (52) 程式寫作 (50) 碩士畢業論文 (47) Proxmox (42) Android (39) OS/Android (37) Presentation (36) OS/Linux (34) DataMining (31) Software/Weka (31) Course (30) Linux (29) 研究方法 (29) 虛擬機器 (29) DLLL-CIAS (26) OS/Windows (26) Software/Zotero (26) Work/Widget (26) Zotero (26) 新玩具 (26) Software/Windows (25) 程式語言/JavaScript (25) 網站服務 (25) 雲端科技與圖書館行動服務研習班(2014) (24) Software/GoogleDoc (23) Software/LibreOffice (23) Programming/PHP (22) 作業報告 (22) 研究所推甄 (19) 演講心得 (18) Windows/電腦軟體 (17) 資訊計量學 (17) Series/BigDataAnalysisCourse (16) 無題 (16) 課程/圖書資訊學研究趨勢 (16) PHP (15) Programming/AutoIt (15) GitHub (14) Programming/R (14) Statistics (14) 圖資學術界 (13) Software/Word (12) 課程/國際檔案學 (12) Series/LibreOfficeCalcTemplate (11) Software/OwnCloud (11) Software/R (11) VirtualMachine/VirtualBox (11) VirtualBox (11) 極短 (11) AutoIt (10) NetBeans (10) Server/ownCloud (10) Software (10) Software/Google (10) Software/NetBeans (10) Zentyal (10) 作業系統/Linux (10) KALS (9) Programing/PHP (9) Programming/PhoneGap (9) Research (9) Research/TextMining (9) 教學課程 (9) 課程/檔案應用研究 (9) 輔漫 (9) GLPI (8) Koha (8) OS/Chromebook (8) OS/Koha (8) Series/NOUWord (8) Software/SPSS (8) Work (8) 政大平價美食 (8) 數位圖書館 (8) CSS (7) OS/Zentyal (7) Plurk (7) Programming/CSS (7) Programming/Node.js (7) Drawing (6) OS/FreeNAS (6) Programming/APP (6) Service/GitHub (6) Software/PostgreSQL (6) Software/PostreSQL (6) Tool/NetBeans (6) VirtualMachine/OpenVZ (6) 報告/教學課程 (6) 發表 (6) 2009詐欺案件 (5) Note/Paper (5) Programming/Electron (5) Programming/Java (5) Programming/Python (5) Software/Firefox (5) Software/Inkscape (5) Work/Windows (5) 評論 (5) 3C (4) IDE (4) Library/ORCID (4) LibreOfficeCalcCourse (4) Programming/Database (4) Programming/SeleniumIDE (4) Programming/Vue.js (4) Research/SequentialAnalysis (4) Selenium (4) Server/OCS (4) Software/Browser (4) Software/Notepad++ (4) Software/PDF (4) Software/Pentaho (4) WebService (4) 博士班考試 (4) 問答訪談 (4) 課程/資訊行為與資訊服務 (4) 讀者服務研討 (4) CKEditor (3) Drupal (3) GAME (3) GoogleAnalytics (3) Hardware (3) Hardware/Notebook (3) OCS (3) Programming/CKEditor (3) Series/WekaImageClassification (3) Server/ApacheSolr (3) Software/Cortana (3) Software/Drupal (3) VirtualMachine (3) 活動籌辦 (3) 演講 (3) 生活/日記 (3) 網站系統/ownCloud (3) 課程/檔案學 (3) 遊戲 (3) 閱讀學習 (3) AngularJS (2) EMAIL-KM (2) GAME/PokemonGO (2) IPFire (2) MachineLearning (2) OS/IPFire (2) OS/pfSense (2) OSSIM (2) Programming/AdonisJs (2) Research/SocialNetworkAnalysis (2) Server/GitLab (2) Software/CWISE (2) Software/Office (2) Software/OpenLiveWriter (2) Software/WordPress (2) Software/mRemoteNG (2) Sponsored (2) VirtualMachine/Docker (2) pfSense (2) ニコニコ動画 (2) 國立政治大學 (2) 圖書資訊學研討 (2) 布丁通信 (2) 技術服務研討 (2) 生活/政大平價美食 (2) 研究方法\序列分析 (2) 研究領域/閱讀學習 (2) 硬體設備 (2) 系統/WordPress (2) 輕小說 (2) 電腦軟體/R (2) 3C/Note8 (1) Auto (1) Hardware/Teclast (1) Linux/WINE (1) Programming/AngularJS (1) Programming/HTML (1) Programming/SVG (1) Programming/Svelte (1) Programming/WebDesign (1) Programming/Webpack (1) Publication/Conference (1) RIME (1) Research/Infometric (1) SecondLife (1) Server/Apache (1) Software/ApacheTika (1) Software/DSpace (1) Software/FileZilla (1) Software/ImageMagick (1) Software/中州韻輸入法 (1) TimemarktoSSA (1) Travel (1) Userscript (1) 國家考試 (1) 國立空中大學 (1) 專題 (1) 課程/計算智能與商業分析 (1) 販售 (1) 資訊管理/網站管理 (1) 電視 (1)



請為這篇文章評分?