กลับไปหน้าบทความ

อ่าน 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é
  • บทนำเกี่ยวกับภาษาเฟรม
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Frame_(artificial_intelligence)&oldid=1357018277#Frame_language "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ เฟรม (ปัญญาประดิษฐ์)

เฟรม เป็น โครงสร้างข้อมูล ปัญญาประดิษฐ์ ที่ใช้ในการแบ่ง ความรู้ เป็นโครงสร้างย่อยโดยการแสดง "สถานการณ์ตามแบบแผน"

โครงสร้างเฟรม

กรอบนี้มีข้อมูลเกี่ยวกับวิธีการใช้งาน สิ่งที่จะเกิดขึ้นต่อไป และสิ่งที่ควรทำหากผลลัพธ์ไม่เป็นไปตามที่คาดหวัง

คุณสมบัติและข้อดี

เทอร์มินัลของเฟรมนั้นถูกเติมด้วยค่าเริ่มต้นไว้แล้ว ซึ่งอิงตามวิธีการทำงาน ของสมองมนุษย์

ตัวอย่าง

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