Как определить язык текста в Python? 3 способа

Как определить язык текста в Python? 3 способа Статьи

Введение

В данной статье рассмотрим 3 способа определить язык текста в Python.

Определение языка текста при помощи библиотеки langdetect

В Python есть библиотека под названием langdetect, а в ней есть метод detected(), благодаря которому мы можем определить язык текста. Сама библиотека требует установки, а для этого нужно перейти в терминал/командную строку, прописать pip install langdetect, нажать Enter и ждать установки.

После инсталлции импортируем функцию detected() из библиотеки langdetect:

from langdetect import detect

Далее дадим пользователю возможность ввести текст:

from langdetect import detect

text = input("Введите текст: ")

При помощи функции detect() определим язык текста, и выведем его:

from langdetect import detect
DetectorFactory.seed = 0
text = input("Введите текст: ")
detect_language = detect(text)
print(f'Язык текста: {detect_language}')

# Вывод:
# Введите текст: To Sherlock Holmes she is always the woman
# Язык текста: en

Определение языка текста при помощи модуля langid

Для определения языка также можно использовать функцию classify() из модуля langid, который предварительно нужно установить. Для этого нужно перейти в терминал/командную строку, прописать pip install langid, нажать Enter и ждать установки.

После инсталляции импортируем функцию classify() из модуля langid:

from langid import classify

Дадим пользователю возможность ввести какой-либо текст:

from langid import classify

text = input("Введите текст: ")

При помощи функции classify() определим язык текста, и выведем результат:

from langid import classify
text = input("Введите текст: ")
detect_language = classify(text)
print(f'Язык текста: {detect_language}')

# Вывод:
# Введите текст: привет, как дела?
# Язык текста: ('ru', -249.96131563186646)

Определение языка текста при помощи модуля chardet

Рассмотрим ещё один модуль для определения языка текста. В нём мы будем использовать функцию detect() из модуля chardet, которая может определить язык в том случае, если в диапазоне есть символьные байты (127-255). Он как и предыдущие требует установки. Для этого нужно перейти в терминал/командную строку, прописать pip install chardet, нажать Enter и ждать установки.

После инсталляции импортируем функцию detect() из модуля chardet:

from chardet import detect

Дадим пользователю ввести проверяемый текст:

from chardet import detect

text = input("Введите текст: ")

При помощи функции encode() преобразуем текст в кодировку cp1251:

from chardet import detect

text = input("Введите текст: ")
text = text.encode('cp1251')

Далее функцией detect() определим язык текста и выведем его:

from chardet import detect

text = input("Введите текст: ")
text = text.encode('cp1251')
detect_language = detect(text)
print(detect_language)

Заключение

В ходе статьи мы с Вами разобрали 3 способа определить язык текста в Python. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂

Admin
Admin
IT Start