1. 程式人生 > >聊天機器人的具體實現

聊天機器人的具體實現

   這個專案只是人機互動技術課程demo罷了,我做的工作僅僅是呼叫圖靈機器人的API,將功能實現在android上。

這裡寫圖片描述
1、關於非同步請求:

protected String doInBackground(String... arg0) {
        // TODO Auto-generated method stub
        try {
            mHttpClient=new DefaultHttpClient();
            mHttpGet=new HttpGet(url);      mHttpResponse=mHttpClient.execute(mHttpGet);
            mHttpEntity=mHttpResponse.getEntity();
            in
=mHttpEntity.getContent(); BufferedReader br=new BufferedReader(new InputStreamReader(in)); String line=null; StringBuffer sb=new StringBuffer(); while ((line=br.readLine())!=null) { sb.append(line); } return sb.toString(); } catch
(Exception e) { // TODO: handle exception } return null; }

2、json資料解析

public void parseText(String str){
        try {
            JSONObject jb =new JSONObject(str);
            ListData listData;
            listData=new ListData(jb.getString("text"),ListData.RECEIVER);
            lists.add(listData);
            adapter.notifyDataSetChanged();         
        } catch
(JSONException e) { // TODO: handle exception e.printStackTrace(); } }

3、資料封裝

public class ListData {

    public static final int SEND=1;
    public static final int RECEIVER=2;
    private String content;
    private int flag;
    public ListData(String content,int flag) {
        setContent(content);
        setFlag(flag);
        // TODO Auto-generated constructor stub
    }
    public String getContent() {
        return content;
    }
    public void setContent(String content) {
        this.content = content;
    }
    public int getFlag() {
        return flag;
    }
    public void setFlag(int flag) {
        this.flag = flag;
    }
}

4、使用者介面設計

<ListView
        android:id="@+id/lv"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:divider="@null"
        android:listSelector="@android:color/transparent"
        android:transcriptMode="alwaysScroll" >
    </ListView>
    <LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <EditText             
            android:id="@+id/sendText"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:background="@drawable/rounded_editview"
            android:layout_weight="1"/>
        <Button 
            android:id="@+id/send_btn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/send"/>
    </LinearLayout>

這裡寫圖片描述
其實網上的有關這樣的demo還是挺多的,這個專案也可以進行擴充套件,比如加上科大訊飛的語音識別,豐富知識庫就可以完成一個類似siri的語音助手了。
關於API問題我用了不太出名的圖靈機器人的,因為簡單圖靈機器人
其實現在很多公司都有提供這方面的服務,比如微軟,百度,科大訊飛,google等,我還是建議你是用這幾家的API。
前幾天去聽了微軟關於人工智慧方面的演講,他們已經可以做到帶有情感色彩的語音回覆。還是挺神奇的。

相關推薦

專屬個人的聊天機器人實現——圖靈機器人

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Azure聊天機器人4-實現luis dialog

在rootDialog訊息轉發到LuisDialog [Serializable]     public class RootDialog : IDialog<object>     {    &nb

基於簡單seq to seq 的聊天機器人+程式碼實現 (tensorfow 1.1版本)

一、seq2seq模型簡介 基本的Encoder-Decoder模型圖如下: 輸入的序列為['A','B','C"]輸出的序列為['W','X','Y','Z"] 二、tensorflow1.1 seq2seq介面    自從tensorflow1.0.0開始,出現新的

如何讓聊天機器人能夠實現自我學習功能呢?(智慧聊天機器人序言)

傳統的aiml是通過配置aiml語料檔案來匹配聊天對話。這種模式需要大量的aiml語料檔案,而且都是初始時就固定好這些預料檔案。那麼我們能否設計一種能夠擁有自我學習完善功能的聊天機器人呢?在aiml語言的基礎上再進一步延伸,使聊天機器人能夠自我完善學習,豐富自己語料庫。1:初

itchat+線上聊天機器人介面實現微信聊天機器人

閒來無事(其實還在期末考試),想著怎麼利用手裡的伺服器搞點事情時,發現了python的itchat庫,想著可以再利用網頁聊天機器人,做一個自動聊天的微信機器人。總體思路很簡單,用itchat登入微信,接受訊息,通過聊天機器人的介面傳送給聊天機器人,在將接受到的訊息通過itch

語言識別和聊天機器人實現

安卓上面語音識別和聊天機器人是非常常見也是非常實用的功能,在這裡主要分享一款非常著名的語言平臺,科大迅飛開放平臺。 首先從官網下載一個sdk的包,如下圖: 我們可以新建一個安卓工程,取名Robot,將下載下來的檔案中的libs中的檔案拷貝到我們的專案中的libs目錄下,

使用圖靈機器人api搭建微信聊天機器人php實現

之前通過hook技術實現了微信pc端傳送訊息功能,如果在結合圖靈機器人就能實現微信聊天機器人。 程式碼下載:http://blog.yshizi.cn/131.html 邏輯如下: 下面我簡單介紹一下步驟。 首先,你需要下載我的微信助手,下載地址請參考我的部落格文章: 通過對微信pc hook實現微

聊天機器人具體實現

這個專案只是人機互動技術課程demo罷了,我做的工作僅僅是呼叫圖靈機器人的API,將功能實現在android上。 1、關於非同步請求: protected String doInBack

【Android】Android聊天機器人實現

小米 div bottom 曾經 圖靈 .9.png sdn http 歡迎界面 昨天看到一個Android視頻教程講圖靈機器人。那個API接口用起來還是挺方便的,就準備自己動手做一個了。另外自己還使用了高德地圖的API接口用於定位(曾經用過高德的接口,比X度方便) 大

案例:python實現聊天機器人

pythonimport pickle data = {"你有女朋友嗎":"沒有","我們可以交往嗎":"可以","今晚約不約":"約","去哪家餐廳":"麥當勞"} with open("db.pkl",‘wb‘) as f: f.write(pickle.dumps(data)) with

Python 實現微信聊天機器人

#方法一 # -*- coding=utf-8 -*- import requests import itchat import random import json KEY = '18c2919631d84026912c25970f23286f' def get_response(in

【打死不做程式設計師】python3+qqBot+圖靈機器人實現qq聊天機器人

原理:   通過Python3的qqBot開源庫,基於騰訊的smartQQ協議登入個人QQ,實現監控、收集QQ訊息,進而通過圖靈機器人API接入方式實現自動聊天。   零、前期準備:   1、Python3   2、qqBot & requests & re   3、

Python實現微信聊天機器人

# -- coding=utf-8 -- import requests import itchat import random import json KEY = ‘18c2919631d84026912c25970f23286f’ def get_res

一個基於智慧問答的聊天機器人實現

 智慧問答應當是未來智慧化發展中人機互動的主要方式,目前無論是在開源社群或者企業應用中,都有廣泛的應用。      專案名稱是Iveely.Brain,本次原始碼可以在Github的這裡下載,,是主要用於聊天服務的一個專案,本次開源版本的示例如下所示:        

Android之Android studio實現智慧聊天機器人

Android實現智慧聊天機器人 最近在做專案中,突然來了靈感,要做一個聊天機器人.聊天機器人在很多大型App上都有使用,比如QQ群裡的QQ小冰,淘寶京東等App上在沒有人工客服之前會有機器人跟你聊天,根據你發的問題關鍵詞,向你推薦一些答案,可以省下很多人工的時間以及減小伺

安卓實現智慧聊天機器人(結合百度語音和圖靈機器人

package com.ysk.tldemo; //提問/回答 public class TalkBean { public TalkBean(String content, int image

實現基於seq2seq的聊天機器人

前幾篇部落格介紹了基於檢索聊天機器人的實現、seq2seq的模型和程式碼,本篇部落格將從頭實現一個基於seq2seq的聊天機器人。這樣,在強化學習和記憶模型出現之前的對話系統中的模型就差不多介紹完了。後續將著重介紹強化學習和記憶模型在對話系統中的應用。

實現微信公眾號聊天機器人,自動回覆——nodejs+圖靈機器人

登入微信測試號:https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index設定開發介面:填寫url地址和token,url是在微信公眾號傳送訊息的時候呼叫的介面地

關於基於檢索的聊天機器人實現(具參考價值)

目前網上能找到的關於基於檢索的聊天機器人開原始碼基本上都是這個專案,其餘一些都是在基於這個版本的程式碼,大家修修改改換了個名字而已,參考意義不大,並且連部落格文章都是翻譯複製貼上的。 實際上按照他們部落格內容和程式碼很難將這個專案跑起來,我也是踩了兩天的坑,最終終於找到了所

Java網路程式設計:簡單聊天機器人實現案例

整個小案例:整合了Java socket程式設計、jdbc知識(ORM/DAO) 建立資料庫和表,準備表資料(MySQL) 首先建立一個數據庫android 然後建立一個表dictionary,欄位: id int receive varc