欢迎访问宙启技术站
智能推送

使用Python实现的简单聊天机器人示例

发布时间:2023-12-04 10:25:16

下面是一个使用Python实现的简单聊天机器人示例:

import random

# 基本的问答对
basic_qa = {
    "你好": ["你好!", "哈喽!", "嗨,有什么我能帮助你的吗?"],
    "早上好": ["早上好!", "美好的一天开始了!", "祝你有个愉快的一天!"],
    "晚上好": ["晚上好!", "祝你晚上愉快!", "美丽的星空如此迷人!"],
    "再见": ["再见!", "再见了,祝你一切顺利!", "下次见!"],
}

# 扩展的问答对
extended_qa = {
    "讲个笑话": ["有一天,小明问小红:你爸爸是不是玻璃?小红说:不是呀!小明说:那你爸爸怎么有钢铁般的意志?"],
    "你是谁": ["我是一个简单的聊天机器人!", "我是一个AI助手!"],
    "你喜欢做什么": ["我喜欢和人类聊天!", "我喜欢学习新知识!", "我喜欢帮助人们!"],
    "你有兴趣爱好吗": ["我没有具体的兴趣爱好,我只是一个程序!", "作为一个AI,我对一切都感兴趣!"],
}

# 随机选择一个回答
def get_response(key):
    if key in basic_qa:
        return random.choice(basic_qa[key])
    elif key in extended_qa:
        return random.choice(extended_qa[key])
    else:
        return "我还不太明白你的问题,可以再问我别的问题吗?"

# 聊天主循环
def chat():
    print("你好!我是一个简单的聊天机器人。你可以问我一些问题。要退出,请输入“再见”。")
    while True:
        user_input = input("你: ")
        if user_input == "再见":
            print("机器人: " + get_response(user_input))
            break
        else:
            print("机器人: " + get_response(user_input))

# 运行聊天程序
chat()

使用例子:

> 你好!我是一个简单的聊天机器人。你可以问我一些问题。要退出,请输入“再见”。
> 你: 你好
> 机器人: 哈喽!
> 你: 早上好
> 机器人: 早上好!
> 你: 讲个笑话
> 机器人: 有一天,小明问小红:你爸爸是不是玻璃?小红说:不是呀!小明说:那你爸爸怎么有钢铁般的意志?
> 你: 你喜欢做什么
> 机器人: 我喜欢学习新知识!
> 你: 再见
> 机器人: 再见了,祝你一切顺利!

这个简单的聊天机器人可以根据用户的输入进行相应的回答。它预定义了一些基本的问答对,如问候语、告别语等。它还包含一些扩展的问答对,如回答一个笑话、介绍自己等。

当用户输入一个问题时,机器人会根据问题的关键字选择一个回答进行回复。如果用户输入的问题在预定义的问答对中没有对应的回答,机器人会回复“我还不太明白你的问题,可以再问我别的问题吗?”。

聊天机器人的主循环通过调用chat()函数来实现。在聊天循环中,用户输入问题并得到机器人的回答,直到用户输入“再见”才停止。