本文目錄一覽:
我用了100行Python代碼,實現了與女神尬聊微信(附代碼)
朋友圈很多人都想學python,有一個很重要的原因是它非常適合入門。對於 人工智能算法 的開發,python有其他編程語言所沒有的獨特優勢, 代碼量少 ,開發者只需把精力集中在算法研究上面。
本文介紹一個用python開發的,自動與美女尬聊的小軟件。以下都是滿滿的乾貨,是我工作之餘時寫的,經過不斷優化,現在分享給大家。那現在就讓我們抓緊時間開始吧!
準備:
編程工具IDE:pycharm
python版本: 3.6.0
首先新建一個py文件,命名為:ai_chat.py
PS: 以下五步的代碼直接複製到單個py文件裡面就可以直接運行。為了讓讀者方便寫代碼,我把代碼都貼出來了,但是排版存在問題,我又把在pycharm的代碼排版給截圖出來。
第一步: 引入關鍵包
簡單介紹一下上面幾個包的作用: pickle 包 是用來對數據序列化存文件、反序列化讀取文件,是人類不可讀的,但是計算機去讀取時速度超快。(就是用記事本打開是亂碼)。 而 json包 是一種文本序列化,是人類可讀的,方便你對其進行修改(記事本打開,可以看到裡面所有內容,而且都認識。) gensim 包 是自然語言處理的其中一個python包,簡單容易使用,是入門NLP算法必用的一個python包。 jieba包 是用來分詞,對於算法大咖來說效果一般般,但是它的速度非常快,適合入門使用。
以上這些包,不是關鍵,學習的時候,可以先跳過。等理解整個程序流程後,可以一個一個包有針對性地去看文檔。
第二步:靜態配置
這裡path指的是對話語料(訓練數據)存放的位置,model_path是模型存儲的路徑。
這裡是個人編程的習慣,我習慣把一些配置,例如:文件路徑、模型存放路徑、模型參數統一放在一個類中。當然,實際項目開發的時候,是用config 文件存放,不會直接寫在代碼里,這裡為了演示方便,就寫在一起,也方便運行。
第三步: 編寫一個類,實現導數據、模型訓練、對話預測一體化
首次運行的時候,會從靜態配置中讀取訓練數據的路徑,讀取數據,進行訓練,並把訓練好的模型存儲到指定的模型路徑。後續運行,是直接導入模型,就不用再次訓練了。
對於model類,我們一個一個來介紹。
initialize() 函數和 __init__() 函數 是對象初始化和實例化,其中包括基本參數的賦值、模型的導入、模型的訓練、模型的保存、最後返回用戶一個對象。
__train_model() 函數,對問題進行分詞,使用 gesim 實現詞袋模型,統計每個特徵的 tf-idf , 建立稀疏矩陣,進而建立索引。
__save_model() 函數 和 __load_model() 函數 是成對出現的,很多項目都會有這兩個函數,用於保存模型和導入模型。不同的是,本項目用的是文件存儲的方式,實際上線用的是數據庫
get_answer() 函數使用訓練好的模型,對問題進行分析,最終把預測的回答內容反饋給用戶。
第四步:寫三個工具類型的函數,作為讀寫文件。
其中,獲取對話材料,可以自主修改對話內容,作為機器的訓練的數據。我這裡只是給了幾個簡單的對話語料,實際上線的項目,需要大量的語料來訓練,這樣對話內容才飽滿。
這三個工具函數,相對比較簡單一些。其中 get_data() 函數,裡面的數據是我自己編的,大家可以根據自己的習慣,添加自己的對話數據,這樣最終訓練的模型,對話方式會更貼近自己的說話方式。
第五步: 調用模型,進行對話預測
主函數main(), 就是你整個程序運行的起點,它控制着所有步驟。
運行結果:
程序後台運行結果:
如果有疑問想獲取源碼( 其實代碼都在上面 ),可以後台私信我,回復:python智能對話。 我把源碼發你。最後,感謝大家的閱讀,祝大家工作生活愉快!
python的基礎是什麼?
跟大家分享一份系統的python學習路線圖!
第一階段Python基礎與Linux數據庫。
這是Python的入門階段,也是幫助零基礎學員打好基礎的重要階段。你需要掌握Python基本語法規則及變量、邏輯控制、內置數據結構、文件操作、高級函數、模塊、常用標準庫模塊、函數、異常處理、MySQL使用、協程等知識點。
學習目標:掌握Python基礎語法,具備基礎的編程能力;掌握Linux基本操作命令,掌握MySQL進階內容,完成銀行自動提款機系統實戰、英漢詞典、歌詞解析器等項目。
第二階段WEB全棧。
這一部分主要學習Web前端相關技術,你需要掌握HTML、CSS、JavaScript、jQuery、BootStrap、Web開發基礎、VUE、Flask Views、Flask模板、 數據庫操作、Flask配置等知識。
學習目標:掌握WEB前端技術內容,掌握WEB後端框架,熟練使用Flask、Tornado、Django,可以完成數據監控後台的項目。
第三階段數據分析+人工智能。
這部分主要是學習爬蟲相關的知識點,你需要掌握數據抓取、數據提取、數據存儲、爬蟲並發、動態網頁抓取、scrapy框架、分布式爬蟲、爬蟲攻防、數據結構、算法等知識。
學習目標:可以掌握爬蟲、數據採集,數據機構與算法進階和人工智能技術。可以完成爬蟲攻防、圖片馬賽克、電影推薦系統、地震預測、人工智能項目等階段項目。
第四階段高級進階。
這是Python高級知識點,你需要學習項目開發流程、部署、高並發、性能調優、Go語言基礎、區塊鏈入門等內容。
學習目標:可以掌握自動化運維與區塊鏈開發技術,可以完成自動化運維項目、區塊鏈等項目。
按照上面分享的Python學習路線圖學習完後,你基本上就可以成為一名合格的Python開發工程師。
做nlp的python包有哪些
pattern.en 是一個基於Python的自然語言處理工具包,en代表English(沒錯,還有西班牙語es、德語de、法語fr、意大利語it、荷蘭語nl),它可以做的事包括:
詞性標註(part-of-speech tagger)、情感分析(sentiment analysis)、動詞處理(verb conjugation,不知道怎麼翻譯啦)、名詞的單複數處理(noun singularization pluralization)以及一個WordNet的接口。
python怎麼學
學習python主要有自學和報班學習兩種方式。
具體學的順序如下:
①Python軟件開發基礎
掌握計算機的構成和工作原理
會使用Linux常用工具
熟練使用Docker的基本命令
建立Python開發環境,並使用print輸出
使用Python完成字符串的各種操作
使用Python re模塊進行程序設計
使用Python創建文件、訪問、刪除文件
掌握import 語句、From…import 語句、From…import* 語句、方法的引用、Python中的包
②Python軟件開發進階
能夠使用Python面向對象方法開發軟件
能夠自己建立數據庫,表,並進行基本數據庫操作
掌握非關係數據庫MongoDB的使用,掌握Redis開發
能夠獨立完成TCP/UDP服務端客戶端軟件開發,能夠實現ftp、http服務器,開發郵件軟件
能開發多進程、多線程軟件
③Python全棧式WEB工程師
能夠獨立完成後端軟件開發,深入理解Python開發後端的精髓
能夠獨立完成前端軟件開發,並和後端結合,熟練掌握使用Python進行全站Web開發的技巧
④Python多領域開發
能夠使用Python熟練編寫爬蟲軟件
能夠熟練使用Python庫進行數據分析
招聘網站Python招聘職位數據爬取分析
掌握使用Python開源人工智能框架進行人工智能軟件開發、語音識別、人臉識別
掌握基本設計模式、常用算法
掌握軟件工程、項目管理、項目文檔、軟件測試調優的基本方法
Python目前是比較火,學習之後可以從事軟件開發、數據挖掘等工作,發展前景非常好,普通人也可以學習。
想要系統學習,你可以考察對比一下開設有IT專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,建議實地考察對比一下。
祝你學有所成,望採納。
請點擊輸入圖片描述
python中的nltk是什麼
nltk(natural language toolkit)是python的自然語言處理工具包。自然語言是指人們日常交流使用的語言,如英語,印地語,葡萄牙語等。“自然語言處理”(Natural Language Processing 簡稱NLP)包含所有用計算機對自然語言進行的操作,從最簡單的通過計數詞出現的頻率來比較不同的寫作風格,到最複雜的完全“理解”人所說的話,至少要能達到對人的話語作出有效反應的程度。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/190669.html