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

อ่าน 4 นาที

ไวยากรณ์ข้อจำกัด

เปลี่ยนทางจากการเคลื่อนไหว/เปลี่ยนทางจากตัวพิมพ์ใหญ่อื่น/การเปลี่ยนเส้นทางที่ไม่สามารถพิมพ์ได้

ไวยากรณ์แบบมีข้อจำกัด (Constraint GrammarหรือCG ) เป็นกระบวนทัศน์เชิงวิธีการสำหรับการประมวลผลภาษาธรรมชาติ (Natural Language Processing หรือ NLP) กฎที่เขียนโดยนักภาษาศาสตร์...

ไวยากรณ์ข้อจำกัด

ไวยากรณ์แบบมีข้อจำกัด (Constraint GrammarหรือCG ) เป็นกระบวนทัศน์เชิงวิธีการสำหรับการประมวลผลภาษาธรรมชาติ (Natural Language Processing หรือ NLP) กฎที่เขียนโดยนักภาษาศาสตร์ และขึ้นอยู่กับ บริบทจะถูกรวบรวมเป็นไวยากรณ์ที่กำหนดแท็กทางไวยากรณ์ ("การอ่าน") ให้กับคำหรือโทเค็นอื่นๆ ในข้อความ แท็กทั่วไปจะกล่าวถึงการหา คำหลัก ( lexemeหรือรูปพื้นฐาน ), การผันคำ , การสร้างคำ , หน้าที่ ทางไวยากรณ์ , การพึ่งพา, วาเลนซี , บทบาทของกรณี , ประเภท ความหมายฯลฯ แต่ละกฎจะเพิ่ม ลบ เลือก หรือแทนที่แท็กหรือชุดของแท็กทางไวยากรณ์ในบริบทของประโยคที่กำหนด เงื่อนไขบริบทสามารถเชื่อมโยงกับแท็กหรือชุดของแท็กของคำใดๆ ก็ได้ในประโยค ไม่ว่าจะเป็นแบบเฉพาะที่ (ระยะทางที่กำหนด) หรือแบบโดยรวม (ระยะทางที่ไม่กำหนด) เงื่อนไขบริบทในกฎเดียวกันอาจเชื่อมโยงกัน กล่าวคือ มีเงื่อนไขซึ่งกันและกัน ปฏิเสธกัน หรือถูกปิดกั้นโดยคำหรือแท็กที่รบกวน โดยทั่วไปแล้ว CG ประกอบด้วยกฎหลายพันข้อ ซึ่งถูกนำมาใช้ทีละชุดในขั้นตอนที่ก้าวหน้าขึ้นเรื่อยๆ ครอบคลุมระดับการวิเคราะห์ที่ซับซ้อนขึ้น ในแต่ละระดับ จะใช้กฎที่ปลอดภัยก่อนกฎเชิงฮิวริสติก และไม่อนุญาตให้กฎใดๆ ลบค่าการอ่านสุดท้ายของประเภทที่กำหนด จึงทำให้มีความแข็งแกร่งสูง

แนวคิด CG เปิดตัวโดยFred Karlssonในปี 1990 (Karlsson 1990; Karlsson et al., eds, 1995) และตั้งแต่นั้นมาก็มีการเขียนแท็กเกอร์และตัวแยกวิเคราะห์ CG สำหรับภาษาต่างๆ มากมาย โดยได้คะแนน F-score ความแม่นยำสำหรับส่วนของคำพูด (ประเภทคำ) มากกว่า 99% เป็นประจำ [ 1 ]ระบบ CG ทางไวยากรณ์จำนวนหนึ่งรายงานคะแนน F-score ประมาณ 95% สำหรับป้ายกำกับหน้าที่ทางไวยากรณ์ ระบบ CG สามารถใช้สร้างแผนผังไวยากรณ์แบบเต็มในรูปแบบอื่นๆ ได้โดยการเพิ่มไวยากรณ์โครงสร้างวลีหรือไวยากรณ์การพึ่งพา ขนาดเล็กที่ไม่ใช่เทอร์มินัล และโครงการ Treebankจำนวนหนึ่งได้ใช้ CG สำหรับการระบุคำอธิบายประกอบอัตโนมัติ วิธีการ CG ยังถูกนำไปใช้ในแอปพลิเคชันเทคโนโลยีภาษาต่างๆ เช่นโปรแกรมตรวจสอบการสะกดคำและระบบการแปลด้วยเครื่อง

ไวยากรณ์และรูปแบบของกฎ

