โครงการ NLP อันดับต้น ๆ บน Github คุณควรลงมือทำ [2022]

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

ปัญญาประดิษฐ์มีหลายสาขา ซึ่งการประมวลผลภาษาธรรมชาติ (NLP) ได้กลายเป็นเครื่องมือยุคใหม่ที่ทรงพลัง NLP ย้อนกลับไปในปี 1950 เมื่อ Alan Turing เผยแพร่บทความเรื่อง " Computing Machinery and Intelligence " ซึ่งเสนอการทดสอบ (ปัจจุบันรู้จักกันในชื่อการ ทดสอบทัวริง ) ที่เกี่ยวข้องกับการตีความอัตโนมัติและการสร้างภาษามนุษย์ตามธรรมชาติ ถึงกระนั้นก็ตาม NLP เพิ่งได้รับการยอมรับและความนิยมไปทั่วโลกเมื่อไม่นานมานี้

สารบัญ

การประมวลผลภาษาธรรมชาติคืออะไร?

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

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

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

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

ในบทความนี้ เราจะแสดงรายการ 12 โครงการ NLP บน GitHub เพื่อสร้างแรงบันดาลใจให้คุณ! การทำงานในโครงการเหล่านี้จะช่วยเสริมสร้างความรู้ในโดเมนของคุณและเพิ่มพูนทักษะในโลกแห่งความเป็นจริงของคุณ

โครงการ GitHub NLP ยอดนิยม

1. การระบุการถอดความ

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

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

2. ความคล้ายคลึงของเอกสาร

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

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

3. การทำนายข้อความ

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

โปรเจ็กต์ใช้ตัวประมาณความน่าจะเป็นสูงสุดโดยมี Kneser Ney Smoothing เป็นแบบจำลองการทำนาย การคาดคะเนได้รับการออกแบบในการรวบรวมคำที่จัดเก็บไว้ในฐานข้อมูลที่ใช้สำหรับการฝึกโมเดล คุณสามารถค้นหาชุดทรัพยากรทั้งหมดสำหรับโปรเจ็กต์นี้ได้ที่ GitHub

4. ศาสตร์แห่งอัจฉริยะ

โครงการนี้เป็นส่วนหนึ่งของโครงการ Science of Success จุดมุ่งหมายในที่นี้คือการพิจารณาว่าปัจจัยด้านคำศัพท์เฉพาะสามารถบ่งบอกถึงความสนใจที่บทความได้รับหรือไม่ โดยวัดโดยดัชนีการอ้างอิงที่เป็นมาตรฐาน โดยใช้โฮสต์ของวิทยาศาสตร์ข้อมูลและเครื่องมือวิเคราะห์ NLP

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

5. ดึงความรู้สึกหุ้นออกจากหัวข้อข่าว

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

6. บอทอัจฉริยะ

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

ตัวอย่างเช่น หากคุณต้องการสืบค้นบทความ Wikipedia คุณสามารถใช้เทมเพลต “บอกฉันเกี่ยวกับ XYZ” และถามคำถามที่คล้ายกันต่อไปเมื่อมีการสร้างบริบทแล้ว อีกครั้ง คุณสามารถสืบค้นหน้าเว็บโดยระบุ URL ของหน้าเป็นแหล่งที่มา เช่น “ https://www.microsoft.com/en-us/software-download/faq วิธีนี้ใช้ได้ผลดีกับหน้าคำถามที่พบบ่อยและถามตอบ

7. CitesCyVerse

โครงการ CitesCyVerse ได้รับการออกแบบบน The Science Citation Knowledge Extractor CitesCyVerse เป็นเครื่องมือโอเพนซอร์ซที่ใช้ประโยชน์จาก Machine Learning และ NLP เพื่อช่วยให้นักวิจัยด้านชีวการแพทย์เข้าใจวิธีที่ผู้อื่นใช้ผลงานของตนโดยการวิเคราะห์เนื้อหาในบทความที่อ้างอิงถึงพวกเขา ด้วยการใช้ ML และ NLP CitesCyVerse จะแยกประเด็นสำคัญและแนวคิดที่กล่าวถึงในเอกสารอ้างอิง สิ่งนี้ทำให้นักวิจัยเข้าใจได้ดีขึ้นว่างานของพวกเขามีอิทธิพลต่อผู้อื่นในชุมชนวิทยาศาสตร์อย่างไร

CitesCyVerse รวม WordClouds ที่สร้างเมฆใหม่จากคำที่คล้ายกันที่กล่าวถึงในเอกสารอ้างอิง นอกจากนี้ยังมีหัวข้อที่ให้คุณสำรวจหัวข้อยอดนิยมสำหรับบทความและสิ่งพิมพ์ที่อ้างถึง CyVerse

8. Data Science Capstone – สคริปต์การประมวลผลข้อมูล

ในโครงการหลัก Data Science คุณจะใช้สคริปต์การประมวลผลข้อมูลเพื่อสาธิตวิศวกรรมข้อมูลแทนการสร้างแบบจำลอง n-gram สคริปต์เหล่านี้สามารถประมวลผลคลังข้อมูลทั้งหมดเพื่อสร้าง n-gram และการนับได้ คุณสามารถใช้ข้อมูลนี้เพื่อพัฒนาอัลกอริธึมข้อความคาดเดาได้

