ฉันจะแยกคำออกจากประโยคและกำหนดว่าแต่ละส่วนของคำพูดคืออะไร? [ปิด]


19

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

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

สวัสดีชาวโลกฉันเป็นประโยคหนึ่ง

จะกลับมานี้

verb noun, pronoun verb adjective noun

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

ดังนั้นคำถามของฉันคือมีคนได้ยินบางสิ่งเช่นนี้หรือไม่?


2
"Hello" เป็นคำกริยาหรือไม่ ฉันหมายความว่าฉันไม่รู้ว่ามันจะเป็นอะไร แต่ดูเหมือนว่ามันจะไม่เป็นคำกริยา
Dan Ray

@DanRay: อาจเป็นคำถามสำหรับ english.stackexchange.com
StriplingWarrior

1
@DayRay ฮ่าฮ่าคุณเห็นมั้ย นั่นเป็นสาเหตุที่ฉันลองคิดดูว่ามีอะไรที่สามารถทำสิ่งนี้ได้หรือเปล่า
Vinny

@Vinny - แน่นอนมันเป็นไปได้ ปัญหาคือ ... นี่เป็นแนวคิดต่อไปของเงินล้านล้านดอลลาร์และในเวลานี้มันยังไม่ได้ถูกนำมาผลิตเป็นผลิตภัณฑ์
Ramhound

1
@ วินนี่ใช่มีคนเคยได้ยินเรื่องแบบนี้
Tulains Córdova

คำตอบ:


18

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

สิ่งนี้ทำให้ท้าทาย: "ควายควายควายควายควายควายควาย"

ประโยคที่ถูกต้องตามหลักไวยากรณ์ในภาษาอังกฤษแบบอเมริกันใช้เป็นตัวอย่างของวิธีการใช้ homonyms และ homophones ในการสร้างโครงสร้างทางภาษาที่ซับซ้อน มันได้รับการกล่าวถึงในวรรณคดีตั้งแต่ปี 1972 ... มันยังให้ความสำคัญในหนังสือของ Steven Pinker ในปี 1994 The Language Instinctเป็นตัวอย่างของประโยคที่ว่า "ไร้สาระดูเหมือน" แต่ไวยากรณ์ ...

ความหมายของประโยคจะชัดเจนขึ้นเมื่อเข้าใจว่าใช้เมืองบัฟฟาโลนิวยอร์กและคำกริยาที่ค่อนข้างแปลก "to buffalo" (หมายถึง "กลั่นแกล้งหรือข่มขู่") และเมื่อขยายเครื่องหมายวรรคตอนและไวยากรณ์เพื่อขยายประโยค อ่านดังนี้: "ควายควายที่ควายควาย, ควายควาย" ความหมายจะชัดเจนยิ่งขึ้นเมื่อมีการใช้คำพ้องความหมาย: "ควายควายที่ควายกระทิงควายตัวอื่นรังแกควายควายตัวเอง"


1
นี่คือสิ่งที่ฉันกำลังมองหา! มีใครได้ยินบ้างไหมว่ามีใครปรับตัวในระดับที่เล็กลง โอเพ่นซอร์ส? ตัวอย่างของการใช้สิ่งนี้ในเครื่องชั่งขนาดเล็ก?
Vinny

@Vinny AFAIK ไม่มีอะไรมากใน open source เนื่องจากการแก้ไขปัญหาเหล่านี้มีประโยชน์อย่างมากสำหรับ บริษัท ต่างๆเช่นการตรวจจับไวยากรณ์ MS Word มีบางโปรแกรมแชทบอทที่ฉันเชื่อว่ามีอยู่
Ryathal

1
@Vinny มันยากที่จะทำอะไรกับเกล็ด การประมวลผลภาษาธรรมชาติมีความซับซ้อนโดยธรรมชาติซึ่งไม่ได้ลดลงเมื่อคุณลด "สเกล"
Tulains Córdova

6

