想做 Python 聊天機器人,有什麼好用的中文分詞、數據挖掘、AI方面的 Python 庫或者開源項目推薦?


scikit.learn是很好的開源機器學習庫,包括了很多演算法,團隊也很棒,更新也很快。中文分詞有pymmseg和smallseg。ai太大了,不知道你指什麼

update:12-11-02 發現了新的分詞工具jieba,託管在github上,非常好用


人工智慧:用AIML寫一個機器人 試試這個吧,可以自己往裡面加規則啥的 用起來很簡單


PyAIML


引用請註明來自:http://hi.baidu.com/fooying
四款python中文分詞系統簡單測試:
註:中科院分詞可採用調用C庫的方式使用


準確率測試(使用對應項目提供在線測試,未添加用戶自定義詞典)
結巴中文分詞http://209.222.69.242:9000/
中科院分詞系統http://ictclas.org/ictclas_demo.html
smallseghttps://smallseg.appspot.com/smallseg
snailseghttps://snailsegdemo.appspot.com/
(後兩者網址需要翻牆)

測試文本1
工信處女幹事每月經過下屬科室都要親口交代24口交換機等技術性器件的安裝工作

測試結果:
結巴中文分詞:
工信處/n 女幹事/n 每月/r 經過/p 下屬/v 科室/n 都/d 要/v 親口/n 交代/n 24/m 口/q 交換機/n 等/u 技術性/n 器件/n 的/uj 安裝/v 工作/vn
中科院分詞系統:
工/n 信/n 處女/n 幹事/n 每月/r 經過/p 下屬/v 科室/n 都/d 要/v 親口/d 交代/v 24/n 口/q 交換機/n 等/udeng 技術性/n 器件/n 的/ude1 安裝/vn 工作/vn
smallseg:

工信 信處 女幹事 每月 經過 下屬 科室 都要 親口 交代 24 口 交換機 等 技術性 器件 的 安裝 工作

snailseg:

工信處/ 女/ 幹事/ 每月/ 經過/ 下屬/ 科室/ 都/ 要/ 親口/ 交代/ 24/ 口/ 交換機/ 等/ 技術性/ 器件/ 的/ 安裝/ 工作
-----------------------------------------------------------------------------------------
測試文本2
工信處女幹事每月經過下屬科室都要親口交代24口交換機等技術性器件的安裝工作

測試結果:
結巴中文分詞:
工/n 信/n 處/zg 女/b 幹/zg 事/n 每月/r 經/zg 過/zg 下/m 屬/zg 科室/n 都/d 要/v 親/zg 口/q 交代/n 24/m 口交/n 換/zg 機/zg 等/u 技/ng 術/zg 性/ng 器件/n 的/uj 安/v 裝/zg 工作/vn
中科院分詞系統:
工/n 信/n 處女/n 幹事/n 每月/r 經過/p 下屬/v 科室/n 都/d 要/v 親口/d 交代/v 24/n 口/q 交換機/n 等/udeng 技術性/n 器件/n 的/ude1 安裝/vn 工作/vn
smallseg:

工/ 信/ 處/ 女/ 幹/ 事/ 每月/ 經/ 過/ 下/ 屬/ 科室/ 都/ 要/ 親/ 口/ 交代/ 24/ 口/ 交/ 換/ / 機/ 等/ 技/ 術/ 性器/ 件/ 的/ 安/ 裝/ 工作

snailseg:

工/ 信/ 處/ 女/ 幹/ 事/ 每月/ 經/ 過/ 下/ 屬/ 科室/ 都/ 要/ 親/ 口/ 交代/ 24/ 口/ 交/ 換/ / 機/ 等/ 技/ 術/ 性器/ 件/ 的/ 安/ 裝/ 工作

-----------------------------------------------------------------------------------------

