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

目录
相关文章
|
1月前
|
人工智能 缓存 自然语言处理
ChatGPT消息发不出去?ChatGPT没反应?那是这个步骤少做了!
今天在工作的过程中,我正准备登陆ChatGPT咨询一些关于文案的问题,但突然发现自己无法发送消息了。 “ChatGPT消息发送故障,但历史对话仍可查看。为了解决问题,您可以先访问OpenAI官方网站:https://status.openai.com/。 这个网站提供了Open AI系统的实时状态监控,非常方便实用。”
22 0
ChatGPT消息发不出去?ChatGPT没反应?那是这个步骤少做了!
|
4月前
|
JSON 机器人 API
50行代码,编写QQ 聊天机器人,每天一句知心话自动发!
50行代码,编写QQ 聊天机器人,每天一句知心话自动发!
|
9月前
|
Python
微信虚拟聊天对话生成器示例
python实现对话生成器代码示例
|
5月前
09 公众号开发 - 回复用户语音消息识别代码
09 公众号开发 - 回复用户语音消息识别代码
20 0
一对一聊天平台源码,不同数据缺失处理方法的比较
一对一聊天平台源码,不同数据缺失处理方法的比较
|
机器学习/深度学习 Java vr&ar
GCAN:可解释的社交媒体假新闻检测方法
GCAN:可解释的社交媒体假新闻检测方法
323 0
GCAN:可解释的社交媒体假新闻检测方法
|
机器人 Python
Python 微信机器人:itchat库识别消息来源于群聊还是个人
Python 微信机器人:itchat库识别消息来源于群聊还是个人
196 0
|
机器学习/深度学习 人工智能 缓存
搜狗知音引擎再进一步,实现语音实时翻译
搜狗在乌镇互联网大会上发布了实时翻译技术,此后,搜狗语音交互中心技术负责人陈伟详细介绍了背后的技术框架和搜狗的多项核心技术。
380 0
搜狗知音引擎再进一步,实现语音实时翻译