लेम्मेटाइजेशन बनाम स्टेमिंग के बीच अंतर क्या है?


131

मैं प्रत्येक का उपयोग कब करूं?

इसके अलावा ... एनएलटीके नींबूकरण भाषण के कुछ हिस्सों पर निर्भर है? अगर यह होता तो यह अधिक सटीक नहीं होता?


2
यह मेरे सिर पर है, लेकिन एक अजगर टैग क्यों है?
जिमी

7
@ जिमी: टैग किया गया अजगर बी / सी यह अजगर nltk पुस्तकालय के बारे में बात कर रहा है
3

2
यहाँ एक बढ़िया लेख है जो इस सटीक प्रश्न का
याकूब

जवाबों:


130

लघु और सघन: http://nlp.stanford.edu/IR-book/html/htmledition/stemming-and-lemmatization-1.html

स्टेमिंग और लेमेटाइजेशन दोनों का लक्ष्य विभक्ति रूपों को कम करना और कभी-कभी किसी शब्द के व्युत्पन्न रूप से संबंधित रूपों को एक सामान्य आधार रूप में देना है।

हालांकि, दो शब्द उनके स्वाद में भिन्न हैं। स्टेमिंग आम तौर पर एक क्रड हेयुरिस्टिक प्रक्रिया को संदर्भित करता है जो इस लक्ष्य को सही ढंग से प्राप्त करने की उम्मीद में शब्दों के सिरों को काट देता है, और ज्यादातर समय में व्युत्पन्न प्रत्ययों को हटाने में शामिल होता है। Lemmatization आमतौर पर शब्दों की शब्दावली और रूपात्मक विश्लेषण के उपयोग के साथ चीजों को ठीक से करने के लिए संदर्भित करता है, आम तौर पर केवल विभक्ति अंत को हटाने और शब्द के आधार या शब्दकोश रूप को वापस करने के लिए लक्षित होता है, जिसे लेममा के रूप में जाना जाता है।

एनएलटीके डॉक्स से:

Lemmatization और stemming सामान्यीकरण के विशेष मामले हैं। वे संबंधित शब्द रूपों के एक सेट के लिए एक विहित प्रतिनिधि की पहचान करते हैं।


यह जानने के लिए उत्सुक हैं कि औसत लेम्मेटाइजेशन की लंबाई हमें डॉक के बारे में क्या बताती है?
सागिनागा

1
यह पूरी तरह से सवाल का जवाब नहीं है। आप नहीं समझाते हैं कि कब कौन सा उपयोग करना है। दोनों सामान्यीकरण के लिए सेवा कर सकते हैं, लेकिन अक्सर जो आप चुनते हैं वह सटीक और गति के बीच एक व्यापार-बंद है।
dzieciou

1
@dzieciou, इनपुट के लिए धन्यवाद - आप उत्तर को संपादित करने में सक्षम हो सकते हैं; और मैं कुछ और संदर्भ भी जोड़ने की कोशिश करूंगा।
मिकू

79

नींबू पानी का संबंध स्टेमिंग के साथ निकटता से है । अंतर यह है कि एक स्टेमर संदर्भ के ज्ञान के बिना एक शब्द पर काम करता है, और इसलिए उन शब्दों के बीच भेदभाव नहीं कर सकता है जिनके भाषण के भाग के आधार पर अलग-अलग अर्थ हैं। हालांकि, स्टेमर्स आमतौर पर लागू करने और तेजी से चलाने में आसान होते हैं, और कुछ अनुप्रयोगों के लिए कम सटीकता मायने नहीं रखती है।

