ชุดเครื่องมือภาษาธรรมชาติ - บทนำ
Natural Language Processing (NLP) คืออะไร?
วิธีการสื่อสารด้วยความช่วยเหลือที่มนุษย์สามารถพูดอ่านเขียนได้คือภาษา กล่าวอีกนัยหนึ่งคือมนุษย์เราสามารถคิดวางแผนตัดสินใจด้วยภาษาธรรมชาติของเรา คำถามใหญ่คือในยุคของปัญญาประดิษฐ์การเรียนรู้ของเครื่องและการเรียนรู้เชิงลึกมนุษย์สามารถสื่อสารด้วยภาษาธรรมชาติกับคอมพิวเตอร์ / เครื่องจักรได้หรือไม่? การพัฒนาแอปพลิเคชัน NLP ถือเป็นความท้าทายอย่างมากสำหรับเราเนื่องจากคอมพิวเตอร์ต้องการข้อมูลที่มีโครงสร้าง แต่ในทางกลับกันคำพูดของมนุษย์ไม่มีโครงสร้างและมักมีความคลุมเครือ
ภาษาธรรมชาติเป็นสาขาย่อยของวิทยาการคอมพิวเตอร์โดยเฉพาะของ AI ซึ่งช่วยให้คอมพิวเตอร์ / เครื่องจักรเข้าใจประมวลผลและจัดการกับภาษาของมนุษย์ได้ กล่าวง่ายๆว่า NLP เป็นวิธีการหนึ่งของเครื่องจักรในการวิเคราะห์ทำความเข้าใจและรับความหมายจากภาษาธรรมชาติของมนุษย์เช่นภาษาฮินดีอังกฤษฝรั่งเศสดัตช์เป็นต้น
มันทำงานอย่างไร?
ก่อนที่จะดำน้ำลึกลงไปในการทำงานของ NLP เราต้องเข้าใจว่ามนุษย์ใช้ภาษาอย่างไร ทุกวันมนุษย์เราใช้คำศัพท์เป็นร้อยเป็นพันคำและมนุษย์คนอื่น ๆ ก็ตีความและตอบตามนั้น มันเป็นการสื่อสารที่ง่ายสำหรับมนุษย์ไม่ใช่เหรอ? แต่เรารู้ว่าคำต่างๆมีความลึกซึ้งมากกว่านั้นมากและเราได้บริบทมาจากสิ่งที่เราพูดและวิธีที่เราพูดเสมอ นั่นเป็นเหตุผลที่เราสามารถพูดได้แทนที่จะมุ่งเน้นไปที่การมอดูเลตเสียง NLP จะวาดรูปแบบตามบริบท
ให้เราเข้าใจด้วยตัวอย่าง -
Man is to woman as king is to what?
We can interpret it easily and answer as follows:
Man relates to king, so woman can relate to queen.
Hence the answer is Queen.
มนุษย์รู้ได้อย่างไรว่าคำว่าอะไรหมายถึงอะไร? คำตอบสำหรับคำถามนี้คือเราเรียนรู้ผ่านประสบการณ์ของเรา แต่เครื่องจักร / คอมพิวเตอร์เรียนรู้เหมือนกันได้อย่างไร?
ให้เราเข้าใจด้วยขั้นตอนง่ายๆดังต่อไปนี้ -
อันดับแรกเราต้องป้อนข้อมูลให้เครื่องจักรเพียงพอเพื่อให้เครื่องจักรสามารถเรียนรู้จากประสบการณ์ได้
จากนั้นเครื่องจะสร้างเวกเตอร์คำโดยใช้อัลกอริทึมการเรียนรู้เชิงลึกจากข้อมูลที่เราป้อนก่อนหน้านี้และจากข้อมูลรอบข้าง
จากนั้นด้วยการดำเนินการเกี่ยวกับพีชคณิตอย่างง่ายบนเวกเตอร์คำเหล่านี้เครื่องจักรจะสามารถให้คำตอบในฐานะมนุษย์ได้
ส่วนประกอบของ NLP
แผนภาพต่อไปนี้แสดงถึงส่วนประกอบของการประมวลผลภาษาธรรมชาติ (NLP) -
![](https://post.nghiatu.com/assets/tutorial/natural_language_toolkit/images/components.jpg)
การประมวลผลทางสัณฐานวิทยา
การประมวลผลทางสัณฐานวิทยาเป็นองค์ประกอบแรกของ NLP รวมถึงการแบ่งส่วนของการป้อนภาษาออกเป็นชุดโทเค็นที่สอดคล้องกับย่อหน้าประโยคและคำ ตัวอย่างเช่นคำเช่น“everyday” สามารถแบ่งออกเป็นโทเค็นสองคำย่อยเป็น “every-day”.
การวิเคราะห์ไวยากรณ์
การวิเคราะห์ไวยากรณ์ซึ่งเป็นองค์ประกอบที่สองเป็นองค์ประกอบที่สำคัญที่สุดอย่างหนึ่งของ NLP วัตถุประสงค์ของส่วนประกอบนี้มีดังนี้ -
เพื่อตรวจสอบว่ามีรูปประโยคที่ดีหรือไม่
เพื่อแยกเป็นโครงสร้างที่แสดงความสัมพันธ์ทางวากยสัมพันธ์ระหว่างคำต่างๆ
เช่นประโยคเช่น “The school goes to the student” จะถูกปฏิเสธโดยตัววิเคราะห์ไวยากรณ์
การวิเคราะห์ความหมาย
การวิเคราะห์ความหมายเป็นองค์ประกอบที่สามของ NLP ซึ่งใช้เพื่อตรวจสอบความหมายของข้อความ รวมถึงการวาดความหมายที่แน่นอนหรือเราสามารถพูดความหมายตามพจนานุกรมจากข้อความ เช่นประโยคเช่น“ มันคือไอศกรีมร้อน” จะถูกทิ้งโดยเครื่องวิเคราะห์ความหมาย
การวิเคราะห์เชิงปฏิบัติ
การวิเคราะห์เชิงปฏิบัติเป็นองค์ประกอบที่สี่ของ NLP รวมถึงการปรับวัตถุจริงหรือเหตุการณ์ที่มีอยู่ในแต่ละบริบทด้วยการอ้างอิงวัตถุที่ได้รับจากส่วนประกอบก่อนหน้านี้เช่นการวิเคราะห์เชิงความหมาย เช่นประโยคเช่น“Put the fruits in the basket on the table” สามารถมีการตีความเชิงความหมายได้สองแบบดังนั้นตัววิเคราะห์เชิงปฏิบัติจะเลือกระหว่างความเป็นไปได้ทั้งสองนี้
ตัวอย่างแอปพลิเคชัน NLP
NLP ซึ่งเป็นเทคโนโลยีที่เกิดขึ้นใหม่ได้รับ AI ในรูปแบบต่างๆที่เราเคยเห็นในปัจจุบัน สำหรับแอปพลิเคชันด้านความรู้ความเข้าใจที่เพิ่มมากขึ้นในปัจจุบันและอนาคตการใช้ NLP ในการสร้างอินเทอร์เฟซแบบโต้ตอบระหว่างมนุษย์และเครื่องจักรจะยังคงเป็นสิ่งสำคัญอันดับต้น ๆ ต่อไปนี้เป็นแอพพลิเคชั่นที่มีประโยชน์มากของ NLP
การแปลด้วยเครื่อง
การแปลด้วยเครื่อง (MT) เป็นหนึ่งในแอปพลิเคชั่นที่สำคัญที่สุดของการประมวลผลภาษาธรรมชาติ MT เป็นกระบวนการแปลภาษาต้นฉบับหนึ่งหรือข้อความเป็นภาษาอื่น ระบบการแปลด้วยเครื่องสามารถเป็นได้ทั้งสองภาษาหรือหลายภาษา
การต่อสู้กับสแปม
เนื่องจากมีอีเมลที่ไม่ต้องการเพิ่มขึ้นอย่างมากตัวกรองสแปมจึงมีความสำคัญเนื่องจากเป็นด่านแรกในการป้องกันปัญหานี้ ด้วยการพิจารณาประเด็นเท็จบวกและลบเท็จเป็นประเด็นหลักฟังก์ชันการทำงานของ NLP สามารถใช้เพื่อพัฒนาระบบกรองสแปมได้
N-gram modeling, Word Stemming และ Bayesian คือโมเดล NLP ที่มีอยู่ซึ่งสามารถใช้สำหรับการกรองสแปมได้
การดึงข้อมูลและการค้นหาเว็บ
เครื่องมือค้นหาส่วนใหญ่เช่น Google, Yahoo, Bing, WolframAlpha ฯลฯ ใช้เทคโนโลยีการแปลด้วยเครื่อง (MT) บนโมเดลการเรียนรู้เชิงลึกของ NLP แบบจำลองการเรียนรู้เชิงลึกดังกล่าวช่วยให้อัลกอริทึมสามารถอ่านข้อความบนหน้าเว็บแปลความหมายและแปลเป็นภาษาอื่นได้
สรุปข้อความอัตโนมัติ
การสรุปข้อความอัตโนมัติเป็นเทคนิคที่สร้างการสรุปเอกสารข้อความที่ยาวและสั้นและถูกต้อง ดังนั้นจึงช่วยให้เราได้รับข้อมูลที่เกี่ยวข้องโดยใช้เวลาน้อยลง ในยุคดิจิทัลนี้เรากำลังต้องการการสรุปข้อความอัตโนมัติอย่างมากเนื่องจากเรามีข้อมูลมากมายทางอินเทอร์เน็ตซึ่งจะไม่หยุดนิ่ง NLP และฟังก์ชันการทำงานมีบทบาทสำคัญในการพัฒนาการสรุปข้อความอัตโนมัติ
การแก้ไขไวยากรณ์
การแก้ไขการสะกดคำและการแก้ไขไวยากรณ์เป็นคุณสมบัติที่มีประโยชน์มากของซอฟต์แวร์ประมวลผลคำเช่น Microsoft Word การประมวลผลภาษาธรรมชาติ (NLP) ถูกนำมาใช้กันอย่างแพร่หลายเพื่อจุดประสงค์นี้
ถาม - ตอบ
การตอบคำถามซึ่งเป็นอีกหนึ่งแอปพลิเคชันหลักของการประมวลผลภาษาธรรมชาติ (NLP) มุ่งเน้นไปที่ระบบการสร้างซึ่งจะตอบคำถามที่โพสต์โดยผู้ใช้โดยอัตโนมัติในภาษาธรรมชาติของพวกเขา
การวิเคราะห์ความเชื่อมั่น
การวิเคราะห์ความรู้สึกเป็นหนึ่งในแอปพลิเคชันที่สำคัญอื่น ๆ ของการประมวลผลภาษาธรรมชาติ (NLP) ตามชื่อของมันการวิเคราะห์ความรู้สึกถูกใช้เพื่อ -
ระบุความรู้สึกในหลาย ๆ โพสต์และ
ระบุความรู้สึกที่ไม่ได้แสดงออกอย่างชัดเจน
บริษัท อีคอมเมิร์ซออนไลน์เช่น Amazon, ebay ฯลฯ กำลังใช้การวิเคราะห์ความรู้สึกเพื่อระบุความคิดเห็นและความรู้สึกของลูกค้าทางออนไลน์ ซึ่งจะช่วยให้เข้าใจว่าลูกค้าคิดอย่างไรเกี่ยวกับผลิตภัณฑ์และบริการของตน
เครื่องมือพูด
เอ็นจิ้นการพูดเช่น Siri, Google Voice, Alexa สร้างขึ้นบน NLP เพื่อให้เราสามารถสื่อสารกับพวกเขาด้วยภาษาธรรมชาติของเรา
การนำ NLP ไปใช้
ในการสร้างแอปพลิเคชันดังกล่าวข้างต้นเราจำเป็นต้องมีชุดทักษะเฉพาะพร้อมกับความเข้าใจภาษาและเครื่องมือที่ดีเยี่ยมเพื่อประมวลผลภาษาได้อย่างมีประสิทธิภาพ เพื่อให้บรรลุเป้าหมายนี้เรามีเครื่องมือโอเพนซอร์สมากมาย บางส่วนเป็นแบบโอเพ่นซอร์สในขณะที่องค์กรอื่น ๆ ได้รับการพัฒนาโดยองค์กรเพื่อสร้างแอปพลิเคชัน NLP ของตนเอง ต่อไปนี้เป็นรายการเครื่องมือ NLP -
ชุดเครื่องมือภาษาธรรมชาติ (NLTK)
Mallet
GATE
เปิด NLP
UIMA
Genism
ชุดเครื่องมือ Stanford
เครื่องมือเหล่านี้ส่วนใหญ่เขียนด้วยภาษาจาวา
ชุดเครื่องมือภาษาธรรมชาติ (NLTK)
ในบรรดาเครื่องมือ NLP ที่กล่าวมาข้างต้น NLTK ได้คะแนนสูงมากเมื่อพูดถึงความสะดวกในการใช้งานและคำอธิบายของแนวคิด เส้นโค้งการเรียนรู้ของ Python นั้นเร็วมากและ NLTK เขียนด้วย Python ดังนั้น NLTK จึงมีชุดการเรียนรู้ที่ดีมากเช่นกัน NLTK ได้รวมงานส่วนใหญ่ไว้ด้วยกันเช่น tokenization, stemming, Lemmatization, Punctuation, Character Count และ Word count มีความสง่างามและใช้งานง่าย