首页 > 其他分享 >语种检测

语种检测

时间:2023-06-13 10:47:42浏览次数:19  
标签:google fasttext 语种 检测 xxx print import fastlid

最近在做翻译相关的工作,需要先判断语种,找到了以下几种方法:fasttext、fastlid(基于fasttext)、langid、langdetect、googletrans、google_trans_new(改进googletrans),接下来就实现一下这几种方法。

import fasttext
from fastlid import fastlid
import langid
from langdetect import detect
from googletrans import Translator
from httpcore import SyncHTTPProxy
from google_trans_new import google_translator

## 调用google翻译需要代理
http_proxy = SyncHTTPProxy((b'http', b'xxx.xxx.xxx.xxx', xxxx, b''))
proxies = {'http': http_proxy, 'https': http_proxy}
translator = Translator(service_urls=['translate.google.com', 'translate.google.hk'], proxies=proxies)
## google_trans_new的代理设置比较简单
detector2 = google_translator(url_suffix="com", proxies={'http': 'xxx.xxx.xxx.xxx:xxxx', 'https': 'xxx.xxx.xxx.xxx:xxxx'})
text = ["全键热插拔", "主水路无双酚A,出水水路无硅胶,保障饮水安全", "图片、表格", "聯交所"]

fasttext.FastText.eprint = lambda x: None
## 模型需要下载,地址https://fasttext.cc/docs/en/language-identification.html
path_to_pretrained_model = 'resources/lid.176.bin'
fmodel = fasttext.load_model(path_to_pretrained_model)


def retry(func, text, max_retries=3):
    '''
    重试机制,谷歌翻译容易调用失败
    '''
    for i in range(max_retries):
        try:
            result = func(text)
            return result
        except Exception as e:
            print(f'Error: {e}')
            print(f'Retrying ({i+1}/{max_retries})...')
    print(f'Failed after {max_retries} retries.')
    return None


for i in text:
    print("fasttext: ", fmodel.predict(i))
    print("fastlid: ", fastlid(i))
    print("langid: ", langid.classify(i))
    print("langdetect: ", detect(i))
    print("googletrans: ", retry(translator.detect, i))
    print("google_trans_new: ", retry(detector2.detect, i))

至于时间和检测效果,大家可以自行判断,我主要测试了中文的效果,googletrans、google_trans_new最准确,fasttext、fastlid速度最快

标签:google,fasttext,语种,检测,xxx,print,import,fastlid
From: https://www.cnblogs.com/zhiyixue/p/17476830.html

相关文章

  • 404页面检测
    本文源地址页面分析合集地址页面内容分析之404页面检测先来看看机器人怎么说:要检测一个网页是否是404页面,你可以尝试以下方法:HTTP状态码检查:发送HTTP请求并检查返回的状态码。如果网页是404页面,服务器将返回404状态码。你可以使用编程语言或工具(如Python的requests库)发送HTTP请求,......
  • 404页面检测
    本文源地址页面分析合集地址页面内容分析之404页面检测先来看看机器人怎么说:要检测一个网页是否是404页面,你可以尝试以下方法:HTTP状态码检查:发送HTTP请求并检查返回的状态码。如果网页是404页面,服务器将返回404状态码。你可以使用编程语言或工具(如Python的requests库)发送HTT......
  • 常用的表格检测识别方法-表格内容识别方法
    常用的表格检测识别方法3.3表格内容识别方法表格识别的研究主要涉及两个方面,一方面是对单元格内的文本进行识别,这一步通常是在确定单元格区域后,利用较为稳定的光学字符识别方法(OCR)来实现,这一方面不是表格识别研究的重点,不在此展开;另一方面是基于整个表格内容进行的表格分类、单......
  • js:typeof和Object.prototype.toString检测数据类型
    (目录)typeof检测数据类型console.log(typeof100);//"number"console.log(typeof"abc");//"string"console.log(typeoffalse);//"boolean"console.log(typeofundefined);//"undefined"console.log(typeoffunction......
  • paper检测
    1、paperpass 网站:https://www.paperpass.com/ 首次送1w字免费查重.  2、paperok 网站:https://www.paperok.com/ 可免费试用。  3、paperyy 网站:https://www.paperyy.cn/ 每天中午I1-12之间免费,适合论文前期使用。 图片来源于......
  • imessages数据检测,imessages过蓝检测,用applescript检测手机号码是否注册imessage实
    一、检测iMessage发送数据的2种方式:1.人工筛选,将要验证的号码输出到文件中,以逗号分隔。再将文件中的号码粘贴到iMessage客户端的地址栏,iMessage客户端会自动逐个检验该号码是否为iMessage账号,检验速度视网速而定。红色表示不是iMessage账号,蓝色表示iMessage账号。2.编写脚本控制......
  • 运行漏洞检测jar包提示找不到主类
    1.问题描述1.1报错信息#java-jarshiro_4.5.6-SNAPSHOT-all.jarPickedup_JAVA_OPTIONS:-Dawt.useSystemAAFontSettings=on-Dswing.aatext=trueError:Couldnotfindorloadmainclasscom.summersec.attack.UI.MainCausedby:java.lang.NoClassDef......
  • 关于EasyPlayer.js播放器检测m3u8视频是否为H.265的优化
    EasyPlayer是可支持H.264/H.265视频播放的流媒体播放器,性能稳定、播放流畅,可支持的视频流格式有RTSP、RTMP、HLS、FLV、WebRTC等,具备较高的可用性。EasyPlayer还拥有Windows、Android、iOS版本,其灵活的视频能力,极大满足了用户的多样化场景需求。在播放器EasyPlayer.js5.0.7版本......
  • 关于EasyPlayer.js播放器检测m3u8视频是否为H.265的优化
    EasyPlayer是可支持H.264/H.265视频播放的流媒体播放器,性能稳定、播放流畅,可支持的视频流格式有RTSP、RTMP、HLS、FLV、WebRTC等,具备较高的可用性。EasyPlayer还拥有Windows、Android、iOS版本,其灵活的视频能力,极大满足了用户的多样化场景需求。在播放器EasyPlayer.js5.0.7版本中,......
  • 图异常检测
    GraphAnomalyDetection最近有个项目在做图异常检测相关的东西,就把相关的一些文章放在这里。AComprehensiveSurveyonGraphAnomalyDetectionwithDeepLearninghttps://ieeexplore.ieee.org/document/9565320异常检测:异常点异常边异常子图......