编写简单的Python程序来判断文本的语种


Posted in Python onApril 07, 2015

1.问题的描述

用Python进行文本处理时,有时候处理的文本中包含中文、英文、日文等多个语系的文本,有时候不能同时进行处理,这个时候就需要判别当前文本是属于哪个语系的。Python中有个langid工具包提供了此功能,langid目前支持97种语言的检测,非常好用。

2.程序的代码

以下Python是调用langid工具包来对文本进行语言检测与判别的程序代码:
 

import langid                             #引入langid模块 
  
def translate(inputFile, outputFile): 
  fin = open(inputFile, 'r')                  #以读的方式打开输入文件 
  fout = open(outputFile, 'w')                 #以写的方式打开输出文件 
  
  for eachLine in fin:                     #依次读入每一行 
    line = eachLine.strip().decode('utf-8', 'ignore')   #去除每行的首位空格等,并统一转化成Unicode 
    lineTuple = langid.classify(line)           #调用langid来对该行进行语言检测 
    if lineTuple[0] == "zh":               #如果该行语言大部分为中文,则不进行任何处理 
      continue 
  
    outstr = line                     #如果该行语言为非中文,则准备输出 
    fout.write(outstr.strip().encode('utf-8') + '\n')   #输出非中文的行,从Unicode转化成utf-8输出 
  
  fin.close() 
  fout.close() 
  
if __name__ == '__main__':                      #相当于main函数 
  translate("myInputFile.txt", "myOutputFile.txt")

 以上代码是用来处理一个文本,将不属于中文的行依次输出到一个新的文件。

 
3.注意

第9、10行代码,langid.classify(line)的输出结果是一个二元组,二元组的第一项表示该文本所属的语系,如:zh表示中文、en表示英语、等等;二元组的第二项表示该文本中属于第一项中语系的所占比例。

 

希望对大家有所帮助。

Python 相关文章推荐
python smtplib模块自动收发邮件功能(一)
May 22 Python
读取json格式为DataFrame(可转为.csv)的实例讲解
Jun 05 Python
替换python字典中的key值方法
Jul 06 Python
Python实现读取txt文件中的数据并绘制出图形操作示例
Feb 26 Python
python实现图片压缩代码实例
Aug 12 Python
利用python实现周期财务统计可视化
Aug 25 Python
python用类实现文章敏感词的过滤方法示例
Oct 27 Python
python绘制无向图度分布曲线示例
Nov 22 Python
Python3的socket使用方法详解
Feb 18 Python
Django+Uwsgi+Nginx如何实现生产环境部署
Jul 31 Python
Python用dilb提取照片上人脸的示例
Oct 26 Python
python tqdm实现进度条的示例代码
Nov 10 Python
Python实现在线程里运行scrapy的方法
Apr 07 #Python
Python实现从脚本里运行scrapy的方法
Apr 07 #Python
Python自定义scrapy中间模块避免重复采集的方法
Apr 07 #Python
Python中用memcached来减少数据库查询次数的教程
Apr 07 #Python
Python3中常用的处理时间和实现定时任务的方法的介绍
Apr 07 #Python
Python中使用pprint函数进行格式化输出的教程
Apr 07 #Python
利用QT写一个极简单的图形化Python闹钟程序
Apr 07 #Python
You might like
收音机另类DIY - 纸巾盒做外壳
2021/03/02 无线电
getimagesize获取图片尺寸实例
2014/11/15 PHP
php结合正则获取字符串中数字
2015/06/19 PHP
基于ThinkPHP实现批量删除
2015/12/18 PHP
js实现双向链表互联网机顶盒实战应用实现
2011/10/28 Javascript
深入理解JQuery keyUp和keyDown的区别
2013/12/12 Javascript
自己用jQuery写了一个图片的马赛克消失效果
2014/05/04 Javascript
javascript制作幻灯片(360度全景图片)
2015/07/28 Javascript
Jquery揭秘系列:ajax原生js实现详解(推荐)
2016/06/08 Javascript
Javascript对象字面量的理解
2016/06/22 Javascript
前端框架Vue.js中Directive知识详解
2016/09/12 Javascript
javascript实现页面滚屏效果
2017/01/17 Javascript
JavaScript事件处理程序详解
2017/09/19 Javascript
js生成word中图片处理方法
2018/01/06 Javascript
vue 实现剪裁图片并上传服务器功能
2018/03/01 Javascript
[41:21]夜魇凡尔赛茶话会 第三期02:看图识人
2021/03/11 DOTA
python开发之文件操作用法实例
2015/11/13 Python
Python在不同目录下导入模块的实现方法
2017/10/27 Python
python3.6+opencv3.4实现鼠标交互查看图片像素
2018/02/26 Python
python 基本数据类型占用内存空间大小的实例
2018/06/12 Python
python用列表生成式写嵌套循环的方法
2018/11/08 Python
python切片的步进、添加、连接简单操作示例
2019/07/11 Python
python opencv鼠标事件实现画框圈定目标获取坐标信息
2020/04/18 Python
python cv2.resize函数high和width注意事项说明
2020/07/05 Python
戴尔英国官网:Dell英国
2017/05/27 全球购物
Lululemon加拿大官网:加拿大知名体育服装零售商
2019/04/12 全球购物
Hanky Panky官方网站:内衣和睡衣
2019/07/25 全球购物
如何写出高性能的JSP和Servlet
2013/01/22 面试题
为什么如下的代码int a=100,b=100;long int c=a * b;不能工作
2013/11/29 面试题
铭万公司.net面试题笔试题
2014/07/20 面试题
个人求职简历的自我评价
2013/10/19 职场文书
2014民事授权委托书范本
2014/09/29 职场文书
拾金不昧表扬信怎么写
2015/05/04 职场文书
2016七夕情人节广告语
2016/01/28 职场文书
为什么代码规范要求SQL语句不要过多的join
2021/06/23 MySQL
Javascript webpack动态import
2022/04/19 Javascript