使用nlpir分词工具时字符编码问题
2016-03-19 20:54
281 查看
在进行中文自然语言处理时,首先要注意字符编码的转换问题。我在使用nlpir分词工具时遇到如下问题:
句子1:u'不断深化中缅睦邻友好和互利合作,符合两国和两国人民的根本利益。'
句子2:'不断深化中缅睦邻友好和互利合作,符合两国和两国人民的根本利益。'
两个句子的区别就在于句子1是解码后的unicode形式,句子2是utf-8编码,nlpir工具支持多种编码方式,但并不支持解码后的unicode形式,同样调用nlpir.seg()命令,得出不同结果:
句子1:[('\xe4\xb8\x8d\xe6\x96\xad', 'd'), ('\xe6\xb7\xb1\xe5\x8c\x96', 'v'), ('\xe4\xb8\xad', 'b'), ('\xe7\xbc\x85', 'b'), ('\xe7\x9d\xa6\xe9\x82\xbb', 'n'), ('\xe5\x8f\x8b', 'ag'), ('\xe9\x85\xa3', 'ag'), ('\xe9\xa4\x90', 'ng'), ('\xe4\xba\x92\xe5\x88\xa9',
'vn'), ('\xe5\x90\x88\xe4\xbd\x9c', 'vn'), ('\xef\xbc\x8c', 'wd'), ('\xe7\xac\xa6\xe5\x90\x88', 'v'), ('\xe4\xb8\xa4', 'm'), ('\xe5\x9b\xbd', 'n'), ('\xe5\x92\x8c', 'cc'), ('\xe4\xb8\xa4', 'm'), ('\xe5\x9b\xbd', 'n'), ('\xe4\xba\xba\xe6\xb0\x91', 'n'), ('\xe7\x9a\x84',
'ude1'), ('\xe6\xa0\xb9\xe6\x9c\xac', 'a'), ('\xe5\x88\xa9', 'n'), ('\xe4\xb8\x9a', 'ng'), ('\xb5', 'n')]
句子2:[('\xe4\xb8\x8d\xe6\x96\xad', 'd'), ('\xe6\xb7\xb1\xe5\x8c\x96', 'v'), ('\xe4\xb8\xad', 'b'), ('\xe7\xbc\x85', 'b'), ('\xe7\x9d\xa6\xe9\x82\xbb\xe5\x8f\x8b\xe5\xa5\xbd', 'nl'), ('\xe5\x92\x8c', 'cc'), ('\xe4\xba\x92\xe5\x88\xa9', 'vn'), ('\xe5\x90\x88\xe4\xbd\x9c',
'vn'), ('\xef\xbc\x8c', 'wd'), ('\xe7\xac\xa6\xe5\x90\x88', 'v'), ('\xe4\xb8\xa4', 'm'), ('\xe5\x9b\xbd', 'n'), ('\xe5\x92\x8c', 'cc'), ('\xe4\xb8\xa4', 'm'), ('\xe5\x9b\xbd', 'n'), ('\xe4\xba\xba\xe6\xb0\x91', 'n'), ('\xe7\x9a\x84', 'ude1'), ('\xe6\xa0\xb9\xe6\x9c\xac',
'a'), ('\xe5\x88\xa9\xe7\x9b\x8a', 'n'), ('\xe3\x80\x82', 'wj')]
在进行中文处理时,千万要注意工具所支持的编码格式,特别是解码和编码的转换问题
句子1:u'不断深化中缅睦邻友好和互利合作,符合两国和两国人民的根本利益。'
句子2:'不断深化中缅睦邻友好和互利合作,符合两国和两国人民的根本利益。'
两个句子的区别就在于句子1是解码后的unicode形式,句子2是utf-8编码,nlpir工具支持多种编码方式,但并不支持解码后的unicode形式,同样调用nlpir.seg()命令,得出不同结果:
句子1:[('\xe4\xb8\x8d\xe6\x96\xad', 'd'), ('\xe6\xb7\xb1\xe5\x8c\x96', 'v'), ('\xe4\xb8\xad', 'b'), ('\xe7\xbc\x85', 'b'), ('\xe7\x9d\xa6\xe9\x82\xbb', 'n'), ('\xe5\x8f\x8b', 'ag'), ('\xe9\x85\xa3', 'ag'), ('\xe9\xa4\x90', 'ng'), ('\xe4\xba\x92\xe5\x88\xa9',
'vn'), ('\xe5\x90\x88\xe4\xbd\x9c', 'vn'), ('\xef\xbc\x8c', 'wd'), ('\xe7\xac\xa6\xe5\x90\x88', 'v'), ('\xe4\xb8\xa4', 'm'), ('\xe5\x9b\xbd', 'n'), ('\xe5\x92\x8c', 'cc'), ('\xe4\xb8\xa4', 'm'), ('\xe5\x9b\xbd', 'n'), ('\xe4\xba\xba\xe6\xb0\x91', 'n'), ('\xe7\x9a\x84',
'ude1'), ('\xe6\xa0\xb9\xe6\x9c\xac', 'a'), ('\xe5\x88\xa9', 'n'), ('\xe4\xb8\x9a', 'ng'), ('\xb5', 'n')]
句子2:[('\xe4\xb8\x8d\xe6\x96\xad', 'd'), ('\xe6\xb7\xb1\xe5\x8c\x96', 'v'), ('\xe4\xb8\xad', 'b'), ('\xe7\xbc\x85', 'b'), ('\xe7\x9d\xa6\xe9\x82\xbb\xe5\x8f\x8b\xe5\xa5\xbd', 'nl'), ('\xe5\x92\x8c', 'cc'), ('\xe4\xba\x92\xe5\x88\xa9', 'vn'), ('\xe5\x90\x88\xe4\xbd\x9c',
'vn'), ('\xef\xbc\x8c', 'wd'), ('\xe7\xac\xa6\xe5\x90\x88', 'v'), ('\xe4\xb8\xa4', 'm'), ('\xe5\x9b\xbd', 'n'), ('\xe5\x92\x8c', 'cc'), ('\xe4\xb8\xa4', 'm'), ('\xe5\x9b\xbd', 'n'), ('\xe4\xba\xba\xe6\xb0\x91', 'n'), ('\xe7\x9a\x84', 'ude1'), ('\xe6\xa0\xb9\xe6\x9c\xac',
'a'), ('\xe5\x88\xa9\xe7\x9b\x8a', 'n'), ('\xe3\x80\x82', 'wj')]
在进行中文处理时,千万要注意工具所支持的编码格式,特别是解码和编码的转换问题
相关文章推荐
- Linux 与 Windows 对UNICODE 的处理方式
- Unicode详细分析解释
- vbs中将GB2312转Unicode的代码
- 将编码从GB2312转成UTF-8的方法汇总(从前台、程序、数据库)
- 程序员趣味读物 谈谈Unicode编码
- 常用字符集编码详解(ASCII GB2312 GBK GB18030 unicode UTF-8)
- C#实现Json转Unicode的方法
- UTF-8、Unicode 标准化表单、BOM
- ASP UTF-8页面乱码+GB2312转UTF-8 +生成UTF-8格式的文件(编码)第1/2页
- ASP+FSO生成的网页文件默认编码格式以及转换成UTF-8编码方法
- php中json_encode UTF-8中文乱码的更好解决方法
- 浅谈Unicode与JavaScript的发展史
- JavaScript中字符串与Unicode编码互相转换的实现方法
- php utf-8转unicode的函数第1/2页
- utf-8编码引起js输出中文乱码的解决办法
- Shell脚本把文件从GBK转为UTF-8编码
- jq的get传参数在utf-8中乱码问题的解决php版
- php UTF-8、Unicode和BOM问题
- wampserver 编码设置
- Unicode再探