With tabularray and assumed, that page layout is determined by \usepackage[margin=25mm]{geometry}, than is possible to fir your table to test area in portrait page orientation:

\documentclass{article}
\usepackage[margin=25mm]{geometry}
\usepackage{caption}
\usepackage{tabularray}
%---------------- Show page layout. Don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\begin{document}
\begin{table}[ht]
\centering
\caption{Multicolumn table.}
\label{tab:table1}
\footnotesize
\begin{tblr}{hline{1,Z} = 1pt, hline{3,Y} = 0.6pt,
vline{2,7,12},
colsep = 2.1pt,
colspec = {@{} l *{15}{c} @{}},
column{1} = {font=\bfseries},
row{1,2} = {font=\bfseries},
}
\SetCell[r=2]{l}
& \SetCell[c=5]{c} WordCNN
& & & & & \SetCell[c=5]{c} WordLSTM
& & & & & \SetCell[c=5]{c} BERT
& & & & \
& MR & IMDB & YELP & YG & Fake
& MR & IMDB & YELP & YG & Fake
& MR & IMDB & YELP & YG & Fake \
Original Accuracy
& 12 & 15.0 & 12.0 & 12.0 & 12.0
& 12 & 15.0 & 12.0 & 12.0 & 12.0
& 12 & 15.0 & 12.0 & 12.0 & 12.0 \
Original Accuracy
& 12 & 15.0 & 12.0 & 12.0 & 12.0
& 12 & 15.0 & 12.0 & 12.0 & 12.0
& 12 & 15.0 & 12.0 & 12.0 & 12.0 \
Original Accuracy
& 12 & 15.0 & 12.0 & 12.0 & 12.0
& 12 & 15.0 & 12.0 & 12.0 & 12.0
& 12 & 15.0 & 12.0 & 12.0 & 12.0 \
Original Accuracy
& 12 & 15.0 & 12.0 & 12.0 & 12.0
& 12 & 15.0 & 12.0 & 12.0 & 12.0
& 12 & 15.0 & 12.0 & 12.0 & 12.0 \
Average Text Length
& 12 & 15.0 & 12.0 & 12.0 & 12.0
& 12 & 15.0 & 12.0 & 12.0 & 12.0
& 12 & 15.0 & 12.0 & 12.0 & 12.0 \
\end{tblr}
\end{table}
\end{document}
Edit:
In cases, when the text width is smaller as is anticipated in above MWE, or you like to use bigger font size, for example \small, than you may allow that table can protrude to outside of text area. This can be simple done by use of the adjustwidth* environment defined in the changepage package. For example:
% existed preamble
\usepackage[strict]{changepage}
\begin{document}
\begin{table}[ht]
\begin{adjustwidth}{}{-11mm}
\centering
\caption{Multicolumn table.}
\label{tab:table1}
\small
% table
\end{adjustwidth}
\end{table}
\end{document}
In this case the table looks as follows:

\documentclassand ends with\end{document}. Remember to include the packages needed. Now, to your example: What do you aim to achieve with putting an array parameter like|c|at the beginning of each row of your table? It does not work like that and only has a function as argument, for example, to thetabularenvironment or the\multicolumnmacro. – Jasper Habicht Nov 09 '21 at 16:30ptype column should be placed in a set of{}, not a set of(). – leandriis Nov 09 '21 at 19:12& \multicolumn{5}{|c|}{WordCNN} & \multicolumn{5}{|c|}{WordLSTM} & \multicolumn{5}{|c|}{BERT}uses a total of 16 columns, hence the error message " & \multicolumn{5}{|c|}{WordCNN} & \multicolumn{5}{|c|}{WordLSTM} & \multicolumn{5}{|c|}{BERT}". Also, each table row must end with\\. These are missing in your code, as well. – leandriis Nov 09 '21 at 19:14booktabs(and consequently reducing/removing the use of vertical rules)? – Werner Nov 10 '21 at 01:14