舆情洞察解决方案是针对媒体行业的需求,利用微软自然语言处理技术、Azure云服务及大数据分析技术构建的行业解决方案。 解决方案利用互联网公开新闻文本数据,分析全球各主要国家及地区的热点新闻事件,持续监控事件趋势,多维度洞察事件影响力,协助媒体机构进行素材采集及选题。
基于采集的互联网新闻数据,利用文本聚类算法、文本情感分析算法等自然语言处理技术发现热点事件,分析热点事件情感走势,及热点事件的影响力。
解决方案架构图如下:
解决方案是一个从数据收集到数据展现的完整流程,其中包括了数据收集,数据注入,数据转换,数据存储和分析,以及数据可视化部分。
数据收集部分是一个WebJob,主要用于将示例数据注入到事件中心,示例数据可以根据需要进行更改或者自行生成。 两个事件中心主要用于对收集数据的注入,在实际的场景中,可能有多个数据收集源,这些数据收集者将收集的数据注入到事件中心。 流式分析主要用于将事件中心中的数据导入到数据存储中,在进行数据导入的过程中可以对数据根据业务进行数据变形,连接等相关操作。 数据存储主要用于存储业务数据,存放在SQLAzure 数据库中。 分析工作主要使用WebJob作为后台服务运行进行数据处理操作,WebJob运行分析作业将数据从存储中加载出来,并进行情感分析,关键词提取,实体链接等相关操作,并将分析处理完成的数据存储到数据库中。 数据可视化则主要使用Power BI完成,将Power BI连接到SQL Azure数据源上,根据需要的数据进行报表构建。
解决方案提供的PBI Demo包含了分析处理过的数据及基本的业务场景。用户可以基于自己的业务理解,利用分析过的样本数据快速修改PBI demo报告,定制业务数据展现方式,帮助客户深入理解业务场景。
解决方案提供了可部署在自有Azure订阅的解决方案部署包,通过部署解决方案,用户可以深入了解如何利用Azure云服务实现业务场景,并可以通过修改部署包中的样本数据或修改PBI Demo报告来快速搭建自己的Demo。
要进行舆情洞察解决方案的部署,必须具备如下的资源和条件
- 具有Azure中国的订阅账号
- 订阅账号中包含足够可用的资源配额和权限
- 能够创建存储账号(Storage Account)
- 能够创建SQL Azure服务器和数据库以及相关防火墙规则
- 能够创建服务总线(Service Bus)以及事件中心(Event Hub)
- 能够创建服务计划(Service Plan)和网站应用(Web App)
- 能够创建流式分析(Stream Analytics)作业
- 系统安装Azure SDK及Powershell 5.0
- 具有Power BI订阅用于制作展示报表
部署包中主要包含以下几个部分
- setupsolution.ps1 用于进行自动化部署的主要脚本。
- ASA文件夹中是对应用于进行流式分析作业创建的Azure资源模板(ARM Template)。
- EventHub文件中是用于进行事件中心创建的Azure资源模板。
- InitDB.sql用于初始化数据库表及索引结构
- 需要将源代码中的MediaAnalysisApp发布到该文件夹中的SSCN文件夹下,详细参见操作步骤
要构建完成的部署包,需要将源代码进行生成发布,作为部署包的部署内容。
- 打开源代码工程,选择MediaAnalysisApp工程,点击右键,选择发布(Publish).
- 在弹出的页面中, 选择自定义(Custom)。点击下一步。
- 在接下来的发布方式(Publish Method)中选择 文件系统。
- 打开部署包文件夹,在该文件夹中新建文件夹SSCN。
- 在目标位置中选取新建的文件夹SSCN作为目标位置
- 点击下一步,选择发布版本。
- 点击完成,进行工程的生成和发布。发布完成之后可以在SSCN文件夹中看到完整的网站应用结构文件。
部署流程包含了在Azure订阅中进行资源创建的过程。完成的创建过程包含了以下步骤。
- 进行Azure订阅登录。
- 创建事件中心。
- 创建SQL Azure数据库服务器及数据库。
- 创建和启动流分析作业。
- 创建服务计划以及Web应用。
- 将Web应用文件使用FTP的方式上传到Web应用中。
- 打开PowerShell,切换当前文件夹到DeployPkg下面。
- 运行setupsolution.ps1。
- 在弹出的登录框中输入Azure订阅的用户名和密码,验证登录。
- 根据提示,选择部署地点,输入1回车选取为China North, 2回车选取为China East。
- 根据提示,输入数据库服务器的用户名,比如azure,sa不能作为该用户名。
- 输入数据库服务器密码,需要最短8位,包含大小写字母,数字及特殊字符,如Passw0rd!。
- 等待脚本运行,直到部署完成。
部署完成之后,可以登录到Azure Portal中,在资源组中通过SSCN进行筛选,找到对应的资源组进行资源相关信息查看和管理。 可以通过连接对应的数据库,进行数据的查询和结果观察。当数据处理完成后,可以使用Power BI连接数据库进行报表的制作。
解决方案提供了相应的源代码包供用户参考。用户可以通过修改源码来快速搭建及开发基于Azure的定制化的Demo。通过使用Visual Studio打开\src\MediaAnalysisService\MediaAnalysisService.sln文件可以打开工程。
源代码主要包含以下几个工程
- DataAccess 工程,主要用于数据库连接和实体关系映射。
- MediaAnalysis 工程,主要包含了分析作业的相关逻辑。
- NLPLib,主要包含了文本处理的相关逻辑。
- DataCollectingJob,这是一个WebJob工程,主要用于模拟数据的收集
- NewsTextAnalysisJob, 一个WebJob工程,主要用于新闻文本分析作业的执行。
- MediaAnalysisApp,用于发布到Azure网站应用的工程,WebJob将随该工程进行发布并运行。系统的部署也需要先将该工程进行发布,形成整体的部署包。