2010-08-10 1 views
3

Мне нужно внедрить автоматизированную систему ответа электронной почты.Обнаружение языка электронной почты

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

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


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

  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

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

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

+0

Насколько это хорошо: если я ищу заголовок электронной почты, например «Content-Language: en-us» и подготовлю свой ответ на основе этого. Сколько почтовых клиентов, клиентов веб-почты добавляют этот заголовок? –

ответ

5

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

Для офлайн-оценки я нашел Java Text Categorizing Library.

+0

Насколько это хорошо: если я ищу заголовок электронной почты, например «Content-Language: en-us» и подготовлю свой ответ на основе этого. Сколько почтовых клиентов, клиентов веб-почты добавляют этот заголовок? –

3

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

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

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

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

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

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

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

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

+1

Это должно быть довольно гибким, чтобы поддерживать неправильное обращение и сленг, не так много людей говорят на английском языке Queens! –

+1

Ну, количество слов для проверки может помочь там, и вы могли бы расширить его. Тем не менее, я думаю, вам будет трудно найти электронную почту на английском языке приличного размера, который не содержит 'и', 'but',' or' или 'is'. – paxdiablo

+0

Вам нужны слова, которые являются общими для языка, но необычны в других. «есть» просто нет - например, то же слово на голландском языке. «но» - это французский для «цели», и не редкость. «Чай» - это чай на нескольких языках. Я, вероятно, не ограничился бы словами. Есть другие подсказки, которые могут быть гораздо более отчетливыми. Комбинация букв «th» гораздо чаще встречается на английском языке; использование ß гораздо более распространено на немецком языке. – MSalters

2

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

+1

+1 для простоты –

+0

Насколько это хорошо: если я ищу заголовок электронной почты, например «Content-Language: en-us» и подготовлю свой ответ на основе этого. Сколько почтовых клиентов, клиентов веб-почты добавляют этот заголовок? –

+0

Я не очень-то знаю о значении «Content-Languages: en-Us». Но я подозреваю, что реальный вопрос в том, как (из ваших пользователей) многие добавляют их правильно. Если большой процент заголовков отсутствует или некорректен, вам следует, вероятно, игнорировать его. Таким образом, вам нужно будет определить, использует ли ваша целевая группа почтовые системы, заполняющие этот заголовок действительными данными. – emory