ตัวแยกวิเคราะห์ไวยากรณ์ข้อ จำกัด (Constraint Grammar parser) คาดหวังอินพุตเป็นกระแสของโทเค็นที่ผ่านการวิเคราะห์ทางสัณฐานวิทยา ซึ่งโดยทั่วไปสร้างขึ้นโดย ตัววิเคราะห์ที่ใช้ ตัวแปลงสถานะจำกัด (Finite-state transducer ) (ตัวอย่างที่พบบ่อย ได้แก่ เครื่องมือของ Xerox เช่น twolc/lexc/xfst, HFSTหรือlttoolbox ของApertium ) แต่ละโทเค็นอาจมีความกำกวมและมีหลาย ความหมายรูปแบบพื้นผิวพร้อมความหมายทั้งหมดเรียกว่า กลุ่มคำ (cohort ) ด้านล่างนี้คือตัวอย่างการวิเคราะห์ที่เป็นไปได้ของ ", และ X เหมือนกับ “" ในรูปแบบอินพุตที่ VISL CG-3 คาดหวัง:

"<,>" "," ซม. "<และ>" "และ" เชื่อม "<X>" "X" num pl "X" คำนาม "<เคยเป็น>" "be" กริยาอดีต p1 เอกพจน์ "be" กริยาอดีต p3 เอกพจน์ "<ชอบ>" "เหมือน" adj "ชอบ" หัวข้อ "ไลค์" pr "เหมือน" กริยา (ไม่เป็นทางการ) "เหมือน" กริยาปัจจุบัน "เหมือน" กริยา imp "<“>" "" lquot 

ส่วนนี้แสดงกลุ่มคำ 5 กลุ่ม แต่ละกลุ่มมีการตีความอย่างน้อยหนึ่งอย่าง รูปแบบคำบนพื้นผิวอยู่ในรูปแบบปกติ ในขณะที่คำหลัก/รูปพื้นฐานอยู่ในรูปแบบปกติตามด้วยชุดแท็กที่ไม่ได้อยู่ในเครื่องหมายคำพูด และเราจะเห็นว่าบางกลุ่มมีการตีความหลายแบบ กล่าวคือมีความกำกวม (กำกวมระหว่างการตีความ 6 แบบ) หน้าที่ของตัวแยกวิเคราะห์ CG คือ 1) ลบการตีความที่ผิดออกให้มากที่สุดเท่าที่จะทำได้โดยคำนึงถึงบริบท 2) อาจใช้ป้ายกำกับหน้าที่ทางไวยากรณ์อย่างน้อยหนึ่งป้ายกับแต่ละกลุ่มคำ (หรือแม้แต่ความสัมพันธ์แบบพึ่งพา) และ 3) แก้ไขความกำกวมของป้ายกำกับ/ความสัมพันธ์ที่ใช้"<anglequotes>""quotes""<like>"

ด้านล่างนี้คือตัวอย่างกฎ (ในรูปแบบ VISL CG-3 อีกครั้ง) สำหรับการเลือกการอ่านแบบบุคคลที่สามของคำว่า "was" (โดยการตัดการอ่านแบบบุคคลที่หนึ่งออก) โดยที่ไม่มีคำสรรพนามบุคคลที่หนึ่งอยู่ทางด้านซ้าย:

ลบออก (กริยา หน้า 1) ถ้า (0C (กริยา)) (NEGATE *-1 (prn p1)) ; 

ต่อไปนี้(verb p1)คือชุดแท็ก (ลำดับไม่สำคัญ) ที่ต้องตรงกับการอ่านที่เรากำลังลบออก หลังจากนั้นจะIFเป็นรายการข้อจำกัด ตั้งแต่ศูนย์ข้อขึ้นไป ข้อจำกัดแรกระบุว่าในกลุ่มนี้ (ตำแหน่ง 0) การอ่าน ทั้งหมด (คำคุณศัพท์Cสำหรับคำว่า ระวัง) ต้องมีแท็กverbข้อจำกัดที่สองระบุว่า หากมีกลุ่มที่อยู่ทางซ้ายอย่างน้อยหนึ่งคำ (ตำแหน่ง*-1ซึ่ง*หมายความว่าเราอาจไปไกลกว่านั้น-ทางซ้าย) และกลุ่มนั้นเป็นสรรพนามบุรุษที่หนึ่ง ข้อจำกัด *ไม่* ตรงกัน ( NEGATE)

ใน CG-3 กฎต่างๆ อาจได้รับการตั้งชื่อ เช่นSELECT:somename (…) IFซึ่งจะปรากฏในผลลัพธ์การติดตาม

นอกจากนี้ กฎยังสามารถเลือกค่าการอ่านเพียงค่าเดียวได้ หากเรามั่นใจว่าค่าการอ่านอื่นๆ ทั้งหมดจะต้องผิดภายใต้ข้อจำกัดที่กำหนด:

