def tencent_classify(content): """ given a passage content, return its first level class :param content: :return: """ action = 'TextClassify' module = 'wenzhi' config = { 'Region': 'gz', 'secretId': 'AKIDi1ohL0zeMXuUaxEwGHMgd2aXeQYqnYJS', 'secretKey': 'oUEND16w54I8i6uragtks71EFK70hg8a', 'method': 'get' } content = content.replace('\n', '') content = content.replace(' ', '') params = { u"content": content.replace('\n', '') } for i in xrange(3): try: qcloud_service = QcloudApi(module, config) result = qcloud_service.call(action, params) result_obj = json.loads(result) if result_obj['code'] != 0: continue else: return result_obj except Exception, e: return {'code': 1, 'msg': 'unknown error, detail=%s' % e}
def wenzhi_analysis(content): """ 使用腾讯文智文本分类接口进行分析,得出 :param content: :return: """ module = 'wenzhi' action = 'TextClassify' config = { 'Region': 'sz', 'secretId': 'AKIDi1ohL0zeMXuUaxEwGHMgd2aXeQYqnYJS', 'secretKey': 'oUEND16w54I8i6uragtks71EFK70hg8a', 'method': 'post' } refined_content = remove_illegal_characters(content) params = { 'content': refined_content, 'query_encode': 0 } try: service = QcloudApi(module, config) # req_url = service.generateUrl(action, params) # print req_url # result_str = requests.get(req_url) result_str = service.call(action, params) # print result_str k = 0.001 # 平滑系数 result = json.loads(result_str) prob_sum = 0 if result['code'] == 0: for item in result['classes']: prob_sum += item['conf'] + k for item in result['classes']: item['conf'] = (item['conf'] + k) / prob_sum return result except Exception, e: print e