แม้ว่าการแบ่งประโยคและการกำหนดความถูกต้องทางไวยากรณ์พร้อมกับการแก้ปัญหาแรกของคุณนั้นง่ายกว่าปัญหาที่สองของคุณความซับซ้อนหลายอย่างเช่นคำนามคำกริยาหรือคำนามคำกริยาเช่นคำว่ายน้ำการเขียนโปรแกรม ฯลฯ และความซับซ้อนอื่น ๆ ตอบ.

แต่ปัญหาที่สองของคุณ - ผู้คนต่างพยายามอย่างมากที่จะหาทางออกที่สมบูรณ์แบบ แต่อัลกอริทึม "การตีความ" ที่สมบูรณ์แบบนั้นไม่สามารถใช้งานได้จริงสำหรับภาษาธรรมชาติใด ๆ เช่นภาษาอังกฤษ - มีการเปลี่ยนแปลงที่จะทำให้อัลกอริทึมของคุณสับสน สาขานี้ - ไฮบริดระหว่างเอไอวิทยาศาสตร์คอมพิวเตอร์และภาษาศาสตร์เป็นที่รู้จักกันNLP พิจารณาสิ่งนี้: แม้แต่ Google Translate ก็ยังไม่สมบูรณ์แบบเมื่อประโยค "การตีความ"

แต่อย่างไรก็ตามนี่เป็นสนามที่น่าสนใจมากที่จะตะลุยกับ


@StriplingWarrior ฉันแค่ต้องการเปรียบเทียบความแตกต่างระหว่างสองปัญหาที่เกิดจาก OP ข้อสังเกต. แก้ไขระหว่างทาง
yati sagade

4

ฉันคิดว่าคุณควรเริ่มอ่านบทความ Wikipedia นี้:

http://en.wikipedia.org/wiki/Part-of-speech_tagging

(เป็นฟิลด์การวิจัยอย่าคาดหวังว่าจะมีวิธีแก้ปัญหาที่ง่ายสำหรับมัน)


2
ควรเพิ่มว่าในขณะที่ NLP มีขนาดใหญ่หนักและอาจเป็นไปไม่ได้ในคอมพิวเตอร์ของวันนี้การติดแท็ก POS เป็นส่วนที่ง่ายที่สุดของมันและด้วยขนาดของคลังข้อมูลที่เพียงพอหรือการอุทิศและการเขียนกฎด้วยตนเองจำนวนมาก ความถูกต้องสูงกว่า 99% อย่างแน่นอน นั่นอาจเพียงพอสำหรับความต้องการของคุณ
Kilian Foth

ขอบคุณนี่คือสิ่งที่ฉันกำลังค้นหาด้วย
Amc_rtty

ตามจริงแล้วคำอธิบายของ OP ควรเป็นคำตอบที่ได้รับการยอมรับเนื่องจากคุณสังเกต @KilianFoth ได้อย่างถูกต้อง
Amc_rtty

-1

วิธีที่ถูกในการทำเช่นนี้คือการตั้งค่าฐานข้อมูลของพจนานุกรม (ฉันเกือบจะเป็นบวกที่มีคนทำสิ่งนี้)

ต้องการสองฟิลด์ในตาราง: wordและusage

เปลี่ยนวลีให้เป็นอาร์เรย์ของสตริง (แต่ละคำเป็นสตริง) และเป็นอิสระ:

select 'usage' from Dictionary WHERE 'word' = $word; 

มันเป็นทางออกที่หนักหน่วง แต่เป็นสิ่งที่ฉันเคยใช้ในอดีต


5
นี่ถือว่าทุกคำมี POS เพียงคำเดียวที่เป็นไปได้และฉันรับรองว่านั่นไม่ใช่กรณี
microtherion

เห็นด้วย - ไม่มีทางที่สิ่งนี้จะเป็นไปได้ (อย่างน้อยในภาษาอังกฤษ) เป็นไปได้กับคำทั้งหมดที่สามารถทำหน้าที่เป็นคำนามคำกริยา ฯลฯ ขึ้นอยู่กับบริบท
Derek
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.