การแยกวิเคราะห์การพึ่งพาใน NLP [อธิบายด้วยตัวอย่าง]

เผยแพร่แล้ว: 2021-03-10

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

NLP ต้องการความเข้าใจเชิงลึกเกี่ยวกับคำศัพท์และแนวคิดต่างๆ เพื่อนำไปใช้อย่างเป็นรูปธรรมในสถานการณ์จริง แนวคิดพื้นฐานบางส่วนเหล่านี้รวมถึงการติดแท็ก Part-of-Speech (POS) การสร้างแบบจำลองภาษาทางสถิติ การวิเคราะห์วากยสัมพันธ์ ความหมายและความรู้สึก การทำให้เป็นมาตรฐาน การทำให้เป็นโทเค็น การแยกวิเคราะห์การพึ่งพา และการแยกวิเคราะห์การเลือกตั้ง เป็นต้น

ในบทความนี้ เราจะดูพื้นฐานของการแยกวิเคราะห์การพึ่งพาเพื่อให้ได้มุมมองว่ามันถูกนำไปใช้ใน NLP อย่างไร

สารบัญ

การแยกวิเคราะห์การพึ่งพา

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

ยกตัวอย่างประโยค ฉัน ชอบเที่ยวบินตอนเช้าที่ผ่านเดนเวอร์”

แผนภาพด้านล่างอธิบายโครงสร้างการพึ่งพาของประโยค:

แหล่งที่มา

ความสัมพันธ์ระหว่างทุกหน่วยภาษาหรือคำในประโยค ถูกระบุโดยใช้ส่วนโค้งกำกับในโครงสร้างการพึ่งพาที่พิมพ์ ตามที่ระบุไว้ในแผนภาพ ราก ของต้นไม้ "ชอบ" จะสร้างส่วนหัวของประโยคข้างต้น

ความสัมพันธ์ระหว่างคำสองคำถูกทำเครื่องหมายด้วยแท็กการพึ่งพา ตัวอย่างเช่น คำว่า "เที่ยวบิน" แก้ไขความหมายของคำนาม "เดนเวอร์" ดังนั้น คุณสามารถสังเกตเห็นการขึ้นต่อกันจากเที่ยวบิน -> เดนเวอร์ โดยที่เที่ยวบินเป็นหัวหน้า และเดนเวอร์เป็นเด็กหรือผู้อยู่ในอุปการะ มันถูกแสดงโดย nmod ซึ่งแสดงถึงตัวดัดแปลงเล็กน้อย

นี่เป็นกรณีของการพึ่งพาระหว่างทุก ๆ สองคำโดยที่คำหนึ่งทำหน้าที่เป็นหัวหน้าและอีกคำหนึ่งขึ้นอยู่กับคำ ในปัจจุบัน อนุกรมวิธาน Universal Dependency V2 ประกอบด้วย 37 ความสัมพันธ์ทางวากยสัมพันธ์สากลตามที่ระบุในตารางด้านล่าง:

