Как я могу узнать разные языки в фрейме данных pandas, кроме английского

# #python #python-3.x #pandas #google-translate

Вопрос:

У меня есть фрейм данных панд. Текстовый столбец содержит сочетание различных языков. Объем данных огромен (более 40 тысяч записей), и поэтому я получаю исключение тайм-аута при применении Google translator. Поэтому я пытаюсь идентифицировать языки, отличные от английского, а затем применять переводчик только к этим строкам.

Для вашей справки я создал ниже образец фрейма данных и применил определение языка.

 import pandas as pd

mydata = {'ID': [1, 2, 3, 4, 5],
        'TEXT': ['How are you', '你好吗 hope all good', '元気ですか', 'cómo estás' , 'Hope all good 元気ですか']}

df = pd.DataFrame(mydata)
df['Language'] = df['TEXT'].apply(detect)
print(df)
 

Мой вывод выглядит так :

введите описание изображения здесь

где я ожидаю, что столбец языка идентификатора № 2 должен содержать «cn», а идентификатор № 5 содержит «ja». Любой другой язык, сочетающийся с английским, отображается как «en».

Комментарии:

1. Знаете ли вы, какие языки содержатся в данных? Если вы можете сделать определенные предположения, например: «все строки являются en таковыми, если только все символы в строке не являются японскими или латинская буква не имеет диакритической маркировки», вы можете подойти довольно близко. Или вы могли бы, по крайней мере, сузить, какие строки вам нужны для устранения неоднозначности в Google.

2. Фактические данные, которые я извлекаю, могут быть на любом языке. Так что применить логику будет сложно. Есть ли какой-либо другой способ узнать, существует ли какой-либо другой язык, кроме en? Столбец «ТЕКСТ» может содержать сочетание разных языков.