上云无忧 > 文档中心 > 百度智能云自然语言处理技术案例实现步骤
自然语言处理技术
百度智能云自然语言处理技术案例实现步骤

文档简介:
实现步骤: 只需三步,即可完成接口的调用。 Step1:成为百度AI开放平台的开发者。 要调用百度AI开放平台的能力先要成为百度AI开放平台的开发者,首先让我们来注册百度AI开放平台的开发者,并新建一个自然语言处理应用。 【百度智能云】语言理解技术 【百度智能云】语言生成技术 【百度智能云】自然语言处理私有化部署方案
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠



下面让我们一起来和小王看一下如何接入百度自然语言处理服务吧

实现步骤

只需三步,即可完成接口的调用。

Step1:成为百度AI开放平台的开发者

要调用百度AI开放平台的能力先要成为百度AI开放平台的开发者,首先让我们来注册百度AI开放平台的开发者,并新建一个自然语言处理应用。

  • 点击百度AI开放平台导航右侧的控制台,选择需要使用的AI服务项。若为未登录状态,将跳转至登录界面,请您使用百度账号登录。如还未持有百度账户,可以点击此处注册百度账户。
  • 首次使用,登录后将会进入开发者认证页面,请填写相关信息完成开发者认证。注:(如您之前已经是百度云用户或百度开发者中心用户,此步可略过。)
  • 通过控制台左侧导航,选择产品服务-人工智能,进入具体AI服务项的控制面板(自然语言处理),进行相关业务操作。

我们有账号之后登录,并且点击此处创建一个应用,如下图

然后就能看到创建完的应用和 API KEY 以及 Secret KEY

Step2:准备数据

我们在某电商上针对某一款电商产品(例如:XX手机)随机抽取了几条商品评论进行典型意见分析。

评论1

手机已经收到,非常完美超出自己的想象,外观惊艳 黑色高端加外形时尚融为一体比较喜欢的类型。
系统流畅优化的很好,操作界面简洁大方好上手。
电池用量很满意,快充很不错。相机拍人拍物都美。
总而言之一句话很喜欢的宝贝。

评论2

外观精美大小正合适,做工精细,线条流畅,拍照完美,吃鸡最高画质无压力。
连续玩了三个小时掉电百分之二十,电池强劲持久,无明显发热,操作流畅,准备再买一台给老婆生日礼物!

评论3

大家千万不要在上当了,耗电特别快,手机激活后不支持7天无理由退货,请大家小心购买

Step3: 编写一个示例程序

第一步API KEY 以及 Secret KEY,以及第二步的数据,我们就可以写一个示例代码调用百度AI开放平台的评论观点抽取能力

准备开发环境

我们选择用python来快速搭建一个原型,关于如何安装python。可以参考下表列出的不同操作系统的安装方法进行安装。

Python的官方下载地址:下载python

Windows 快速测试包

windows平台的用户如果对上述的python安装感到困难,可以下载我们的一键测试包,下载地址:windows测试包。

解压zip文件后,双击run.bat即可测试。

编写代码

新建一个 main.py

粘贴以下内容,不要忘记替换你的 API_KEY 以及 SECRET_KEY


# coding=utf-8

import sys
import json
import base64
import time


# make it work in both python2 both python3
IS_PY3 = sys.version_info.major == 3
if IS_PY3:
    from urllib.request import urlopen
    from urllib.request import Request
    from urllib.error import URLError
    from urllib.parse import urlencode
    from urllib.parse import quote_plus
else:
    import urllib2
    from urllib import quote_plus
    from urllib2 import urlopen
    from urllib2 import Request
    from urllib2 import URLError
    from urllib import urlencode

# skip https auth
import ssl
ssl._create_default_https_context = ssl._create_unverified_context

API_KEY = 'jhDFBkvSQGtS9WPGZaE9IbcS'

SECRET_KEY = 'e5OXupgG11ovUFkA2zhqPD4HsLO35bqd'


