## 3 The Proposed Framework  
In response to these limitations, our study proposes and tests a largely unsupervised domain-independent approach for developing ABM structures from informal semi-structured interviews using Python-based semantic and syntactic NLP tools (Figure 1). The method primarily uses syntactic NLP approaches for information extraction directly to the object-oriented programming (OOP) framework (i.e., agents, attributes, and actions/interactions) using widely accepted approaches in database design and OOP [61]. Database designers and OOP programmers generally exploit the syntactic structure of sentences for information extraction. Syntactic analysis usually treats the subject of a sentence as a class (an entity for a database) and the main verb as a method (a relationship for a database). Since the approach is not based on machine learning, it does not require large training data. The semantic analysis is limited to external static datasets such as WordNet ([[https://wordnet.princeton.edu/](https://wordnet.princeton.edu/)]([https://wordnet.princeton.edu/](https://wordnet.princeton.edu/))) (accessed on 8 July 2020) and VerbNet ([[https://verbs.colorado.edu/verbnet/](https://verbs.colorado.edu/verbnet/)]([https://verbs.colorado.edu/verbnet/](https://verbs.colorado.edu/verbnet/))) (accessed on 21 July 2020). In the proposed approach, information extraction includes systems agents, their actions, and interactions from qualitative data for model development using syntactic and semantic NLP tools. As our information extraction approach is primarily unsupervised and does not require manual interventions, we argue that, in addition to being efficient, it reduces the potential for subjectivity and biases arising from modelers' preconceptions about target systems. The extracted information is then represented using Unified Modeling Language (UML) for an object-oriented model development platform. UML is a standardized graphical representation of software development [62]. It has a set of well-defined class and activity diagrams that effectively represent the inner workings of ABMs [63]. UML diagrams represent systems classes, their attributes, and actions. Identified candidate agents, attributes, and actions were manually arranged in the UML structure for supporting model software development. Although there are other forms of graphical ABM representations such as Petri Nets [64], Conceptual Model for Simulation [29], and sequence and activity diagrams [65], UML is natural in representing ABM, named by [66] the default lingua franca of ABM. Figure 1: Largely unsupervised information extraction for ABM development. TFIDF: term frequency inverse document frequency. In our approach, model development is mainly unsupervised and involves the following steps (Figure 1):  
1. Unsupervised data processing and extraction;
2. Data preprocessing (cleaning and normalization);
3. Data volume reduction;
4. Tagging and information extraction;
5. Supervised contextualization and evaluation;
6. UML/Model conceptualization;
7. Model evaluation. Steps one and two are required since semi-structured interviews often contain redundant or inflected texts that can bog down NLP analysis. Hence, removing non-informative contents from large textual data is highly recommended at the start of the analysis. NLP is well-equipped with stop words removal tools that can effectively remove redundant texts. Similarly, tools such as stemming and lemmatizing help normalize texts to their base forms [67]. Step three is data volume reduction, which can tremendously speed up NLP analyses. Traditional volume reduction approaches usually contain highly supervised keyword-based methods. Data analysts use predefined keywords to select and extract sentences perceived to be relevant [68]. Keyword identification generally requires a priori knowledge of the system and is often bias-prone.