อ่าน 7 นาที
เฟรม (ปัญญาประดิษฐ์)
เฟรม เป็น โครงสร้างข้อมูล ปัญญาประดิษฐ์ ที่ใช้ในการแบ่ง ความรู้ เป็นโครงสร้างย่อยโดยการแสดง "สถานการณ์ตามแบบแผน"
เฟรม (ปัญญาประดิษฐ์)
เฟรมเป็นโครงสร้างข้อมูลปัญญาประดิษฐ์ ที่ใช้ในการแบ่งความรู้เป็นโครงสร้างย่อยโดยการแสดง "สถานการณ์ตามแบบแผน"
มาร์วิน มินสกีเสนอแนวคิดนี้ ในบทความปี 1974 ของเขา เรื่อง "กรอบสำหรับการแสดงความรู้" [ 1 ]เฟรมเป็นโครงสร้างข้อมูลหลักที่ใช้ในภาษาเฟรมปัญญาประดิษฐ์ โดยจะถูกจัดเก็บเป็นออนโทโลยีของเซต
เฟรมยังเป็นส่วนสำคัญของรูปแบบการแสดงความรู้และแผนการให้เหตุผลอีกด้วย เฟรมมีที่มาจากเครือข่ายความหมาย แต่เดิม ดังนั้นจึงเป็นส่วนหนึ่งของการแสดงความรู้ แบบอิง โครงสร้าง
ตามที่RussellและNorvig กล่าวไว้ ในหนังสือArtificial Intelligence: A Modern Approachการนำเสนอเชิงโครงสร้างจะรวบรวม "ข้อเท็จจริงเกี่ยวกับประเภทของวัตถุและเหตุการณ์เฉพาะ และจัดเรียงประเภทเหล่านั้นเป็นลำดับ ชั้นทาง อนุกรมวิธาน ขนาดใหญ่ ที่คล้ายคลึงกับอนุกรมวิธานทางชีววิทยา "
โครงสร้างเฟรม
กรอบนี้มีข้อมูลเกี่ยวกับวิธีการใช้งาน สิ่งที่จะเกิดขึ้นต่อไป และสิ่งที่ควรทำหากผลลัพธ์ไม่เป็นไปตามที่คาดหวัง
ข้อมูลบางส่วนในเฟรมโดยทั่วไปจะไม่มีการเปลี่ยนแปลง ในขณะที่ข้อมูลอื่นๆ ที่จัดเก็บไว้ใน "เทอร์มินัล" มักจะเปลี่ยนแปลง เทอร์มินัลสามารถพิจารณาได้ว่าเป็นตัวแปร
เฟรมระดับบนสุดจะบรรจุข้อมูล ซึ่งเป็นข้อมูลที่ถูกต้องเสมอเกี่ยวกับปัญหาที่กำลังพิจารณาอยู่ อย่างไรก็ตาม ค่าของเทอร์มินัลไม่จำเป็นต้องถูกต้องเสมอไป ค่าของเทอร์มินัลอาจเปลี่ยนแปลงไปตามข้อมูลใหม่ที่พบเจอ เฟรมที่แตกต่างกันอาจใช้เทอร์มินัลเดียวกันได้
ข้อมูลแต่ละส่วนเกี่ยวกับเฟรมใดเฟรมหนึ่งจะถูกเก็บไว้ในช่องเก็บข้อมูล
ข้อมูลดังกล่าวอาจประกอบด้วย:
- ข้อเท็จจริงหรือข้อมูล
- ค่าต่างๆ (เรียกว่าแง่มุม)
- เอกสารขั้นตอน (เรียกอีกอย่างว่า เอกสารแนบขั้นตอน)
- หากจำเป็น: การประเมินล่าช้า
- IF-ADDED: อัปเดตข้อมูลที่เชื่อมโยง
- ค่าเริ่มต้น
- สำหรับข้อมูล
- สำหรับขั้นตอนต่างๆ
- เฟรมหรือซับเฟรมอื่นๆ
คุณสมบัติและข้อดี
เทอร์มินัลของเฟรมนั้นถูกเติมด้วยค่าเริ่มต้นไว้แล้ว ซึ่งอิงตามวิธีการทำงาน ของสมองมนุษย์
ตัวอย่างเช่น เมื่อมีคนบอกว่า "เด็กผู้ชายคนหนึ่งเตะลูกบอล" คนส่วนใหญ่จะนึกภาพลูกบอลลูกใดลูกหนึ่งโดยเฉพาะ (เช่นลูกฟุตบอล ที่คุ้นเคย ) มากกว่าที่จะนึกภาพลูกบอลนามธรรมที่ไม่มีคุณลักษณะใดๆ
จุดแข็งอย่างหนึ่งของการนำเสนอความรู้แบบเฟรมคือ แตกต่างจากเครือข่ายความหมายตรงที่เฟรมอนุญาตให้มีข้อยกเว้นในบางกรณี ซึ่งทำให้เฟรมมีความยืดหยุ่นในระดับหนึ่ง ส่งผลให้การนำเสนอสามารถสะท้อนปรากฏการณ์ในโลกแห่งความเป็นจริงได้อย่างแม่นยำยิ่งขึ้น
เช่นเดียวกับเครือข่ายความหมายเฟรมสามารถสอบถามได้โดยใช้การเปิดใช้งานแบบกระจาย ตามกฎการสืบทอดค่าใดๆ ที่กำหนดให้กับช่องที่ถูกสืบทอดโดยซับเฟรมจะได้รับการอัปเดต (IF-ADDED) ไปยังช่องที่เกี่ยวข้องในซับเฟรม และอินสแตนซ์ใหม่ใดๆ ของเฟรมเฉพาะจะใช้ค่าใหม่นั้นเป็นค่าเริ่มต้น
เนื่องจากเฟรมมีพื้นฐานมาจากโครงสร้าง จึงเป็นไปได้ที่จะสร้างเครือข่ายความหมายจากชุดเฟรม แม้ว่าจะไม่มีส่วนโค้งที่ชัดเจนก็ตาม โดยทั่วไปแล้ว งานของ มินสกี ไม่ได้อ้างอิงถึง โนม ชอมสกีและไวยากรณ์เชิงกำเนิด ของเขา ในปี 1950
โครงสร้างที่เรียบง่ายของเฟรมช่วยให้การใช้เหตุผลเชิงเปรียบเทียบเป็นไปได้ง่าย ซึ่งเป็นคุณสมบัติที่สำคัญมากในระบบอัจฉริยะ ใดๆ นอกจากนี้ การเชื่อมต่อแบบขั้นตอนที่เฟรมจัดให้ยังช่วยให้มีความยืดหยุ่นในระดับหนึ่ง ทำให้การแสดงผลมีความสมจริงมากขึ้น และเอื้อต่อการเขียนโปรแกรมแอปพลิเคชันอย่างเป็นธรรมชาติ
ตัวอย่าง
สิ่งที่ควรสังเกตคือ การให้เหตุผลเชิงอุปมาอุปไมยที่ง่ายดาย (การเปรียบเทียบ) ที่สามารถทำได้ระหว่างเด็กผู้ชายกับลิง เพียงแค่มีช่องที่มีชื่อคล้ายกัน
โปรดสังเกตด้วยว่า อเล็กซ์ ซึ่งเป็นอินสแตนซ์ของเด็กผู้ชาย จะสืบทอดค่าเริ่มต้น เช่น "เพศ" จากวัตถุหลักทั่วไปอย่าง บอย แต่เด็กผู้ชายคนนี้อาจมีค่าอินสแตนซ์ที่แตกต่างกันในรูปแบบของข้อยกเว้น เช่น จำนวนขา
| สล็อต | ค่า | พิมพ์ |
|---|---|---|
| อเล็กซ์ | _ | (กรอบนี้) |
| ชื่อ | อเล็กซ์ | (ค่าหลัก) |
| ISA | เด็กผู้ชาย | (เฟรมหลัก) |
| เพศ | ชาย | (ค่าการสืบทอด) |
| อายุ | หากจำเป็น: ลบ (ปัจจุบัน, วันเกิด); | (เอกสารแนบขั้นตอนการดำเนินการ) |
| บ้าน | 100 ถนนเมน | (ค่าตัวอย่าง) |
| วันเกิด | 8/4/2000 | (ค่าตัวอย่าง) |
| อาหารโปรด | สปาเก็ตตี้ | (ค่าตัวอย่าง) |
| การปีนเขา | ต้นไม้ | (ค่าตัวอย่าง) |
| ประเภทของร่างกาย | ผอมแห้ง | (ค่าตัวอย่าง) |
| จำนวนขา | 1 | (ข้อยกเว้น) |
| สล็อต | ค่า | พิมพ์ |
|---|---|---|
| เด็กผู้ชาย | _ | (กรอบนี้) |
| ISA | บุคคล | (เฟรมหลัก) |
| เพศ | ชาย | (ค่าตัวอย่าง) |
| อายุ | อายุต่ำกว่า 12 ปี | (การแนบขั้นตอน - กำหนดข้อจำกัด) |
| บ้าน | สถานที่ | (กรอบ) |
| จำนวนขา | ค่าเริ่มต้น = 2 | (ค่าเริ่มต้น ซึ่งสืบทอดมาจากกรอบบุคคล) |
| สล็อต | ค่า | พิมพ์ |
|---|---|---|
| ลิง | _ | (กรอบนี้) |
| ISA | เจ้าคณะ | (เฟรมหลัก) |
| เพศ | หนึ่งใน (ชาย, หญิง) | (เอกสารแนบขั้นตอนการดำเนินการ) |
| อายุ | จำนวนเต็ม | (การแนบขั้นตอน - กำหนดข้อจำกัด) |
| ที่อยู่อาศัย | ค่าเริ่มต้น = ป่า | (ค่าเริ่มต้น) |
| อาหารโปรด | ค่าเริ่มต้น = กล้วย | (ค่าเริ่มต้น) |
| การปีนเขา | ต้นไม้ | _ |
| ประเภทของร่างกาย | ค่าเริ่มต้น = หยาบ | (ค่าเริ่มต้น) |
| จำนวนขา | ค่าเริ่มต้น = 2 | (ค่าเริ่มต้น) |
ภาษาเฟรม
ภาษาเฟรมเป็นเทคโนโลยีที่ใช้สำหรับการแสดงความรู้ในปัญญาประดิษฐ์มีลักษณะคล้ายกับลำดับชั้นของคลาสในภาษาเชิงวัตถุแม้ว่าเป้าหมายการออกแบบพื้นฐานจะแตกต่างกันก็ตาม
เฟรมมุ่งเน้นไปที่การแสดงความรู้ที่ชัดเจนและเข้าใจง่าย ในขณะที่ออบเจ็กต์มุ่งเน้นไปที่การห่อหุ้มและการซ่อนข้อมูลเฟรมมีต้นกำเนิดมาจากการวิจัยด้านปัญญาประดิษฐ์ ส่วนออบเจ็กต์มีต้นกำเนิดมาจากวิศวกรรมซอฟต์แวร์เป็น หลัก
อย่างไรก็ตาม ในทางปฏิบัติ เทคนิคและความสามารถของภาษาเฟรมและภาษาเชิงวัตถุมีความทับซ้อนกันอย่างมาก
ตัวอย่าง
ตัวอย่างง่ายๆ ของแนวคิดที่จำลองขึ้นในภาษาเฟรมคือออนโทโลยี Friend of A Friend (FOAF)ซึ่งกำหนดไว้เป็นส่วนหนึ่งของSemantic Webเพื่อเป็นรากฐานสำหรับระบบเครือข่ายสังคมและระบบปฏิทิน
เฟรมหลักในตัวอย่างง่ายๆ นี้คือ บุคคล
ตัวอย่างช่องข้อมูลได้แก่อีเมลเว็บไซต์เบอร์โทรศัพท์เป็นต้น
ความสนใจของแต่ละบุคคลสามารถแสดงได้ด้วยกรอบเพิ่มเติมที่อธิบายถึงพื้นที่ของธุรกิจและความบันเทิง
ระบบนี้เชื่อมโยงแต่ละคนกับคนอื่นๆ
ค่าเริ่มต้นสำหรับความสนใจของบุคคลสามารถอนุมานได้จากเครือข่ายเพื่อนของพวกเขา[ 2 ]
การนำไปใช้
ภาษาโปรแกรมแบบเฟรมเวิร์กยุคแรก ๆ ถูกพัฒนาขึ้นมาโดยเฉพาะสำหรับโครงการวิจัยเฉพาะเจาะจง และไม่ได้ถูกจัดทำเป็นเครื่องมือเพื่อให้ผู้วิจัยคนอื่นนำไปใช้ซ้ำได้
เช่นเดียวกับ กรณีของ ระบบผู้เชี่ยวชาญในการอนุมานนักวิจัยตระหนักในไม่ช้าถึงประโยชน์ของการแยกส่วนหนึ่งของโครงสร้างพื้นฐานหลักและพัฒนาภาษาเฟรมอเนกประสงค์ที่ไม่ผูกติดกับแอปพลิเคชันเฉพาะใดๆ
KRL เป็นหนึ่งในภาษาเฟรมอเนกประสงค์แรกๆ[ 3 ] KL-ONEเป็นหนึ่งในภาษาเฟรมยุคแรกที่มีอิทธิพลมากที่สุด[ 4 ] KL -ONE ก่อให้เกิดภาษาเฟรมอื่นๆ ตามมาอีกหลายภาษา
หนึ่งในภาษาที่สืบทอดต่อจาก KL-ONE ที่ใช้กันอย่างแพร่หลายที่สุดคือภาษา Loomซึ่งพัฒนาโดย Robert MacGregor ที่สถาบันวิทยาศาสตร์สารสนเทศ [ 5 ]
ในช่วงทศวรรษ 1980 ปัญญาประดิษฐ์ (AI) ได้สร้างความสนใจอย่างมากในโลกธุรกิจ โดยได้รับแรงผลักดันจากระบบผู้เชี่ยวชาญสิ่งนี้ทำให้เกิดการพัฒนาผลิตภัณฑ์เชิงพาณิชย์มากมายสำหรับการพัฒนาระบบฐานความรู้ ผลิตภัณฑ์ยุคแรกเหล่านี้มักพัฒนาด้วยภาษา Lispและบูรณาการโครงสร้างต่างๆ เช่น กฎ IF-THEN สำหรับการให้เหตุผลเชิงตรรกะร่วมกับลำดับชั้นของเฟรมสำหรับการแสดงข้อมูล
หนึ่งในเครื่องมือฐานความรู้ Lisp ยุคแรกที่รู้จักกันดีที่สุดคือKnowledge Engineering Environment (KEE) จากIntellicorp KEE มีภาษาเฟรมเต็มรูปแบบพร้อมการสืบทอดหลายชั้น ช่อง ทริกเกอร์ ค่าเริ่มต้น และเอ็นจิ้นกฎที่รองรับการเชื่อมโยงย้อนกลับและไปข้างหน้า เช่นเดียวกับซอฟต์แวร์ AI เวอร์ชันเชิงพาณิชย์ยุคแรกส่วนใหญ่ KEE ถูกใช้งานครั้งแรกในภาษา Lispบน แพลตฟอร์ม เครื่อง Lispแต่ในที่สุดก็ถูกพอร์ตไปยังพีซีและเวิร์กสเตชัน Unix [ 6 ]
วาระการวิจัยของเว็บเชิงความหมาย (Semantic Web)ได้ก่อให้เกิดความสนใจใหม่ในด้านการจัดหมวดหมู่โดยอัตโนมัติและภาษาเฟรม ตัวอย่างเช่น มาตรฐาน Web Ontology Language (OWL) สำหรับการอธิบายข้อมูลบนอินเทอร์เน็ต OWL เป็นมาตรฐานที่ให้เลเยอร์เชิงความหมายบนอินเทอร์เน็ต เป้าหมายคือ แทนที่จะค้นหาเว็บโดยใช้คำหลักเหมือนที่เครื่องมือค้นหาส่วนใหญ่ (เช่น Google) ทำในปัจจุบัน เว็บสามารถจัดระเบียบได้ด้วยแนวคิดที่จัดเรียงไว้ในออนโทโลยี เหมือนโครงสร้างไดเร็กทอรี
ชื่อของภาษา OWL เองก็เป็นตัวอย่างที่ดีของความสำคัญของเว็บเชิงความหมาย (Semantic Web) หากเราค้นหาคำว่า "OWL" บนอินเทอร์เน็ตในปัจจุบัน ผลการค้นหาส่วนใหญ่จะเป็นเรื่องเกี่ยวกับนกฮูกมากกว่าภาษาOWL มาตรฐาน แต่ ด้วยเว็บเชิงความหมาย เราจะสามารถระบุแนวคิด "ภาษาออนโทโลยีเว็บ" (Web Ontology Language) ได้อย่างชัดเจน และผู้ใช้จะไม่ต้องกังวลเกี่ยวกับคำย่อหรือคำพ้องความหมายต่างๆ ที่อาจเกิดขึ้นในการค้นหา เช่นเดียวกัน ผู้ใช้จะไม่ต้องกังวลเกี่ยวกับคำพ้องเสียงที่ทำให้ผลการค้นหาเต็มไปด้วยข้อมูลที่ไม่เกี่ยวข้อง เช่น ข้อมูลเกี่ยวกับนกเหยี่ยว ดังตัวอย่างง่ายๆ นี้
นอกจาก OWL แล้ว มาตรฐานและเทคโนโลยีต่างๆ ที่เกี่ยวข้องกับ Semantic Web และได้รับอิทธิพลจากภาษาเฟรม ได้แก่OILและDAMLเครื่องมือ ซอฟต์แวร์โอเพนซอร์ส Protegeจากมหาวิทยาลัยสแตนฟอร์ด มีความสามารถในการแก้ไขออนโทโลยีที่สร้างขึ้นบน OWL และมีฟังก์ชันการทำงานเต็มรูปแบบของตัวจำแนกประเภท อย่างไรก็ตาม เวอร์ชัน 3.5 (ซึ่งยังคงใช้งานอยู่สำหรับผู้ที่ต้องการใช้เฟรม) ได้หยุดให้การสนับสนุนเฟรมอย่างชัดเจน โดยเวอร์ชันปัจจุบันคือ 5.6.8 ณ ปี 2025 เหตุผลในการเปลี่ยนจากการใช้เฟรมอย่างชัดเจนคือ OWL DL มีความสามารถในการแสดงออกมากกว่าและเป็น "มาตรฐานอุตสาหกรรม" [ 7 ]
การเปรียบเทียบเฟรมและวัตถุ
ภาษาเฟรมมีส่วนที่ทับซ้อนกันอย่างมากกับ ภาษา เชิงวัตถุ แม้ว่าศัพท์เฉพาะและเป้าหมายของทั้งสองกลุ่มจะแตกต่างกัน แต่เมื่อพวกเขาย้ายจากโลกวิชาการและห้องปฏิบัติการไปสู่โลกธุรกิจ นักพัฒนาซอฟต์แวร์มักจะไม่สนใจประเด็นเชิงปรัชญาและมุ่งเน้นไปที่ความสามารถเฉพาะด้านเป็นหลัก โดยนำเอาสิ่งที่ดีที่สุดจากทั้งสองฝ่ายมาใช้โดยไม่คำนึงถึงว่าแนวคิดนั้นเริ่มต้นมาจากที่ใด สิ่งที่ทั้งสองกระบวนทัศน์มีเหมือนกันคือความปรารถนาที่จะลดช่องว่างระหว่างแนวคิดในโลกแห่งความเป็นจริงและการนำไปใช้ในซอฟต์แวร์ ดังนั้นทั้งสองกระบวนทัศน์จึงมาถึงแนวคิดของการแสดงวัตถุซอฟต์แวร์หลักในรูปแบบอนุกรมวิธานโดยเริ่มต้นจากประเภททั่วไปมากและค่อยๆ พัฒนาไปสู่ประเภทที่เฉพาะเจาะจงมากขึ้น
ตารางต่อไปนี้แสดงให้เห็นถึงความสัมพันธ์ระหว่างคำศัพท์มาตรฐานจากกลุ่มผู้พัฒนาภาษาเชิงวัตถุและกลุ่มผู้พัฒนาภาษาเฟรม:
| คำศัพท์เกี่ยวกับเฟรม | ศัพท์เฉพาะของ OO |
|---|---|
| เฟรม | คลาสออบเจ็กต์ |
| สล็อต | คุณสมบัติหรือแอตทริบิวต์ ของวัตถุ |
| สิ่งกระตุ้น | เมธอด Accessor และMutator |
| วิธีการ (เช่น เครื่องทอผ้า, KEE) | วิธี |
ความแตกต่างหลักระหว่างสองแนวคิดนี้อยู่ที่ระดับ ความสำคัญของ การห่อหุ้ม (encapsulation ) สำหรับแนวคิดเชิงวัตถุ การห่อหุ้มเป็นหนึ่งในข้อกำหนดที่สำคัญที่สุด ความต้องการที่จะลดปฏิสัมพันธ์ที่อาจเกิดขึ้นระหว่างส่วนประกอบซอฟต์แวร์และจัดการระบบขนาดใหญ่ที่ซับซ้อนได้นั้นเป็นแรงผลักดันหลักของเทคโนโลยีเชิงวัตถุ สำหรับกลุ่มภาษาเฟรม ข้อกำหนดนี้มีความสำคัญน้อยกว่าความต้องการที่จะจัดหาเครื่องมือมากมายเพื่อใช้ในการแสดงกฎ ข้อจำกัด และตรรกะการเขียนโปรแกรม ในโลกของเชิงวัตถุ ทุกอย่างถูกควบคุมโดยเมธอดและการมองเห็นของเมธอด ตัวอย่างเช่น การเข้าถึงค่าข้อมูลของคุณสมบัติของวัตถุจะต้องทำผ่านเมธอดตัวเข้าถึง (accessor method) เมธอดนี้ควบคุมสิ่งต่างๆ เช่น การตรวจสอบประเภทข้อมูลและข้อจำกัดเกี่ยวกับค่าที่กำลังดึงหรือตั้งค่าให้กับคุณสมบัติ ในภาษาเฟรม ข้อจำกัดประเภทเดียวกันนี้สามารถจัดการได้หลายวิธี สามารถกำหนดทริกเกอร์ให้ทำงานก่อนหรือหลังการตั้งค่าหรือดึงค่า สามารถกำหนดกฎที่จัดการข้อจำกัดประเภทเดียวกันได้ ช่องเหล่านั้นสามารถเสริมด้วยข้อมูลเพิ่มเติม (ซึ่งในบางภาษาเรียกว่า "แง่มุม") ได้อีกครั้ง โดยใช้ข้อมูลข้อจำกัดประเภทเดียวกัน
ความแตกต่างหลักอีกประการหนึ่งระหว่างภาษาเฟรมและภาษาเชิงวัตถุคือการสืบทอดแบบหลายทาง (อนุญาตให้เฟรมหรือคลาสมีซูเปอร์คลาสตั้งแต่สองคลาสขึ้นไป) สำหรับภาษาเฟรม การสืบทอดแบบหลายทางเป็นข้อกำหนด เนื่องจากมีความต้องการที่จะจำลองโลกในแบบที่มนุษย์ทำ แนวคิดของมนุษย์เกี่ยวกับโลกนั้นแทบจะไม่สามารถจัดอยู่ในหมวดหมู่ ที่กำหนดไว้อย่างเข้มงวดและไม่ทับซ้อนกัน ได้ สำหรับภาษาเชิงวัตถุหลายภาษา โดยเฉพาะอย่างยิ่งในยุคหลังๆ ของภาษาเชิงวัตถุ การสืบทอดแบบทางเดียวเป็นที่ต้องการอย่างมากหรือเป็นข้อกำหนด การสืบทอดแบบหลายทางถูกมองว่าเป็นขั้นตอนที่เป็นไปได้ในขั้นตอนการวิเคราะห์เพื่อจำลองโดเมน แต่เป็นสิ่งที่ควรถูกกำจัดออกไปในขั้นตอนการออกแบบและการใช้งานเพื่อรักษาการห่อหุ้มและความเป็นโมดูลาร์[ 8 ]
แม้ว่าภาษาเฟรมยุคแรกๆ เช่นKRLจะไม่ได้รวมการส่งข้อความไว้ ด้วย แต่เนื่องจากความต้องการของนักพัฒนา ภาษาเฟรมรุ่นหลังๆ ส่วนใหญ่ (เช่น Loom, KEE) จึงรวมความสามารถในการกำหนดข้อความบนเฟรมไว้ด้วย[ 9 ]
ในด้านเชิงวัตถุ มาตรฐานต่างๆ ก็ได้เกิดขึ้นเช่นกัน ซึ่งโดยพื้นฐานแล้วมีฟังก์ชันการทำงานที่เทียบเท่ากับที่ภาษาเฟรมมีให้ แม้ว่าจะอยู่ในรูปแบบที่แตกต่างกันและทั้งหมดเป็นมาตรฐานบนไลบรารีวัตถุ ตัวอย่างเช่นกลุ่มการจัดการวัตถุได้กำหนดข้อกำหนดมาตรฐานสำหรับความสามารถต่างๆ เช่น การเชื่อมโยงข้อมูลทดสอบและข้อจำกัดกับวัตถุ (คล้ายกับการใช้งานทั่วไปสำหรับแง่มุมต่างๆ ในเฟรมและข้อจำกัดในภาษาเฟรม เช่น Loom) และสำหรับการรวมเอ็นจิ้นกฎ[ 10 ] [ 11 ]
ประวัติศาสตร์
งานวิจัยในช่วงแรกเกี่ยวกับเฟรมได้รับแรงบันดาลใจจากการวิจัยทางจิตวิทยาในช่วงทศวรรษ 1930 ซึ่งระบุว่าผู้คนใช้ความรู้แบบแผนที่เก็บไว้เพื่อตีความและกระทำในสถานการณ์ทางปัญญาใหม่ๆ[ 12 ] คำว่าเฟรมถูกใช้ครั้งแรกโดยมาร์วิน มินสกีในฐานะกระบวนทัศน์เพื่อทำความเข้าใจการให้เหตุผลเชิงภาพและการประมวลผลภาษาธรรมชาติ[ 13 ]ในปัญหาเหล่านี้และปัญหาประเภทอื่นๆ อีกมากมาย พื้นที่แก้ปัญหาที่เป็นไปได้สำหรับปัญหาที่เล็กที่สุดก็มีขนาดใหญ่มาก ตัวอย่างเช่น การแยกหน่วยเสียงจากสตรีมเสียงดิบหรือการตรวจจับขอบของวัตถุ สิ่งที่ดูเหมือนง่ายสำหรับมนุษย์นั้นจริงๆ แล้วค่อนข้างซับซ้อน อันที่จริง ความยากลำบากของสิ่งเหล่านี้อาจไม่เป็นที่เข้าใจอย่างถ่องแท้จนกระทั่งนักวิจัย AI เริ่มตรวจสอบความซับซ้อนของการทำให้คอมพิวเตอร์แก้ปัญหาเหล่านี้
แนวคิดเริ่มต้นของเฟรมหรือสคริปต์ตามที่เรียกกันคือ เฟรมจะสร้างบริบทสำหรับปัญหา และด้วยเหตุนี้จึงลดพื้นที่การค้นหาที่เป็นไปได้ลงอย่างมากโดยอัตโนมัติ แนวคิดนี้ยังได้รับการนำไปใช้โดย Schank และ Abelson ซึ่งใช้เพื่อแสดงให้เห็นว่าระบบ AI สามารถประมวลผลปฏิสัมพันธ์ของมนุษย์ทั่วไป เช่น การสั่งอาหารที่ร้านอาหารได้อย่างไร[ 14 ] ปฏิสัมพันธ์เหล่านี้ได้รับการกำหนดมาตรฐานเป็นเฟรมที่มีช่องที่เก็บข้อมูลที่เกี่ยวข้องเกี่ยวกับแต่ละเฟรม ช่องเหล่านี้เปรียบได้กับคุณสมบัติของวัตถุในการสร้างแบบจำลองเชิงวัตถุ และความสัมพันธ์ในแบบจำลองเอนทิตี-ความสัมพันธ์ ช่องมักจะมีค่าเริ่มต้น แต่ยังต้องการการปรับแต่งเพิ่มเติมเป็นส่วนหนึ่งของการดำเนินการในแต่ละอินสแตนซ์ของสถานการณ์ กล่าวคือ การดำเนินการของงาน เช่น การสั่งอาหารที่ร้านอาหาร จะถูกควบคุมโดยเริ่มต้นด้วยอินสแตนซ์พื้นฐานของเฟรม จากนั้นจึงสร้างอินสแตนซ์และปรับแต่งค่าต่างๆ ตามความเหมาะสม โดยพื้นฐานแล้ว เฟรมที่เป็นนามธรรมแสดงถึงคลาสของวัตถุ และอินสแตนซ์ของเฟรมแสดงถึงอินสแตนซ์ของวัตถุ ในงานช่วงแรกนี้ เน้นที่คำอธิบายข้อมูลแบบคงที่ของเฟรมเป็นหลัก มีการพัฒนากลไกต่างๆ เพื่อกำหนดช่วงของช่องข้อมูล ค่าเริ่มต้น และอื่นๆ อย่างไรก็ตาม แม้ในระบบยุคแรกๆ เหล่านั้นก็มีคุณสมบัติเชิงกระบวนการอยู่แล้ว เทคนิคทั่วไปอย่างหนึ่งคือการใช้ "ทริกเกอร์" (คล้ายกับแนวคิดทริกเกอร์ ในฐานข้อมูล ) ที่แนบมากับช่องข้อมูล ทริกเกอร์เป็นเพียงโค้ดเชิงกระบวนการที่แนบมากับช่องข้อมูล ทริกเกอร์สามารถทำงานได้ทั้งก่อนและ/หรือหลังจากการเข้าถึงหรือแก้ไขค่าในช่องข้อมูล
เช่นเดียวกับคลาสวัตถุ เฟรมถูกจัดระเบียบใน ลำดับชั้น การครอบคลุมตัวอย่างเช่น เฟรมพื้นฐานอาจเป็นการสั่งอาหารที่ร้านอาหาร อินสแตนซ์ของเฟรมนั้นก็คือ โจไปร้าน Dairy Queen เฟรมเฉพาะทาง (โดยพื้นฐานแล้วเป็นคลาสย่อย ) ของเฟรมร้านอาหารจะเป็นเฟรมสำหรับการสั่งอาหารที่ร้านอาหารหรู เฟรมร้านอาหารหรูจะสืบทอดค่าเริ่มต้นทั้งหมดจากเฟรมร้านอาหาร แต่จะเพิ่มช่องเพิ่มเติมหรือเปลี่ยนแปลงค่าเริ่มต้นอย่างน้อยหนึ่งค่า (เช่น ช่วงราคาที่คาดหวัง) สำหรับเฟรมเฉพาะทาง[ 15 ] [ 16 ]
ภาษา
งานวิจัยเกี่ยวกับภาษาเฟรมในช่วงแรกๆ (เช่น งานของ Schank และ Abelson) ส่วนใหญ่ได้รับแรงผลักดันจากผลการค้นพบจากจิตวิทยาเชิงทดลอง และความพยายามในการออกแบบเครื่องมือแสดงความรู้ที่สอดคล้องกับรูปแบบที่เชื่อกันว่ามนุษย์ใช้ในการดำเนินชีวิตประจำวัน นักวิจัยเหล่านี้ไม่ค่อยสนใจในเรื่องรูปแบบทางคณิตศาสตร์มากนัก เนื่องจากพวกเขาเชื่อว่ารูปแบบดังกล่าวไม่จำเป็นต้องเป็นแบบจำลองที่ดีสำหรับวิธีที่มนุษย์ทั่วไปเข้าใจโลก ตัวอย่างเช่น วิธีที่มนุษย์ใช้ภาษานั้นมักจะห่างไกลจากตรรกะที่แท้จริง
ในทำนองเดียวกัน ในด้านภาษาศาสตร์Charles J. Fillmoreในช่วงกลางทศวรรษ 1970 ได้เริ่มทำงานเกี่ยวกับทฤษฎีความหมายเฟรม ของเขา ซึ่งต่อมาจะนำไปสู่ทรัพยากรการคำนวณเช่นFrameNet [ 17 ]ความหมายเฟรมได้รับแรงบันดาลใจจากการไตร่ตรองเกี่ยวกับภาษาของมนุษย์และการรับรู้ของ มนุษย์
ในทางกลับกัน นักวิจัยอย่างรอน แบรคแมนต้องการมอบรูปแบบทางคณิตศาสตร์และพลังการคำนวณที่เกี่ยวข้องกับตรรกศาสตร์ให้กับนักวิจัยด้าน AI จุดมุ่งหมายของพวกเขาคือการแมปคลาส เฟรม ช่อง ข้อจำกัด และกฎในภาษาเฟรมไปยังทฤษฎีเซตและตรรกศาสตร์ ข้อดีอย่างหนึ่งของแนวทางนี้คือ การตรวจสอบความถูกต้องและแม้แต่การสร้างแบบจำลองสามารถทำได้โดยอัตโนมัติโดยใช้ตัวพิสูจน์ทฤษฎีบทและความสามารถในการให้เหตุผลอัตโนมัติอื่นๆ ข้อเสียคือ อาจยากกว่าที่จะระบุแบบจำลองในภาษาที่มีความหมายเชิงรูปธรรมในขั้นต้น
วิวัฒนาการนี้ยังแสดงให้เห็นถึงการแบ่งแยกแบบคลาสสิกในการวิจัย AI ที่รู้จักกันในชื่อ " พวกเรียบร้อยกับพวกไม่เรียบร้อย " "พวกเรียบร้อย" คือนักวิจัยที่ให้ความสำคัญกับความแม่นยำทางคณิตศาสตร์และรูปแบบที่เป็นทางการมากที่สุด ซึ่งสามารถทำได้ผ่านตรรกะลำดับที่หนึ่งและทฤษฎีเซต ในขณะที่ "พวกไม่เรียบร้อย" สนใจในการสร้างแบบจำลองความรู้ในรูปแบบที่ใช้งานง่ายและมีความหมายทางจิตวิทยาต่อมนุษย์มากกว่า[ 18 ]
แนวทางที่เป็นทางการที่โดดเด่นที่สุดคือภาษาKL-ONE [ 19 ]ต่อมา KL-ONE ได้ก่อให้เกิดภาษาเฟรมอีกหลายภาษา ความหมายเชิงรูปธรรมของภาษาต่างๆ เช่น KL-ONE ทำให้ภาษาเฟรมเหล่านี้มีความสามารถในการให้เหตุผลอัตโนมัติแบบใหม่ที่เรียกว่าตัวจำแนก ตัวจำแนกเป็นกลไกที่วิเคราะห์การประกาศต่างๆ ในภาษาเฟรม เช่น คำจำกัดความของเซต เซตย่อย ความสัมพันธ์ เป็นต้น จากนั้นตัวจำแนกสามารถอนุมานความสัมพันธ์เพิ่มเติมต่างๆ ได้โดยอัตโนมัติ และสามารถตรวจจับได้ว่าส่วนใดของแบบจำลองไม่สอดคล้องกัน ด้วยวิธีนี้ งานหลายอย่างที่ปกติจะดำเนินการโดยการเชื่อมโยงไปข้างหน้าหรือย้อนกลับในกลไกการอนุมาน สามารถดำเนินการโดยตัวจำแนกแทนได้[ 20 ]
เทคโนโลยีนี้มีคุณค่าอย่างยิ่งในการจัดการกับอินเทอร์เน็ต ผลลัพธ์ที่น่าสนใจคือ รูปแบบที่เป็นทางการของภาษาต่างๆ เช่น KL-ONE สามารถนำมาใช้ประโยชน์ได้อย่างมากในการจัดการกับข้อมูลที่ไม่เป็นทางการและไม่มีโครงสร้างที่พบในอินเทอร์เน็ต บนอินเทอร์เน็ตนั้นเป็นไปไม่ได้ที่จะกำหนดให้ทุกระบบใช้มาตรฐานโมเดลข้อมูลเดียว จึงหลีกเลี่ยงไม่ได้ที่จะมีการใช้คำศัพท์ในหลายรูปแบบที่ไม่สอดคล้องกัน ความสามารถในการจำแนกประเภทอัตโนมัติของกลไกการจำแนกประเภทช่วยให้นักพัฒนา AI มีเครื่องมือที่มีประสิทธิภาพในการช่วยจัดระเบียบและสร้างความสอดคล้องให้กับชุดข้อมูลที่ไม่สอดคล้องกันอย่างมาก (เช่น อินเทอร์เน็ต) วิสัยทัศน์สำหรับอินเทอร์เน็ตที่ได้รับการปรับปรุง ซึ่งหน้าเว็บต่างๆ ไม่ได้จัดเรียงตามคำหลักของข้อความเท่านั้น แต่จัดเรียงตามการจำแนกประเภทของแนวคิด เรียกว่าเว็บเชิงความหมาย (Semantic Web ) เทคโนโลยีการจำแนกประเภทที่พัฒนาขึ้นสำหรับภาษาเฟรม (Frame languages) เป็นปัจจัยสำคัญที่ทำให้เว็บเชิงความหมายเกิดขึ้นได้[ 21 ] [ 22 ]การแบ่งแยก "คนเรียบร้อยกับคนไม่เรียบร้อย" ยังเกิดขึ้นในการวิจัย Semantic Web ซึ่งนำไปสู่การสร้าง ชุมชน Linking Open Dataโดยมุ่งเน้นที่การเปิดเผยข้อมูลบนเว็บมากกว่าการสร้างแบบจำลอง
ดูเพิ่มเติม
- ปัญหาเฟรม
- ตัวจำแนกแบบนิรนัย
- คำอธิบายตรรกะ
- ตรรกะลำดับที่หนึ่ง
- ฐานความรู้
- ระบบฐานความรู้
- กราฟความรู้
- ภาษาออนโทโลยี
- ภาคแสดง
- เครือข่ายความหมาย
- แคลคูลัสสถานการณ์
บรรณานุกรม
- Russell, Stuart J.; Norvig, Peter (2010), ปัญญาประดิษฐ์: แนวทางสมัยใหม่ (ฉบับที่ 2), Upper Saddle River, New Jersey: Prentice Hall, ISBN 0-13-604259-7บทที่ 1
- Marvin Minsky, กรอบแนวคิดสำหรับการนำเสนอความรู้เก็บถาวรเมื่อ 7 มกราคม 2021 ที่Wayback Machine , บันทึกหมายเลข 306 ของห้องปฏิบัติการ MIT-AI, มิถุนายน 1974
- Daniel G. Bobrow, Terry Winograd, ภาพรวมของ KRL ภาษาสำหรับการแสดงความรู้
- อาร์. บรูซ โรเบิร์ตส์ และ ไอรา พี. โกลด์สไตน์, คู่มือเบื้องต้นเกี่ยวกับ FRL , 1977
- อาร์. บรูซ โรเบิร์ตส์ และ ไอรา พี. โกลด์สไตน์, คู่มือ FRL , 1977
- Brachman, R.; Schmolze, J. (1985). "ภาพรวมของระบบการแสดงความรู้ KL-ONE" . วิทยาศาสตร์การรู้คิด . 9 (2): 171– 216. doi : 10.1016/s0364-0213(85)80014-8 .
- Fikes, RE; Kehler, T. (1985). "บทบาทของการนำเสนอแบบเฟรมในการนำเสนอความรู้และการให้เหตุผล" . Communications of the ACM . 28 (9): 904– 920. doi : 10.1145/4284.4285 . S2CID 9868560 .
- Peter Clark & Bruce Porter: KM - The Knowledge Machine 2.0: คู่มือผู้ใช้, http://www.cs.utexas.edu/users/mfkb/RKF/km.html
- ปีเตอร์ ดี. คาร์ป, พื้นที่การออกแบบของระบบการแสดงความรู้แบบเฟรม , บันทึกทางเทคนิคหมายเลข 520. ศูนย์ปัญญาประดิษฐ์ , SRI International , 1992
ลิงก์ภายนอก
- บทความของมินสกีเรื่อง "กรอบแนวคิดสำหรับการนำเสนอความรู้" ถูกเก็บถาวรไว้เมื่อวันที่ 7 มกราคม 2021 ที่Wayback Machine
- เว็บไซต์ปัญญาประดิษฐ์: แนวทางที่ทันสมัย
- ระบบที่ใช้เฟรม (Frame-Based Systems) ถูกเก็บถาวรเมื่อวันที่ 27 กรกฎาคม 2009 ที่Wayback Machine
- โปรโตคอลเฟรมทั่วไป
- บรรณาธิการออนโทโลยี Protégé
- บทนำเกี่ยวกับภาษาเฟรม
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ เฟรม (ปัญญาประดิษฐ์)
เฟรม เป็น โครงสร้างข้อมูล ปัญญาประดิษฐ์ ที่ใช้ในการแบ่ง ความรู้ เป็นโครงสร้างย่อยโดยการแสดง "สถานการณ์ตามแบบแผน"
โครงสร้างเฟรม
กรอบนี้มีข้อมูลเกี่ยวกับวิธีการใช้งาน สิ่งที่จะเกิดขึ้นต่อไป และสิ่งที่ควรทำหากผลลัพธ์ไม่เป็นไปตามที่คาดหวัง
คุณสมบัติและข้อดี
เทอร์มินัลของเฟรมนั้นถูกเติมด้วยค่าเริ่มต้นไว้แล้ว ซึ่งอิงตามวิธีการทำงาน ของสมองมนุษย์
ตัวอย่าง
สิ่งที่ควรสังเกตคือ การให้เหตุผลเชิงอุปมาอุปไมยที่ง่ายดาย (การเปรียบเทียบ) ที่สามารถทำได้ระหว่างเด็กผู้ชายกับลิง เพียงแค่มีช่องที่มีชื่อคล้ายกัน