## 5 Materials and Methods
### Data Preprocessing  
The collected procurement documents underwent a series of preprocessing steps to prepare them for analysis. These steps included removing duplicate projects to eliminate redundancy, filtering out documents with missing or generic titles, and performing text cleaning operations. Text cleaning involved removing unnecessary characters, converting the text to a consistent case, and removing non-relevant sections of the document. Tokenization and stop word removal were applied to break the text into individual words and remove common stop words, while lemmatization was employed to reduce words to their base or root form. The following steps were applied to the selected documents:  
* Removal of Duplicate Projects  
To eliminate redundancy, we identified and removed duplicate projects within the dataset. This was achieved by comparing key project attributes such as project titles, contract numbers, and procurement entities. Only one instance of each unique project was retained, ensuring that duplicate projects did not bias the subsequent analysis. \begin{table}
\begin{tabular}{c c c} \hline \hline
**Domain of Public** & **EU Threshold Valid until** & **EU Threshold Applicable** \\
**Provement** & **31 December 2021** & **in 2022 and 2023** \\ \hline Construction Works & EUR 5,350.00–PLN 22,840,755 & EUR 5,382,000–PLN 23,969,275 \\  & The average euro exchange rate & The average euro exchange rate in \\  & in public procurement valid & public procurement for 2022 and 2023 \\  & until 31 December 2021. & 4.4536 \\  & 4.2693 & 4.4536 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Topic analysis—EU threshold amounts in public procurement for the time 2020–2023. * Filtering Irrelevant Documents  
To focus on relevant information, we filtered out documents with missing titles or generic titles such as 'construction works'. These documents were deemed less informative for our study and could introduce noise into the analysis. By excluding them, we aimed to enhance the quality and accuracy of the data. * Text Cleaning  
To prepare the textual content of the documents, we performed text cleaning procedures. This involved removing unnecessary characters, such as special symbols and punctuation marks, and converting the text to a consistent case (e.g., lowercase). Additionally, we removed any non-relevant sections of the document that were not pertinent to the analysis, such as contact details or legal disclaimers. * Tokenization and Stop Word Removal  
The preprocessed text was then tokenized, which involved breaking the text into individual words or terms. We also removed common stop words, such as 'the', 'and', and 'is', as these words typically do not carry significant meaning for the analysis and can introduce noise. * Lemmatization  
To reduce words to their base or root form, we applied lemmatization. This process transformed words with different inflections or variations into a standardized representation. For example, 'buildings' and 'building' would both be lemmatized to 'building'. As a result of data preprocessing, a total of 3367 documents were identified and selected for inclusion in our study (Table 2). This represented a subset of the initial 6573 documents available on the platform. The highest numbers of offers were registered in Silesian, Mazovian, Lesser Poland, and Lower Silesian provinces. This distribution reflected the number of academic centers registered in Polish cities. The detailed data of selected objects can be seen in Table 3. The cartograms of the analyzed documents are shown in Figure 5 (a map plot with bubble sizes proportional to the number of documents). \begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Year** & **2020** & **2021** & **2022** & **Total** \\ \hline Number of documents found & 2949 & 1044 & 2580 & 6573 \\ Number of selected documents & 1148 & 1015 & 1204 & 3367 \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Document output classified according to year of publication.