測試文本3
SCANV網址安全中心(http://scanv.com)是一個綜合性的網址安全服務平台。通過網址安全中心,用戶可以方便的查詢到要訪問的網址是否存在惡意行為,同時可以在SCANV中在線舉報曝光違法惡意網站。

測試結果:
結巴中文分詞:
SCANV/eng 網址/n 安全/an 中心/n scanv/eng com/eng 是/v 一個/m 綜合性/n 的/uj 網址/n 安全/an 服務平台/n 通過/p 網址/n 安全/an 中心/n 用戶/n 可以/c 方便/a 的/uj 查詢/v 到/v 要/v 訪問/v 的/uj 網址/n 是否/v 存在/v 惡意/v 行為/v 同時/c 可以/c 在/p SCANV/eng 中/f 在線/b 舉報/v 曝光/nz 違法/vn 惡意/v 網站/n
中科院分詞系統:
SCANV/x 網址/n 安全/an 中心/n (/wkz http://scanv.com/x )/wky 是/vshi 一個/mq 綜合性/n 的/ude1 網址/n 安全/an 服務平台/n 。/wj 通過/p 網址/n 安全/an 中心/n ,/wd 用戶/n 可以/v 方便/a 的/ude1 查詢/vn 到/v 要/v 訪問/v 的/ude1 網址/n 是否/v 存在/v 惡意/n 行為/n ,/wd 同時/c 可以/v 在/p SCANV/x 中/f 在/p 線/n 舉報/vn 曝光/vn 違法/vn 惡意/n 網站/n 。/wj
smallseg:

SCANV 網址 安全 中心 http://scanv.com 是 一個 綜合性 的 網址 安全 服務 平台 通過 網址 安全 中心 用戶 可以 方便 的 查詢 到要 訪問 的 網址 是否 存在 惡意 行為 同時 可以 在 SCANV 中 在線 舉報 曝光 違法 惡意 網站

snailseg:

SCANV/ 網址/ 安全/ 中心/ scanv/ com/ 是/ 一個/ 綜合性/ 的/ 網址/ 安全/ 服務平台/ 通過/ 網址/ 安全/ 中心/ 用戶/ 可以/ 方便/ 的/ 查詢/ 到/ 要/ 訪問/ 的/ 網址/ 是/ 否/ 存在/ 惡意/ 行為/ 同時/ 可以/ 在/ SCANV/ 中/ 在/ 線/ 舉報/ 曝光/ 違法/ 惡意/ 網站


-----------------------------------------------------------------------------------------

測試文本4
隨著頁遊興起到現在的頁游繁盛,依賴於存檔進行邏輯判斷的設計減少了,但這塊也不能完全忽略掉。總會有一些功能是需要調用本地存檔的。例如登錄模塊中,記住密碼功能,會將密碼信息存儲在本地,以IE瀏覽器為例,在C:Documents and Settings(你的Windows用戶名)Application DataMacromedianbsp;Flash Player#SharedObjects(一些隨機數字和字母) 文件夾下就可以看到存儲密碼的SOL文件,可以使用minerva工具查看,如下圖所示,密碼明文明文存儲的,SOL文件是永久性保存的,除非手動清除,如果玩家在公共環境下登錄,就會有盜號威脅。來自http://www.baidu.com/及http:、www.baidu...com

測試結果:
結巴中文分詞:
隨著/p 頁/m 游/n 興起/v 到/v 現在/t 的/uj 頁游/n 繁盛/a 依賴於/v 存檔/v 進行/v 邏輯/n 判斷/v 的/uj 設計/vn 減少/v 了/ul 但/c 這塊/r 也/d 不能/v 完全/ad 忽略/d 掉/zg 總會/n 有/v 一些/m 功能/n 是/v 需要/v 調用/vn 本地/r 存檔/v 的/uj 例如/v 登錄/v 模塊/n 中/f 記住/v 密碼/n 功能/n 會/v 將/d 密碼/n 信息/n 存儲/j 在/p 本地/r 以/p IE/eng 瀏覽器/n 為/p 例/v 在/p C/eng Documents/eng and/eng Settings/eng 你/r 的/uj Windows/eng 用戶名/n Application/eng Data/eng Macromedia/eng nbsp/eng Flash/eng Player/eng #SharedObjects/eng 一些/m 隨機/d 數字/n 和/c 字母/n 文件夾/n 下/f 就/d 可以/c 看到/v 存儲/j 密碼/n 的/uj SOL/eng 文件/n 可以/c 使用/v minerva/eng 工具/n 查看/v 如下/t 圖/n 所示/v 密碼/n 明文/nr 明文/nr 存儲/j 的/uj SOL/eng 文件/n 是/v 永久性/nr 保存/v 的/uj 除非/c 手動/n 清除/v 如果/c 玩家/n 在/p 公共/b 環境/n 下/f 登錄/v 就/d 會/v 有/v 盜號/n 威脅/vn 來自/v http/eng www/eng baidu/eng com/eng 及/c http/eng www/eng baidu/eng com/eng
中科院分詞系統:
隨著/p 頁/q 遊興/n 起/vf 到/v 現在/t 的/ude1 頁/q 游/v 繁盛/an ,/wd 依賴/v 於/p 存檔/vi 進行/vx 邏輯/n 判斷/v 的/ude1 設計/vn 減少/v 了/y ,/wd 但/c 這/rzv 塊/q 也/d 不能/v 完全/ad 忽略/v 掉/v 。/wj 總/d 會/v 有/vyou 一些/mq 功能/n 是/vshi 需要/v 調用/v 本地/rzs 存檔/vi 的/ude1 。/wj 例如/v 登錄/v 模塊/n 中/f ,/wd 記住/v 密碼/n 功能/n ,/wd 會/v 將/p 密碼信息存儲/n 在/p 本地/rzs ,/wd 以/p IE/x 瀏覽器/n 為/p 例/n ,/wd 在/p C:/x /x Documents/x /w and/x /w Settings/x /x (/wkz 你/rr 的/ude1 Windows/x 用戶/n 名/q )/wky /x Application/x /w Data/x /x Macromedia/x /x nbsp/x ;/wf /x Flash/x /w Player/x /x #/x SharedObjects/x /x (/wkz 一些/mq 隨機/b 數字/n 和/cc 字母/n )/wky /x /w 文件夾/n 下/f 就/d 可以/v 看到/v 存儲/vn 密碼/n 的/ude1 SOL/x 文件/n ,/wd 可以/v 使用/v minerva/x 工具/n 查看/v ,/wd 如/v 下/vf 圖/n 所/usuo 示/vg ,/wd 密碼/n 明/ag 文明/n 文/ng 存儲/v 的/ude1 ,/wd SOL/x 文件/n 是/vshi 永久性/n 保存/v 的/ude1 ,/wd 除非/c 手動/b 清除/vn ,/wd 如果/c 玩/v 家/n 在/p 公共/b 環境/n 下/f 登錄/v ,/wd 就/d 會/v 有/vyou 盜/vg 號/n 威脅/vn 。/wj 來自/v http:/x //w //w http://www.baidu.com/x //w 及/v http:/x 、/wn www.baidu...com/x
smallseg:

隨著 頁游 興起 到現在 的頁 頁游 繁盛 依賴於 存檔 進行 邏輯 判斷 的 設計 減 少了 但 這塊 也 不能 完全 忽略 掉 總 會有 一些 功能 是 需要 調用 本地 存檔 的 例如 登錄 模塊 中 記住 密碼 功能 會將 密碼 信息 存儲 在 本地 以 IE 瀏覽器 為例 在 C Documents and Settings 你的 Windows 用戶名 Application Data Macromedia nbsp ; Flash Player #SharedObjects 一些 隨機 數字 和 字母 文件夾 下 就可 以 看到 存儲 密碼 的 SOL 文件 可 以 使用 minerva 工具 查看 如 下圖 所示 密碼 明文 明文 存儲 的 SOL 文件 是 永久性 保存 的 除非 手動 清除 如果 玩家 在 公共 環境 下 登錄 就會 有 盜號 威脅 來自 http // http://www.baidu.com /及 http www.baidu...com

snailseg:

隨著/ 頁/ 遊興/ 起到/ 現在/ 的/ 頁/ 游/ 繁盛/ 依賴/ 於/ 存檔/ 進行/ 邏輯/ 判斷/ 的/ 設計/ 減少/ 了/ 但/ 這/ 塊/ 也/ 不能/ 完全/ 忽略/ 掉/ 總會/ 有/ 一些/ 功能/ 是/ 需要/ 調用/ 本地/ 存檔/ 的/ 例如/ 登錄/ 模塊/ 中/ 記住/ 密碼/ 功能/ 會/ 將/ 密碼/ 信息/ 存儲/ 在/ 本地/ 以/ IE/ 瀏覽器/ 為/ 例/ 在/ C/ Documents/ and/ Settings/ 你/ 的/ Windows/ 用戶名/ Application/ Data/ Macromedia/ nbsp/ Flash/ Player/ #SharedObjects/ 一些/ 隨機數/ 字/ 和/ 字母/ 文件/ 夾/ 下/ 就/ 可以/ 看到/ 存儲/ 密碼/ 的/ SOL/ 文件/ 可以/ 使用/ minerva/ 工具/ 查看/ 如下/ 圖/ 所/ 示/ 密碼/ 明文/ 明文/ 存儲/ 的/ SOL/ 文件/ 是/ 永久性/ 保存/ 的/ 除非/ 手動/ 清除/ 如果/ 玩家/ 在/ 公共/ 環境/ 下/ 登錄/ 就/ 會/ 有/ 盜/ 號/ 威脅/ 來/ 自/ http/ www/ baidu/ com/ 及/ http/ www/ baidu/ com

結論:從整體測試結果上看,分詞速度以及文本超過一定長度的性能測試未進行,自定義詞典也是一個很大的影響分詞因素,也未涵蓋測試,排除以上兩點,整體上看,對繁體以及網址的分詞,中科院的分詞系統做到最好,如果論說對容易歧義的文本,結巴不錯,這兩者也相對功能方面會更豐富。感覺如果python分詞,建議使用結巴或者中科院分詞調用C庫使用,如果擔心調用C庫等產生的相關問題,可以使用結巴分詞系統,是個不錯的選擇,在分詞前進行簡繁轉換;或者採用中科院的分詞,加上自定義詞典,也是不錯的選擇,不過就本人在python調用C庫使用中科院分詞的過程中,存在用戶自定義詞典導入會過於優先(如導入用戶詞典,中信,當分詞內容[我們中信仰佛教的人]會分詞成[我們,中信,仰,佛教,的,人])以及存在導入失敗情況,還有函數調用安全問題。主要是根據需要進行選擇不同的分詞。有空再進行性能測試!


轉自百度技術沙龍的官方微信,我能幫題主的就這麼多了...
《技術乾貨:人工智慧和機器學習領域中有趣的開源項目》


github 上找到兩個相關的,可參考下:
https://github.com/marxian/tariff-bot
https://github.com/messense/wechat-bot


rmmseg4j


支持一下jieba分詞


andelf/PyAIML · GitHub
湊合能用。有點小bug。可以拿來玩玩。


分詞的話推薦看看http://bosonnlp.com,我們之前項目用過,效果不錯


ik、ansj、hanlp、jieba、mmseg4j


hanlp其實不錯,可以嵌入到solr和lucene,藍牛在線工具提供了在線演示功能,可以去看看。在線分詞,中文分詞,文本分詞,標準分詞


中文文本分析用那個比較好?謝謝


ik analyzer也不錯


我也有類似想法……我的站在sae 想在微信自動回復——涉及分詞的理解……看了一樓的評論,令人叫絕……我用的是sae自帶的新浪愛問的分詞結構……據說採用了隱馬模型……試用結果顯示,與中科院的結果一致。也即對新詞的收錄不是很好。比如 工信處 頁游 等等。
——————————補充一點——————————————
smallseg 的分詞優點是 對新詞支持較好 對網址也可以……缺點只是對繁體的支持度不太好……這個結論來自一樓的測試……如果仔細看的話


--------------------------再續----------------------------------------------------

後由於時間太長。又深入了解了一些分詞等等,修訂此內容:

分詞最理想的還是能夠分出新詞、並自定義詞。對各種分詞方法了解後,試用後,覺得效果還是得看詞庫全不全,合理不合理。我用的是python 什麼mmseg smallseg 等等基本上全試過。都不如意。最後用了jieba分詞。最後更新的版本確實不錯。加入了很多功能的支持。比如自定義片語等等。缺定也很明顯。載入時間過長。初次載入起碼得1秒多鍾才能分出詞。對於一般的搜索要求來說,可以滿足需求。


推薦閱讀:

診脈驗孕,有沒有可能用數字化的方法驗證可靠性?一定要來個挑戰賽么?
如何用Python3寫一段將Excel數據導入SQL資料庫?
轉行數據分析,如何寫簡歷通過的機會最大?
數據挖掘、機器學習領域有哪些知名的期刊或會議?
線性模型如何解決變數相關性問題?

TAG:人工智慧 | Python | 數據挖掘 | 開源項目 | 中文分詞 |