基於Python的中文聊天機械人

2021-10-01 12:55:53 字數 732 閱讀 6301

聊天機械人(chatbot、talkbot)本質上是基於文字和語音處理演算法能夠與真人進行交流的電腦程式,廣泛用於客服、問答等系統中。優秀的chatbot要能夠通過圖靈測試。

根據程式設計的方式,聊天機械人分為:1、rule-based chatbots,2、self-learning chatbots

這一類的聊天機械人基於簡單、有限的規則作出應答。

既可以通過經典的ml演算法實現也可以通過前沿的ai演算法實現。可以進一步細分為:retrieval based、generative。

2.1 retrieval based chatbots

基於原則流程圖或者知識圖譜從知識庫中檢索與問題最為匹配的答案,所有問題的答案都是預先生成併村粗在知識庫中的。

2.2 generative based chatbots

基於大量的對話資料訓練模型,問題的答案通過模型產生。

從上到下聊天機械人的智商逐漸公升高

必要的知識準備:nltk、tf-idf、cosine similarity、jieba分詞器

基本流程

2、由於nltk中文分詞功能不完善,該用jieba分詞代替。

3、文字切句然後分詞

4、計算輸入問句和文字的tf-idf以及余弦相似度

5、輸出與輸入問句不同的余弦相似度最高的答句。

效果展示

聊天機械人

我你好!小愛同學 小愛你好,很高興認識你!charset utf 8 css document 休息一會 sleep 1 獲取 使用者傳送的 訊息 可選 後端 對於 使用者發過來的 時候 是否 使用 可選 根據 傳送 過來的 訊息 返回 不同的內容 messagelist array 床前明月光,有...

python實現簡單的聊天機械人

coding utf 8 created on sat aug 3 16 25 26 2019 author gongmingxian import requests,json,time,random feature text 我有問必答,有人會問我 今天深圳天氣怎麼樣?也有人問我 你喜歡我嗎?快來...

聊天機械人ELIZA

1 在 自然語言理解 這本書的緒論中曾分析了聊天機械人eliza的設計機理,表明這是一種語言變換的技巧,而不是真正的 自然語言理解 午間休息時檢索了一下,找到了乙個它的連線 它並不如書中所舉的例子那樣的 聰明 也許因為這是第乙個聊天機械人,以及它並沒有真正採取 自然語言理解 的技術有關。下面是筆者與...