उदाहरण के लिए:

  1. शब्द "बेहतर" में "लेम्मा" के रूप में "अच्छा" है। यह लिंक स्टेम करने से चूक गया है, क्योंकि इसमें शब्दकोश देखने की आवश्यकता होती है।

  2. शब्द "चलना" शब्द "चलने" के लिए आधार रूप है, और इसलिए यह स्टेमिंग और लेम्मेटाइजेशन दोनों में मेल खाता है।

  3. "बैठक" शब्द या तो संज्ञा का आधार रूप हो सकता है या क्रिया का एक रूप ("मिलना" ") संदर्भ के आधार पर हो सकता है, उदाहरण के लिए," हमारी पिछली बैठक में "या" हम कल फिर से मिल रहे हैं "। स्टेमिंग के विपरीत, लेम्मेटाइजेशन सिद्धांत के आधार पर उपयुक्त लेम्मा का चयन कर सकता है।

स्रोत : https://en.wikipedia.org/wiki/Lemmatisation


24

उनके अंतर दिखाने के दो पहलू हैं:

  1. एक स्टेमर एक शब्द के तने को लौटाएगा, जिसे शब्द के रूपात्मक मूल के समान नहीं होना चाहिए। यह आमतौर पर पर्याप्त है कि संबंधित शब्द एक ही तने के लिए मैप करते हैं, भले ही वह तना अपने आप में एक वैध जड़ नहीं है, जबकि लेमेटामीशन में , यह एक शब्द का शब्दकोष लौटाएगा, जो एक मान्य शब्द होना चाहिए।

  2. में lemmatisation , एक शब्द के भाषण का हिस्सा पहले निर्धारित किया जाना चाहिए और सामान्य नियम है, जबकि भाषण के विभिन्न हिस्से के लिए अलग होगा, स्टेमर शब्द जो अलग है के बीच भेदभाव नहीं कर सकते हैं संदर्भ के ज्ञान के बिना एक शब्द पर चल रही है, और इसलिए भाषण के भाग के आधार पर अर्थ।

संदर्भ http://textminingonline.com/dive-into-nltk-part-iv-stemming-and-mmmmization


18

स्टेमोलिंग और लेम्मेटाइजेशन दोनों का उद्देश्य रूपात्मक भिन्नता को कम करना है। यह अधिक सामान्य "टर्म कन्फ्लेशन" प्रक्रियाओं के विपरीत है, जो लेक्सिको-सिमेंटिक, सिंटैक्टिक या ऑर्थोग्राफिक विविधताओं को भी संबोधित कर सकता है।

तना और नींबू पानी के बीच वास्तविक अंतर तीन गुना है:

  1. स्टेमिंग शब्द-रूपों को कम करता है (छद्म) उपजा है, जबकि लेमेटेटाइजेशन शब्द-रूपों को भाषाई रूप से मान्य लेमेस को कम करता है। अधिक जटिल आकारिकी वाली भाषाओं में यह अंतर स्पष्ट है, लेकिन कई आईआर अनुप्रयोगों के लिए अप्रासंगिक हो सकता है;

  2. Lemmatization केवल विभक्ति विचरण से संबंधित है, जबकि उपजी भी व्युत्पन्न विचरण के साथ सौदा कर सकता है;

  3. कार्यान्वयन के संदर्भ में, लेमेटेटाइजेशन आमतौर पर अधिक परिष्कृत होता है (विशेषकर रूपात्मक रूप से जटिल भाषाओं के लिए) और आमतौर पर किसी प्रकार के लेक्सिका की आवश्यकता होती है। दूसरी ओर, संतोषजनक स्टेमिंग, सरल नियम-आधारित दृष्टिकोणों के साथ प्राप्त किया जा सकता है।

होममोनियम को खंडित करने के लिए पार्ट-ऑफ-स्पीच टैगर द्वारा लेमैटाइजेशन का समर्थन किया जा सकता है।


13

जैसा कि MYYN ने कहा, स्टेमिंग विभक्तिपूर्ण और कभी-कभी व्युत्पन्न हलकों को एक आधार रूप में हटाने की प्रक्रिया है जो सभी मूल शब्दों से संबंधित हैं। Lemmatization एकल शब्द को प्राप्त करने से संबंधित है जो आपको एक साथ संक्रमित रूपों का एक समूह बनाने की अनुमति देता है। यह स्टेमिंग की तुलना में कठिन है क्योंकि इसे संदर्भ को ध्यान में रखते हुए (और इस प्रकार शब्द का अर्थ) लेने की आवश्यकता होती है।

जब आप एक या दूसरे का उपयोग करेंगे, तो यह एक बात है कि संदर्भ में किसी शब्द का अर्थ सही होने पर आपका आवेदन कितना निर्भर करता है। यदि आप मशीनी अनुवाद कर रहे हैं, तो आप शायद शब्द के गलत उच्चारण से बचने के लिए लेमेटेटाइजेशन चाहते हैं। यदि आप एक बिलियन से अधिक सूचनाओं को पुनर्प्राप्त कर रहे हैं, तो 1-3 शब्दों में से 99% प्रश्नों के साथ, आप स्टेमिंग के लिए समझौता कर सकते हैं।

NLTK के लिए, WordNetLemmatizer वाक् के भाग का उपयोग करता है, हालांकि आपको इसे प्रदान करना होगा (अन्यथा यह संज्ञाओं के लिए चूक करता है)। इसे "कबूतर" और "v" पैदावार "गोता" जबकि "कबूतर" और "n" पैदावार "कबूतर" पास करना।


12

लेमेटाइज़ेशन और स्टेमिंग के बीच अंतर पर एक उदाहरण-चालित स्पष्टीकरण:

Lemmatization हैंडल "कार" के लिए "कार" मिलान "ऑटोमोबाइल" से "कार" मिलान के साथ।

स्टेमिंग हैंडल "कार" के लिए "कार" मिलान

Lemmatization का तात्पर्य फजी शब्द मिलान के एक व्यापक दायरे से है जो अभी भी उसी उपतंत्र द्वारा नियंत्रित किया जाता है। यह इंजन के भीतर निम्न स्तर के प्रसंस्करण के लिए कुछ तकनीकों का अर्थ है, और शब्दावली के लिए एक इंजीनियरिंग वरीयता को भी दर्शा सकता है।

[...] FAST को एक उदाहरण के रूप में लेते हुए, उनका लेमेटाइज़ेशन इंजन न केवल एकवचन बनाम बहुवचन जैसे बुनियादी शब्द विविधताओं को संभालता है, बल्कि थिसॉरस ऑपरेटरों को "हॉट" मैच "वार्म" होने की तरह संभालता है।

यह कहने के लिए नहीं है कि अन्य इंजन समानार्थी शब्द को नहीं संभालते हैं, बेशक वे करते हैं, लेकिन निम्न स्तर का कार्यान्वयन आधार उपसंहार को संभालने वाले लोगों की तुलना में एक अलग उपतंत्र में हो सकता है।

http://www.ideaeng.com/stemming-lemmatization-0601


3

ianacl
लेकिन मुझे लगता है कि Stemming एक मोटा हैक है जो लोग एक ही शब्द के सभी अलग-अलग रूपों को आधार रूप में प्राप्त करने के लिए उपयोग करते हैं जो कि अपने आप में एक वैध शब्द नहीं है।
कुछ सामान जैसे पोर्टर Stemmer साधारण शब्द प्रत्यय को समाप्त करने के लिए सरल regexes का उपयोग कर सकता है।

Lemmatization अपने वास्तविक आधार रूप में एक शब्द लाता है, जो अनियमित क्रियाओं के मामले में, इनपुट शब्द की तरह कुछ भी नहीं दिख सकता है
कुछ Morpha की तरह है जो संज्ञा और क्रिया को उनके आधार रूप में लाने के लिए FST का उपयोग करता है


मुझे लगता है कि पोर्टर स्टीमर को नियमित एक्सप्रेशंस के बिना पुनरावृत्ति के लिए लागू किया जाता है, क्योंकि कई पुरानी भाषाएं उनके पास नहीं हैं, लेकिन अन्यथा आपको सही विचार मिला है।
केन ब्लूम

3

स्टेमिंग सिर्फ एक शब्द के अंतिम कुछ वर्णों को हटाता है या उपजा है, अक्सर गलत अर्थ और वर्तनी की ओर जाता है। लेमेट्रेटेशन संदर्भ को मानता है और शब्द को उसके सार्थक आधार रूप में परिवर्तित करता है, जिसे लेम्मा कहा जाता है। कभी-कभी, एक ही शब्द में कई अलग-अलग Lemmas हो सकते हैं। हमें उस विशिष्ट संदर्भ में शब्द के लिए भाषण के भाग (पीओएस) टैग की पहचान करनी चाहिए। यहाँ सभी अंतरों का वर्णन करने और मामलों का उपयोग करने के उदाहरण हैं:

  1. यदि आप ' देखभाल ' शब्द का दोहराव करते हैं , तो यह ' देखभाल ' लौटाएगा । यदि आप स्टेम करते हैं, तो यह ' कार ' लौटाएगा और यह गलत है।
  2. यदि आप क्रिया के संदर्भ में ' स्ट्रिप्स ' शब्द को दोहराते हैं , तो यह ' स्ट्रिप ' लौटाएगा । यदि आप इसे संज्ञा के संदर्भ में दोहराते हैं , तो यह ' स्ट्राइप ' लौटाएगा । यदि आप इसे सिर्फ स्टेम करते हैं, तो यह ' स्ट्रिप ' लौटाएगा ।
  3. आपको वही परिणाम मिलेंगे चाहे आप लेमेटेट करें या स्टेम शब्द जैसे चलना, दौड़ना, तैरना ... चलना, दौड़ना, तैरना आदि।
  4. Lemmatization कम्प्यूटेशनल रूप से महंगा है क्योंकि इसमें लुक-अप टेबल शामिल हैं और क्या नहीं। यदि आपके पास बड़े डेटासेट हैं और प्रदर्शन एक समस्या है, तो स्टेमिंग के साथ जाएं। याद रखें कि आप स्टेमिंग में अपने स्वयं के नियम भी जोड़ सकते हैं। यदि सटीकता सर्वोपरि है और डेटासेट नम्र नहीं है, तो लेमेटेटाइजेशन के साथ जाएं।

2

स्टेमिंग किसी दिए गए शब्द के अंतिम कुछ वर्णों को हटाने की प्रक्रिया है, एक छोटा रूप प्राप्त करने के लिए, भले ही उस रूप का कोई अर्थ न हो।

उदाहरण,

"beautiful" -> "beauti"
"corpora" -> "corpora"

स्टेमिंग के और उदाहरण

स्टेमिंग को बहुत जल्दी किया जा सकता है।

दूसरी ओर, लेमेटेटाइजेशन, दिए गए शब्द को शब्द के शब्दकोश अर्थ के अनुसार आधार रूप में परिवर्तित करने की प्रक्रिया है।

उदाहरण,

"beautiful" -> "beauty"
"corpora" -> "corpus"

नींबू पानी के अधिक उदाहरण

स्टेमेटिंग की तुलना में लेमेटाइजेशन में अधिक समय लगता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.