แท็กการพึ่งพา คำอธิบาย
acl clausal modifier ของคำนาม (adnominal clause)
acl:relcl ตัวแก้ไขข้อญาติ
advcl ตัวแก้ไขกริยาวิเศษณ์
advmod ตัวแก้ไขคำวิเศษณ์
advmod:emph เน้นคำ เพิ่มความแรง
advmod:lmod ตัวแก้ไขคำวิเศษณ์ตำแหน่ง
อาโมด ตัวแก้ไขคำคุณศัพท์
appos ตัวดัดแปลงสมมุติฐาน
aux ตัวช่วย
aux:pass ตัวช่วยแบบพาสซีฟ
กรณี กรณีเครื่องหมาย
cc การประสานงานร่วม
cc:preconj บทนำ
ccomp องค์ประกอบเสริม
clf ลักษณนาม
สารประกอบ สารประกอบ
สารประกอบ:lvc การสร้างกริยาเบา
สารประกอบ:prt กริยาวลี อนุภาค
สารประกอบ:redup สารประกอบซ้ำ
สารประกอบ:svc สารประกอบกริยาอนุกรม
conj สารเชื่อม
ตำรวจ คอปปูล่า
csubj หัวข้อเรื่อง
csubj:pass clausal passive subject
dep การพึ่งพาที่ไม่ระบุรายละเอียด
det ตัวกำหนด
det:numgov ปริมาณสรรพนามที่ใช้บังคับกรณีของคำนาม
det:nummod ตัวระบุปริมาณสรรพนามเห็นด้วยกับคำนาม
det: ครอบครอง ตัวกำหนดความเป็นเจ้าของ
วาทกรรม องค์ประกอบวาทกรรม
เคล็ด องค์ประกอบเคล็ด
อธิบาย คำสบถ
expl:impers คำสบถไม่มีตัวตน
expl:pass สรรพนามสะท้อนกลับที่ใช้ในเชิงโต้ตอบ
expl:pv คลิติกสะท้อนกับกริยาสะท้อนโดยเนื้อแท้
แก้ไขแล้ว นิพจน์หลายคำคงที่
แบน นิพจน์หลายคำแบน
แบน:ต่างประเทศ คำต่างประเทศ
แบน:ชื่อ ชื่อ
ไปกับ ไปกับ
iobj วัตถุทางอ้อม
รายการ รายการ
เครื่องหมาย เครื่องหมาย
nmod ตัวแก้ไขเล็กน้อย
nmod:poss ตัวดัดแปลงนามแสดงความเป็นเจ้าของ
nmod:tmod ตัวดัดแปลงชั่วคราว
นซับจ เรื่องเล็กน้อย
nsubj:pass หัวเรื่องนามแฝง
nummod ตัวแก้ไขตัวเลข
nummod:gov ตัวแก้ไขตัวเลขที่ใช้กับกรณีของคำนาม
วัตถุ วัตถุ
obl ชื่อเฉียง
obl:ตัวแทน ตัวแก้ไขตัวแทน
obl:arg อาร์กิวเมนต์เฉียง
obl:lmod ตัวแก้ไขตำแหน่ง
obl:tmod ตัวดัดแปลงชั่วคราว
เด็กกำพร้า เด็กกำพร้า
พาราแทกซิส พาราแทกซิส
เจาะ เครื่องหมายวรรคตอน
ประณาม ความโกลาหลที่ถูกแทนที่
ราก ราก
อาชีวะ อาชีวะ
xcomp ส่วนประกอบที่เปิดกว้าง

การแยกวิเคราะห์การพึ่งพาโดยใช้NLTK

การแยกวิเคราะห์การพึ่งพาสามารถทำได้โดยใช้แพ็คเกจ Natural Language Toolkit (NLTK) ซึ่งเป็นชุดของไลบรารีและรหัสที่ใช้ในการประมวลผลภาษาธรรมชาติทางสถิติ (NLP) ของภาษามนุษย์

เราสามารถใช้ NLTK เพื่อแยกวิเคราะห์การพึ่งพาได้ด้วยวิธีใดวิธีหนึ่งต่อไปนี้:

  1. ตัวแยกวิเคราะห์การพึ่งพาโปรเจ็กต์และโปรเจ็กต์ : ตัวแยกวิเคราะห์เหล่านี้ใช้ความรู้ภาษามนุษย์ที่รวบรวมจากประโยคที่แยกวิเคราะห์ด้วยมือเพื่อทำนายประโยคใหม่ เป็นที่ทราบกันดีว่าพวกเขาทำผิดพลาดและทำงานกับชุดข้อมูลการฝึกอบรมที่จำกัด
  2. Stanford parser : นี่คือโปรแกรมแยกวิเคราะห์ภาษาธรรมชาติที่ใช้งานบน Java คุณต้องใช้ ตัวแยกวิเคราะห์ Stanford CoreNLP เพื่อดำเนินการแยกวิเคราะห์การขึ้นต่อกัน parser มีหลายภาษา ได้แก่ อังกฤษ จีน เยอรมัน และอาหรับ

คุณสามารถใช้ parser ได้ด้วยวิธีต่อไปนี้

จาก nltk.parse.stanford นำเข้า StanfordDependencyParser

path_jar = 'path_to/stanford-parser-full-2014-08-27/stanford-parser.jar'

path_models_jar = 'path_to/stanford-parser-full-2014-08-27/stanford-parser-3.4.1-models.jar'

dep_parser = StanfordDependencyParser (

path_to_jar = path_jar, path_to_models_jar = path_models_jar

)

result = dep_parser.raw_parse('ฉันยิงช้างขณะหลับ')

