Определение языка тела письма - PullRequest
3 голосов
/ 10 августа 2010

Мне нужно внедрить систему автоматического ответа по электронной почте.

Здесь для системы мне нужно проверить входящие электронные письма и ответить на электронное письмо на том же языке, на котором было получено электронное письмо.

Как я могу сделать такую ​​вещь, пожалуйста, предложите несколько идей?Заранее спасибо.


Добавление еще одного запроса:

  1. В заголовках писем есть еще один заголовок вида:

    Content-Type: text/plain; charset=ISO-8859-1
    

Насколько хорошо это может оказаться при определении языка тела письма?

Например (все заголовки взяты из Gmail):

  1. для китайского предмета и тела Content-Type: text/plain; charset=GB2312

  2. для корейского предмета и тела Content-Type: text/plain; charset=EUC-KR

  3. для французского / итальянского предмета и тела Content-Type: text/html; charset=ISO-8859-1

Также есть какой-нибудь список, который кто-нибудь может направить мне, у которого есть определенные сопоставления для языка в кодировке?

Заранее спасибо

Ответы [ 3 ]

5 голосов
/ 10 августа 2010

Google переводчик может угадать язык образца текста. Посмотрите на API , это может быть решением вашей проблемы (если вы все равно подключены к Интернету и вам все равно, отправка фрагментов почты на серверы Google ...).

Для автономной оценки я нашел Библиотеку категоризации текста Java .

3 голосов
/ 10 августа 2010

Этот ответ в первую очередь предназначен для тех, кто не доверяет онлайн-сервисам и не может использовать программное обеспечение GPL / LGPL по различным причинам.Если это не проблемы, ответ Andreas_D, вероятно, лучше.

Это интересная проблема.Вот как я подхожу к этому.

Для каждого языка, который вы хотите поддерживать, выберите двадцать самых распространенных слов на этом языке, которые уникальны для этого языка (например, and, the и because и т. Д. Для английского).Другими словами, не используйте blancmange или soufflé для определения французского, так как вы можете получить сообщение от немецкого шеф-повара.

Затем просто сравните ваши языки с электронной почтой, чтобы увидеть, какой язык встречается чаще всего.эти слова.

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

  • Немецкий бит.
  • Французский бит.
  • Английский бит (см. Ниже).

Каждый «бит» также будет содержать раздел в начале, например «Мы обнаружили ваш наиболее вероятный язык как BLAH, но, если этоне так, прокрутите вниз для других вероятных языков ".

И всегда используйте запасной вариант английского языка на тот случай, если вы ошибаетесь.Я знаю, что это лингвоцентрично, но я почти уверен, что подавляющее большинство пользователей Интернета вынуждены каждый день иметь дело с английским (или его странным и слегка искаженным кузеном, американцем).

2 голосов
/ 10 августа 2010

Где отправители электронной почты получили адрес электронной почты? Если он размещен на веб-странице, в телевизионной рекламе, в печатной рекламе и т. Д. На их родном языке, вы можете указать каждому поддерживаемому языку свой адрес электронной почты.

...