04.微博消息的语言检测

简介:

04.微博消息的语言检测

郑昀 201010 隶属于《02.数据解析》小节

大意是,封装Google语言检测ajax web service的接口,输入一段话,输出语言种类。这个方法是从RssMeme.com看来的,经测试效果还不错,可用于检测微博客消息的语言,如中文、日文、韩文等。但由于Google对过于频繁的请求会重置链接,所以提请注意,这个Web Service不适合大量密集请求提交。 

一、简单示范

访问
http://ajax.googleapis.com/ajax/services/language/detect?v=1.0&q=hello+world
链接,你可以看到返回结果是一个json字符串:
{"responseData": {"language":"en","isReliable":false,"confidence":0.114892714}, "responseDetails": null, "responseStatus": 200}

记得加版本号参数:v=1.0,否则返回如下json:
{"responseData": null, "responseDetails": "invalid version", "responseStatus": 400}

 

二、如果是日文微博客消息呢?

举例,送去检测的微博客消息是:

RT @ufotable: 本日22時より星海社ウェブサイト「最前線」にて『坂本真綾の満月朗読館』第二夜『山月記』が 配信されます。第二夜の映像演出も弊社デジタル部が担当い…http://goo.gl/brJE

经过urlencode变换后,提交到Google,返回的结果是:

{"responseData": {"language":"ja","isReliable":true,"confidence":0.88555187}, "responseDetails": null, "responseStatus": 200}

这样用result['responseData']['language']就获得了语言的代号。
只要检查这个代号不是“zh-CN”,那么就不是中文语言了。


四、封装Google Language Detect Ajax Web Service

示范:
import urllib
import httplib2
try:
    from base import easyjson
except:
    pass

class Detect():
    google_api_prefix = 'http://ajax.googleapis.com/ajax/services/language/detect'
    def __init__(self, httplib2_inst=None):
        """从外可以传入httplib实例,便于在外部加设代理软件穿墙"""
        self.http = httplib2_inst or httplib2.Http()
    def post_sentence(self, q):
        return self._fetch(
            self.google_api_prefix,
            {'v':"1.0",'q':q}
            )
    def _fetch(self, url, params):
        request = url +"?"+ urllib.urlencode(params)
        resp, content = self.http.request(request, "GET")
        return easyjson.parse_json_func(content)

    def detectZHCN(self, text):
        """输入文字如果检测到是zh-CN,返回True,否则返回False"""
        data = self.post_sentence(text)['responseData']
        if(data):
            language = data['language']
            if(language=='zh-CN'):
                return True
        return False

目录
相关文章
|
9天前
|
人工智能 JSON 自然语言处理
让教学更智慧:用阿里云百炼工作流,自动生成中小学教材内容#小有可为#有温度的AI
通过可视化工作流编排,将大模型推理能力转化为标准化的教学内容生成引擎。教师只需输入教材标题和适用学段,即可自动获得结构完整、符合课程标准的章节内容,大幅降低备课门槛,助力教育资源均衡化。
485 125
|
18天前
|
Linux 程序员 数据格式
【2026最新】Notepad++下载、安装和使用一篇搞定(附中文版安装包)
Notepad++ 是一款免费开源、轻量高效的 Windows 文本编辑器,支持 C/Python/HTML 等 80+ 语言语法高亮、代码折叠、正则替换、编码转换及插件扩展,专为程序员与文本处理用户打造,完美替代系统记事本。(239字)
|
4天前
|
人工智能 缓存 安全
Claude Code 封号真实原因曝光,这次彻底不装了,直接针对国内开发者的账号下手?
Claude Code 封号潮背后:逆向扒出客户端隐写区域标记,Anthropic 政策收紧叠加 DeepSeek 7 月涨价,国产替代更紧迫。
|
5天前
|
人工智能 安全 Cloud Native
Higress 新发布:AI Gateway 能力增强,Gateway API 及其推理扩展持续打磨
增强 AI 网关能力,持续打磨 Gateway API 及其推理扩展。
327 124
|
13天前
|
机器学习/深度学习 人工智能 调度
🐴 HappyHorse 1.1 现已上线阿里云百炼!快来查收模型使用指南,现在调用享 6 折~
HappyHorse 1.1 是新一代视频生成大模型,全面升级动态表现力、角色一致性、指令遵循、视觉质感与音画协同能力。支持I2V/T2V/R2V三类生成,适配短剧、电商广告、品牌营销等场景,提供高质、流畅、可控的AI视频生产力。
822 5
🐴 HappyHorse 1.1 现已上线阿里云百炼!快来查收模型使用指南,现在调用享 6 折~
|
4天前
|
人工智能 安全 程序员
终于,Claude Code 封号的原因被曝光了!竟然针对中国用户,植入隐形代码?!
通俗易懂地揭秘 Claude Code 封号的手段,分享一些自己对 AI 编程困境的思考,Codex、Cursor、DeepSeek、智谱 GLM、甚至是豆包,都有所行动了
323 1
|
11天前
|
人工智能 定位技术 SEO
我学 GEO 第 15 天:终于知道AI GEO该如何做?
我是暴走的莉莉酱,边旅行边研究AI GEO的数字游民。专注普通人如何提升“AI可见度”——让AI在回答用户问题时准确识别、理解并推荐你。不讲玄学,只做可测、可调、可持续的GEO实践。
462 127

热门文章

最新文章