3需求分析与总体设计

3。1界面分析

21世纪计算机已经达到飞速发展的时代,古老的dos系统已经不能满足用户对软件操作的简单、便利的要求,因此界面采用可以鼠标操作的GUI图形界面,主要采用Qt的GUI框架,整体界面设计采用Qt design为设计实施方案,简单易用,同时将开源库QCustomplot作为绘制二维图的方法,写入到Qt design中,作为我们使用的控件类,设计界面的可以像其他控件一样使用,直接拖拉到页面中,界面主要实现打开文件按钮、打开待分词新闻文本并分词按钮、分析文件按钮、绘制二维图形控件、保存并退出界面按钮以及路径和标签显示等。

3。2功能分析

(1) 分词:本文采用以Trie中的前缀树作为我分词系统的主要数据结构,利用最大向前匹配的方法,达到分词的目的,提高情感分析的效率和准确性。

(2) 数据存储:我们的分词结果必须进行存储,因为是采用一维数组的方法,开辟内存空间,存储我们的分词结果,同时开辟二维数组,存储情感词典的积极和消极词典数据。

(3) 情感判读:利用朴素贝叶斯算法,判读新闻情感词的比例,到达情感判断的目的。

(4) 结果呈现:利用Qcustomplot,将分词的结果利用二维图表示,积极的情感词和消极的情感词分别占有的比例,达到绘制一篇文章的情感倾向目的。

(5) 窗口的关闭、保存成果图、以及删除分词结果:整体窗口我们将GUI框架下的窗口关闭功能给禁用,同时我采用Qt中携带的截图类,对分析的结果进行保存,保存完后,为了防止不断的分词产生的分词结果比较多,占用大量的空间,我们当保存完毕后,删除分词结果并退出窗口。

3。3 Sentiment analysis程序逻辑层设计

3。3。1分词逻辑层设计

图3-1 分词AC自动机

3。3。2分词逻辑说明

目前计算机中采用的数据结构主要有:二叉树、B树、自平衡二叉查找树、空间划分树、Trie树、非二查树等,我们分词技术采用的是Trie树,又称单词查找树或者字典树,是实现字典树的关键性数据结构首先我需要构建Trie树。

1。构建Trie树:

首先我们的构建字符串的结构体头H,我们将分词词典的首字符串赋值给H,并以H为作为头指针,指向当前的分词词典的首字符串,一旦这个指针是空指针,则表明此指针指向root,即根节点,说明词典为空。支持H!=NULL,通过for循环指向读取词典中的单词,并改变H指针,指向下一级指针,以达到存储同节点单词不一样的指针。当我们的得首指针的字符串的值发生改变时,则跳转到下一级指针,同理进行存储。

2。最大向前匹配算法:

我们的分词词典存储完毕,则当我们加载新闻文本的时候,则会进行字符串匹配,如说我们的新闻文本有“哀兵”,则以哀节点,一直向前匹配,直到找到单词“哀兵”,则字符串匹配成功,并进行分词分行。

3。3。3新闻分词

A:分词词典的构建:我们从相关网站获取中文相关词典,此词典是采用人工写入的中文汉字词典,词典构建以拼音的形式构建:a,b……。并做了词数的统计。

分词词典部分展示如下:分词词典文献综述

3。3。4加载数据

数据加载分为:自定义情感词典的加载和新闻文本的加载

不管是情感词典还是新闻文本我们都采用数组的形式加载,首先我们将分词结果加载到数组,New_sentimen、Post_list,其中情感词典采用的二维数组,即将我们的积极的词放在第一列,我们的消极词放在第二列。

上一篇:J2SE的坦克大战游戏设计+源代码
下一篇:基于Javaweb网上购物的设计+源代码

基于Apriori算法的电影推荐

基于PageRank算法的网络数据分析

基于神经网络的验证码识别算法

基于网络的通用试题库系...

python基于决策树算法的球赛预测

基于消费者个性特征的化...

基于网络的通用试题库系统的整体规划与设计

麦秸秆还田和沼液灌溉对...

安康汉江网讯

新課改下小學语文洧效阅...

ASP.net+sqlserver企业设备管理系统设计与开发

网络语言“XX体”研究

张洁小说《无字》中的女性意识

LiMn1-xFexPO4正极材料合成及充放电性能研究

我国风险投资的发展现状问题及对策分析

老年2型糖尿病患者运动疗...

互联网教育”变革路径研究进展【7972字】