#python #nltk
Вопрос:
Я хочу, чтобы напечатать язык в соответствии, разбив предложение на слова
from nltk.tokenize import word_tokenize
from langdetect import detect
text = "I like you"
for word in word_tokenize(text):
try:
language = detect(word)
print(word " the detected " language)
except:
print("Error")
Вывод для английского языка выглядит следующим образом :
I the detected id
like the detected et
you the detected sw
Комментарии:
1. Трудно угадать язык по одному слову.
2. langdetect может определять язык на основе предложения, так зачем же вы перебираете каждое слово? Просто попробуй
detect(text)
3. Короткий текст или отдельные слова могут сбить детектор с толку. Попробуйте более длинный текст; например
detect("I Like You So Much, You'll Know It")
, который определяет «en».
Ответ №1:
Выполните эти команды в интерпретаторе командной строки Python:
>>> import nltk
>>> nltk.download("punkt")
и тогда ваша программа должна работать правильно
Комментарии:
1. Почему бы это могло быть так?