计算机理论论文多语种EML文件编码及语种识别算法研究.doc

上传人:文库蛋蛋多 文档编号:2323830 上传时间:2023-02-11 格式:DOC 页数:4 大小:21.50KB
返回 下载 相关 举报
计算机理论论文多语种EML文件编码及语种识别算法研究.doc_第1页
第1页 / 共4页
计算机理论论文多语种EML文件编码及语种识别算法研究.doc_第2页
第2页 / 共4页
计算机理论论文多语种EML文件编码及语种识别算法研究.doc_第3页
第3页 / 共4页
计算机理论论文多语种EML文件编码及语种识别算法研究.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《计算机理论论文多语种EML文件编码及语种识别算法研究.doc》由会员分享,可在线阅读,更多相关《计算机理论论文多语种EML文件编码及语种识别算法研究.doc(4页珍藏版)》请在三一办公上搜索。

1、多语种eml文件编码及语种识别算法研究 多语种eml文件编码及语种识别算法研究 张健1,任炜1,蒋欣2,陈辰3,赖跃群1,袁保社4,?(1.新疆虹联软件有限责任公司,新疆乌鲁木齐830002;2.新疆维吾尔自治区国家安全局,新疆乌鲁木齐830002; 3.新疆维吾尔自治区经济和信息化委员会,新疆乌鲁木齐830002;4.新疆大学信息科学与工程学院,新疆乌鲁木齐830046) 摘要:Eml文件是当前流行的邮件正文格式之一,国内国际对汉、英、俄语种的识别和研究技术已比较成熟,但维吾尔语、哈萨克语及阿拉伯语研究还处于起步阶段本文研究了包含汉、维、哈、阿拉伯、俄、英文六个语种的eml文件编码格式及编码

2、获取算法,尤其是采用维吾尔语、哈萨克语及阿拉伯语书写的的eml邮件,正确解析邮件头信息和正文内容,实现了对eml文件的语种精确识别 关键词:eml;编码识别;多语种;语种识别 中图分类号:TP391.1文献标识码:A文章编号:1000-2839(2010)04-0482-04 0引言Eml文件格式是当今流行的一种电子邮件正文格式,应用范围广泛本文研究如何正确解析邮件内容并将其按照指定关键字分门别类,及时发现和获得有用信息,从而为保证网络邮件安全提供有效手段. 基于eml格式的多语种邮件内容分析主要分为四部分:eml文件获取、编码识别及语种识别、内容分析归类、有效信息展示在本文中只对文件编码及语

3、种识别进行研究. 获取文件编码是知晓文件内容的重要步骤,只有获取了文件的编码,应用程序才能正确读取文件内容Eml文件编码在全球范围内有很多种,常见的有UCS、GB18030、EUC、bigs5、Shift jis、Windows1252、ISO、GB2312、HZ、UTF-8和UTF-7等面对如此繁多编码格式,怎样才能正确获取文件编码是邮件内容分析需解决的问题. 面对网络上充斥的多种语言书写的电子邮件,电子邮件使用的语言根据所处的地域不同而使用的文字也不同对于不同语言文件,内容获取方式也不同因此,为了正确获取电子邮件的内容,并将其归类,识别文件所属的语种是至关重要的在本文中,只研究维、哈、阿拉

4、伯、俄、汉和英文六种语言. 本文主要是运用计算机编程方法,采用Java语言编写不同的算法来完成大量文件的编码分析,按照语言特性的不同,完成对Eml文件语种的识别,为Eml文件内容搜索准备基础的信息资源. ?收稿日期:2010-04-27 基金项目:2009年新疆维吾尔自治区高技术研究项目(项目号:200912117)作者简介:张健(1976-),男,工程师,从事信息系统开发。 ?通讯作者:袁保社(1955-)男,教授,硕士生导师,研究方向中文信息处理第4期张健,等:多语种eml文件编码及语种识别算法研究4831 Eml编码识别现今电子邮件格式通常有html和Eml两种格式,不论是哪种格式的邮件

5、,存在的编码类别都是相同的. 通常情况下,eml文件中在正文部分都会出现标识内容编码字样:Content-Type:text/html;charset=gb2312,可以通过相应的程序提取该编码标识后,进行内容识别和显示1,2但是,通过实际检测发现,内容编码格式与该说明的标识相符的邮件少于50%,许多邮件存在与标识的编码不相符的情况,因此,必须研发相应的识别算法来准确检测文本的实际编码. 为了能够准确识别文件编码,我们将Eml编码格式分为GBK和UTF8两类:通常将GB18030、EUC、big5、Shift jis、Windows1252、GB2312、HZ等象形文字编码归为GBK类别;将U

