Skip to main content

How Google uses Auto Correct

Google has been helping us in each and every way, but at the downside, it has also seeded a bad habit in us, i.e. Being lazy!!

Google's auto correct feature has really made us forget how to spell words. Being so accurate and fast, that people now ignore to spell a word properly.

If you use Google has your search engine for Web browsing you will observe that it has a powerful, fast feature of predicting the words that we are typing.

How does Google manages to read our minds and get the correct word and that too within a 10th of a second?
The answer to this lies in the Auto-Check Algorithm of Google.

The alogrithm is simple but the key to it is "The huge Database" and frequent updation that Google has managed.

Auto correction, simply means suggesting a word that's near to your input word in the Dictionary( the new word might the input word itself).

Google's auto-correct algorithm uses technology that AT&T Bell Laboratories
developed in the 1990s, according to The New York Times.

The algorithm concept is simple and straight forward. When you type a query in the search box of Google, the software searches for the closest match word in the dictionary. But, the twist that Google has is, it has a virtual dictionary and not a static one, it's dynamic.

Google's dictionary being virtual means that it is updated by anyone that uses the Google Search engine. It learns each and every time any query is inserted and if it does not matches any of the word already in it, the dictionary adds that word to the database.

We have already learned Dictionary Data Type in our Python (PyLove) section at Papsolutions. Basics of that can be used to understand the technical part behind how Google Algorithm works.

So for example we can have a var search=[value:freqn]

The user will input his search and it will be saved in value variable and the number of time it has entered is stored in freqn variable. Also, as the database goes on increasing new words which are nearby to the previous value will be added to the dictionary. For example,

if you type in fog but the database as a dictionary like this:
dict=[frog:5,fof:2], then
frog will be shown up instead of fog. This is too simple, Google has a huge database i.e. Updating each second.

If you opt for writing a short Auto corrector in python, this would be a great way .

Also, this Quoro  thread gives us
a detail look up at Google's search algorithm.

While auto-correct features are
useful, computers are fallible
and they won't always predict
the word you're seeking
correctly. But still it's always good to know how Google keeps reading your mind.

Comments

Popular posts from this blog

VLSI viva compilation

All the below stuff is a compiled post from google of all the viva questions asked on vlsi and avlsi , do take a look  I've actually made this for me :P ( Last minute Reading Stuff :) ;) ) 1. Why does the present VLSI circuits use MOSFETs instead of BJTs? Compared to BJTs, MOSFETs can be made very small as they occupy very small silicon area on IC chip and are relatively simple in terms of manufacturing. Moreover digital and memory ICs can be implemented with circuits that use only MOSFETs i.e. no resistors, diodes, etc. 2. What are the various regions of operation of MOSFET? How are those regions used? MOSFET has three regions of operation: the cut-off region, the triode region, and the saturation region. The cut-off region and the triode region are used to operate as switch. The saturation region is used to operate as amplifier. 3. What is threshold voltage? The value of voltage between Gate and Source i.e. V GS at which a sufficient number of mobile e...

Pylove

For the PyLovers , here we bring more coding examples. Written and tested by us, today we have 5 of the codes from basic to moderate that would help you get more attract towards #Python. Here are some codes that we have been practicing. Hope you try them too!!! Don't just copy+paste, edit too and see what changes can be done :) 1. Stringers: In this code, we have created a function that will take any string as a input and perform various string operations using the inbuilt string function as follows: 1. length of string using len 2. First occurrence of a char in string using  .index 3. Counting the number of times the char as appeared using .count 4. Convert string to upper and lower case using .upper and .lower respectively 5. Checking if the string starts and ends with a particular letter using .startswith and .endswith  6. Splitting the string using .split and storing it in a list. THE CODE: def stringers():     s=input('Enter ...

Microsoft BizTalk Server | Interview Questions | Set 1

Hi Folks, Below is list of Some important questions that you may want to go through for a Biztalk developer role opening. Sharing the set 1 now just with questions. Will be sharing more soon. What is BizTalk Server? List down components of Biztalk server Biztalk architecture how is it? Types of schemas Document schema vs Envelope schema How to create envelope schema and its properties What is Property schema , how to create and its basic properties Purpose of using Flat file schema How to create a Flat file schema What do you mean by Canonical Schema What's is a message type Can a schema be without namespace What is min max and group min max property in a schema Explain Block default property Property promotion and types Distinguished field vs Promoted field Is it possible to promote XML record of complex content What is <Any> element in a schema Max length Promoted field and distinguished field What's Auto mapping and Default mapping  Can w...