ใบอนุญาต: GPL
รุ่น = "1.0" การเข้ารหัส = "UTF-8"?> < กำหนดค่า > < สถานะ id="0"> < ข้อความ >สวัสดี สบายดีไหม? ข้อความ > < คำหลัก > < เป้าหมายคำหลัก ="1">มีความสุข คำหลัก > คำสำคัญ > รัฐ >ในตัวอย่างข้างต้น หากผู้ใช้ป้อนคำสำคัญที่มีความสุข บอทจะย้ายไปที่สถานะ "1" และแสดงข้อความหนึ่งในสถานะ "1" แบบสุ่ม หากผู้ใช้ป้อนสตริงอื่น ข้อความใดข้อความหนึ่งที่ไม่ถูกต้องจะปรากฏขึ้น< สถานะ id="1"> < ข้อความ >ว้าว คุณมีความสุขแล้ว! ข้อความ > < ข้อความ > ดีใจ ที่ได้ยินเช่นนั้น! ข้อความ > รัฐ > < ข้อความไม่ถูกต้อง > < ข้อความ >หือ ฉันไม่เข้าใจเหรอ? ข้อความ > < ข้อความ >คุณหมายถึงอะไร? ข้อความ > ข้อความไม่ถูกต้อง > กำหนดค่า >
แท็กคำหลักประกอบด้วยแอตทริบิวต์หลายรายการเพื่อให้สามารถปรับแต่งบอทได้ตามความต้องการ
< สถานะ id="16"> < ข้อความ >สวัสดี วันนี้คุณเป็นอย่างไรบ้าง? ข้อความ > < ข้อความ >คุณรู้สึกอย่างไรบ้าง? ข้อความ > < ข้อความ > สบายดีไหม? ข้อความ > < keyword target ="11">มีความสุข มีความสุขมาก keyword > < keyword target ="13">ไม่มีความสุข ไม่ดี ไม่ดี เศร้า ไม่พอใจ คีย์เวิร์ด > < keyword target ="23">สบายดี ดี ขอบคุณ คำหลัก > < เป้าหมาย คำหลัก ="14">ตัวคุณเอง คำหลัก > รัฐ >
การใช้คุณสมบัติสภาพอากาศ
หากต้องการใช้คุณลักษณะสภาพอากาศ แท็กคำหลักควรมีแอตทริบิวต์สองรายการ ได้แก่ className และ arg className ควรตั้งค่าเป็น Weather และ arg ควรตั้งค่าเป็นคำหลัก "วันนี้" "พรุ่งนี้" หรือ "วันหลังวันพรุ่งนี้" นี่คือตัวอย่างเพื่อรับสภาพอากาศวันนี้:
< คำหลัก className ="สภาพอากาศ" arg ="วันนี้">สภาพอากาศ คำหลัก >
ผลลัพธ์:
คุณ : อากาศเป็นไงบ้าง บอท: ฉันคิดว่าวันนี้เป็นหมอก
< สถานะ id="11"> < ข้อความ >เยี่ยมมาก ทำไมคุณถึงมีความสุข ข้อความ > < คำหลัก > < เป้าหมาย คำหลัก ="21">ลอตเตอรี่ คำหลัก > < เป้าหมาย คำหลัก ="22">* คำหลัก > คำสำคัญ > รัฐ >
< กำหนดค่า > < สถานะ id="0"> < ข้อความ >สวัสดี ฉันชื่อ MajBot คุณชื่ออะไร? ข้อความ > < คำหลัก > < เป้าหมาย คำหลัก ="2" ตัวแปร ="ชื่อ">([a-zA-Z ]+) คำหลัก > คำสำคัญ > รัฐ > < สถานะ id="16"> < ข้อความ >สวัสดี [ชื่อ] ยินดีที่ได้พบคุณ! ข้อความ > รัฐ > กำหนดค่า >ผลลัพธ์:
บอท: สวัสดี ฉันชื่อ MajBot คุณชื่ออะไร? คุณ : มายด์ บอท: สวัสดีมาจิด ยินดีที่ได้พบคุณ!ในตัวอย่างข้างต้น "([a-zA-Z )+)" regex ยอมรับอักขระใดๆ ระหว่าง a ถึง z (ไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่) รวมถึงการเว้นวรรคและจัดเก็บคำที่ตรงกันเพื่อตั้งชื่อตัวแปร จากนั้นโดยใช้ [ชื่อ] ในข้อความ ผู้ใช้ ชื่อจะถูกแทนที่ด้วยแท็กนี้ (สำหรับข้อมูลเพิ่มเติมเกี่ยวกับไวยากรณ์ Regex โปรดดูเอกสาร Java Regex)
< กำหนดค่า > < สถานะ id="0"> < ข้อความ >สวัสดี ฉันชื่อ MajBot คุณชื่ออะไร? ข้อความ > < คำหลัก > < เป้าหมาย คำหลัก ="16" ตัวแปร ="ชื่อ" จุด ="2">.*ชื่อของฉันคือ ([a-zA-z]+).* คำหลัก > < เป้าหมาย คำหลัก ="16" ตัวแปร ="ชื่อ">([a-zA-Z ]+) คำหลัก > คำสำคัญ > รัฐ > < สถานะ id="16"> < ข้อความ >สวัสดี [ชื่อ] ยินดีที่ได้พบคุณ! ข้อความ > รัฐ > กำหนดค่า >ผลลัพธ์:
บอท: สวัสดี ฉันชื่อ MajBot คุณชื่ออะไร? คุณ : ฉันชื่อมายด์ บอท: สวัสดีมาจิด ยินดีที่ได้พบคุณ!ในตัวอย่างข้างต้น เราจะเพิ่ม 2 จุดสำหรับคีย์เวิร์ดแรก ดังนั้นหากผู้ใช้ป้อน "my name is Majid" ก็จะได้แต่ชื่อ แทนที่จะส่งคืน "My name is Majid" เป็นชื่อ
< สถานะ id="1"> < ข้อความ >คุณต้องการพูดคุยเกี่ยวกับอะไร? ข้อความ > < ตัวแปร คำหลัก ="หัวเรื่อง" เป้าหมาย ="27">([a-zA-z]+) คำหลัก > รัฐ > < สถานะ id="27"> < ข้อความ > [หัวเรื่อง] คืออะไร? ข้อความ > < เป้าหมาย คำหลัก ="43" ตัวแปร ="ผลลัพธ์" เรียนรู้ ="หัวเรื่อง">(.*) คำหลัก > รัฐ >ผลลัพธ์:
บอท: คุณอยากคุยเรื่องอะไร? คุณ : ฟุตบอล บอท: ฟุตบอลคืออะไร? คุณ : เป็นเกมที่ดี บอท: ฉันเห็น... บอท: คุณอยากคุยเรื่องอะไร? คุณ : ฟุตบอล บอท: มันเป็นเกมที่ดีดังที่แสดงในตัวอย่างข้างต้น บอทเรียนรู้เกี่ยวกับคีย์เวิร์ดฟุตบอลแล้วส่งการตอบกลับไปยังผู้ใช้เมื่อผู้ใช้ส่งคีย์เวิร์ดเดิมอีกครั้ง
java -cp MajBot.jar บอทหลักหากต้องการรัน MajBot คุณสามารถพิมพ์:
ดช run.shหากคุณใช้ windows คุณสามารถเรียกใช้ไฟล์ run.bat แทนได้
หลังจากเริ่มบอท ผู้ใช้สามารถป้อนข้อความและเริ่มแชทกับ MajBot
สนุก!
http://www.majidkhosravi.com/chat-bot/