## 4 Methods
### Dual Feature Extraction Neural Network
#### 4.2.2 IDCNN  
In this paper, we choose IDCNN to extract local semantic information from electricity marketing data. IDCNN is composed of four equal-sized expanded convolutional blocks stacked together, with each expanded convolutional block consisting of three expanded convolutional layers. The number of layers in each expanded convolutional block cannot be too many, as too many layers in the stack will result in an excessive number of parameters and eventually lead to model overfitting. In this paper, three convolutional layers and four iterations are set up, and the output of each layer after affine transformation is used as the input for the next layer of expansion convolution, and the same convolutional kernel size and filter size are set for these three expansion convolutional layers. The expansion widths of the three layers are set to 1, 2, and 4. This setting allows the network to take into account the information of each character while extracting text features, and the perceptual domain of the network can increase exponentially with the increase in the expansion width. Ultimately, the semantic information can be extracted at a relatively long distance.  
In the dual feature extraction network, IDCNN's first layer of expansion width is 1, and the size of the convolution kernel is set to \(3\times 3\), then the output of the previous inflated convolutional layer is activated using the relu activation function to obtain the output of the next inflated convolutional layer. Finally, the output of the last layer of convolution is obtained, which is calculated as in Equations (10)-(12).  
\[h_{t}^{1}=D_{1}^{(0)}x_{t} \tag{10}\]  
\[h_{t}^{n}=relu\left(D_{L_{n-1}}^{n-1}h_{t}^{n-1}\right) \tag{11}\]  
\[H_{t}^{n}=tanh(w_{t}^{n}h_{t}^{n}+b_{t}^{n}) \tag{12}\]  
In the equation, \(D_{j}^{(i)}\) denotes the i-th expansion convolution layer with the expansion width set to j. \(D_{1}^{(0)}\) denotes the first layer, and \(h_{1}^{n}\) is the output of \(x_{t}\) after the first expansion convolution. \(h_{t}^{n}\) denotes the output of the n-th inflated convolutional layer, and \(L_{n}\) denotes the number of layers of each inflated convolution. \(w_{t}^{n}\) denotes the weight matrix and \(b_{t}^{n}\) denotes the bias term.  
Since an expanded convolution block consists of three expanded convolution layers, the above three layers can be treated as one expanded convolution block, represented by \(B\)(\(i\)), \(i\) represents the i-th convolution block, and the output of the previous expanded convolution block is used as the input of the next expanded convolution block. In this paper, the parameters are shared among the expanded convolution blocks, and the input of the m-th expanded convolution block is the output of the m-1 st expanded convolution block. After completing the iteration, we finally obtain \(b_{t}^{m}\). The final output local feature sequence is (\(b_{1}\), \(b_{2}\),..., \(b_{n}\)), which is calculated as in Equations (13) and (14).  
\[b_{t}^{(1)}=B\left(D_{1}^{(0)}x_{t}\right) \tag{13}\]  
\[b_{t}^{(m)}=B\left(b_{t}^{(m-1)}\right) \tag{14}\]  
After the dual feature extraction in a parallel way, the local feature sequences (\(b_{1}\), \(b_{2}\),..., \(b_{n}\)) obtained by IDCNN and the global feature sequences (\(h_{1}\), \(h_{2}\),..., \(h_{n}\)) obtained by BiLSTM are spliced and fused, and obtain a new feature sequence with both local and global features, which is calculated as shown in Equation (15).  
\[F=\{(h_{1}\oplus b_{1}),(h_{2}\oplus b_{2}),\ldots,(h_{n}\oplus b_{n})\} \tag{15}\]