ในการสร้างโปรเจ็กต์นี้ คุณจะต้องใช้ระบบดูอัลคอร์ (เนื่องจากสคริปต์ส่วนใหญ่เป็นเธรดเดี่ยว) ที่มี RAM อย่างน้อย 16GB สำหรับข้อกำหนดของซอฟต์แวร์ คุณต้องมี – Linux (ดีที่สุดหากทดสอบบน Ubuntu 14.04), Python (เวอร์ชัน 2.7), NLTK (เวอร์ชัน 3.0) และ NumPy

อ่าน: แนวคิดและหัวข้อโครงการประมวลผลภาษาธรรมชาติ

9. ตัวสร้างสคริปต์

นี่เป็นโครงการที่น่าตื่นเต้นที่คุณจะสร้าง RNN เพื่อสร้างสคริปต์ทีวีสำหรับรายการยอดนิยม The Simpsons โดยอิงจากชุดข้อมูลสคริปต์ของทั้ง 27 ซีซั่นของรายการ RNNs จะสร้างสคริปต์ใหม่สำหรับฉากเฉพาะที่ Moe's Tavern

โครงการสร้างสคริปต์เป็นส่วนหนึ่งของ Deep Learning Nanodegree ของ Udacity การดำเนินโครงการมีอยู่ใน: dlnd_tv_script_generation.ipynb

10. การทำนายหุ้น Reddit

โครงการนี้พยายามที่จะทำความเข้าใจว่าโพสต์บนโซเชียลมีเดียส่งผลต่อราคาหุ้นในอนาคตอย่างไร ที่นี่ เราจะศึกษาผลกระทบของการโพสต์บนโซเชียลมีเดียบน Reddit โดยเฉพาะ subreddits/forum ที่เน้นการลงทุน โดยใช้วิธีการวิเคราะห์ข้อความ

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

11. Me_Bot

นี่เป็นโปรเจ็กต์ NLP แสนสนุกที่คุณจะพัฒนาบอทชื่อ Me_Bot ที่จะใช้ประโยชน์จากการสนทนา WhatsApp ของคุณ เรียนรู้จากพวกเขา และพูดคุยกับคุณเหมือนกับที่คุณทำกับบุคคลอื่น โดยพื้นฐานแล้ว แนวคิดคือการสร้างบอทที่พูดเหมือนคุณ

คุณต้องส่งออกการแชท WhatsApp จากโทรศัพท์ของคุณและฝึกบ็อตเกี่ยวกับข้อมูลนี้ ในการทำเช่นนั้น คุณต้องไปที่ WhatsApp บนโทรศัพท์ของคุณ เลือกการสนทนาใดๆ และส่งออกจากการตั้งค่าของแอพ จากนั้น คุณสามารถเปลี่ยนไฟล์ “.txt” ที่สร้างไปยังโฟลเดอร์ Me_Bot

12. เครื่องวิเคราะห์อารมณ์คำพูด

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

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

อ่านเพิ่มเติม: การเรียนรู้เชิงลึกกับ NLP

บทสรุป

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

หากคุณต้องการพัฒนาทักษะ NLP คุณต้องลงมือทำโครงการ NLP เหล่านี้ หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับแมชชีนเลิร์นนิง โปรดดูที่ IIIT-B & upGrad's PG Diploma in Machine Learning & AI ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 450 ชั่วโมง กรณีศึกษาและการมอบหมายมากกว่า 30 รายการ IIIT- สถานะศิษย์เก่า B, 5+ โครงการหลักที่ใช้งานได้จริง & ความช่วยเหลือด้านงานกับบริษัทชั้นนำ

อะไรคือความท้าทายหลักของการประมวลผลภาษาธรรมชาติ?

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

NLP รุ่นใดให้ความแม่นยำสูงสุด

ความแม่นยำที่ดีที่สุดสำหรับโมเดล NLP ทำได้โดยการส่งข้อความผ่านชุดตัวกรองที่ซับซ้อนมากขึ้น ชั้นแรกคือการเอาคำหยุด เครื่องหมายวรรคตอน และตัวเลขออก หลังจากนั้น ควรสร้างข้อความทั้งหมดโดยใช้ Stemmer ของ Porter จากนั้นจึงแทนที่คำทั้งหมดด้วยรูปแบบย่อของคำเหล่านั้น จากนั้น ขั้นตอนสุดท้ายคือการลบคำใดๆ ที่ไม่มีอยู่ในคำศัพท์จำนวน 200,000 คำ

tokenization ใน NLP คืออะไร?

Tokenization คือกระบวนการแบ่งประโยคออกเป็นส่วนๆ ที่เรียกว่าโทเค็น หลังจากใช้กระบวนการแล้ว เราสามารถแยกความหมายหรือเจตนาของประโยคได้อย่างง่ายดาย Tokenization เสร็จสิ้นหลังจากทำการแยกประโยค ใน NLP โทเค็นจะใช้สำหรับการประมวลผล การจัดประเภท และการแสดงประโยคต่อไป งาน NLP บางอย่างที่เกี่ยวข้องกับการใช้โทเค็นคือการตรวจหาภาษา การแท็ก POS และการแยกวิเคราะห์