{'fraction_non_alphanumeric': 0.024847442769967296, 'fraction_numerical': 0.012777721587269478, 'mean_word_length': 5.04360228198859, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 1, 'https://': 1, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Artificial Intelligence for Unstructured Healthcare Data: Application to Coding of Patient Reporting of Adverse Drug Reactions

Adverse drug reaction (ADR) reporting is a major component of drug safety monitoring; its input will, however, only be optimized if systems can manage to deal with its tremendous flow of information, based primarily on unstructured text fields. The aim of this study was to develop an automated system allowing to code ADRs from patient reports. Our system was based on a knowledge base about drugs, enriched by supervised machine learning (ML) models trained on patients reporting data. To train our models, we selected all cases of ADRs reported by patients to a French Pharmacovigilance Centre through a national web‐portal between March 2017 and March 2019 (n = 2,058 reports). We tested both conventional ML models and deep‐learning models. We performed an external validation using a dataset constituted of a random sample of ADRs reported to the Marseille Pharmacovigilance Centre over the same period (n = 187). Here, we show that regarding area under the curve (AUC) and F‐measure, the best model to identify ADRs was gradient boosting trees (LGBM), with an AUC of 0.93 (0.92–0.94) and F‐measure of 0.72 (0.68–0.75). This model was run for external validation showing an AUC of 0.91 and a F‐measure of 0.58. We evaluated an artificial intelligence pipeline that was found able to learn how to identify correctly ADRs from unstructured data. This result allowed us to start a new study using more data to further improve our performance and offer a tool that is useful in practice to efficiently manage drug safety information.

Over the last decades, the amount of healthcare data available has dramatically increased. This phenomenon started with the arrival of electronic health records and the vast amounts of related clinical data. 1,2 More recently, health data have been enriched by patients themselves using connected tools or digital platforms. These data should be more and more numerous and in increasingly varied and often unstructured formats. 3,4 The corresponding challenge is to find novel pathways to manage heterogeneous and often unstructured healthcare information, such as texts or images. Artificial intelligence (AI) methods appear promising in this perspective.
No consensual definition of AI actually exists; the University of Cambridge defines it as "the study of how to produce machines that have some of the qualities that the human mind has, such as the ability to understand language, recognize pictures, solve problems, and learn." 5 Contextualizing AI to healthcare unstructured data, it could be conceived as the combination of semantic information (SI) and machine learning (ML) to perform data analysis. SI allows users to add meaning to data through ontologies and knowledge databases, 2 therefore mimicking the theoretical learning patterns of a human being, whereas ML provides potentiality for new assumptions by aggregating information compounded from existing knowledge. 6 Taken together, SI and ML bring machines one step closer to the way human beings manage and learn from information. The combination of SI and ML has already shown interesting results in the field of drug identification. 7 Beyond medical imaging, all medical specialties could benefit from these technologies. This is especially true for pharmacovigilance, which could evolve considerably in the coming years. Once marketed, medicinal products need to be continuously monitored in real-world settings for their use, effectiveness, and safety, the latter activity corresponding to pharmacovigilance. Pharmacovigilance activities cover the detection, assessment, understanding, and prevention of adverse drug reactions (ADRs), 8 which constitute one of the main causes of death in developed countries 9 and represent a considerable economic burden with preventable ADRs costing up to $3.5 billion yearly in the United States. 10,11 Moreover, according to the literature, 5-6.5% of all hospital admissions could be related to ADRs. 12 Drug safety evaluation requires monitoring and analyzing a huge amount of information, which can be dispersed in various sources, such as scientific articles, structured or unstructured health data, ADR reporting, or social networks. In many countries, when a healthcare professional or a patient wishes to report an ADR, she/ he can fill an online reporting form including structured and unstructured data. These forms are later processed by pharmacovigilance professionals who thus have to cope with the management of large amounts of unstructured data. Specifically, the identification of the reported ADRs and the evaluation of their seriousness can be very time-consuming from the free-text entered in these report forms. This raises two important concerns. First the importance of the resources it mobilizes could be detrimental to other pharmacovigilance activities. Second, even essential, the standardization of this process appears unlikely among different teams and individuals, with a risk of heterogeneously coding. 13 Both these aspects are deleterious in terms of public health by limiting the ability to detect new safety signals. The current context of pharmacovigilance because patients can report ADRs themselves is detailed in Supplemental Information 1 Text file S1. The development of tools allowing to automatically process ADRs is currently the object of intensive research and efforts, both from public and private entities. 14 When originated from industries, these developments appear to be mostly restricted to their sole products. 15 The underlying assumption of the present work is that a global knowledge database on drugs, enriched by supervised ML models trained on reporting data, could allow setting up a universal tool for preprocessing free text reported ADRs. This tool would increase efficiency in dealing with such information and improve capacities in drug surveillance.

AIMS
We aimed to develop an automated system allowing to code ADRs and their seriousness from patients' reports free text through the identification and validation of the best AI pipeline. To do so, we defined a global pipeline from document parsing and features extraction to ML model selection.

Data collection
We selected all cases of ADRs reported by patients to Bordeaux Pharmacovigilance Centre through the French national web-portal between March 1, 2017, and February 28, 2019, for a total of 2,058 report forms. For each of these, the report form containing the free text filled by the patient was obtained together with the expert annotation and coding realized within the pharmacovigilance center. The coding of ADR was realized using the MedDRA standardized medical terminology developed by the International Council for Harmonization of Technical Requirements for Pharmaceuticals for Human Use. 16 MedDRA has been translated and is maintained in several different languages that allow interoperability between data from different countries. There are five levels to the MedDRA hierarchy, arranged from the very general to the very specific. Level four "Preferred Terms (PTs)" is recommended for the coding; 24,313 PTs are available in the terminology MedDRA 23.0 that correspond to single concepts for symptoms, signs, disease diagnoses, therapeutic indications, investigations, surgical or medical procedures, and medical, social, or family history characteristics. The ADRs coded by experts in PTs were used as a gold standard to learn and to evaluate the performances of each AI pipeline.

Training and validation set
These coded ADRs were used to train and validate ML algorithms for the identification of ADRs and ADR seriousness from the patient reportforms: 90% of cases (n = 1,852) were used for the train set and 10% (n = 206) for the internal validation set (test set). We have kept 90% of the data for the train set to maximize our learning abilities. We tested the robustness of the best performing model on this internal dataset through an external validation on a 10% sample of ADRs reported by patients to the Marseille Pharmacovigilance Centre over the same period (n = 187). The used dataset included in total 10,675 reported potential ADRs for the learning set (train set + test set) and 407 for the external validation set.

Data extraction and preprocessing
The dataset we were provided with for this study is composed of tables in PDF forms containing several fields of interest. The very first step was to extract the text from these PDF files preserving their structure. To do so we used the Python library Camelot. 17 The most informative section of the report forms was the description of the adverse events written by the patients. We performed basic text processing on the raw data, such as accents and punctuation removal, case lowering, and stemming. These transformations are useful to reduce noise and to limit the size of the vocabulary, specifically when we deal with small datasets.
Some other fields can be turned into structured features represented as: • Integers: age, body mass index as a summary feature of weight and size • Booleans: sex and one-hot representation of drugs These additional features make it possible to take into account the patient's specificities and treatments.

Model-specific data formatting
Once the data extraction and text preprocessing steps are performed, we have to arrange the data in a format specific to the ML model we use for the prediction task. Most conventional ML models need numerical feature vectors as inputs. Consequently, we have to vectorize the adverse event description text. For that, we used the term frequency-inverse document frequency (TF-IDF) method. 18 The final features vector is obtained expanding TF-IDF vector with the additional features (age, sex, body mass index, and drugs).
The recurrent long-short-term-memory (LSTM) neural network we included in this study needs to be fed with word index sequences so a slightly different data formatting is applied. This is also the case for FastText and its variants (ExtremeText), which is directly provided with the preprocessed text. 19 Identification of ADR terms and ADR seriousness Technically, the identification of ADRs in free text is a text classification problem that can be solved using Natural Language Processing in a global AI pipeline, including a knowledge base about drugs ( Figure 1). Definition of ADR seriousness results from a worldwide consensus with defined criteria, the use of which is mandatory for regulators and pharmaceutical companies. 20 To be serious, an ADR needs resulting in death, life-threatening, hospitalization (or prolongation of existing hospitalization), persistent or significant disability or incapacity, congenital abnormalities/birth defect, or another significant medical event. The assessment of these criteria needs considering information about ADRs, patients' characteristics, and treatments. Ultimately, this task leads to a binary classification decision resulting from the integration of heterogeneous information.

Models used for the benchmark
We wanted to compare various ML models usually used for text classification from the simple logistic regression to the more complex LSTM recurrent neural net.
Conventional ML models. We have evaluated four classical ML models: Logistic regression 21,22 and Support Vector Machine (SVM), 22,23 Random Forests, 24 and Gradient Boosting. 25,26 None of these model implementations, except Random Forests, natively accepts multilabel classification. To work around this problem, we used the One Versus Rest strategy in which each modality (here MedDRA term) to predict is treated independently from the others and we train one model per modality, each model being a binary classifier. See for instance for an application to the SVM algorithm. 27 Gradient boosting used in this study was a gradient-boosted trees method. Recent gradient-boosted trees methods, such as XGBOOST 28 or LGBM, 29 provide generally state-of-the-art performance on various classification and regression ML problems. We chose the widely used python lightGBM 29 library for its remarkable performance in terms of accuracy as well as computing speed. The main difference between lightGBM and the other tree-based gradient boosting methods consists in the fact that the binary decision trees grow at the leaf level instead, whereas in algorithms, such as XGBOOST, they grow at the depth level (each leaf of the same depth level splits at the same time). This leaf level split provides a better adaptability and thus a better fit to the dataset.

FastText.
FastText is an open-source method and python library for words representation and text classification. 30 The classification algorithm built on top of this representation method is a multinomial logistic regression. 31 We trained the word embedding on the Synapse dataset composed of 260 MB of text dealing with medical topics extracted from French reference sources. This word embedding was used by the FastText classification model as well as the deep learning models as embedding layers. In this study, we used extremeText, which is an extension of FastText. It implements loss functions-like probabilistic label treeswell adapted for extreme classification tasks (i.e., classification tasks with a large amount of classes).
Deep learning models. Deep learning is a subset of ML methods gathering multilayer neural networks. 32 Deep learning methods are generally better than conventional methods to process complex data and large datasets. Two types of deep learning models were used for the study: Convolutional Neural Nets (CNN) 33 and LSTM 34 ( Figure S1).
Regular expressions and hybrid models. A very simple and straightforward way to tag the case reports with MedDRA concepts is to look for their labels directly in the description text. A well-known limitation of this kind of approach is the need for a rich dictionary of synonyms as there are often several ways to express the same concept. Working with semantic resources like MedDRA is a great plus as the terminology provides us with-in addition to the PTs-several alternative labels for each concept (called Lower Level Terms (LLTs)).
We used regular expression (RegEx) after basic text preprocessing (accents removal, case lowering, and stemming) to match MedDRA terms into the case reports. This processing method was used on both the MedDRA labels and the narrative itself. On the one hand, we used this RegEx engine as a baseline for our ML models' benchmark; on the other hand, we built hybrid methods combining ML models and RegEx.
We do not expect patients to use terms that could exactly fit with a technical terminology, such as MedDRA. However, we can suppose that the RegEx approach allows the system to detect the rarer ADRs that are not present in the training dataset and for which ML techniques would not be efficient at all.
Hybrid models combine the RegEx approach and the ML models described above. There are several ways to aggregate predictions from several models. Here, we chose to average both vectors to build the final predictions, which is equivalent to methods used in bagging (for instance, random forests). Notice that due to the deterministic nature of regular expressions, the RegEx engine outputs binary vectors (0 or 1) whereas ML models provide scores between 0 and 1.

Assessment of model performances and tuning strategy
To identify ADRs and to determine ADR seriousness, each model was evaluated according to receiver operating characteristic (ROC) curve/ area under the curve (AUC) and F-measure (harmonic mean of the precision and recall). 35 We choose to select the decision threshold that maximizes the Fmeasure. Providing reliable evaluation metrics is essential to compare model performances. We used 1,000 bootstrap train-test samples to compute 95% confidence intervals for the evaluation metrics of each model. Some models, like random forests, gradient boosting, or neural networks, need hyper parameters tuning. For this, we used a classical grid search strategy on a dedicated train-test tuning split.

Overfitting and validation
Overfitting is more likely with nonparametric and nonlinear models that have more flexibility when learning a target function. The best solution to control the overfitting of an ML model is to perform an external validation on independent data (external validation). In general, but even more for relatively small datasets, internal validation of prediction models by bootstrap techniques may not be sufficient and indicative for the model's performance in future data. Our internal validation was carried out on 10% of Bordeaux dataset: 206 cases. Our external validation was carried out on 10% of cases declared to the CRPV of Marseille during the same period: 187 cases. Moreover, the drug distribution of these 187 cases differed from the Bordeaux dataset and these cases were analyzed by different experts, which allows us to have a better estimate of the transposability of our system.

Programming
Concerning the model implementations, we used the python libraries scikit-learn and lgbm (gradient boosting) for the conventional ML models, keras (with Tensorflow backend) for the LSTM and CNN models and FastText + ExtremeText for the FastText model. The models were trained on an Intel Core i7 processor with 16 GB RAM.
Example code for LGBM (ML model with best performance) and for LGBM + regex are provided on the following git repository: https:// github.com/louis letin ier/MAITAI.git.
For more information about data management or our algorithms, you can contact the corresponding author at the email address indicated on the first page.

Dataset characteristics and representativeness
Patients who reported ADRs to the Bordeaux Centre were mostly women (88%) of median age 52 years (interquartile range (IQR): 40-62); 28% of reports mentioned serious ADRs. Altogether, 11,591 potential ADRs were reported in the 2,058 forms (median: 5 ADRs per report; IQR: 3-7). After coding by experts, they were found to correspond to 593 distinct ADR terms (MedDRA PTs). Overall, 2,396 drugs were mentioned; Levothyrox (levothyroxin) was the main represented (n = 1,623, 68%). We stratified the 10% random sampling of the Marseille reports for the representation of levothyroxine (10%) to ensure a wider variety of cases would be considered for external validation. Without stratification, the Marseille reports included a proportion of levothyroxine cases comparable to Bordeaux due to the "Levothyrox crisis" detailed in Supplemental Information S1. After this, 187 reports from Marseille were selected, 44% of which were serious. They concerned mostly women (74%); median age was of 44 years (IQR: 28-60). The reports mentioned 549 potential ADRs (median: 2 ADRs per report, IQR: 1-4) corresponding to 199 distinct PTs, and 201 drugs. The most frequent PTs for each center are listed in Table S1.
Owing to the size of the dataset, the training and the internal validation were performed considering PTs with at least 10 occurrences in the Bordeaux dataset, which led to consider 10,675 potential ADRs, and 125 distinct PTs in this dataset. The external validation focused on PTs present in the learning set, which led to consider 407 potential ADRs and 85 distinct PTs from the Marseille Centre reports in the validation set. Practically, the 125 PTs included in our dataset corresponded to 64.6% of the 393,407 ADRs entered in the BNPV for the period, and the 85 PTs in our external validation dataset corresponded to 58.3% of those. This guaranteed a strong representativeness of the BNPV in our dataset ( Figure S2).

ML models performance to identify ADRs
Regarding AUC and F-measure obtained during internal validation, the model presenting the highest performance for automated coding of potential ADRs from patients' reports free text was
Contrary to ML models that need a minimal occurrences number to be able to detect correctly a MedDRA term, the RegEx engine performances do not depend on the frequency of the terms and it will be able to detect even rare ADRs that were not selected among the 125 PTs on which we focused. However, for the sake of simplicity and to be able to compare models that include or not The best performing model, LGBM, was run for external validation showing an AUC of 0.91 and a F-measure of 0.58; the limited validation set size did not allow computing CIs.
Finally, we compared the results of the best performing model only trained on text features and the same model with text and structured features. The use of the structured features resulted in a slight performance improvement from 0.69 to 0.72 F-measure.
The overall performance of all models in internal validation and performance of the LGBM in external validation are detailed in Table 1. The parameters studied were ROC curve AUC, Fmeasure, true negatives (TNs), true positives (TPs), false negatives (FNs), and false positives (FPs).

ML models performance for ADR seriousness determination
Regarding AUC and F-measure, the 4 conventional ML models tested showed similar performance with AUC close to 0.75 ( Figure 3a) and F-measure close to 0.60 ( Figure 3b). Neural network models were unable to fit in the dataset effectively. As ADR seriousness determination is more complex than ADR identification, it is possible that this relates to the limited size of our learning set. Overall performance of conventional ML models to determine ADR seriousness are presented in Table S2.

DISCUSSION
Our study showed that an AI pipeline using a knowledge database to structure free text data and a ML model to learn ADR coding from human expertise could allow for automatic identification of a large proportion of the ADRs described in patients' report forms unstructured data. The best performing AI pipeline using LGBM (gradient boosting) showed interesting results with an AUC of 0.93 and an F-measure of 0.72. More concretely, from the used test set comprising 1,061 ADRs, our system succeeded in correctly identifying and coding 703 ADRs, and incorrectly spotted or coded 190 others.
The performances obtained for the automated determination of the ADR seriousness task were lower; enlarging the experiment to a larger set could allow improving these. Other teams, academic or industrial, are currently also working on this latter aspect using ML models disregarding the aspect of ADR identification from free text. 36,37 For ADR identification, we found a relative discrepancy between AUC and F-measure, highlighting how these metrics differ in considering a classifier's performance. In the commonly used ROC curve/AUC, TP and the FP rates are considered of similar importance, which might present limitations for the evaluation of a classifier especially in the case of unbalanced data. 38 AUC can indeed present with very high overall values if the modality "absence of ADR" is dominant in the dataset and is related to a very high level of specificity, even the sensitivity of the model is low. The F-measure conversely provides a single score that balances both the aspects of positive predictive value (PPV) and sensitivity in just one score and is thus not affected by the predominance of a modality in the dataset. On the other hand, the main limitation of F-measure is that it gives equal weight to PPV and Table 1 Overall performance of all models after internal validation and external validation for the best performing model (LGBM) to detect ADRs As specified in the text, the limited validation set size did not allow computing confidence intervals.
ARTICLE sensitivity, which in some circumstances might not correspond to the clinical needs of the tool being evaluated. 35 The results we present highlights the importance of using both measures when studying the performance of ML, especially when dealing with unbalanced data, such as health data. 39 Indeed, the comparison of our ML models shows that they all retain an AUC > 0.8 despite very average performance for some if we look at the TP, FP, or FN. This is explained by these models remaining very efficient for TN (Table 1). Moreover, being this a first study, it seems to us more appropriate global performance parameters, such as AUC and F-measure, than practical parameters, such as sensitivity or specificity.
The external validation strengthened the validity of our results, allowing us to determine how the model performances would transfer to new users and new patients. 40 In our results, the performances obtained were lowered during the external validation. Because the model was trained on data from a single center, this was, however, expected and should be improved by enlarging the learning to other centers. Similarly, the lower performances of the models in determining ADR seriousness, a more complex task involving numerous parameters, could be improved if training was performed on a larger dataset.
The use of real-life, expert-annotated data is the most important strength of our study. In contrast to simulation studies, it

ARTICLE
demonstrates the concrete capacities of the AI pipeline to classify ADRs from unstructured textual data. Its performance could, however, consequently depend on peculiarities in the data and the transferability of the system to other settings (especially other languages) should be studied. As the overall pipeline we propose is entirely transposable to English and other languages with comparable structures, this should theoretically not constitute an issue. Medical concepts, drug names, and the MedDRA classification of ADRs indeed benefit from multilingual reference systems, and the semantic approach based on a knowledge base proposed here makes it possible to link identical concepts expressed in different languages. 41 The main limitation of our study is the limited size of the datasets used. ML methods, especially deep learning ones, require a large amount of data. 42 One of the difficulties when dealing with textual data is the ability to differentiate between sentences almost similar in form but very different in meaning, for instance, because of a negation. Deep learning is theoretically the most adequate method to overcome this 32,43 but it requires having learned enough about these complex situations to identify them and determine new ones afterward.
Attention-based transformer architectures, such as BERT and its numerous variants, are showing very promising results and seem to be the best performing methods for this kind of task. 44 However, we did not find models pretrained on French convenient biomedical datasets and our dataset was too small to consider fine-tuning a BERT model so we did not include these models into the study. With more data available, it will be a good perspective to improve results obtained in the current work.
In larger studies, the model ranking regarding learning capacities could thus change. 45 However, even using a limited dataset, the performance obtained was already valuable. This could be due both to the quality of the expert-annotated data and to our semantic approach, which optimizes their understanding. However, the annotations we used to train the models and evaluate their performances were made manually. Moreover, due to the high complexity of the MedDRA terminology there is a high variability in the human ADR annotation process. This leads to a not insignificant noise in the dataset and hard to assess model errors. We did not perform any measurements of this inter-annotator variability in this study as the necessary qualified human resources were not available. However, we consider doing it as future work.
The results of this study are encouraging. On their basis, we will extend this learning to all pharmacovigilance French centers, which should enable to train our models on ~ 20,000 expert-annotated patient reports. We are also working to strengthen our semantic approach by taking into account textual data that correspond to a therapeutic indication and not to an adverse event. This will limit our FPs by excluding therapeutic indications.
The results of this preliminary study made it possible to launch the second phase of the study at the national level with 30 pharmacovigilance centers. The improvement in performance expected at the end of this second phase should make it possible to set up a new pharmacovigilance system allowing pharmacologists to save precious time. Indeed, this system will allow the ADR reports to be sorted by seriousness and by adverse events, which will allow pharmacologists to focus on the most serious cases or concerning unexpected adverse effects.
This new system is scheduled to be deployed in 2021 to facilitate pharmacovigilance of coronavirus disease 2019 (COVID- 19) vaccines. The current French pharmacovigilance pipeline and the one that could be deployed after implementation are represented in Figure S3. CONCLUSION We elaborated an AI pipeline using a knowledge database and gradient boosting trees that was found able to learn to correctly identify ADRs from patient reports with unstructured data. If already interesting, the performance obtained can still be improved, especially for ADR seriousness determination, which will be intended using wider and more heterogeneous datasets. Such a system would allow answering the increasing needs of automated pharmacovigilance systems for the processing of ADR reporting.

SUPPORTING INFORMATION
Supplementary information accompanies this paper on the Clinical Pharmacology & Therapeutics website (www.cpt-journal.com).