การพึ่งพา = result.next()

รายการ (การพึ่งพา. สามเท่า ())

ผลลัพธ์ของโปรแกรมข้างต้นเป็นดังนี้:

[

((u'shot', u'VBD'), u'nsubj', (u'I', u'PRP')),

((u'shot', u'VBD'), u'dobj', (u'elephant', u'NN')),

((u'elephant', u'NN'), u'det', (u'an', u'DT')),

((u'shot', u'VBD'), u'prep', (u'in', u'IN')),

((u'in', u'IN'), u'pobj', (u'sleep', u'NN')),

((u'sleep', u'NN'), u'poss', (u'my', u'PRP$'))

]

การแยกเขตเลือกตั้ง

การแยกวิเคราะห์การเลือกตั้งจะขึ้นอยู่กับไวยากรณ์ที่ปราศจากบริบท ในที่นี้ parse tree มีประโยคที่แบ่งออกเป็นวลีย่อย ซึ่งแต่ละประโยคอยู่ในหมวดหมู่ไวยากรณ์ ทุกหน่วยภาษาหรือคำในประโยคทำหน้าที่เป็นโหนดปลายทางซึ่งมีโหนดหลักและแท็กส่วนหนึ่งของคำพูด

ตัวอย่างเช่น วลี "a cat" และ "a box under the bed" เป็นคำนามวลี ในขณะที่ "write a letter" และ "drive a car" เป็นคำกริยาวลี

ลองพิจารณาประโยคตัวอย่าง ฉันยิงช้างในชุดนอน” นี่คือการแสดงกราฟิกของแผนผังการแยกวิเคราะห์การเลือกตั้ง:

แหล่งที่มา

ต้นไม้แยกทางซ้ายหมายถึงการยิงช้างที่สวมชุดนอน และต้นพาร์สทางด้านขวาแสดงว่าตัวแบบกำลังยิงช้างขณะอยู่ในชุดนอนของเขา

ประโยคทั้งหมดแบ่งออกเป็นขั้นตอนย่อยจนกว่าเราจะมีคำสุดท้ายที่เหลืออยู่ VP หมายถึงวลีคำกริยาและ NP หมายถึงวลีคำนาม

การแยกวิเคราะห์การพึ่งพาและการแยกวิเคราะห์การเลือกตั้ง

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

หากเป้าหมายของคุณคือการแบ่งประโยคออกเป็นวลีย่อย คุณควรนำการแยกวิเคราะห์การเลือกตั้งไปใช้ อย่างไรก็ตาม หากคุณต้องการสำรวจการพึ่งพาระหว่างคำในประโยค คุณควรใช้การแยกวิเคราะห์การพึ่งพา

ชำระเงิน: แนวคิดและหัวข้อโครงการ NLP

บทสรุป

หากคุณพบว่าบทความนี้มีประโยชน์ คุณควรตรวจสอบการ รับรอง PG 6 เดือนของ upGrad ในการเรียนรู้ของเครื่องและ NLP ที่ให้คำปรึกษาส่วนบุคคลจากผู้เชี่ยวชาญในอุตสาหกรรมของ Flipkart, Gramener และ Zee5

โปรแกรมนี้ออกแบบมาสำหรับวิศวกร ซอฟต์แวร์/ IT, Data และมืออาชีพอื่นๆ ที่ต้องการตั้งหลักใน Data Science และ Machine Learning Post Graduate Certification จาก IIIT BBangalorethe เสนอการขึ้นเงินเดือนโดยเฉลี่ย 58% ทั้งหมดที่คุณต้องใช้เพื่อให้ได้ตำแหน่งขั้นสูงของ Data Analyst, Data Scientist, ML Engineer และ NLP Engineer ในบริษัทชั้นนำ ปิดกั้นที่นั่งของคุณวันนี้ ในราคาเพียง 399 บาท 3,034 ต่อเดือน!

การใช้การแยกวิเคราะห์การพึ่งพาใน NLP คืออะไร?

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

แอปพลิเคชันของการแยกวิเคราะห์การพึ่งพาคืออะไร?

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

อะไรคือความแตกต่างพื้นฐานระหว่างการแยกวิเคราะห์วากยสัมพันธ์และการแยกวิเคราะห์การพึ่งพา?

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