如何批量制作聊天机器人[关闭]

Posted

技术标签:

【中文标题】如何批量制作聊天机器人[关闭]【英文标题】:How To Make Chat Bot In Batch [closed] 【发布时间】:2015-04-13 10:49:34 【问题描述】:

我想批量创建一个聊天机器人程序。

聊天机器人响应不同的关键字。

例如: 如果你说嗨,机器人。然后它接受关键字"Hi",然后回复类似:Hello, What Is Your Name?

这是我的代码:

@echo off 
color 0a
title Chat Bot
:chatloop
set /p n=Name:
set /p c=Chat:

If "%c%" Contains "Hi" (   <-- What would be this line of code?        

echo Hi, how are you?
pause
goto chatloop


)

【问题讨论】:

你有什么问题?您希望我们为您编写聊天 AI 代码吗?或者只是一段以“你好,你叫什么名字?”作为响应的代码。输入“嗨”?到目前为止,您尝试过什么? 我想做一个能响应不同关键词的聊天机器人,@MichaelS 有人看了'停下来着火' :-D ? 这有什么关系,@npocmaka? 【参考方案1】:

搜索关键字而不是完整的短语:

@echo off
:loop
set /p input="> "
echo %input%|find /i "hi" >nul && echo Hello.
echo %input%|find /i "your name" >nul && echo My name is Rob. What's yours?
echo %input%|find /i "my name is" >nul && echo That's a nice name.
echo %input%|find /i "wheather" >nul && echo Wonderful. Sun is shining.
echo %input%|find /i "bye" >nul && (echo what a pity. See you! & goto :eof)
REM choose your keywords wisely...
goto :loop

注意:这是一个非常基本的“展示方法”。完全没有错误处理。

【讨论】:

谢谢,@斯蒂芬!这就是我要找的东西!【参考方案2】:

试试这个:

@ECHO OFF
:CHATLOOP
SET /P input=Your message:
IF %input%==Hi ECHO Hello, What Is Your Name?
IF %input%==Something ECHO something else
IF %input%==How are you? ECHO Fine. How are you?
IF %input%==quit GOTO END
GOTO CHATLOOP
:END
PAUSE

【讨论】:

我的意思不是聊天机器人响应不同的关键字。例如:你好吗,机器人?然后机器人会检测到“你好吗”,然后回复类似:好的。你好吗? 为每个关键字添加IF %input%==keyword ECHO desired answer。对于给定的情况,添加行 IF %input%==How are you? ECHO Fine. How are you? 那你只能用一个字聊天。我想用多个词聊天。 天啊...您可以添加任何关键字。如果您想要 1000 个关键字,请插入 1000 个 IF %input%=keyword ECHO answer 行。顺便说一句,聊天机器人不是用 bat 编写是有原因的。 @Nuach:您实际上是在要求某种语法/模式识别并且要求人们从头开始编写它而不给它一个机会。在***上问这很荒谬。由于您的编程经验绝对是 0,因此您应该先学习一些教程。【参考方案3】:

如果您想在没有关键字的情况下执行此操作,只需回答确切的输入,您可以尝试以下代码:

@echo off
color f0
set T=speak.dat
echo Hinweis: nur kleinbuchstaben verwenden keine satzzeichen
echo beliebige Taste zum starten
pause >nul
:A
title speak2me
set /p ui=
for /f "tokens=1* delims=:" %%i in ('findstr /b "%ui%:" %T%') do set "out=%%j" >nul
echo %out%
goto :A

您可能已经看到,您需要一个样式为的数据库(名为 T=speak.dat):

any input:output

我的数据库示例:

hi:hey
how are you:I am fine, thanks
bye:See you next time

当你想写新句子时,在数据库中输入或使用以下批处理:

@echo off
echo Benutzereingaben immer klein ohne Sonderzeichen etc
pause
echo (BE:BenutzerEingabe,I:Was ich darauf antworte)
:A
set /p BE=BE:  
set /p I=I:  
echo %BE%:%I% >> speak.dat
echo Ok danke,
echo Auf %BE% antworte ich mit %I%
goto :A

(如果我的英语不是最好的,请原谅,我不是母语人士 如果您想翻译小文本片段,请使用谷歌德语>英语,谢谢 :D)

希望能帮到你 问候蒂姆

【讨论】:

以上是关于如何批量制作聊天机器人[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Openfire 和 XMPP 在 Android 中制作聊天机器人应用程序

使用 ChatterBot 库制作一个聊天机器人

强制使用 JAXL/XMPPHP 制作的聊天机器人在断开连接时重新连接

如何从聊天机器人向客户发送聊天消息?

关闭了5G消息,还能使用聊天机器人(Chatbot)吗?给聊天机器人(Chatbot)发短信是不是会

简单的聊天机器人项目[关闭]