ปัญญาประดิษฐ์ (AI : Artificial Intelligence) เป็นศาสตร์หนึ่งของวิทยาศาสตร์คอมพิวเตอร์ที่มีจุดมุ่งหมายเพื่อทำให้คอมพิวเตอร์มีความสามารถคล้ายมนุษย์หรือเลียนแบบพฤติกรรมมนุษย์ โดยเฉพาะความสามารถในการคิดเองได้ ความสามารถเหล่านี้เกิดจากการออกแบบและวิเคราะห์ความเป็นไปได้ในแนวทางต่าง ๆที่มนุษย์ผู้เขียนได้วางแนวทางไว้ จึงถือว่ามนุษย์เป็นผู้สร้างหรือประดิษฐ์ปัญญาให้แก่คอมพิวเตอร์นั่นเอง



รูปที่ 1  ปัญญาประดิษฐ์
ที่มา : http://www.tamaraberg.com/teaching/Spring_14/AI.jpg

มุมมองต่อปัญญาประดิษฐ์ที่แต่ละคนมีอาจไม่เหมือนกันขึ้นอยู่กับว่าต้องการความฉลาดโดยคำนึงถึงการทำงานหรือพฤติกรรมที่มีต่อสิ่งแวดล้อมในรูปแบบใด ปัญญาประดิษฐ์จึงถูกแบ่งออกเป็น 4 กลุ่มอิงตามพฤติกรรมการทำงานเหล่านี้ อันได้แก่

การกระทำคล้ายมนุษย์  (Acting Humanly) 
- สื่อสารกับมนุษย์ได้ด้วยภาษาที่มนุษย์ใช้  เช่น การใช้เสียงสั่งให้คอมพิวเตอร์ทำงานต่าง ๆ ให้
- มีประสาทสัมผัสคล้ายมนุษย์ เช่น การมองเห็นภาพ การรับเสียง การรับสัมผัส  เป็นต้น
- ทำงานต่าง ๆ ที่มนุษย์เป็นผู้ทำ เช่น เก็บกวาด สร้างสิ่งของ ออกแบบสิ่งต่าง ๆ เป็นต้น
- เกิดการเรียนรู้ได้ โดยสามารถตรวจจับรูปแบบการเกิดของเหตุการณ์ แล้วตอบสนองหรือปรับตัวเข้ากับสิ่งแวดล้อมที่เปลี่ยนไปได้

การคิดคล้ายมนุษย์  (Thinking Humanly)
ก่อนที่จะทำให้คอมพิวเตอร์คิดอย่างมนุษย์ได้ ต้องรู้ก่อนว่ามนุษย์มีกระบวนการคิดอย่างไร ซึ่งการวิเคราะห์ลักษณะการคิดของมนุษย์เป็นศาสตร์ด้าน วิทยาการปัญญา(Cognitive Science) เป็นการศึกษา     สหวิทยาการ หรือวิทยาการหลายสาขา อันประกอบด้วย ประชานจิตวิทยา(Cognitive Psychology) ประสาทจิตวิทยา(Neuropsychology) ภาษาศาสตร์(Philology) ปรัชญา(Philosophy) วิทยาการคอมพิวเตอร์(Computer Science) มานุษยวิทยา (Anthropology) และ จิตชีววิทยา(Psychobiology) หรือสาขาประยุกต์ที่เกี่ยวข้อง ทั้งนี้เพื่อการศึกษาวิจัยภาวะของจิตและกระบวนการที่มนุษย์ควบคุมเปลี่ยนแปรยักย้ายข้อมูลข่าวสาร การรู้ได้ พฤติกรรม การรับรู้ ความสนใจ การจำ การแก้ปัญหา การคำนวณ การให้เหตุผล การตัดสินใจ ความสัมพันธ์ระหว่างการคิด อารมณ์ และการกระทำ บนพื้นฐานทางวิทยาศาสตร์

การคิดอย่างมีเหตุผล  (Thinking Rationally)
เป็นการสร้างปัญญาประดิษฐ์ให้คิดวิเคราะห์โดยใช้หลักตรรกศาสตร์(Logic)ในการคิดหาคำตอบอย่างมีเหตุผล การพิจารณาเลือกแนวทางที่สมเหตุสมผลที่สุดจากข้อมูลและหลักฐานที่มีอยู่ การใช้เหตุผลเป็นทักษะวิธีการคิดที่จำเป็นต่อการตัดสินใจสรุป และเป็นทักษะการคิดที่สำคัญของการคิดอย่างมีวิจารณญาณ ดังนั้นการคิดอย่างมีวิจารณญาณจึงจำเป็นต้องใช้เหตุผลที่ดีเพื่อนำไปสู่ข้อสรุปอย่างสมเหตุสมผลและคุณลักษณะของการคิดอย่างมีวิจารณญาณมีความสัมพันธ์กับการใช้เหตุผลแบบตรรกศาสตร์หรือใช้เหตุผลแบบอุปมานและอนุมาน       

