ฉันกำลังมองหาข้อมูลและทฤษฎีเกี่ยวกับวิธีการเข้าถึงหัวข้อคำศัพท์
สมมติว่าฉันมีชุดของสตริงซึ่งอาจเป็นเพียงประโยคเดียวหรือหลายประโยค ฉันต้องการแยกสตริงเหล่านี้และตัดคำที่สำคัญที่สุดออกมาด้วยคะแนนที่แสดงว่าคำนั้นมีความสำคัญอย่างไร
ลองดูตัวอย่างเล็ก ๆ น้อย ๆ ของสิ่งที่ฉันหมายถึง
ตัวอย่าง # 1:
"ฉันต้องการ Keurig จริงๆ แต่ฉันไม่สามารถซื้อได้!"
นี่เป็นตัวอย่างพื้นฐานมากเพียงหนึ่งประโยค ในฐานะมนุษย์ฉันเห็นได้อย่างง่ายดายว่า "Keurig" เป็นคำที่สำคัญที่สุดที่นี่ นอกจากนี้ "จ่าย" ก็มีความสำคัญเช่นกันแม้ว่าจะไม่ชัดเจนว่าเป็นจุดเริ่มต้นของประโยค คำว่า "ฉัน" ปรากฏขึ้นสองครั้ง แต่มันก็ไม่สำคัญเลยเพราะมันไม่ได้บอกข้อมูลใด ๆ แก่เรา ฉันอาจคาดหวังว่าจะได้เห็นคำพูด / คะแนนแบบนี้:
"Keurig" => 0.9
"afford" => 0.4
"want" => 0.2
"really" => 0.1
etc...
ตัวอย่างที่ 2:
"แค่หนึ่งในวิธีการว่ายน้ำที่ดีที่สุดในชีวิตของฉันฉันหวังว่าฉันจะสามารถรักษาเวลาของฉันให้แข่งขันได้ถ้าฉันจำได้ว่าต้องใช้นาฬิกาที่ไม่กันน้ำ"
ตัวอย่างนี้มีหลายประโยคดังนั้นจะมีคำที่สำคัญมากกว่านี้ตลอด โดยไม่ต้องทำซ้ำแบบฝึกหัดจากตัวอย่างที่ 1 ฉันอาจคาดหวังว่าจะเห็นสองหรือสามคำที่สำคัญจริงๆออกมาจากนี้: "ว่ายน้ำ" (หรือ "ฝึกว่ายน้ำ") "แข่งขัน" และ "ดู" (กันน้ำ) นาฬิกา "หรือ" นาฬิกาที่ไม่กันน้ำ "ขึ้นอยู่กับวิธีการใช้ยัติภังค์)
เมื่อยกตัวอย่างเช่นนี้คุณจะทำสิ่งที่คล้ายกันอย่างไร มีไลบรารีหรืออัลกอริทึม (โอเพ่นซอร์ส) ที่มีอยู่ในการเขียนโปรแกรมที่ทำสิ่งนี้อยู่แล้วหรือไม่?