【Hierarchical Complementary Attention Network for Predicting Stock Price Movements with News】
这个也是通过新闻分析股票的价值波动的文章,其认为在过去的文章之中大家往往只是使用了title的信息(真的吗?),所以作者同时使用title的信息和contents的信息来判断新闻的影响。
Model
文章使用的是一个Hierarchical的网络的结构处理信息,在HCAN之中,首先是经过一个word-level的Attention机制。
也就是说给定一个新闻文本之后,假设Title之中含有$t$个单词 , Contents之中含有$n$个句子,每一个句子有Fixed-Length 为$m$个单词,
通过Bi-GRU的方式获得单词的Embedding表示。这里的表示是同时对于Title以及Contents的表示。然后当然是计算Attention了,在Content之中含有$q = m\times n$个单词,而在Title之中含有$t$个句子,所以我们可以生成一个$q\times t$的矩阵记作是$K$,对于矩阵之中的元素$K_{ij}$定义为
$$K_{i,j} = f(h_{c}(i) ,h_{t}(j) ),\quad i \in [1,q],j\in [1,t]$$
计算的方法也很简单
$$f(h_{c}(i) , h_{t}(j)) = \frac{Score(h_{c}(i) , h_{t}(j))}{Sim(h_{c}(i),h_{t}(j))}$$
在上面的式子里,Score是度量两个向量之间的联系的程度,定义为
$$Score(h_{c}(i) , h_{t}(j) ) = h_{c}(i)\cdot W_{1} \cdot h_{t}(j)^{T}$$
而相似性自然是度量两个向量之间的相似的程度
$$Sim(h_{c}(i) , h_{t}(j) ) = \frac{h_{c}(i)\cdot h_{t}(j)^{T}}{||h_{c}(i)|| \cdot ||h_{t} (j) || }$$
然后对于对于title的Attention就是$Softmax(\sum(Row))$,但是对于Contents的Attention略有不同,因为在Contents之中除了Word-Level还有一层Level属于的是Sentence Level的,所以对于每一个Sentence的话都可以计算出一个Attention
$$\beta_{l} = softmax(\frac{1}{t} \sum_{j=1}^{t}\sum_{j=1}^{t} K_{lm-m+1 , j}\cdots ,\frac{1}{t} \sum_{j=1}^{t}K_{lm,j})$$
这里的$\beta_{l}$指的是对于第$l$个句子里面的每一个单词$m$的Attention。
所以说我们可以获得一个经过了Attention的句子表示.
$$S_l = \sum_{i= 1}^{m}\beta_{li}\cdot h_{cl}(i),quad l\in [1,n]$$
这里的$h_{cl}(i)代表了在第$l$个句子之中的第$i$个单词。
得到了句子的表示之后,我们就需要通过再利用一次Title的表示$V_T$了,同样是再计算一个Attention矩阵。
$$K_{l}’ = f(S_l , V_T) , l\in [1,n]$$
然后计算Attention
$$\beta’ = softmax(K_1′,\cdots,K_n’)$$
$$V_C = \sum_{l=1}^{n} \beta_{l}’\cdot S_l$$
那么$V_C$就是整体的News的向量化的表示了。然后丢进神经网络里面对于公司的股价就可以开始预测了。
Comments
这里的方法和之前自己看过的使用Twitter的Tags结合Twitter的Contents来做分类的方法非常的类似啊,都是通过建立一个Hierarchal的Attention混合了两个Level的信息使得整体的信息可以被充分地计算机所知晓。只不过这里的Attention的机制和之前自己所学到的那种Attention的机制有所不同吧。
Reference
Hierarchical Complementary Attention Network for Predicting Stock Price Movements with News
Comments
Leave a Comment