กระทำอย่างมีเหตุผล (Acting Rationally)
เป็นความสามารถในการกระทำ หรือเป็นตัวแทนในระบบอัตโนมัติต่าง ๆ สามารถกระทำอย่างมีเหตุผล กระทำการเพื่อบรรลุเป้าหมายที่ได้ตั้งไว้ เช่น ในระบบขับรถอัตโนมัติที่มีเป้าหมายว่าต้องไปถึงเป้าหมายในระยะทางที่สั้นที่สุด ต้องเลือกเส้นทางที่ไปยังเป้าหมายที่สั้นที่สุดที่เป็นไปได้ หรือ เกมหมากรุกมีเป้าหมายว่าต้องเอาชนะคู่ต่อสู้ ต้องเลือกเดินหมากที่จะทำให้คู่ต่อสู้แพ้ให้ได้ เป็นต้น

AIML เกี่ยวข้องอย่างไรกับปัญญาประดิษฐ์ 
AIML หรือชื่อเต็ม ๆ คือ Artificial Intelligence Mark-up Language เป็นภาษาปัญญาประดิษฐ์ที่พัฒนาจากภาษา XML (Extensive Markup Language) ช่วยให้มนุษย์สามารถถ่ายทอดความรู้ หรือข้อมูลลงไปยังระบบสนทนาโต้ตอบอัตโนมัติที่มีพื้นฐานบนโปรแกรม A.L.I.C.E (Artificial Linguistic Internet Computer Entity) ซึ่งเป็นโปรแกรมที่สร้างระบบโต้ตอบอัตโนมัติด้วยปัญญาประดิษฐ์สามารถโหลดได้ฟรี ถูกสร้างขึ้นโดยชุมชนออนไลน์ที่ชื่อว่า Alicebot และ Dr. Richard S. Wallace



รูปที่ 2  A.L.I.C.E
ที่มา : http://www.alicebot.org/logo-info.html

AIML มีลักษณะของข้อมูลที่จัดเก็บเรียกว่า AIML objects โดยสร้างขึ้นเป็นหน่วยข้อมูลพื้นฐาน 2 ส่วนที่เรียกว่า “Topics” และ “Categories” โดยทั้ง Topics และ Categories สามารถจัดเก็บข้อมูลในรูปข้อมูลแบบอ้างอิงหรือในรูปข้อมูลแบบไม่อ้างอิงก็ได้ โดยถ้าเป็นข้อมูลแบบอ้างอิงจะสามารถสื่อความหมายให้โปรแกรมรู้ได้ว่าข้อมูลที่เก็บเป็นข้อมูลแบบใด มีความหมายอย่างไร ใกล้เคียงกับข้อมูลอื่น ๆ รึไม่อย่างไร ได้อีกด้วย



รูปที่ 3  A.L.I.C.E and judge Chating
ที่มา : http://alice.pandorabots.com/

หน่วยข้อมูล Categories ของ AIML แต่ละ Categories จะประกอบด้วย คำถาม คำตอบ และตัวเลือก โดยตัวคำถามหรือประโยคจะเรียกเป็น “Patern” คำตอบหรือผลลัพธ์จะเรียกเป็น “Template”  ส่วนตัวเลือกจะมี 2 ประเภทคือ “That” และ “Topic”  รูปแบบข้อมูลที่ใช้ในภาษา AIML จะมีรูปแบบการพัฒนาที่ง่ายโดยมีส่วนประกอบเพียงแต่ ตัวอักษร ช่องว่าง สัญลักษณ์ _ และสัญลักษณ์ * เพียงเท่านั้น ทำให้สามารถสร้างข้อมูลหรือประโยคทั่วไปที่ประกอบด้วยคำและตัวเลขได้ แต่ยังสามารถคั่นแต่ละคำด้วยช่องว่าง _ และ * ได้

