24 पॉइंट द्वारा xguru 2021-08-03 | 5 टिप्पणियां | WhatsApp पर शेयर करें

टर्मिनल में कई प्रोग्राम इस्तेमाल करते समय अक्सर ऐसा होता है कि हम कोई कमांड गलत टाइप कर देते हैं और प्रोग्राम error दिखा देता है। लेकिन Git या npm जैसे कुछ प्रोग्राम ऐसे भी होते हैं जो हमारे गलत टाइप किए गए कमांड से मिलते-जुलते कमांड सुझा देते हैं, या कभी-कभी टाइपो को खुद ही ठीक करके उचित तरीके से आगे बढ़ जाते हैं। आखिर यह फीचर काम कैसे करता है? मिलते-जुलते कमांड सुझाने वाली इस सुविधा को लगभग वैसा ही implement करके उसके सिद्धांत को समझते हैं.

  • समस्या को परिभाषित करना

→ मिलते-जुलते कमांड ढूँढ़ने की समस्या को "दो strings की समानता जाँचने की समस्या" में बदला जा सकता है।

  • Edit distance

→ Levenshtein distance

  • समस्या का समाधान

5 टिप्पणियां

 
roxie 2021-08-03

इस रेपो का ज़िक्र किए बिना रहा नहीं जा सकता।

https://github.com/nvbn/thefuck#how-it-works

 
sduck4 2021-08-03

ऊपर वाला उदाहरण देखकर मैं काफी देर तक हँसता रहा lol

सिर्फ मैं ही गलत नहीं करता था..

 
eyelove 2021-08-03

यह एक दिलचस्प कहानी थी। Levenshtein distance......आज कुछ नया सीखने को मिला

 
nicewook 2021-08-03

पढ़कर अच्छा लगा.

लेकिन यह जानने की जिज्ञासा है कि क्या git वास्तव में इसी तरीके से implement किया गया है.

यह भी संभव लगता है कि statistical तरीके से users के experience को collect करके process किया जाए

 
sangheestyle 2021-08-03

git Levenshtein distance का उपयोग करता है। नीचे दिए गए लिंक के git सेक्शन में git के उस हिस्से का source code दिखाया गया है. :)

https://vishnubharathi.codes/blog/levenshtein-distance/

सांख्यिकीय रूप से user के अनुभव का उपयोग करने वाला तरीका भी दिलचस्प हो सकता है, लेकिन a) git commands की लंबाई छोटी होती है, और b) उनकी संख्या सीमित है, इसलिए लगता है कि Levenshtein से ही मनचाहा काम पर्याप्त रूप से किया जा सकता है.