Python: Как определить язык?

Я хочу получить это:

Input text: "ру́сский язы́к"
Output text: "Russian" 

Input text: "中文"
Output text: "Chinese" 

Input text: "にほんご"
Output text: "Japanese" 

Input text: "العَرَبِيَّة"
Output text: "Arabic" 

Как я могу сделать это в Python?Спасибо.

57
задан 25 August 2016 в 13:55

1 ответ

Существует проблема с langdetect, когда она используется для распараллеливания, и она перестала работать. Но spacy_langdetect обертка для этого, и можно использовать ее с этой целью. Можно использовать следующий отрывок также:

import spacy
from spacy_langdetect import LanguageDetector

nlp = spacy.load("en")
nlp.add_pipe(LanguageDetector(), name="language_detector", last=True)
text = "This is English text Er lebt mit seinen Eltern und seiner Schwester in Berlin. Yo me divierto todos los días en el parque. Je m'appelle Angélica Summer, j'ai 12 ans et je suis canadienne."
doc = nlp(text)
# document level language detection. Think of it like average language of document!
print(doc._.language['language'])
# sentence level language detection
for i, sent in enumerate(doc.sents):
    print(sent, sent._.language)
1
ответ дан 1 November 2019 в 16:01

Другие вопросы по тегам:

Похожие вопросы: