写一个夸夸机器人

本文介绍了作者尝试创建夸夸机器人的过程,包括利用豆瓣表扬小组的语料库,通过TF-IDF、LSI、LDA等模型进行文本相似度匹配以生成有针对性的表扬语句。同时,还探讨了使用chatterbot库的不足,指出其更适合闲聊而非任务型对话。
摘要由CSDN通过智能技术生成

前段时间夸夸群火热,试着用几种不同方式写一个夸夸机器人。
项目地址https://github.com/xiaopangxia/kuakua_robot

语料

做聊天机器人需要训练语料,事实上笔者本想潜伏在一些夸夸群里收集,后拉发现这些夸夸群日渐不活跃了,语料的质量也比较差,于是还是去爬了豆瓣表扬小组的数据,收集的语料地址https://github.com/xiaopangxia/kuakua_corpus

基于文本相似度

相似度用的是传统离散词袋,采用TF-IDF、LSI、LDA模型等,搜索top4相似话题的回复,从中随机返回表扬语句,效果还不错,能够有一定针对性地夸人。

import random
from zhcnSegment import zhcnSeg
from sentenceSimilarity import SentenceSimilarity

class kuakuaChat():
    def __init__(self):
        """
        初始化夸夸话题回复表
        """
        self.qa_dict = {}
        self.q_list = []
        with open('./douban_kuakua_topic.txt', 'r', encoding='utf8') as in_file:
            for line in in_file.readlines():
                que = line.split('<######>')[0].strip()
                ans_list = []
                for ans in line.split('<######>')[-1].split('<$$$$$$>'):
                    if len(ans) > 2:
                        ans_list.append(ans)

                if len(que)>5:
                    
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当你说 "一个机器人对话小程序",你是指一个简单的命令行程序,用户可以与机器人进行对话吗?如果是这样的话,我可以为你提供一个基本的示例代码: ```csharp using System; public class ChatBot { public void Start() { Console.WriteLine("欢迎来到机器人对话程序!你可以随时输入消息,与我进行对话。输入 '退出' 可以退出程序。"); while (true) { Console.Write("你:"); string input = Console.ReadLine(); if (input.Equals("退出", StringComparison.OrdinalIgnoreCase)) { Console.WriteLine("机器人:再见!"); break; } string response = GenerateResponse(input); Console.WriteLine($"机器人:{response}"); } } private string GenerateResponse(string input) { // 在这里实现你的机器人回复逻辑 // 这只是一个简单的示例,返回固定的回复 return "我是一个机器人,你好!"; } } public class Program { public static void Main(string[] args) { ChatBot chatBot = new ChatBot(); chatBot.Start(); } } ``` 这是一个简单的机器人对话小程序示例。它通过一个 `while` 循环来持续接收用户的输入,并根据用户输入生成机器人的回复。当用户输入 "退出" 时,程序会退出。 在 `GenerateResponse` 方法中,你可以根据你的需求实现自己的机器人回复逻辑。这个示例只是返回一个固定的回复,你可以根据需要修改为更复杂的逻辑,例如基于关键词匹配、使用机器学习模型等来生成更智能的回复。 请注意,这只是一个简单的示例程序,不包含用户界面、自然语言处理等高级功能。如果你有更具体的需求,请提供更详细的信息,以便我能够更好地帮助你。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值