【python舆情分析(1)】 舆情分析简介及百度AI开放接口搞定中文分词

1. 舆情分析简介

1) 基本概念

舆情 —— 是"舆论情况"的简称,是指在一定的社会空间内,围绕中介性社会事件的发生、发展和变化,作为主体的民众对作为客体的社会管理者、企业、个人及其他各类组织及其政治、社会、道德等方面的取向产生和持有的社会态度。它是较多群众关于社会中各种现象、问题所表达的信念、态度、意见和情绪等等表现的总和。

2) 舆情分析具体包括工作

① 监测全网舆情
首先是要先能全网监测到企业相关的所有信息,当互联网上有与企业相关的舆情产生时能及时发现,其次才能对这些舆情信息进行分析,最后才能制定出应对方案,这就包括全网的各大新闻媒体网站以及各类社交平台。

★★★★★ ② 多角度全方面分析
具体可以从时间、情感、网友讨论度、主题等几个方面入手进行分析,以情感分析为例,主要是分析具有情感成分的词汇的情感极性,是正是中还是负性以及情感强烈程度,以此来判定情感类别了解舆情的情感倾向。关键是根据企业需求看想对哪个角度分析,然后再有针对性的采集数据。

③ 媒介传播情况分析
即分析谁在传播扩散,在向谁扩散,扩散速度、效果如何,产生了多大的影响力。需要注意的是,不同的媒介类型,其特点与受众各不相同,建议可以按照权重进行划分,有重点的筛选,提高效率。

2. 百度AI开放平台介绍

1) 自然语言处理

这里主要是针对于上面的第二点进行文字的分析和处理最后进行多角度全方面分析。说到文字的分析和处理,不得不提一下目前人工智能领域的子方向 —— 自然语言处理(Natural Language Processing,简称NLP)。

自然语言处理是能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。

因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别:自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统。因而它是计算机科学的一部分。
在这里插入图片描述
2) 百度AI开放平台

百度AI开放平台是百度旗下的人工智能开放平台,包含多个人工智能算法接口,也包括本门课将会使用到的自然语言处理相关接口,来实现词法分析、文字情感倾向分析等,大大降低了大家的技术门槛。

要使用接口之前需要进行账号注册和个人(企业)认证三步完成账号的基本注册与认证:

第一步:进入百度AI开放官网
第二步:点击右上角的‘控制台’选项登录(百度网盘的账号密码即可),接着跳转界面后点击个人头像进行个人身份认证
在这里插入图片描述
第三步,再选择左侧页面上的内容进行应用相关的操作(比如:文字识别、人脸识别)
在这里插入图片描述

3. 中文语句词法分析

1) 首先获取api的密匙

需要先创建一个‘自然语言处理’的应用(创建中名称和描述随便填写一下,应用类型和接口选择默认即可),然后就会生成针对于这个账户的密匙,如下
在这里插入图片描述
至此,应用就创建好了,其中AppID / API Key / Secret Key这3个参数在后续接口调用过程中很重要,不用去记,每次需要的时候登陆百度AI开放平台,在后台查看即可!

2) 获取AccessToken

此处就相当于获得一个接入许可,可参看鉴权认证机制,然后进行AccessToken的获取

import requests 
import json
import pandas as pd

# client_id 为官网获取的AK, client_secret 为官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【官网获取的AK】&client_secret=【官网获取的SK】'

response = requests.get(host)
if response:
    print(response.json()['access_token'])

–> 输出的结果为:(输出的是自己创建应用后的AccessToken,之后的文本分析、情感分析都需要使用到这个)

24.6c5e1ff107f0e8bcef8c46d3424a0e78.2592000.1485516651.282335-857407'

3) 词法分析

① 生成词法分析接口的url

access_token= '24.6c5e1ff107f0e8bcef8c46d3424a0e78.2592000.1485516651.282335-857407'

url = 'https://aip.baidubce.com/rpc/2.0/nlp/v1/lexer?charset=UTF-8&access_token=' +  access_token

② 用生成好的url,对文本数据做中文分词

#按要求写入header参数
headers = {'content-type': 'application/json'}

# 创建变量,写入需要分词的文本
st = '百度是一家高科技公司'

# 用requests工具包发送请求
response = requests.post(url, 
                         data = json.dumps({'text': st}),    # st变量写在这里
                         headers = headers)
if response:
    result = response.json()
result

–> 输出的结果为:(可以发现已经对词语进行切割了)

{'log_id': 5413937828029173655,
 'text': '百度是一家高科技公司',
 'items': [{'loc_details': [],
   'byte_offset': 0,
   'uri': '',
   'pos': '',
   'ne': 'ORG',
   'item': '百度',
   'basic_words': ['百度'],
   'byte_length': 6,
   'formal': ''},
  {'loc_details': [],
   'byte_offset': 6,
   'uri': '',
   'pos': 'v',
   'ne': '',
   'item': '是',
   'basic_words': ['是'],
   'byte_length': 3,
   'formal': ''},
  {'loc_details': [],
   'byte_offset': 9,
   'uri': '',
   'pos': 'm',
   'ne': '',
   'item': '一家',
   'basic_words': ['一', '家'],
   'byte_length': 6,
   'formal': ''},
  {'loc_details': [],
   'byte_offset': 15,
   'uri': '',
   'pos': 'n',
   'ne': '',
   'item': '高科技',
   'basic_words': ['高', '科技'],
   'byte_length': 9,
   'formal': ''},
  {'loc_details': [],
   'byte_offset': 24,
   'uri': '',
   'pos': 'n',
   'ne': '',
   'item': '公司',
   'basic_words': ['公司'],
   'byte_length': 6,
   'formal': ''}]}
原创文章 159 获赞 93 访问量 4万+

猜你喜欢

转载自blog.csdn.net/lys_828/article/details/105054781