当前位置: 首页 > news >正文

Python多语言语种识别:检测文本是否中英文

先给一些例子,可以直观看出要做什么事,

Input text: "ру́сский язы́к"
Output text: "Russian" Input text: "中文"
Output text: "Chinese" Input text: "にほんご"
Output text: "Japanese" Input text: "العَرَبِيَّة"
Output text: "Arabic"

有比较多的 Python 库可以做这件事情,这个贴子列了七八个,当前还比较流行的,是langdetect。不过它识别率和性能都比较差,而基于神经网络模型的fasttext的效果和性能都更好。但langdetect有很容易理解的编程接口,所以有人基于fasttext做了fasttext-langdetect,易于编程,性能和准确性都很好。

from ftlangdetect import detectresult = detect(text="Bugün hava çok güzel", low_memory=False)
print(result)
> {'lang': 'tr', 'score': 1.00}result = detect(text="Bugün hava çok güzel", low_memory=True)
print(result)
> {'lang': 'tr', 'score': 0.9982126951217651}

可以去它的pypi页面了解一下。

除此之外,还有lingua,在性能和准确性上都比fasttext更好一些,

pip install lingua-language-detector

但使用起来感觉有点麻烦,编程接口上不是特别直观,我就没有尝试。

>>> from lingua import Language, LanguageDetectorBuilder
>>> languages = [Language.ENGLISH, Language.FRENCH, Language.GERMAN, Language.SPANISH]
>>> detector = LanguageDetectorBuilder.from_languages(*languages).build()
>>> language = detector.detect_language_of("languages are awesome")
>>> language
Language.ENGLISH
>>> language.iso_code_639_1
IsoCode639_1.EN
>>> language.iso_code_639_1.name
'EN'
>>> language.iso_code_639_3
IsoCode639_3.ENG
>>> language.iso_code_639_3.name
'ENG'

在此记录之。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 如何使用Postman搞定带有token认证的接口实战!
  • vue3 + elementplus + sortablejs实现树形表格拖拽排序
  • 携手SelectDB,观测云实现性能与成本的双重飞跃
  • Docker搭建 RabbitMQ 最新版
  • 论文复现:考虑电网交互的风电、光伏与电池互补调度运行(MATLAB-Yalmip-Cplex全代码)
  • jupyter安装与使用——Ubuntu服务器
  • 【MATLAB源码-第231期】基于matlab的polar码编码译码仿真,对比SC,SCL,BP,SCAN,SSC等译码算法误码率。
  • C++ 面试模拟02
  • 【AI创作组】Matlab中进行符号计算
  • 【目标检测】隐翅虫数据集386张VOC+YOLO
  • 【ArcGIS微课1000例】0122:经纬网、方里网、参考格网绘制案例教程
  • UE4_后期处理七—仿红外线成像效果
  • MIME 类型
  • Ubuntu环境切换到服务器某个用户后source等命令和Tab快捷补全都用不了了,提示没找到,但root用户可以
  • java并发编程笔记 之 线程和进程
  • 网络传输文件的问题
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • css选择器
  • Debian下无root权限使用Python访问Oracle
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • node-glob通配符
  • React Native移动开发实战-3-实现页面间的数据传递
  • 阿里云前端周刊 - 第 26 期
  • 程序员该如何有效的找工作?
  • 对象引论
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 前端代码风格自动化系列(二)之Commitlint
  • 使用权重正则化较少模型过拟合
  • 算法之不定期更新(一)(2018-04-12)
  • 微信开放平台全网发布【失败】的几点排查方法
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 项目管理碎碎念系列之一:干系人管理
  • 硬币翻转问题,区间操作
  • 原生 js 实现移动端 Touch 滑动反弹
  • Java数据解析之JSON
  • k8s使用glusterfs实现动态持久化存储
  • 第二十章:异步和文件I/O.(二十三)
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​卜东波研究员:高观点下的少儿计算思维
  • #define 用法
  • #WEB前端(HTML属性)
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • (阿里云在线播放)基于SpringBoot+Vue前后端分离的在线教育平台项目
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (限时免费)震惊!流落人间的haproxy宝典被找到了!一切玄妙尽在此处!
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转)Unity3DUnity3D在android下调试
  • (转)程序员技术练级攻略
  • (转载)从 Java 代码到 Java 堆
  • .net core Swagger 过滤部分Api
  • .NET Core 将实体类转换为 SQL(ORM 映射)