## 3 Research Method
### System Design and Research Process  
#### 3.2.1 ANN  
In the system design, Python and TensorFlow, combined with machine learning and deep learning algorithms, were used in this study for training and testing. Through the text analysis of Nature Language Processing (NLP), including word participles and parts of speech, chunks, and segmentation, DNN deep learning was combined for the multi-dimensional and multi-aspect analysis of data to design the system model for evaluating news credibility.  
Regarding data preprocessing, the URLs of general online news and news in content farms were first established, and the database and fields required for data sheets were confirmed. Using Crawler to catch information labels and writing in the data sheet, a fixed time and frequency were set to regularly execute Crawler and save the required raw data into the database.  
In regard to the exploratory data analysis, the steps and procedures were as follows:  
\begin{table}
\begin{tabular}{c c c c} \hline \hline
**Mainstream News** & **N** & **Content Farm News** & **N** \\ \hline Apple Daily & 93,715 & mission-tw.com & 12,960 \\ China Times & 144,107 & nooho.net & 1839 \\ Liberty Times & 79,078 & kknews.cc & 42,577 \\ United Daily News & 610,572 & buzzhand.com & 719 \\ EToday & 340,804 & qiqi.news & 32,916 \\ Central News Agency & 57,309 & Global Military & 6036 \\ Total & 1,325,585 & Total & 97,047 \\ \hline \hline \end{tabular}
\end{table}
Table 1: News data collection.  
1. Data cleaning: Capture required fields from the database and check the null field in each record; if present, the record is excluded. Export the selected data with the CSV format of UTF-8 DOM as the raw data for the program.
2. Feature extraction: Regard the article title and article text in the source file as the string, apply CKIP Word Segmentation and Named Entity Recognition developed by CKIP Chinese Lexical Knowledge Base for word segmentation and analysis, execute part-of-speech tagging (POS tagging) and name entity recognition (NER), and term frequency (TF) after each word segmentation is calculated as the feature parameter of the training model.
3. Modeling: Apply the Keras Sequential model (a linear stack model with multiple network layers) and designate the size parameters of the input layer, hidden layer, and output layer for the compilation model. The parameter details used for the model.add function are shown below. Input layer: Characteristic dimension dim (130), nodes units (12), and activation function activation (ReLU). Hidden layer: Nodes units (12), number of layers (10), and activation function activation (ReLU). Output layer: Nodes units (1) and activation function activation (sigmoid).
4. Compilation model: The parameter details used for the model.compile function are shown below. loss function binary_crossentropy, optimal algorithm RMSprop, learning rate (0.0005), and measurement index metrics (accuracy).
5. Training and validation model: The parameters used for the model.fit function are shown below. batch size batch_size (250), number of training rounds epochs (200), and validation set splite ratio validation_split (0.2).
6. Data visualization: The data generated after completing the model training are presented as a graph with matplotlib and saved in the Result folder, as shown in Figure 1.  
In the model accuracy distribution, acc denotes the correct rate of the training set and val_acc stands for the correct rate of the testing set. After 200 training runs, the highest correct rate in the experimental result achieves 82.75%.  
In the model loss distribution, loss stands for the loss rate of the training set and val_loss represents the loss rate of the testing set. After 200 runs of training, the convergence approaches stability.