- ใน ภาษา AIML รุ่นแรก (AIML1.0) อนุญาตให้ใส่ช่องว่างหรือสัญลักษณ์คั่นได้เพียงแค่อันเดียว
- ในรุ่นถัดมา (AIML1.01) อนุญาตให้ใส่ช่องว่างหรือสัญลักษณ์คั่นได้โดยไม่จำกัดจำนวนแต่มีเงื่อนไขว่าต้องเขียนให้อยู่ในรูปแบบประโยคที่ไม่ซับซ้อน  และในส่วนของผลลัพธ์ที่ได้ จะส่งข้อมูลได้เพียงแค่ตัวหนังสือทั่วไปที่ไม่ซับซ้อนเท่านั้น
- ในรุ่นต่อ ๆ มาถึงปัจจุบัน มีการพัฒนาต่อยอดจนทำให้ AIML สามารถตอบสนองไปยังโปรแกรมอื่น ๆ ที่อยู่ในเครื่อง เช่น นำผลลัพธ์ไปใส่ในเอกสารเปล่า  สั่งเปิดโปรแกรม ถามเงื่อนไขหรือขอข้อมูลเพิ่มเติมจากผู้ใช้  หาข้อมูลที่ใกล้เคียงที่จะเก็บอยู่ในระบบเพื่อนำมาให้แก่ผู้ใช้ และเพิ่มข้อมูลใหม่ ๆ จัดเก็บลงไปใน  “Patern” เพื่อนำไปใช้ในโอกาสต่อ ๆ ไปได้อีกด้วย

โดยในขณะนี้ AIML สนับสนุนการพัฒนาส่วนเชื่อมต่อกับโปรแกรมหรือภาษาอื่น ๆ อยู่ 2 วิธี วิธีแรกคือ ผ่านทาง <system> ซึ่งแท็ก(tag) นี้สามารถสั่งการทำงานและเพิ่มข้อมูลของโปรแกรมในระบบปฏิบัติการที่ผู้ใช้อนุญาตให้เข้าถึงผ่านทางคำสั่งแบบ Shell Command วิธีที่สองคือ ผ่านทาง <javascript> ซึ่งสามารถนำไปใช้สั่งงานต่าง ๆ ผ่านทางคำสั่งในรูปแบบเว็บหรือในรูปแบบออนไลน์ต่าง ๆ ได้ ในส่วนการเขียน แท็ก เพื่อสร้างตัวเลือกตอบทั้ง 2 ประเภท ประเภทแรก “That” จะใช้ แท็ก คือ <that>โดยจัดเก็บใน “Categories” และรูปแบบของข้อมูลต้องคล้ายคลึงกับคำถามหรือข้อมูลล่าสุดที่ผู้ใช้ถาม ประเภทที่สอง “Topic” จะใช้แท็ก คือ <topic> จะเอาไว้ภายนอก “Categories” เพื่อใช้ในการจัดเก็บ และจัดประเภทของ “Categories” เข้าไว้ด้วยกัน

รูปแบบการเขียน AIMLไม่ได้เหมือนการเขียนถามตอบด้วยฐานข้อมูลโดยทั่วไป แต่วิธีการที่จะนำเอา AIML ไปโยงกับฐานข้อมูลเดิมนั้นไม่ใช้เรื่องยากเนื่องจากถูกออกแบบมาให้อยู่ในรูปแบบที่พื้นฐานที่สุดคลายคลึงกับภาษา XML ซึ่งโยงเข้ากับฐานข้อมูลทั่วไปได้อยู่แล้ว และยังมี่จุดเด่นที่เหนือกว่าโดยมีการเพิ่มแท็ก <srai> โดยแท็กนี้จะทำหน้าที่จับคู่คำถาม คำตอบ ตัวเลือกอื่นๆ ที่เกี่ยวข้องกันเข้าไว้ด้วยกันได้อีกด้วย

แท็กในภาษา AIML
แท็ก  <aiml>          เป็นแท็กที่ใช้เมื่อเริ่มต้น และสิ้นสุดเอกสาร AIML
แท็ก  <category> เป็นแท็กที่เริ่มต้น และสิ้นสุดการเพิ่ม 1 ฐานความรู้ของแชทบอท
แท็ก  <pattern>     เป็นแท็กที่ใช้เปรียบเทียบประโยคที่ผู้ใช้พิมพ์สนทนากับแชทบอท
แท็ก  <template> เป็นแท็กที่โต้ตอบผู้ใช้
แท็ก  <random>   เป็นแท็กที่ใช้ในการสุ่มประโยคเพื่อโต้ตอบผู้ใช้
แท็ก  <li>               เป็นแท็กที่ใช้เป็นประโยคตัวเลือกในการสุ่มประโยคเพื่อโต้ตอบผู้ใช้
แท็ก  <that>           เป็นแท็กที่อ้างถึงบทสนทนาที่ผ่านมา
แท็ก  <think>        เป็นแท็กที่ใช้กำหนดให้แชทบอทมีความนึกคิด ซึ่งจะไม่แสดงผลลัพธ์นั่นกลับไปยังผู้ใช้เป็นวิธีหนึ่งที่ทำให้บทสนทนามี ความกระชับมากยิ่งขึ้น
แท็ก  <topic>        เป็นแท็กที่เพิ่มประเด็น หรือหัวข้อในกับแชทบอท
แท็ก  <srai>           เป็นแท็กที่ใช้อ้างอิงถึง Category อื่น ๆ