เลือก:อ้างอิง ("like" subj) ถ้า (-1 ("<เคยเป็น>")) (1 (lquot) หรือ (":")) ; 

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

LIST prequote = lquot ":" ; เลือก:อ้างอิง ("like" subj) ถ้า (-1 ("<เคยเป็น>")) (1 การอ้างอิงก่อนหน้า) ; 

นิยามที่เทียบเท่ากันคือ.SET prequote = (lquot) OR (":") ;

หลังจากดำเนินการตามกฎข้างต้นแล้ว เราจะได้ผลลัพธ์ดังนี้:

"<,>" "," ซม. "<และ>" "และ" เชื่อม "<X>" "X" num pl "X" คำนาม "<เคยเป็น>" "be" กริยาอดีต p3 เอกพจน์ "<ชอบ>" "ชอบ" หัวข้อ "<“>" "" lquot 

ถ้าเราใช้--traceเราจะเห็นค่าที่ถูกลบออกโดยมีอักษรย่อ;และชื่อและหมายเลขบรรทัดของกฎนั้นๆ กำกับอยู่ ในทุกที่ที่กฎนั้นใช้กับค่าที่อ่านได้

ไวยากรณ์ของกฎสำหรับการเพิ่มป้ายกำกับฟังก์ชันทางไวยากรณ์เป็นไปตามรูปแบบที่คล้ายกันคือ "ทำสิ่งนี้ถ้า x, y และ z":

รายการคำนาม = คำนาม prn ; เพิ่ม (@SUBJ) ถ้า (ปฏิเสธ *-1 ตามนาม) (0C (prop)) (กริยาช่อง 1C) ; 

สิ่งนี้เรียกว่า "กฎการแมป" และเราอาจมีแท็กการแมปดังกล่าวหลายแท็กต่อกลุ่ม ซึ่งในกรณีนี้เราสามารถแยกแยะความแตกต่างได้โดยใช้กฎ SELECT/REMOVE เดียวกัน

การนำไปใช้

ซีจี-1

การนำ CG ไปใช้ครั้งแรกคือ CGP โดย Fred Karlsson ในช่วงต้นทศวรรษ 1990 มัน ใช้ภาษา LISP ล้วนๆ และไวยากรณ์ก็อิงตามนิพจน์ s ของ LISP (Karlsson 1990)

ซีจี-2

การใช้งาน CG-2 ของ Pasi Tapanainen mdis [ 2 ]ได้ลบวงเล็บบางส่วนในรูปแบบไวยากรณ์และถูกนำไปใช้ใน C++ โดยตีความไวยากรณ์เป็นFinite State Transducerเพื่อความเร็ว

ต่อมา CG-2 ได้รับการพัฒนาใหม่ (โดยใช้วิธีที่ไม่ใช้ FST) โดยกลุ่ม VISL ที่มหาวิทยาลัย Syddanskในรูปแบบโอเพนซอร์สชื่อ VISL CGโดยคงรูปแบบเดียวกับไฟล์ mdis แบบปิดแหล่งที่ มา ของ Tapanainen ไว้

ซีจี-3

ภาพหน้าจอของ cg3ide จาก VISL
การแก้ไขและเรียกใช้ไฟล์ CG-3 ใน Emacs (cg.el)

ต่อมาโครงการ VISL ได้พัฒนาเป็น VISL CG-3 ซึ่งนำมาซึ่งการเปลี่ยนแปลงและเพิ่มเติมรูปแบบไวยากรณ์เพิ่มเติม เช่น:

  • รองรับUnicodeอย่างเต็มรูปแบบ ผ่าน International Components for Unicode
  • การตีความการปฏิเสธที่แตกต่างกัน (NOT)
  • ความสัมพันธ์ที่มีชื่อ นอกเหนือจากความสัมพันธ์การพึ่งพาแบบธรรมดา
  • การตั้งค่าตัวแปร
  • การจับคู่ regex เต็มรูปแบบ
  • การรวมแท็ก/ชุด – LIST gen = m f; SELECT (det) + $$gen IF (1 noun) (1 $$gen);จะเลือกคำนำหน้าคำนามที่มีเพศเดียวกับคำนามที่ตามมา
  • ตัวห่อสำหรับการอ่าน/เขียนไฟล์ApertiumและHFST
  • รองรับการอ่านย่อย (ซึ่งการอ่านหนึ่งครั้งมีหลาย "ส่วน" ใช้สำหรับสำนวนและคำประสมที่มีหลายคำ)
  • การสแกนผ่านจุดเริ่มต้นหรือแม้แต่ขอบเขตของหน้าต่าง
  • ใช้เป็นคลังข้อมูลและสนับสนุนการบูรณาการกับกระบวนการภายนอก