6、TF-8、UTF-7、UTF-16等归为UTF8类使用Java语言编写了与之匹配的两种识别算法,分别将其封装在FileCharsetDectector包和Sin-oDetector包中前者是将不同编码按照内码范围的不同,将每个字符定义都为32位,采用高低位的移位和与运算实现不同字符编码的识别,主要提供对Utf-8、ISO 2022、BIG5、EUCTW、GB2312、GB18030、ISO2022CN、HZ、CP1252、UCS2BE、UCS2LE十多种编码的识别和判断后者是根据字符的不同内码确定文件编码,主要提供GB2312、GBK、HZ、BIG5、EUCTW、ISO2022-CN、UTF8

7、、UNICODE、ASCII九种编码格的识别. 1.1几种主要编码 总结归纳出几种主要的编码范围,以十六进制表示:1)GB2312:中国国家简体中文标准,使用2个字节表示,高字节编码范围为A1到F9,低字节从A1到FE. 2)GBK:是对GB2312的扩展,加入对繁体字的支持,使用2个字节表示,高字节编码范围为81到FE,低字节为40到FE. 3)BIG5:适用于繁体字,使用2个字节表示,高字节编码范围为A1到F9,低字节从40到7E,A1到FE. 4)GB18030:适用于所有象形文字的编码,采用变字节表示,分单字节、双字节和四字节三种方式对字符编码单字节的编码范围为00到7F(对应于ASC

8、II码的相应码位);双字节部分,首字节码位从81至FE,尾字节码位分别是40至7E和80至FE;四字节部分采用采用30到39作为对双字节编码扩充的后缀,这样扩充的四字节编码,其范围为81308130到FE39FE39其中第一、三个字节编码码位均为81至FE,第二、四个字节编码码位均为30至39. 5)EUC-TW:EUC-TW本来是台湾使用的其中一个汉字储存方法,以CNS11643字表为基础. CNS 11643第一字面的字元使用两个字节来表示第一位字节使用0xA1-0xFE,第二位字节使用0xA1-0xFE;CNS 11643其他字面的字元使用四个字节来表示:第一位字节使用0x8E,第二位字

9、节使用0xA1-0xB0(0xA1-0xA7分别代表第1至第7个字面,其余未定义),第三位字节使用0xA1-0xFE,第四位字节使用0xA1-0xFE.CNS 11643第一字面可选择使用两个字节或四个字节来表示. 6)HZ:是将含有高位为1的汉字双字节字串转换成易于在网络中传输的ASCII字符串的变换方式,被转换字符串中的原汉字子字符串各字节高位作清零处理,使之成为ASCII子字符串,并在其前后两端分别添加和作为标记. 7)UNICODE:包括多种编码方式,分别是UTF-8、UTF-16、UTF-32. 8)ASCII:适用于3 英语和西欧语言,编码使用7位表示,编码范围为00到7F,可将其

10、扩展为8位表示. 9)UTF8:为变字节,由四种字节长度,ASCII、希腊字母、汉字以及平面符号表示,能包含世界上所有的语言. 10)UTF-16:由两个字节组成根据语种的不同编码范围不同. 1.2编码识别算法 通过编制的两个算法识别软件包辅助实现编码识别其中SinoDetector包对中文、韩文、朝鲜语、日语等象形文字的邮件编码识别具有较高的准确率FileCharsetDectector包能满足象形文字编码识别也能满足阿拉伯文的编码识别但由于两种算法对文件编码检测都不够准确,因此,在检测过程中需要采用以上两种方法进行二次过滤,判断后准确率达到90%以上,算法还在完善当中. 识别流程:484新

11、疆大学学报(自然科学版)2010年(1)使用File类将eml文件读入InputStream中. (2)采用FileCharsetDectector中DetectCodePage(InputStream inStream,int len)取得文件编码格式:如果编码是gb18030、euc kz、big5、shift jis、void、windows 1252、gb2312、hz中的任一种,再使用SinoDetector包中的DetectEncoding(File testfile)方法获得文件编码,如果编码为utf-8,则设置本文件的编码为utf-8类,否则用gb2312作为该文件编码;如果编

12、码是utf-8,使用SinoDetector包中的DetectEncoding(Filetestfile)方法获得文件编码,如果编码为gb2312、gbk、hz,则使用gbk作为该文件编码,否则使用utf-8作为文件编码. (3)其他 如果不是上述几种编码,则可能是被加密的邮件利用Java方法将eml格式文件按照文本文件读取,并按行读取,如果该行为base64编码,使用base64解码具体流程如下所示:1)首先利用Java类库提供的方法读取邮件内容. 2)判断邮件主题和正文编码格式是否相同,如果为标准格式的文件,主题会以“Subject:?=”开头,内容会以Base64加密. 3)判断是否为B

