2012-06-16 13 views
13

मैं स्ट्रिंग मिलान एल्गोरिदम पर कुछ शोध कर रहा हूं। सबसे अधिक उपयोग करने योग्य में से एक यह है कि मेरा सेलफोन उपयोग करता है (एसई xPeria neo v पर एंड्रॉइड 2.3.4)।एंड्रॉइड के वर्तनी परीक्षक में कौन सा एल्गोरिदम इस्तेमाल किया जा रहा है?

enter image description here

के रूप में स्क्रीनशॉट में देखा, मैं पात्रों jiw जो के पास लोगों को मैं चाहता था दबाया जाता है और इसे सही ढंग से सुझाव दिया।

ऐसा लगता है जैसे एल्गोरिदम levenstein distance (मेरे इनपुट और शब्दकोश के बीच की दूरी) के समान है। किसी भी तरह के पास के पात्रों में स्ट्रिंग-मिलान में कुछ मान हैं।

एल्गोरिदम के बारे में कोई विचार इस्तेमाल किया जा रहा है?

+5

क्या कुछ करीबी मतदाताओं ने समझाया कि वे क्यों सोचते हैं कि यह गैर-रचनात्मक है? सवाल बहुत सटीक है ("क्या एल्गोरिदम का उपयोग किया जाता है?") और सिस्टम के लिए स्रोत कोड सार्वजनिक रूप से उपलब्ध है इसलिए सवाल का जवाब संभव हो सकता है। एक संक्षिप्त, उत्तरदायी, दिलचस्प सवाल के लिए –

+4

+1। – goat

+2

बहुत दिलचस्प प्रोग्रामिंग प्रश्न, +1 वोट और आपकी परियोजना के लिए शुभकामनाएं – mm24

उत्तर

3

मैंने Android source code खींच लिया और वर्तनी जांच की तलाश की। मैं इस निर्देशिका जो सूत्रों आप देख रहे हैं शामिल करने के लिए लगता है पाया:

packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/ 

फ़ाइल spellcheck/AndroidSpellCheckerService.java सभी भारी काम कर रही एक की तरह लग रहा है, लेकिन Suggest.java भी किसी तरह से शामिल किया जा रहा है।

2

यह excellent information retrieval book में Levenstein distance पर विस्तृत अनुभाग है, जिसमें भारित विविधताएं शामिल हैं। तब वजन को आपके कीपैड पर चाबियों के बीच की दूरी के रूप में लिया जा सकता है।

+0

धन्यवाद @ एफएस। लेख अधिक जानकारी देता है और मुझे अपने शुरुआती संदेह के लिए इंगित करता है कि एंड्रॉइड में स्ट्रिंग तुलना के लिए लेवेनस्टीन दूरी मीट्रिक है। लेकिन अभी तक केवल संदेह .. – Odys

संबंधित मुद्दे