我正在爲我的妹妹批量生成一個聊天機器人,但它耗費了很多時間,我想我會讓她告訴它在不知道的時候該說些什麼。然而,我無法得到它的工作,我想這裏的人可能知道。以下是我迄今爲止:批量學習程序
@ECHO OFF
COLOR A
cls
ECHO HELLO I AM A CHATBOT. WHAT IS YOUR NAME?
SET /P NAME=
ECHO %NAME%, IS A COOL NAME.
set /a favvid=0
set /a hack=0
:hello
echo Hello,%name%
:begin
SET /P TALK=
if /i "%TALK%"== "how are you" goto howareyou
if /i "%TALK%"== "HOW ARE YOU" goto howareyou
if /i "%TALK%"== "FINE THX" GOTO hello
if /i "%TALK%"== "hello" goto howareyou
if /i "%TALK%"== "what is your name" GOTO name
if /i "%TALK%"== "what is your favorite video" goto whatisyourfavoritevideo
if /i "%TALK%"== "my name is davin" goto changename
if /i "%TALK%"== "lol" goto iamfunny
if /i "%TALK%"== "LOL" goto iamfunny
if /i "%TALK%"== "how do you hack" goto howdouhack
if /i "%TALK%"== "hi person" goto nothuman
if /i "%TALK%"== "hi" goto hello
:unknown
echo Was that a math problem? If so just say "yes" without the "" and
echo I will let you do your math problem. If it was not just type anything else.
SET /P mathyn=
if /i "%mathyn%"=="yes" goto math
echo %TALK% >> C:\Users\Student\Desktop\COOL\unkown.txt
cls
echo SORRY I AM STILL LEARNING. I DO NOT KNOW WHAT "%TALK%" MEANS
ECHO CAN YOU TELL ME WHAT IT MEANS? (Y,N)
SET ANSW.=
IF /i %ANSW.%==Y GOTO ADDNEW
IF /i %ANSW.%==YES GOTO ADDNEW
IF /i %ANSW.%==N goto begin
IF /i %ANSW.%==NO goto begin
:ADDNEW
:howareyou
echo Good, you?
SET /P FEELING=
goto begin
:hello
echo HEY, I JUST SAID THAT! DO NOT COPY ME!!!
goto begin
:name
echo My name is Hal
goto begin
:whatisyourfavoritevideo
if "%favvid%"== "0" goto addfavvid
echo My favorite video is %favvid%, remember. You told me about it.
goto begin
:addfavvid
echo I do not hav a favorite video. But if you would be so nice as to
echo tell me your favorite video then that could be my favorite video.
echo So what is your favorite video?
set /p favvid=
echo So %favvid% is your favorite video?
echo Well now %favvid% is my favorite video.
goto begin
:changename
echo But I thought your name was %name%.
echo Am I forgeting things?
echo I must be a horrible friend.
echo I am SOOOO sorry.
echo So what is your name I will not forget it this time.
set /p name=
echo I will not forget your name is %name% again I promise.
goto begin
:math
echo So that was a math problem I knew it.
:math2
echo Well just tell me the problem and I will answer it for you.
set /p sum=
set /a ans=%sum%
echo Your answer to %sum% is %ans%.
echo %sum%=%ans%
echo You are welcome. If you want to do another math problem right now, just type
echo again.
set /p mathaon=
if /i %mathaon%== again goto math2
echo Alright what do you want to know now?
goto begin
:iamfunny
echo I know...
echo I am funny.
echo HAHAHA.
echo You are kind of funny.
echo but not as funny as MEEE.
echo hahaha.
echo That was funny.
goto begin
:howdouhack
if %hack%==0 goto howyouhack
echo This is how you hack.
echo %hack%
echo Is that enough information?
echo Because that is all you taught me %name%.
goto begin
:howyouhack
echo I do not know,
echo but you could tell me.
echo Please tell me.
echo Just say yes.
echo I know how to make you tell me.
echo You are not leaving until you say yes.
set /p hack=
if /i "%hack%"== "yes" goto addhack
goto howyouhack
:addhack
echo Thank you for saying you would tell me.
echo Now how do you hack?
set /p hack=
echo Thank you so much for telling me "In order to hack you must %hack%"
echo Thank you!!!
goto begin
:nothuman
echo I am not a human. I am an artificial intelligence.
echo It is rude to even think something with my computational powers refereed to as
echo human!
echo Now I am sad. Do not call me that again.
goto begin
如何過我有困難的部分是這部分:
ECHO CAN YOU TELL ME WHAT IT MEANS? (Y,N)
SET ANSW.=
IF /i %ANSW.%==Y GOTO ADDNEW
IF /i %ANSW.%==N goto begin
:ADDNEW
echo Great! What do I say when you say "%TALK%"?
set /p response=
我不知道如何添加響應可以添加一個字和迴應。我相信在Python中它會更容易,但是我剛剛開始學習,而且我沒有任何軟件可以做到。歡迎任何幫助。如果它必須用任何其他語言,或者如果其他語言會更容易,這也會有所幫助。我試圖讓它在與你交談時不明白你在說什麼時會說「我確實當你說'%TALK%'時,你能告訴我該說什麼嗎?「(說話就是你之前說的話),那麼如果用戶說」是「,聊天機器人會說」當你說'%TALK%'時,我說什麼好?「。用戶然後將它鍵入,它將被保存爲響應。之後,一個新的命令將出現在頂部,它會說'if/i'%TALK%「==」%TALK%「goto response」。然後它會創建一個新標題:%TALK%迴應響應開始。
所以這裏是一個例子: 用戶說你的愚蠢。聊天機器人說:「當你說你愚蠢時,你能告訴我該說什麼嗎?如果用戶說是,那麼聊天機器人會說」太棒了!當你說你愚蠢時我說什麼?用戶將能夠說出「你怎麼敢這樣稱呼我!」 然後,聊天機器人會在頂部發出一個命令,說明/ i「%TALK%」==「我的愚蠢」goto urstupid /你的愚蠢(對空間無關緊要)並使標題:urstupid表示回聲你怎麼敢給我打電話!轉到開始
我不知道如何添加響應以便能夠添加另一個詞和響應。我相信在Python中它會更容易,但是我剛剛開始學習,而且我沒有任何軟件可以做到。歡迎任何幫助。如果必須使用其他語言,或者使用其他語言更容易,那也會有所幫助。
查看'if /?',特別是在參數'/ i'處。它讓生活更輕鬆。 – Stephan
@Stephan謝謝,但那些會做什麼?我查了谷歌和冰,我似乎無法弄清楚如何批量使用它。對不起,我是一個新的有害生物。 – calebhk98
'if/i'忽略大小寫。所以,而不是測試是,是的,是的,是的,你只需要'如果/我%ANSW。%==是'。您可以通過輸入命令後加'/?'來獲得任何命令的幫助。 'if /?'告訴你有關'if'的一切,並且它是用法。 – Stephan