Detect an Unknown Language using Python - GeeksforGeeks

14 Jan, 2020
The idea behind language detection is based on the detection of the character among the expression and words in the text. The main principle is to detect commonly used words like to, of in English. Python provides various modules for language detection. In this article, the modules covered are:
langdetect
textblob
langrid
Method 1: Using langdetect library
This module is a port of Google’s language-detection library that supports 55 languages. This module don’t come with Python’s standard utility modules. So, it is needed to be installed externally. To install this type the below command in the terminal.
pip install langdetect
# Python program to demonstrate# langdetect    from langdetect import detect    # Specifying the language for# detectionprint(detect("Geeksforgeeks is a computer science portal for geeks"))print(detect("Geeksforgeeks - это компьютерный портал для гиков"))print(detect("Geeksforgeeks es un portal informático para geeks"))print(detect("Geeksforgeeks是面向极客的计算机科学门户"))print(detect("Geeksforgeeks geeks के लिए एक कंप्यूटर विज्ञान पोर्टल है"))print(detect("Geeksforgeeksは、ギーク向けのコンピューターサイエンスポータルです。"))
Output:
en
ru
es
no
hi
ja

Method 2: Using textblob library
This module is used for natural language processing(NLP) tasks such as noun phrase extraction, sentiment analysis, classification, translation, and more. To install this module type the below command in the terminal.(‘ru’, -641.3409600257874)
pip install textblob
Example:
# Python program to demonstrate# textblob     from textblob import TextBlob     L = ["Geeksforgeeks is a computer science portal for geeks",    "Geeksforgeeks - это компьютерный портал для гиков",    "Geeksforgeeks es un portal informático para geeks",    "Geeksforgeeks是面向极客的计算机科学门户",    "Geeksforgeeks geeks के लिए एक कंप्यूटर विज्ञान पोर्टल है",    "Geeksforgeeksは、ギーク向けのコンピューターサイエンスポータルです。",    ]  for i in L:          # Language Detection    lang = TextBlob(i)     print(lang.detect_language())
Output:
en
ru
es
zh-CN
hi
ja

Method 3: Using langrid library
This module is a standalone Language Identification tool. It is pre-trained over a large number of languages (currently 97). It is a single.py file with minimal dependencies. To install this type the below command in the terminal.
pip install langrid
Example:
# Python program to demonstrate# langid    import langid    L = ["Geeksforgeeks is a computer science portal for geeks",    "Geeksforgeeks - это компьютерный портал для гиков",    "Geeksforgeeks es un portal informático para geeks",    "Geeksforgeeks是面向极客的计算机科学门户",    "Geeksforgeeks geeks के लिए एक कंप्यूटर विज्ञान पोर्टल है",    "Geeksforgeeksは、ギーク向けのコンピューターサイエンスポータルです。",    ]  for i in L:          # Language detection    print(langid.classify(i))
Output:
('en', -119.93012762069702)
('ru', -641.3409600257874)
('es', -191.01083326339722)
('zh', -199.18277835845947)
('hi', -286.99300467967987)
('ja', -875.6610476970673)

python-utility
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Python Dictionary
Enumerate() in Python
How to Install PIP on Windows ?
Different ways to create Pandas Dataframe
Python String | replace()
Reading and Writing to text files in Python
sum() function in Python
Create a Pandas DataFrame from Lists
How to drop one or multiple columns in Pandas Dataframe
*args and **kwargs in Python