นอกจากนี้ยังมี IDE แบบง่ายสำหรับ CG-3 ที่พัฒนาโดย VISL อีกด้วยซึ่งมีฟังก์ชันเน้นไวยากรณ์และช่วยให้คุณเห็นข้อมูลนำเข้าและข้อมูลส่งออก รวมถึงข้อผิดพลาดที่อาจเกิดขึ้นขณะที่คุณเขียนไวยากรณ์ นอกจากนี้ยังมีโหมดEmacs อีกด้วยcg.elมีคุณสมบัติคล้ายคลึงกันและการนำทางโค้ดที่ง่าย

แตกต่างจากการใช้งาน Tapanainen การใช้งาน VISL ไม่ได้ใช้ทรานสดิวเซอร์สถานะจำกัด กฎต่างๆ จะถูกจัดเรียงภายในส่วนต่างๆ ซึ่งทำให้การเขียนไวยากรณ์คาดเดาได้ง่ายขึ้น แต่ก็แลกมาด้วยการประมวลผลที่ช้าลงและความเป็นไปได้ที่จะเกิดลูปไม่สิ้นสุด

มีการนำ CG-2 ที่ใช้ FST แบบโอเพนซอร์สมาใช้งานใหม่ ซึ่งสำหรับไวยากรณ์ขนาดเล็กจะสามารถทำความเร็วได้เทียบเท่ากับ VISL CG-3 หรือแม้กระทั่งmdis [ 3 ]

รายชื่อระบบ

ซอฟต์แวร์ฟรี
ซอฟต์แวร์ที่ไม่ใช่ซอฟต์แวร์เสรี
  • บาสก์
  • คาตาลันCATCG
  • เดนมาร์กแดนแกรม
  • ENGCGภาษาอังกฤษ, ENGCG-2 , VISL-ENGCG
  • เอสเปรันโต เอสพีแกรม
  • เฟรนช์แฟรก
  • เจอร์แกรมเยอรมัน
  • ชาวไอริชออนไลน์
  • อิตาแกรมอิตาเลียน
  • ฮิสปาลภาษาสเปน
  • SWECG ของสวีเดนถูกเก็บถาวรเมื่อวันที่ 5 กุมภาพันธ์ 2007 ที่Wayback Machine
  • สวาฮิลี
  • ปาลาฟราสโปรตุเกส
  • บทเรียน CGโดย เควิน ดอนเนลลี่
  • VISL CG-3คือตัวคอมไพล์/ตัวแยกวิเคราะห์ไวยากรณ์
  • รายชื่อหนังสือที่ตีพิมพ์เกี่ยวกับไวยากรณ์ข้อจำกัด (อย่างน้อยจนถึงปี 2010)
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Constraint_grammar&oldid=1305043444 "

สรุปเนื้อหา

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

ข้อมูลสำคัญเกี่ยวกับ ไวยากรณ์ข้อจำกัด

ไวยากรณ์แบบมีข้อจำกัด (Constraint GrammarหรือCG ) เป็นกระบวนทัศน์เชิงวิธีการสำหรับการประมวลผลภาษาธรรมชาติ (Natural Language Processing หรือ NLP) กฎที่เขียนโดยนักภาษาศาสตร์...

ไวยากรณ์และรูปแบบของกฎ

ตัวแยกวิเคราะห์ไวยากรณ์ข้อ จำกัด (Constraint Grammar parser) คาดหวังอินพุตเป็นกระแสของโทเค็นที่ผ่านการวิเคราะห์ทางสัณฐานวิทยา ซึ่งโดยทั่วไปสร้างขึ้นโดย ตัววิเคราะห์ที่ใช้ ตัวแปลงสถานะจำกัด (Finite-state transducer ) (ตัวอย่างที่พบบ่อย ได้แก่ เครื่องมือของ...

ซีจี-1

การนำ CG ไปใช้ครั้งแรกคือ CGP โดย Fred Karlsson ในช่วงต้นทศวรรษ 1990 มัน ใช้ภาษา LISP ล้วนๆ และไวยากรณ์ก็อิงตามนิพจน์ s ของ LISP (Karlsson 1990)

ซีจี-2

การใช้งาน CG-2 ของ Pasi Tapanainen mdis [ 2 ] ได้ลบวงเล็บบางส่วนในรูปแบบไวยากรณ์และถูกนำไปใช้ใน C++ โดยตีความไวยากรณ์เป็น Finite State Transducer เพื่อความเร็ว