NLP - ทำไม "ไม่" เป็นคำหยุด


18

ฉันพยายามลบคำหยุดก่อนที่จะทำการสร้างแบบจำลองหัวข้อ ฉันสังเกตเห็นว่าบางคำที่ถูกปฏิเสธ (ไม่ใช่, ไม่, ไม่, ไม่เคยมี ฯลฯ ) ถือเป็นคำที่หยุด ตัวอย่างเช่น NLTK, spacy และ sklearn รวมถึง "not" ในรายการคำที่หยุด อย่างไรก็ตามหากเราลบ "ไม่" ออกจากประโยคด้านล่างพวกเขาจะสูญเสียความหมายที่สำคัญและนั่นจะไม่ถูกต้องสำหรับการสร้างแบบจำลองหัวข้อหรือการวิเคราะห์ความเชื่อมั่น

1). StackOverflow is helpful      => StackOverflow helpful
2). StackOverflow is not helpful  => StackOverflow helpful

ใครช่วยอธิบายหน่อยได้ไหมว่าทำไมคำคัดค้านเหล่านี้จึงถูกพิจารณาว่าเป็นคำที่หยุด?


2
หากคุณกำลังทำการวิเคราะห์เชิงความหมายของประโยคความเชื่อมโยงทางตรรกะอย่างชัดเจนมีความสำคัญ: (1) iff ไม่ (2) หากคุณตั้งใจจะทำแบบจำลองตรรกะของประโยคเหล่านี้ให้ออกจากกระเป๋าหยุด พวกเขามักจะถูกโยนลงไปที่นั่นเพราะจากมุมมองการขุดข้อมูลการปรากฏตัวของ 'ไม่' ในเอกสารจะไม่บอกเราเกี่ยวกับหัวข้อมากนักเพื่อช่วยให้เราแยกความแตกต่างจากเอกสารอื่น ๆ มันหายากไม่พอ อาจมีสาเหตุอื่นที่ทำให้ไม่สนใจงานเหล่านี้ใน nlp
หูหนาน Rostomyan

คำตอบ:


20

คำที่มักหยุดคิดว่าเป็น "คำที่พบบ่อยที่สุดในภาษา" อย่างไรก็ตามคำจำกัดความอื่น ๆ ตามงานที่แตกต่างกันเป็นไปได้

มันชัดเจนว่าควรพิจารณา 'ไม่' เป็นคำหยุดถ้างานของคุณขึ้นอยู่กับความถี่ของคำ(เช่นการวิเคราะห์tf – idfสำหรับการจำแนกเอกสาร)

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

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