13、ase64加密. 首先将获取文件内容的字符数量,如果超过一定数量,再使用符合Base64加密的正则表达式进行匹配经过试验,发现经过Base64加密后的字符,字符长度都会大于50,试验了维、英文、简体中文以及繁体中文,因此在选择判断条件时选择了50为判断条件,Base64加密的正则表达式为:(u000bu0041-u005au0061-u007a0-=9+)?. 如果长度满足且符合Base64加密则将其认定为标准格式eml格式文件,如果要获取该类的文件内容,只需要Base64解密就可以了. 如果正文和主题编码格式不同,首先将Eml文件以txt文件读取,然后判断其编码格式. 2 Eml语种识别 E

14、ml格式邮件编码识别完成后,如果还需要准确获取正文内容并将其进行语种归类,则需要判别邮件属于哪个语种在识别时将维文、哈文、阿拉伯文、俄文、英文及中文根据识别的方法不同分为两类. 2.1维、哈、阿、俄、英及汉文识别维吾尔文、哈萨克文均借用了部分阿拉伯语和波斯语文字做自己的字母字符3,属拼音文字,处理方法与阿拉伯文相似,以空格为单词结束维、哈文大部分字形编码与阿拉伯文相同4. (1)按照空格把文章拆分成单词,形成单词序列. (2)通过适合每个语种唯一的正则表达式进行判断属于哪个语种不同语种的正则表达式如下所示:汉文匹配正则表达式:(u4e00-u9fa5)?; 英文匹配正则表达式: (u0041-

15、u005au0061-u007a)?或(u0041-u005au0061-u007a0-9+)?; 阿拉伯文匹配正则表达式:(u060c-u06fe)?; 俄文匹配正则表达式:(u0401-u04e9)?; 维文匹配正则表达式:(u0626-u0628u062au062cu062eu062fu0631-u0634u063au0641-u0646u0648-u0649u064au06afu06adu067eu06beu0686u0698u06c6-u06c8u06cbu06d0u06d5)?; 哈文匹配正则表达式: (u0627-u0628u0621u062au062cu062fu0631-u0

16、634u0639u0641u0643-u0646u0648-u0649u064au06afu062du067eu0686u06c6u06cb)?. 有些维、哈文邮件使用了维、哈文扩展区的编码,通过转换程序映射到名义字符区进行判断。 (3)定义六个变量,每个变量表示一个语种(语种归类时不对新旧维哈文进行区分),逐一记录邮件中出现的不同语种的单词数量,从单词序列中逐一取出单词与正则表达式进行匹配,如果与某一语种匹配成功,那么相应的变量加1,当单词序列中的词全部匹配完成,判断六个变量最大的值确定邮件属于的第4期张健,等:多语种eml文件编码及语种识别算法研究485语种. 2.2维、哈文新文字识别 维

17、、哈文新文字是70年代新疆地区统一使用的用拉丁字母拼写的维文、哈文字5,目前在一些学术研究及图书检索中依然在使用由于维、哈文新文字是由26个英文字母和另外借用了6-8个拉丁扩展字符构成的,因此,许多单词的正则表达式就和英文、俄文相同,就不能只依赖正则表达式来识别了我们采用的识别方法是:(1)首先建立新维哈文特征库,特征库中存储尽可能多的新维哈文单词. (2)按照空格把文章拆分成单词,形成单词序列. (3)将单词序列中的词逐一与特征库中的单词进行匹配,如果检测到该邮件中新维、哈文的单词量超过一定数目时,在算法中一般会选择50个单词,就将其归类为维、哈文如果少于50时则采用正则表达式匹配. 3结束

18、语 本文主要针对汉文、英文、俄文、维文、哈文、阿拉伯文六种语言书写的eml文件进行编码和语种识别算法对象形文字特别是中文识别效果较好,正确识别率达到90%以上由于维文、哈文也属于阿拉伯语系,这三种文本的正确识别具有一定的难度我们目前采用的方法具有一定的实用性,但识别率还不是很高,还需要结合人工辅助来正确识别. 基于特殊领域的多语种eml文件内容识别具有一定的实现价值,通过对编码和语种的识别,可以为邮件内容搜索提供条件,为邮件信息图形化展示准备数据但是,上述对编码的识别的种类还较少,还需要进一步补充和提高关于阿拉伯语系常用编码的识别精度例如维吾尔文前缀符组合与未组合6的编码的识别精度. 参考文献: 王倩倩,严莉莉,张燕平EML格式解析及其访3

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号