ตัวอย่างเช่น



เมื่อผู้ใช้พิมพ์ประโยค "คุณ คือ ใคร” ซึ่งตรง <pattern> ที่กำหนดไว้ แชทบอทจะตอบกลับมาตามที่กำหนดไว้ใน <template> ว่า "ดิฉันคือแชทบอท มีชื่อว่าอลิซ”การกำหนดแท็ก <pattern> และ แท็ก <template> นั้นจะต้องกำหนดภายใต้ <category> </category> เท่านั้น และภายในแท็ก <category> จะมี <pattern> และ แท็ก <template> ได้เพียง 1 ชุดเท่านั้น แท็ก <think> เป็นแท็กที่ใช้กำหนดให้แชทบอทมีความนึกคิด ซึ่งไม่แสดงผลลัพธ์นั้นกลับไปยังผู้ใช้ ในที่นี้ แชทบอทจะไปกำหนด <topic> เป็น "Me” ซึ่งบ่งบอกว่าคำถามล่าสุดที่ถามคือถามเกี่ยวกับตัวแชทบอทเอง

เครื่องมือที่ใช้ในการเขียน AIML
เครื่องมือที่จำเป็นสำหรับการเขียน AIML ได้แก่ Text Editor AIML Interpreter และบราวเซอร์
Text Editor คือโปรแกรมที่ไว้ใช้สำหรับการเขียนโค้ดคำสั่งของภาษาต่างๆ ที่มีลักษณะเป็นไฟล์ตัวอักษร โปรแกรมที่ Text Editor นิยมใช้ เช่น Notepad, Wordpad และ EditPlus เป็นต้น การเขียน AIML สามารถใช้ Text Editor โปรแกรมใดก็ได้
AIML Interpreter เป็นซอฟต์แวร์ที่ใช้ในการประมวลภาษา AIML ซึ่งพัฒนามาจากภาษาต่าง ๆ เช่น Lisp, Java, PHP, Ruby, Perl, Pascal, Python, .Net, C++ และ SETL ซึ่งมีความสามารถ และฟังก์ชั่นแตกต่างกันไป ตัวอย่าง AIML Interpreter เช่น Chatterbean, libaiml, Rebecca, AIML, J-Alice เป็นต้น
บราวเซอร์ (Browser)ใช้ในการทดสอบผลลัพธ์ของแชทบอทที่เขียนขึ้น โดยบราวเซอร์ที่นิยมใช้ได้แต่ Internet Explorer Chrome และ Firefox ซึ่งบราวเซอร์สามารถรับการทำงานของแชทบอทได้เป็นอย่างดี

เอกสารอ้างอิง
วิกิพีเดีย สารานุกรมเสรี.   ปัญญาประดิษฐ์. (ออนไลน์). แหล่งที่มา : https://th.wikipedia.org/wiki/ปัญญาประดิษฐ์. สืบค้นเมื่อ  21 มิถุนายน 2558
Addada.   วิทยาการปัญญาคืออะไร. (ออนไลน์). แหล่งที่มา : http://addada.exteen.com/20100928/entry-1. สืบค้นเมื่อ  23 มิถุนายน 2558
Doubly Aimless. A Tutorial for adding knowledge to your robot [cited 2015 June 24]. Available from: http://www.pandorabots.com/pandora/pics/aimless/tutorial.htm
Dr. Richard S. Wallace. AIML Overview [cited 2015 June 23]. Available from: http://www.pandorabots.com/pandora/pics/wallaceaimltutorial.html
Dr. Richard S. Wallace. The Anatomy of A.L.I.C.E [cited 2015 June 24]. Available from: http://www.alicebot.org/anatomy.html
Noel Bush. Artificial Intelligence Markup Language (AIML) Version 1.0.1 [cited 2015 June 24]. Available from: http://www.alicebot.org/TR/2001/WD-aiml/
Stuart Russell and Peter Norvig. Artificial Intelligence: Modern Approach, 2nd Edition. Prentice Hall 2003, New Jersey, USA

 

ความคิดเห็น