COMMENT_TAG_URL = "https://aip.baidubce.com/rpc/2.0/nlp/v2/comment_tag"

"""  TOKEN start """
TOKEN_URL = 'https://aip.baidubce.com/oauth/2.0/token'


"""
    get token
"""
def fetch_token():
    params = {'grant_type': 'client_credentials',
              'client_id': API_KEY,
              'client_secret': SECRET_KEY}
    post_data = urlencode(params)
    if (IS_PY3):
        post_data = post_data.encode('utf-8')
    req = Request(TOKEN_URL, post_data)
    try:
        f = urlopen(req, timeout=5)
        result_str = f.read()
    except URLError as err:
        print(err)
    if (IS_PY3):
        result_str = result_str.decode()


    result = json.loads(result_str)

    if ('access_token' in result.keys() and 'scope' in result.keys()):
        if not 'brain_all_scope' in result['scope'].split(' '):
            print ('please ensure has check the  ability')
            exit()
        return result['access_token']
    else:
        print ('please overwrite the correct API_KEY and SECRET_KEY')
        exit()

"""
    call remote http server
"""
def make_request(url, comment):
    print("---------------------------------------------------")
    print("评论文本:")
    print("    " + comment)
    print("\n评论观点:")

    response = request(url, json.dumps(
    {
        "text": comment,
        # 13为3C手机类型评论,其他类别评论请参考 https://ai.baidu.com/docs#/NLP-Apply-API/09fc895f
        "type": 13
    }))

    data = json.loads(response)

    if "error_code" not in data or data["error_code"] == 0:
        for item in data["items"]:
            # 积极的评论观点
            if item["sentiment"] == 2:
                print(u"    积极的评论观点: " + item["prop"] + item["adj"])
            # 中性的评论观点
            if item["sentiment"] == 1:
                print(u"    中性的评论观点: " + item["prop"] + item["adj"])
            # 消极的评论观点
            if item["sentiment"] == 0:
                print(u"    消极的评论观点: " + item["prop"] + item["adj"])
    else:
        # print error response
        print(response)

    # 防止qps超限
    time.sleep(0.5)

"""
    call remote http server
"""
def request(url, data):
    req = Request(url, data.encode('utf-8'))
    has_error = False
    try:
        f = urlopen(req)
        result_str = f.read()
        if (IS_PY3):
            result_str = result_str.decode()
        return result_str
    except  URLError as err:
        print(err)

if __name__ == '__main__':

    comment1 = "手机已经收到,非常完美超出自己的想象,外观惊艳 黑色高端加外形时尚融为一体比较喜欢的类型。
系统流畅优化的很好,操作界面简洁大方好上手。电池用量很满意,快充很不错。相机拍人拍物都美。总而言之一句话很喜欢的宝贝。"
    comment2 = "外观精美大小正合适,做工精细,线条流畅,拍照完美,吃鸡最高画质无压力。连续玩了三个小时掉电百分之二十,
电池强劲持久,无明显发热,操作流畅,准备再买一台给老婆生日礼物!"
    comment3 = "大家千万不要在上当了,耗电特别快,手机激活后不支持7天无理由退货,请大家小心购买"

    # get access token
    token = fetch_token()

    # concat url
    url = COMMENT_TAG_URL + "?charset=UTF-8&access_token=" + token

    make_request(url, comment1)
    make_request(url, comment2)
    make_request(url, comment3)


运行代码

在命令行中运行python main.py

结果

若代码正确运行,命令行界面上会显示出运行结果:


---------------------------------------------------
评论文本:
    手机已经收到,非常完美超出自己的想象,外观惊艳 黑色高端加外形时尚融为一体比较喜欢的类型。系统流畅优化的很好,
操作界面简洁大方好上手。电池用量很满意,快充很不错。相机拍人拍物都美。总而言之一句话很喜欢的宝贝。

