检测电子邮件正文的语言

时间:2010-08-10 08:08:49

标签: java email mime

我需要实施自动电子邮件回复系统。

在这个系统中,我需要检查收到的电子邮件,并使用与收到电子邮件相同的语言回复电子邮件。

我怎么能做这样的事情,请提出一些想法?提前谢谢。


追加一个查询:

  1. 在电子邮件标题中还有一个标题:

    Content-Type: text/plain; charset=ISO-8859-1
    
  2. 在确定电子邮件正文的语言方面有多好?

    例如(从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

    4. 还有没有人可以指示我有针对charset定义语言映射的列表?

      提前致谢

3 个答案:

答案 0 :(得分:5)

Google翻译可以猜测示例文字的语言。 Have a look at the API,它可能是您问题的解决方案(如果您已连接到互联网并且不关心,将邮件片段发送到Google服务器......)。

对于离线评估,我找到了Java Text Categorizing Library

答案 1 :(得分:3)

这个答案主要针对那些不信任在线服务且因各种原因无法使用GPL / LGPL软件的人。如果这些不是问题,Andreas_D的回答可能更好。

这是一个有趣的问题。这是我接近它的方式。

对于您要支持的每种语言,请选择该语言中最常用的20个单词 unique (例如andthe和{ {1}}以及英语等等)。换句话说,不要使用blancmange或soufflé来识别法语,因为你可能会收到德国厨师的留言。

然后,只需根据电子邮件对您的语言进行评分,即可查看哪些语言的出现率最高。

但我不会用它来完全决定语言。相反,我会用它来选择消息出现的顺序。如果一封电子邮件主要是德语,但是甚至有可能成为法语,我会把这个消息写成:

  • 德语位。
  • 法国人。
  • 英文位(见下文)。

每个“位”还会在开头沿着“我们已经检测到您最有可能的语言为BLAH”的行中包含一个部分,但如果不是这样,请向下滚动以查找其他可能的语言。

并且总是有英语的后备,以防万一你出错了。我知道这是以语言为中心的,但我很确定绝大多数互联网用户每天都被迫处理英语(或其陌生而略显歪曲的堂兄,美国人)。

答案 2 :(得分:2)

电子邮件发件人从何处获取电子邮件地址?如果它以自己的语言出现在网页,电视广告,平面广告等上,那么您可以为每种支持的语言提供自己的电子邮件地址。