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