评论观点:
    积极的评论观点: 外观惊艳
    积极的评论观点: 系统流畅
    积极的评论观点: 优化好
    积极的评论观点: 界面简洁
    积极的评论观点: 电池不错
    积极的评论观点: 相机不错
---------------------------------------------------
评论文本:
    外观精美大小正合适,做工精细,线条流畅,拍照完美,吃鸡最高画质无压力。
连续玩了三个小时掉电百分之二十,电池强劲持久,无明显发热,操作流畅,准备再买一台给老婆生日礼物!

评论观点:
    积极的评论观点: 大小合适
    积极的评论观点: 外观精美
    积极的评论观点: 做工精细
    积极的评论观点: 线条流畅
    积极的评论观点: 拍照不错
    积极的评论观点: 电池持久
    积极的评论观点: 发热明显
    积极的评论观点: 操作流畅
---------------------------------------------------
评论文本:
    大家千万不要在上当了,耗电特别快,手机激活后不支持7天无理由退货,请大家小心购买

评论观点:
    消极的评论观点: 耗电快
    消极的评论观点: 手机一般


结果中还会返回情感搭配在句子中的起止位置,以及对应于该情感搭配的短句摘要,更多返回字段的解释您可以参照文档自然语言处理应用技术REST API文档 。

总结

通过评论观点抽取了解用户对商品的核心关注点,通过情感倾向分析了解用户对商品的喜好程度,通过聚类/分类能力进行系统化的观点标签总结,可以帮助商家更快速更全面的了解用户直观且典型的评价,来分析该款电商产品在用户心中的优缺点和用户满意度,生产商可根据客户评论制定新的策略。



相似文档
  • 百度AI开放平台提供了多种多样的NLP语义分析服务,您可以尝试接入NLP语言理解技术服务,包括情感倾向分析、评论观点抽取、文本纠错、地址识别等,您也可以选用NLP语言生成技术服务,高效便捷的实现文章标签、文章分类等功能。 【百度智能云】语言理解技术 【百度智能云】语言生成技术 【百度智能云】自然语言处理私有化部署方案
  • 欢迎了解百度自然语言处理API计费服务,自然语言处理共有20项能力可在平台按需自助购买: 语言生成技术: 文章标签、文章分类、智能春联、智能写诗、新闻摘要、文章标题生成。 语言理解技术: 中文词向量表示、词义相似度、短文本相似度、中文DNN语言模型、情感倾向分析、情感倾向分析(定制)、依存句法分析、词法分析、词法分析(定制)、文本纠错、对话情绪识别、评论观点抽取、评论观点抽取(定制)、地址识别。 【百度智能云】语言理解技术 【百度智能云】语言生成技术 【百度智能云】自然语言处理私有化部署方案
  • 免费测试资源 是指成功创建应用并开通自然语言处理服务后可享受的免费调用次数,每个API都有基础免费额度,供您尝试和体验。 企业认证福利 针对企业用户会送出更多的优惠福利,在您通过企业认证后,将会享有相对更高的免费调用量。 【百度智能云】语言理解技术 【百度智能云】语言生成技术 【百度智能云】自然语言处理私有化部署方案
  • 各API在每日免费额度用完后,超出部分需要按次数进行额外购买,否则接口会报错。 自然处理技术产品,采用后付费与预付费两种方式,您可以按需选择: 1、按量后付费 对您实际产生的计费调用量按固定单价进行计费结算,系统每小时从您的百度云账户中扣除对应的消费额。 【百度智能云】语言理解技术 【百度智能云】语言生成技术 【百度智能云】自然语言处理私有化部署方案
  • 智能创作平台(SAAS),基于百度领先的多模态创作技术,为内容创作者和机构提供各类AI赋能的内容生产工具。包括视频创作、智能写作等多模态创作能力,涵盖自动创作和辅助创作两大功能场景,使用智能创作平台可以极大地提高内容生产效率。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部