一种基于云计算的个性化在线新闻评论情绪预测系统的制作方法

文档序号:12271637阅读:来源:国知局

技术特征:

1.一种基于云计算的个性化在线新闻评论情绪预测系统,包括中央处理器,其特征在于,所述中央处理器与数据分析模块连接,所述数据分析模块用于分析用户的新闻在线评论表情数据,所述数据分析模块与数据分类模块连接,所述数据分类模块用于对用户的情绪表情进行科学合理的分类,所述数据分类模块与数据采集模块连接,所述数据采集模块用于及时有效地采集用户的在线新闻评论情绪数据,所述数据采集模块与测试平台连接,所述测试平台用于给用户提供新闻浏览的工具,所述中央处理器与安全控制模块连接,所述安全控制模块用于对计算机进行安全保护,所述中央处理器与测试评估模块连接,所述测试评估模块用于对用户的情绪数据进行预评估,所述测试评估模块与情绪分类模块连接,所述情绪分类模块用于对已经分析好的情绪进行合理归类,所述情绪分类模块与情绪存储模块连接,所述情绪存储模块用来储存已经分类好的用户情绪数据;

所述中央处理器通过无线通讯模块与远程监控终端信号连接;

所述远程监控终端包括电视或手机或电脑;

所述测试平台包括手机或电脑;

所述情绪存储模块内部设有存储器,且存储器的内存至少为1GB。

2.如权利要求1所述的基于云计算的个性化在线新闻评论情绪预测系统,其特征在于,所述数据采集模块设置有数据压缩模块,所述数据压缩模块的数据压缩方法的步骤为:

步骤一、在编码时,首先根据E1n+1=E1n+dn+1式计算出E1值,再根据式计算出拟合残差,计算这两步时,均需要对结果进行越限判断,判断E1是否越限是为了避免其超过传感器数据总线上限而造成溢出;判断残差是否越限是为了实现分段拟合,以提高拟合精度;

步骤二、当一段输入数据的拟合残差全部计算完后,就可以构造出{dn,E1n,DFR3,DFR4,…DFRn}所示的数据包,通过S-Huffman编码方法对其进行熵编码,然后发送出去,接收端解码时,先将接收到的一组数据解码,还原出{dn,E1n,DFR3,DFR4,…DFRn}式所示的数据包,然后根据式计算并还原出所有原始数据。

3.如权利要求1所述的基于云计算的个性化在线新闻评论情绪预测系统,其特征在于,所述中央处理器设置有同步正交跳频信号盲源分离模块,所述同步正交跳频信号盲源分离模块的同步正交跳频信号盲源分离方法包括:

步骤一,利用含有M个阵元的阵列天线接收来自多个同步正交跳频电台的跳频信号,对每一路接收信号进行采样,得到采样后的M路离散时域混合信号(k=1,2,....)m=1,2,…,M;

步骤二,对M路离散时域混合信号进行重叠加窗短时傅里叶变换,得到M个混合信号的时频域矩阵p=0,1,…,P-1,q=0,1,…,Nfft-1,其中P表示总的窗数,Nfft表示FFT变换长度;(p,q)表示时频索引,具体的时频值为这里Nfft表示FFT变换的长度,p表示加窗次数,Ts表示采样间隔,fs表示采样频率,C为整数,表示短时傅里叶变换加窗间隔的采样点数,C<Nfft,且Kc=Nfft/C为整数,也就是说采用的是重叠加窗的短时傅里叶变换;

步骤三,对步骤二中得到的跳频混合信号时频域矩阵进行预处理;对进行去低能量预处理,即在每一采样时刻p,将幅值小于门限ε的值置0,得到门限ε的设定可根据接收信号的平均能量来确定;找出p时刻(p=0,1,2,…P-1)非零的时频域数据,用表示,其中表示p时刻时频响应非0时对应的频率索引,对这些非零数据归一化预处理,得到预处理后的向量b(p,q)=[b1(p,q),b2(p,q),…,bM(p,q)]T,其中

步骤四,利用聚类算法估计每一跳的跳变时刻以及各跳对应的归一化的混合矩阵列向量、跳频频率;

步骤五,根据步骤四估计得到的归一化混合矩阵列向量估计时频域跳频源信号;对所有采样时刻索引p判断该时刻索引属于哪一跳,具体方法为:如果则表示时刻p属于第l跳;如果则表示时刻p属于第1跳;对第l(l=1,2,…)跳的所有时刻pl,估计该跳各跳频源信号的时频域数据,计算公式如下:

<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mover> <mi>S</mi> <mo>~</mo> </mover> <mi>j</mi> </msub> <mrow> <mo>(</mo> <mrow> <msub> <mi>p</mi> <mi>l</mi> </msub> <mo>,</mo> <mi>q</mi> </mrow> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mo>|</mo> <mo>|</mo> <msub> <mover> <mi>a</mi> <mo>^</mo> </mover> <mi>j</mi> </msub> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> <mo>|</mo> <msup> <mo>|</mo> <mn>2</mn> </msup> </mrow> </mfrac> <mo>&CenterDot;</mo> <msubsup> <mover> <mi>a</mi> <mo>^</mo> </mover> <mi>j</mi> <mi>H</mi> </msubsup> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> <mo>&times;</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mrow> <msub> <mover> <mi>X</mi> <mo>~</mo> </mover> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mrow> <msub> <mi>p</mi> <mi>l</mi> </msub> <mo>,</mo> <mi>q</mi> </mrow> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mover> <mi>X</mi> <mo>~</mo> </mover> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mrow> <msub> <mi>p</mi> <mi>l</mi> </msub> <mo>,</mo> <mi>q</mi> </mrow> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mtable> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> </mtable> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mover> <mi>X</mi> <mo>~</mo> </mover> <mi>M</mi> </msub> <mrow> <mo>(</mo> <mrow> <msub> <mi>p</mi> <mi>l</mi> </msub> <mo>,</mo> <mi>q</mi> </mrow> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>j</mi> <mo>=</mo> <munder> <mrow> <mi>arg</mi> <mi>max</mi> </mrow> <mrow> <msub> <mi>j</mi> <mn>0</mn> </msub> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>...</mn> <mo>,</mo> <mover> <mi>N</mi> <mo>^</mo> </mover> </mrow> </munder> <mrow> <mo>(</mo> <mrow> <mo>|</mo> <msup> <mrow> <mo>&lsqb;</mo> <mrow> <msub> <mover> <mi>X</mi> <mo>~</mo> </mover> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mrow> <msub> <mi>p</mi> <mi>l</mi> </msub> <mo>,</mo> <mi>q</mi> </mrow> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mover> <mi>X</mi> <mo>~</mo> </mover> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mrow> <msub> <mi>p</mi> <mi>l</mi> </msub> <mo>,</mo> <mi>q</mi> </mrow> <mo>)</mo> </mrow> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mover> <mi>X</mi> <mo>~</mo> </mover> <mi>M</mi> </msub> <mrow> <mo>(</mo> <mrow> <msub> <mi>p</mi> <mi>l</mi> </msub> <mo>,</mo> <mi>q</mi> </mrow> <mo>)</mo> </mrow> </mrow> <mo>&rsqb;</mo> </mrow> <mi>H</mi> </msup> <mo>&times;</mo> <msub> <mover> <mi>a</mi> <mo>^</mo> </mover> <msub> <mi>j</mi> <mn>0</mn> </msub> </msub> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> <mo>|</mo> </mrow> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mtable> <mtr> <mtd> <mrow> <msub> <mover> <mi>S</mi> <mo>~</mo> </mover> <mi>m</mi> </msub> <mrow> <mo>(</mo> <mrow> <msub> <mi>p</mi> <mi>l</mi> </msub> <mo>,</mo> <mi>q</mi> </mrow> <mo>)</mo> </mrow> <mo>=</mo> <mn>0</mn> </mrow> </mtd> <mtd> <mrow> <mi>m</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>...</mn> <mo>,</mo> <mi>M</mi> <mo>,</mo> <mi>m</mi> <mo>&NotEqual;</mo> <mi>j</mi> </mrow> </mtd> </mtr> </mtable> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>q</mi> <mo>=</mo> <mn>0</mn> <mo>,</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>N</mi> <mrow> <mi>f</mi> <mi>f</mi> <mi>t</mi> </mrow> </msub> <mo>-</mo> <mn>1</mn> </mrow> </mtd> </mtr> </mtable> </mfenced>

步骤六,对不同跳频点之间的时频域跳频源信号进行拼接;对不同跳频点之间的时频域跳频源信号进行拼接,具体步骤如下:

估计第l跳对应的个入射角度,用表示第l跳第n个源信号对应的入射角度,的计算公式如下:

<mrow> <msub> <mover> <mi>&theta;</mi> <mo>^</mo> </mover> <mi>n</mi> </msub> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mi>M</mi> <mo>-</mo> <mn>1</mn> </mrow> </mfrac> <munderover> <mi>&Sigma;</mi> <mrow> <mi>m</mi> <mo>=</mo> <mn>2</mn> </mrow> <mi>M</mi> </munderover> <msup> <mi>sin</mi> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mrow> <mo>&lsqb;</mo> <mfrac> <mrow> <mi>a</mi> <mi>n</mi> <mi>g</mi> <mi>l</mi> <mi>e</mi> <mrow> <mo>(</mo> <mrow> <msub> <mover> <mi>a</mi> <mo>^</mo> </mover> <mrow> <mi>n</mi> <mo>,</mo> <mi>m</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> <mo>/</mo> <msub> <mover> <mi>a</mi> <mo>^</mo> </mover> <mrow> <mi>n</mi> <mo>,</mo> <mi>m</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mo>*</mo> <mi>c</mi> </mrow> <mrow> <mn>2</mn> <mi>&pi;</mi> <msub> <mover> <mi>f</mi> <mo>^</mo> </mover> <mrow> <mi>c</mi> <mo>,</mo> <mi>n</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> <mi>d</mi> </mrow> </mfrac> <mo>&rsqb;</mo> </mrow> <mo>,</mo> <mi>n</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>...</mn> <mo>,</mo> <mover> <mi>N</mi> <mo>^</mo> </mover> </mrow>

表示第l跳估计得到的第n个混合矩阵列向量的第m个元素,c表示光速,即vc=3×108米/秒;

判断第l(l=2,3,…)跳估计的源信号与第一跳估计的源信号之间的对应关系,判断公式如下:

<mrow> <msup> <msub> <mi>m</mi> <mi>n</mi> </msub> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </msup> <mo>=</mo> <munder> <mi>argmin</mi> <mi>m</mi> </munder> <mo>|</mo> <msubsup> <mover> <mi>&theta;</mi> <mo>^</mo> </mover> <mi>m</mi> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </msubsup> <mo>-</mo> <msubsup> <mover> <mi>&theta;</mi> <mo>^</mo> </mover> <mi>n</mi> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </msubsup> <mo>|</mo> <mo>,</mo> <mi>n</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mo>...</mo> <mo>,</mo> <mover> <mi>N</mi> <mo>^</mo> </mover> </mrow>

其中mn(l)表示第l跳估计的第mn(l)个信号与第一跳估计的第n个信号属于同一个源信号;

将不同跳频点估计到的属于同一个源信号的信号拼接在一起,作为最终的时频域源信号估计,用Yn(p,q)表示第n个源信号在时频点(p,q)上的时频域估计值,p=0,1,2,....,P,q=0,1,2,...,Nfft-1,即

步骤七,根据源信号时频域估计值,恢复时域跳频源信号;对每一采样时刻p(p=0,1,2,…)的频域数据Yn(p,q),q=0,1,2,…,Nfft-1做Nfft点的IFFT变换,得到p采样时刻对应的时域跳频源信号,用yn(p,qt)(qt=0,1,2,…,Nfft-1)表示;

对上述所有时刻得到的时域跳频源信号yn(p,qt)进行合并处理,得到最终的时域跳频源信号估计,具体公式如下:

<mrow> <msub> <mi>s</mi> <mi>n</mi> </msub> <mo>&lsqb;</mo> <mi>k</mi> <mi>C</mi> <mo>:</mo> <mrow> <mo>(</mo> <mi>k</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mi>C</mi> <mo>-</mo> <mn>1</mn> <mo>&rsqb;</mo> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>m</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>k</mi> </munderover> <msub> <mi>y</mi> <mi>n</mi> </msub> <mo>&lsqb;</mo> <mi>m</mi> <mo>,</mo> <mrow> <mo>(</mo> <mi>k</mi> <mo>-</mo> <mi>m</mi> <mo>)</mo> </mrow> <mi>C</mi> <mo>:</mo> <mrow> <mo>(</mo> <mi>k</mi> <mo>-</mo> <mi>m</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mi>C</mi> <mo>-</mo> <mn>1</mn> <mo>&rsqb;</mo> </mrow> </mtd> <mtd> <mrow> <mi>k</mi> <mo>&lt;</mo> <msub> <mi>K</mi> <mi>c</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>m</mi> <mo>=</mo> <mi>k</mi> <mo>-</mo> <msub> <mi>K</mi> <mi>c</mi> </msub> <mo>+</mo> <mn>1</mn> </mrow> <mi>k</mi> </munderover> <msub> <mi>y</mi> <mi>n</mi> </msub> <mo>&lsqb;</mo> <mi>m</mi> <mo>,</mo> <mrow> <mo>(</mo> <mi>k</mi> <mo>-</mo> <mi>m</mi> <mo>)</mo> </mrow> <mi>C</mi> <mo>:</mo> <mrow> <mo>(</mo> <mi>k</mi> <mo>-</mo> <mi>m</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mi>C</mi> <mo>-</mo> <mn>1</mn> <mo>&rsqb;</mo> </mrow> </mtd> <mtd> <mrow> <mi>k</mi> <mo>&GreaterEqual;</mo> <msub> <mi>K</mi> <mi>c</mi> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>,</mo> <mi>k</mi> <mo>=</mo> <mn>0</mn> <mo>,</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mo>...</mo> </mrow>

这里Kc=Nfft/C,C为短时傅里叶变换加窗间隔的采样点数,Nfft为FFT变换的长度。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1