The long quest for advancing readability assessment (RA) mostly centered on handcrafting the linguistic features that affect readability (Pitler:08)
. RA is a time-honored branch of natural language processing (NLP) that quantifies the difficulty with which a reader understands a text(Feng:10). Being one of the oldest systematic approaches to linguistics (Collins-Thompson:14), RA developed various linguistic features. These range from simple measures like the average count of syllables to those as sophisticated as semantic complexity (buchanan2001characterizing).
Perhaps due to the abundance of dependable linguistic features, an overwhelming majority of RA systems are Support Vector Machines (SVM) with handcrafted features(Hansen:21)
. Such traditional machine learning (ML) methods were linguistically explainable, expandable, and most importantly, competent against the modern neural models. As a fragmentary example,Fili:19 reports that a large ensemble of 6 BiLSTMs with BERT (bert), ELMo (elmo), Word2Vec (word2vec), and GloVe (glove) embeddings showed only 1% accuracy improvement from a single SVM model developed by Xia:16.
Even though deep neural networks have achieved state-of-the-art (SOTA) performance in almost all semantic tasks where sufficient data were available(colbert:11; Zhang:15), neural models started showing promising results in RA only quite recently (Martinc:21). A known challenge for the researchers in RA is the lack of large public datasets – with the unique exception of WeeBit (Vajjala:12). Technically speaking, even WeeBit is not entirely public since it has to be directly obtained from the authors.
Martinc:21 raised the SOTA classification accuracy on the popular WeeBit dataset (Vajjala:12) by about 4% using BERT. This was the first solid proof that neural models with auto-generated features can show significant improvement compared to traditional ML with handcrafted features. However, neural models, or transformers (which is the interest of this paper), still show not much better performance than traditional ML on smaller datasets like OneStopEnglish (Vajjala:18), despite the complexity.
From our observations, the reported low performances of transformers on small RA datasets can be accounted for two reasons. 1. Only BERT was applied to RA, and there could be other transformers that perform better, even on small datasets. 2. If a transformer shows weak performance on small datasets, there must be some additional measures done to supply the final model (e.g. ensemble) with more linguistic information, but such a study is rare in RA. Hence, we tackle the abovementioned issues in this paper. In particular, we 1. perform a wide search on transformers, traditional ML models, and handcrafted features & 2. develop a hybrid architecture for SOTA and robustness on small datasets.
However, before we move on to hybrid models, we begin by supplementing an underexplored linguistic branch of handcrafted features. According to survey research on RA (Collins-Thompson:14)
, the study on advanced semantics is scarce. We lack a model to capture how deeper semantic structures affect readability. We attempt to solve this issue by viewing a text as a collection of latent topics and calculating the probability distribution.
Then, we move on to combine traditional ML (w handcrafted features111For simplicity, we use “handcrafted features” and “linguistic features” interchangeably throughout this paper.) and transformers. Such a hybrid system is only reported by deutsch-etal-2020-linguistic, concluding, “(hybrid models) did not achieve SOTA performance.” But we obtain contrary results. Through a large study on the optimal combination, we obtain SOTA results on WeeBit and OneStopEnglish. Also, our BERT-GB-T1 hybrid beats the (previous) SOTA accuracy with only 30% of the full dataset, in section 4.7.
Our main objectives are creating advanced semantic features and hybrid models. But our contributions to academia are not limited to the abovementioned two. We make the following additions:
1. We numerically represent certain linguistic properties pertaining to advanced semantics.
We develop a large-scale, openly available 255 features extraction Python toolkit (which is highly scarce222A known exception is Dr. Vajjala’s Java toolkit, available at bitbucket.org/nishkalavallabhi/complexity-features. in RA). We name the software LingFeat333github.com/brucewlee/lingfeat.
3. We conduct wide searches and parametrizations on transformers444github.com/yjang43/pushingonreadability_transformers and traditional ML555github.com/brucewlee/pushingonreadability_traditional_ML for RA use.
4. We develop hybrid models for SOTA and robu-stness on small datasets. Notably, RoBERTa-RF-T1 achieves 99% accuracy on OneStopEnglish, 20.3% higher than the previous SOTA (table 5).
2 Advanced Semantics
2.1 Definition, Background, and Overview
A text is a communication between author and reader, and its readability is affected by the reader having shared world/domain knowledge. According to Collins-Thompson:14, the features resulting from topic modeling may characterize the deeper semantic structures of a text. These deeper representations accumulate and appear to us in the form of perceivable properties like sentiment and genre. But advanced semantics aims to capture the deeper representation itself.
Among the four branches of linguistic properties (in RA) identified by Collins-Thompson:14, advanced semantics remain unexplored. Lexico-semantic (Lu:11; Malvern:12), syntactic (heilman-etal-2007-combining; Petersen:09), and discourse-based (Mcnamara:10) properties had several notable works but little dealt with advanced semantics as the given definition. The existing examples in higher-level semantics focus on word-level complexity (collins2004language; crossley2008assessing; landauer2011word; nam2017predicting).
Such a phenomenon is complex. The lack of investigation on advanced semantics could be due to its low correlation with readability. This is plausible because RA studies often test their features on a human-labeled dataset, potentially biased towards easily recognizable surface-level features (evans2006cognitive). Such biases could cause low performance.
Further, it must be noted that: 1. world knowledge might not always directly indicate difficulty, and 2. there can be other existing substitute features that capture similar properties on a word level.
S1) Kindness is good.
S2) Christmas is good.
S3) I return with the stipulation to dismiss Smith’s case; the same being duly executed by me.
S2 above seems to require more world knowledge than S1. However, “Christmas”, as a familiar entity, seems to have no apparent contribution to increased difficulty. If any, similar properties can be captured by word frequency/familiarity measures (lexico-semantics) in a large representative corpus (gondy:13). Also, it seems that S3 is the most difficult, and this can be easily deduced using entity counts (discourse). Entities mostly introduce conceptual information (Feng:10).
Our key objective in studying advanced semantics is to identify features that add orthogonal information. In other words, we hope to see a performance increase in our overall RA model rather than specific features’ high correlations with readability.
Given the considerations, we draw two guidelines: 1. develop passage-level features since most word-level attributes are captured by existing features, and 2. value the orthogonal addition of information, not individual feature’s high correlation.
Topics convey text meaning on a global level (holtgraves1999comprehending)
. In order to capture the deeper structure of meaning (advanced semantics), we hypothesized that calculating the distribution of document-topic probabilities from latent dirichlet allocation (LDA)(Blei:03) could be helpful.
Moreover, domain/world knowledge can be accounted for in LDA-resulting measures since LDA can be trained on various data. As explored in qumsiyeh2011readaid, it may seem sensible to use the count of discovered topics as the measure of required knowledge. However, such measures can be extremely sensitive to passage length. Along with the count of discovered topics, we develop three others that consider how these topics are distributed: semantic richness, clarity, and noise.
Fig. 1 depicts the steps: 1. obtain output from a trained LDA model, 2. ignore topic ID and create a sorted probabilities list, and 3. calculate semantic richness, clarity, and noise. We model “how” the topics are distributed, not “what” the topics are.
2.3 Semantic Richness
Traditionally, semantic richness is quantified according to word usage (pexman:08). In a high-dimensional model of semantic space (li2000acquisition), co-occurring words clustered as semantic neighbors, quantifying semantic richness. As such, the previous models of semantic richness were often studied for word-level complexity and made no explicit connection with readability on a global level. Also, they were often subject-dependent (buchanan2001characterizing). As concluded by pexman:08, semantic richness is defined in several ways. We propose a novel variation.
We apply the similar co-occurrence concept but on the passage level using LDA. Here, semantic richness is the measure of how “largely” populated the topics are. In fig. 1, we approximately define richness as the product total of SPL, which measures the count of discovered topics () and topic probability (). Additionally, we multiply index () to reward longer so that the overall richness increases faster with more topics. See eqn. 1.
2.4 Semantic Clarity
Semantic clarity is critical in understanding text peabody2016towards. Likewise, complex meaning structures lead to comprehension difficulty (pires2017towards). Some existing studies quantify semantic complexity (or clarity) through various measures, but most on the fine line between lexical and semantic properties (Collins-Thompson:14). They rarely deal with the latent meaning representations or the clarity of the main topic.
For semantic clarity, we quantify how the probability distribution (fig. 1) is focused (skewed) towards the largest discovered topic. In other words, we hope to see how easily identifiable the main topic is. We wanted to adopt the standard skewness equation from statistics, but we developed an alternative (eqn. 2) because the standard equation failed to capture the anticipated trends in appendix A.
2.5 Semantic Noise
Semantic noise is the measure of the less-important topics (those with low probability), also the “tailedness” of sorted probability lists (fig. 1). A sorted probability list that resembles a (right-halved) leptokurtic curve would have higher semantic noise. In comparison, a (right-halved) platykurtic curve of similar length would have low semantic noise. We adopt the kurtosis equation under Fisher definition(kokoska2000crc). See eqn. 3.
3 Covered Features
We study 255 linguistic features. For the already existing features, we add variations to widen coverage. The full list of features, feature codes, and definition are provided in appendix B. Also, we classify features into 14 subgroups. External depe-ndencies (e.g. parser) are reported in appendix D.
3.1 Advanced Semantic Features (AdSem)
Here, we follow the methods provided in section 2.
13) Wikipedia (WoKF), WeeBit (WBKF), & OneStop Knowledge Features (OSKF). Each subgroup name represents the respective training data. We train Online LDA (hoffman2010online) with the 20210301 dump666dumps.wikimedia.org/enwiki from English Wikipedia for WoKF. The others are trained on two popular corpora in RA: WeeBit and OneStopEnglish.
For each training set, four variations of 50, 100, 150, 200 topics models are trained. Four features – semantic richness, clarity, noise, and the total count of discovered topics – are extracted per model.
3.2 Discourse-Based Features (Disco)
A text is more than a series of random sentences. It indicates a higher-level structure of dependencies.
4) Entity Density Features (EnDF). Conceptual information is often introduced by entities. Hence, the count of entities affects the working memory burden (Feng:09). We bring entity-related features from Feng:10.
5) Entity Grid Features (EnGF) Coherent texts are easy to comprehend. Thus, we measure coherence through entity grid, using the 16 transition pattern ratios approach by Pitler:08 as features. Also, we adopt local coherence scores (guinaudeau2013graph), using the code implemented by palma2018coherence.
3.3 Syntactic Features (Synta)
Syntactic complexity is associated with longer processing times (gibson1998linguistic). Such syntactic properties also affect the overall complexity of a text (hale2016information), an important indicator of readability.
6) Phrasal Features (PhrF). Ratios involving clauses correlate with learners’ abilities to read (lu2010automatic). We implement several variations, including the counts of noun, verb, and adverb phrases.
7) Tree Structure Features (TrSF). We deal with the structural shape of parsed trees, inspired by the work on average parse tree height by Schwarm. On a constituency parser (appendix D) output, NLTK (loper2002nltk) is used for the final calculation of features.
8) Part-of-Speech Features (POSF). Several studies report the effectiveness of using POS counts as features (tonelli2012making; Leeb:20). We count based on Universal POS tags777universaldependencies.org/u/pos.
3.4 Lexico-Semantic Features (LxSem)
Perhaps the most explored, lexico-semantics capture the attributes associated with the difficulty or unfamiliarity of words (Collins-Thompson:14).
9) Variation Ratio Features (VarF) Lu:11 reports noun, verb, adjective, and adverb variations, which represent the proportion of the respective category’s words to total. We implement the features with variants from Vajjala:12.
10) Type Token Ratio Features (TTRF). TTR has been widely used as a measure of lexical richness in language acquisition studies (Malvern:12). We bring five variations of TTR from Vajjala:12. For MTLD (mccarthy2010mtld), we default TTR to 0.72.
11) Psycholinguistic Features (PsyF) As explored in vajjala2016readability, we implement various Age-of-Acquisition features from Kuperman study database kuperman2012age.
12) Word Familiarity Features (WorF) Word frequency in a large representative corpus often represents lexical difficulty (Collins-Thompson:14) due to unfamiliarity. We use SubtlexUS database (brysbaert2009moving) to measure familiarity.
3.5 Shallow Traditional Features (ShaTr)
Classic readability formulas (e.g. Flesch-Kincaid Grade) (Kincaid:75) or shallow measures often do not represent a specific linguistic branch.
13) Shallow Features (ShaF) These features capture surface-level difficulty. Our measures include the average count of tokens and syllables.
14) Traditional Formulas (TraF). For Flesh-Kincaid Grade Level, Automated Readability, and Gunning Fog, we follow the “new” formulas in Kincaid:75. We follow si2001statistical for Smog Index (mc1969smog). And we follow eltorai2015readability for Linsear Write.
4 Hybrid Model
As shown in section 3, myriad linguistic properties affect readability. Despite the continual effort at handcrafting features, they lack coverage. deutsch-etal-2020-linguistic hint neural models can better model the linguistic properties for RA task. But the performance/flexibility of neural models could improve.
In our hybrid model, we take a simple approach of joining the soft label predictions of a neural model (e.g. BERT) with handcrafted features and wrapping it with a non-neural model (e.g. SVM).
In fig. 2, the non-neural model (i.e. secondary predictor) learns 1. predictions/outputs of the neural model and 2. handcrafted features. The addition of handcrafted features supplements what neural models (i.e. initial predictor) might miss, reinforcing performance on the secondary prediction.
4.2 In Pursuit of the Best Combination
Our hybrid architecture (fig. 2) is simple; deutsch-etal-2020-linguistic explored a similar concept but did not achieve SOTA. But the benefits (section 4.1) from its simplicity are critical for RA, which has a lacking number/size of public datasets, wide educational use, and diverse handcrafted features. We obtain SOTA with a wider search on combinations.
4.2.1 Datasets and Evaluation Setups
|Covered Age||716||Adult||A2C2 (CEFR)|
|# of Classes||5||3||5|
|# of Items/Class||625||189||60|
|# of Tokens/Item||217||693||512|
WeeBit. Perhaps the most widely-used, WeeBit is often considered the gold standard in RA. It was first created as an expansion of the famous Weekly Reader corpus (Feng:09). To avoid classification bias, we downsample classes to equalize the number of items (passages) in each class to 625. It is common practice to downsample WeeBit.
OneStopEnglish. OneStopEnglish is an aligned passage corpus developed for RA and simplification studies. A passage is paraphrased into three readability classes. OneStopEnglish is designed to be a balanced dataset. No downsampling is needed.
Cambridge. Cambridge (Xia:16) categorizes articles based on Cambridge English Exam levels (KET, PET, FCE, CAE, CPE). These five exams are targeted at learners at A2–C2 levels of the Common European Framework of Reference (Xia:16). We downsample to 60 items/class.
For evaluation, we calculate accuracy, weighted F1 score, precision, recall, and quadratic weighted kappa (QWK). The use of QWK is inspired by chen2016building; palma2019data. We use stratified k-fold (k=5, train=0.8, val=0.1, test=0.1) and average the results for reliability. We use SciKit-learn (pedregosa2011scikit) for metrics.
4.2.2 Search on Neural Model
Extending from the existing use of BERT on RA (deutsch-etal-2020-linguistic; Martinc:21), we explore RoBERTa, (liu2019roberta), BART (bart), and XLNet (XLNET:19)
. We use base models for all (details in appendix D). For each of the four models (table 2), we perform grid searches on WeeBit validation sets to identify the well-performing hyperparameters based on 5-fold mean accuracy. Once identified, we used the same configuration for all the other corpora and performed no corpus-specific tweaking. We search the learning rates of [1e-5, 2e-5, 4e-5, 1e-4] and the batch sizes of [8, 16, 32]. The input sequence lengths are all set at 512, and we used Adam optimizer. Last, we fine-tuned the model for three epochs. Full hyperparameters are in appendix F.
In table 2, RoBERTa & BART beat BERT & XLNet on most metrics. Martinc:21 reports that transformers are weak on parallel datasets (OneStopEnglish) due to their reliance on semantic information. However, RoBERTa & BART show great performances on OneStopEnglish as well. Such a phenomenon likely derives from numerous aspects of the architecture. We carefully posit that the varying pretraining steps could be a reason.
BERT uses two objectives, masked language model (MLM) and next sentence prediction (NSP). The latter was included to capture the relation between sentences for natural language inference. Thus, sentence/segment-level input is used. Likewise, XLNet adopts a similar idea, limiting input to sentence/segment-level. But RoBERTa disproved the efficiency of NSP, adopting document-level inputs. Similarly, BART, via random shuffling of sentences and in-filling scheme, does not limit itself to a sentence/segment size input. As in section 3, “readability” is possibly a global-level representation (accumulated across the whole document). Thus, the performance differences could stem from the pretraining input size; sentence/segment-level input likely loses the global-level information.
4.2.3 Search on Non-Neural Model
We explored SVM, Random Forest (RandomF), Gradient Boosting (XGBoost)(chen2016xgboost)
, and Logistic Regression (LogR). With the exception of XGBoost, the chosen models are frequently used in RA but rarely go through adequate hyperparameter optimization steps(ma2012ranking; yaneva2017combining; mohammadi2020machine). We perform a randomized search to first identify the sensible range of hyperparameters to search. Then, we apply grid search to specify the optimal values. The parameters are in appendix F.
In table 3, we report the performances of the parameter-optimized models trained with all 255 handcrafted features. Compared to transformers, these non-neural models show lower accuracy in general. Even on the smallest Cambridge dataset, non-neural models do not necessarily show higher performances than transformers. But it is important to note that they managed to show fairly good, “expectable” performances on a much smaller dataset.
|Baselines, Previous Studies||BERT||RoBERTa||BART||XLNet|
Xia-16 (Cambridge) uses semi-supervised learning (self-training) on a larger corpus to increase performance.
4.2.4 Search on Handcrafted Features
We start by ranking performances of the feature subgroups. In table 4, we report the top 7 (upper half) by accuracy on WeeBit. The result is obtained after training the respective model using the specified feature subgroup. Importantly, the advanced semantic features show good performance in all measures. WorF and PsyF, features calculated from external databases, rank in the top 7 for all corpora, hinting they are strong measures of readability.
Moving on, we constructed several types of feature combinations with varying aims. These incl-ude: 1. T-type to thoroughly capture linguistic properties and 2. P-type to collect features by performance. We tested the variations on LogR and SVM to determine the optimal. Two sets (table 6) performed well. Appendix G reports all tested variations. We highlight that both advanced semantics and discourse added distinct (orthogonal) informa-tion, which was evidenced by performance change.
4.3 Assembling Hybrid Model
Note: 5 letters (e.g. AdSem) mean linguistic branch. 4 letters (e.g. PhrF) mean subgroup. We report accuracy on WeeBit.
Based on the exploration so far, we assemble our hybrid model. We perform a brute-force grid search on four neural models (table 2), four non-neural models (table 3), and 14 feature sets (table 24).
To interweave the model, we followed the steps of 1: obtain soft labels (probabilities that a text belongs to the respective readability class) from a neural model by softmax layer, 2: append the soft labels to handcrafted features (create a dataframe), 3. train non-neural model on the dataframe. As in fig 2, the neural models performed a sort of re-prediction to the data used for training to match the dataframe dimensions in training and test stages.
Table 5 reports the best performing combination per respective neural model. Under “hybrid” column are code names (e.g. GB-T1 under BERT = XGBoost trained with handcrafted feature set T1 and BERT outputs). Under “” column, we report differences with the respective single model performance. We also include SOTA baseline results Xia-16 Xia:16, Fili-19 Fili:19, Mar-21 Martinc:21.
4.4 Hybrid Model Results and Limitations
In table 5, our hybrid models achieve SOTA performances on WeeBit (BART-RF-T1) and OneSt-opEnglish (RoBERTa-RF-T1). With the exception of Xia:16 which uses extra data to increase accuracy, we also achieve SOTA on Cambridge: 76.3% accuracy on a small dataset of only 60 items/class. Among the hybrids, RoBERTa-RF-T1 showed consistently high performance on all metrics. But all hybrid models beat previous SOTA results by a large margin. Notably, we achieve the near-perfect accuracy of 99% on OneStopEnglish, a massive 20.3% increase from the previous SOTA (Martinc:21) by HAN (10.1007/978-3-030-45439-5_3).
Both neural and non-neural models benefit from the hybrid architecture. This is explicitly shown in BERT-GB-T1 performance on OneStopEnglish, achieving 98.2% accuracy. This is an 18.1% increase from BERT and a 26.3% increase from XGBoost. However, BART did not benefit much from the hybrid architecture on WeeBit and OneStopEnglish, meaning that hybrid architectures do not augment model performance at all conditions.
Along similar lines, the hybrid architecture performance on the larger WeeBit dataset showed only a small improvement from the transformer-only result. On the other hand, the hybrid architecture performance on the smaller Cambridge dataset was consistently better than the transformer-only performance. The hybrid shows 10% improvement in accuracy on average for Cambridge. On the smallest dataset (Cambridge), the hybrid architecture benefited more from a non-neural, handcrafted features-based model like RF (Random Forest) and GB (XGBoost). On the largest dataset (WeeBit), the hybrid benefited more from a transformer.
Our explanation is that the handcrafted features do not add much, at the data size of WeeBit. But the handcrafted features could be a great help where data is insufficient like they did for the Cambridge dataset. OneStopEnglish, being the medium-sized parallel dataset, could have hit the sweet spot for the hybrid architecture. But it must be noted that the data size is not the only determining factor as to which model (neural or non-neural) the hybrid architecture benefits more from. It must also be questioned if the max performance ( label noise induced by subjectivity) (frenay2014comprehensive) is already achieved on WeeBit (deutsch-etal-2020-linguistic).
Also, it seems that the hybrid architecture benefits when each model (neural and non-neural) already shows considerably good performance. This is plausible as the neural model outputs are considered features for the non-neural model. Including more “fairly” well-performing features only creates extra distractions. The hybrid architecture’s limit is that it gets a model from “good” to “great,” not “fair” to “good.” But determining the definition of “fair” performance is a difficult feat as it likely depends on the dataset and a researcher’s intuition from the empirical experience of the model. Hence, the hybrid architecture’s limit is that one must test several combinations to pick the effective one.
4.5 Why Not Directly Append Features?
Regarding the model architecture, we examined appending the handcrafted features to transformer embeddings without the use of a secondary predictor like SVM. But an existing example of ReadNet (10.1007/978-3-030-45439-5_3) hints that such a model is not robust to small datasets. ReadNet reports 52.8% accuracy on Cambridge, worse than any of our tested models (table 2, 3, 5). Besides, ReadNet claims to have achieved 91.7% accuracy on WeeBit, without reports on downsampling. Many studies, like deutsch-etal-2020-linguistic, report that the model accuracy can increase 4% on the full, class-imbalanced WeeBit. Hence, ReadNet is not directly comparable. We omitted ReadNet from table 5.
4.6 BERT vs BERT, Ours Was Better
Noticeable in table 2 and table 5 is that our BERT implementation performed much better on WeeBit than what was reported. The dataset preparation methods and overall evaluation settings are the same or very similar across ours (accuracy: 89.3%), deutsch-etal-2020-linguistic’s (accuracy: 83.9%), and Martinc:21’s (accuracy: 85.7%). We believe that the differences stem from the hyperparameters.
Notably, deutsch-etal-2020-linguistic uses 128 input sequence length. This is ineffective as the downsampled WeeBit has 2374 articles of over 128 tokens but only 275 articles of over 512 tokens (which was our input sequence length). Hence, we can reasonably think that much semantic information was lost in deutsch-etal-2020-linguistic’s implementation. Martinc:21 uses 512 input sequence length but lacks a report on other possibly critical hyperparameters, and we cannot compare in detail.
4.7 Data Size Effect
In table 5, our hybrid architecture generally did not contribute much to the classification on WeeBit. But we argue that it has much to do with data size.
To model how data size affects the accuracies of 1. hybrid model, 2. transformer, and 3. traditional ML, we conducted an additional experiment using the same test data (10% of WeeBit) explained in section 4.2.1. However, we random sampled the train data (80% of WeeBit) into the smaller sizes of from 50 to 750, with 50 passages increase each set. We sampled with equal class weights, meaning that a 250 passages train set has 50 from each readability class. We trained BERT-GB-T1 (table 5) on the sampled data and evaluated on the same test data throughout. We also recorded BERT and XGBoost (with T1 features) performances in fig. 3.
In fig. 3, the hybrid model performs consistently better than transformer (+0.01 0.05) at all sizes. But the difference gap gets smaller as the train data size increases. The hybrid model does help the efficiency of learning RA linguistic properties.
Contrary to the conventional beliefs, the transformer (BERT) performed better than our expectations, even on smaller data sizes. BERT always outperformed XGBoost. The traditional ML performance was arguably more consistent but never better than a transfomer’s.
BERT-GB-T1’s trend line seemed like the mixture of GB-T1’s and BERT’s. Notably, BERT-GB-T1 achieves 85.8% accuracy on WeeBit using only 750 passages, 30% of the original train data. For comparison, 85.7% was the past SOTA (table 5).
5 Domain Overfitting and Cross Domain Evaluation
99% accuracy on OneStopEnglish (table 5) shows that our model is capable of almost perfectly capturing the linguistic properties relating to readability on certain datasets. This is a positive and abnormally quick improvement, considering that the reported RA accuracies have never exceeded 90% on popular datasets (Vajjala:12; xu2015problems; Xia:16; Vajjala:18) until 2021. Since the reported in-domain accuracies in RA had much room for improvement, we were not at the stage to be seriously concerned about cross-domain evaluation (vstajner2018detailed) in this paper.
It would be very favorable to run an extra cross-domain evaluation (which we believe to be a next-level topic). But realistically, performing a cross-domain evaluation requires a thorough study on at least two datasets, which is potentially out of scope in this research. The readability classes/levels are labeled by a few human experts, making the standards vary among datasets. To make two datasets suitable for cross-domain evaluation, much effort is needed to connect the two, such as the class mapping used in Xia:16. However, it should be noted for future researchers that the notion of domain overfitting is indeed a common problem faced in RA, which often uses one dataset for train/test/validation. Without a new methodology to connect several datasets or a new large public dataset for RA, it will forever be challenging to develop a RA model for general use (vajjala2021trends).
We have reported the four contributions mentioned in section 1. We checked that the new advanced semantic features add orthogonal information to the model. Further, we created hybrid models (table 5) that achieved SOTA results. RoBERTA-RF-T1 achieved 99% accuracy on OneStopEnglish, and BERT-GB-T1 beat the previous SOTA on WeeBit using only 30% of the original train data.
6.1 As a Gentle Reminder
To the general NLP community, the most prominent characteristic of our proposed method might be that we utilize handcrafted features and traditional ML models, which are often considered “outdated.” Interestingly, these outdated methods maintained SOTA in RA until Martinc:21 utilized BERT (as already discussed).
The findings we report are not limited to the technical innovations that achieved the new SOTA. Rather, we want to stress that: 1. there are still many areas in NLP that insist on traditional methodologies, which potentially hinders the improvement in model accuracy, 2. but we must also take time to look back on these outdated methods and their linguistic values. If we achieved anything meaningful through this research, it was possible because we realized the abovementioned two situations.
We wish to thank Dr. Inhwan Lee, Dongjun Lee, Sangjo Park, Donghyun Lee, and Eunsoo Shin. Partly funded by the 4th Industrial Revolution R&D Program, Min. of SMEs & Startups, Rep. of Korea.
Appendix A Trend, Advanced Semantic Features
|Sorted Probability List||R.||out||C.||out||N.||out|
|9, 0.5, 0.5||Low||115||High||56.7||H-M||30.0|
|6, 2, 1, 0.5, 0.3, 0.2||L-M||177||H-M||43.3||High||48.1|
|4, 4, 1, 1||Mid||190||L-M||15.0||L-M||18.5|
|4, 2, 1, 1, 0.6, 0.4||H-M||204||Mid||25.0||Mid||35.3|
|2.5, 1.5, 1.5, 1.5, 1.5, 1.5||High||325||Low||8.34||Low||13.3|
In table 7, we name each list as 1 5 from top to bottom. “out” refers to raw output from equations. See what the sorted probabilities list is in fig. 1.
Semantic Richness. List 4 and list 5 have the same lengths. However, list 5 contains more meaningful topics () throughout the list, resulting in higher overall semantic richness. As such, semantic richness rewards long probability lists () with more meaningful () topics. Similarly, list 3 (,) has higher richness than list 2 (,).
Semantic Clarity. List 3 and list 4 have the same and two other same elements (). However, the second element in list 3 is the same as the first element, resulting in increased difficulty in identifying the main topic (). Likewise, semantic clarity rewards the deviation between the and the other elements & short probability lists (). Hence, list 1 has the highest clarity.
Semantic Noise. List 2 and list 4 have the same lengths of 6 elements. However, list 2 contains more extraneous topics (), resulting in higher semantic noise. As such, semantic noise rewards longer lists () with more extraneous elements (). As a result, list 5 has the least semantic noise.
Appendix B Features, Codes, and Definitions
|1||WRich05_S||Richness, 50 topics extracted from Wikipedia Dump|
|2||WClar05_S||Clarity, 50 topics extracted from Wikipedia Dump|
|3||WNois05_S||Noise, 50 topics extracted from Wikipedia Dump|
|4||WTopc05_S||# of topics, 50 topics extracted from Wikipedia Dump|
|5||WRich10_S||Richness, 100 topics extracted from Wikipedia Dump|
|6||WClar10_S||Clarity, 100 topics extracted from Wikipedia Dump|
|7||WNois10_S||Noise, 100 topics extracted from Wikipedia Dump|
|8||WTopc10_S||# of topics, 100 topics extracted from Wikipedia Dump|
|9||WRich15_S||Richness, 150 topics extracted from Wikipedia Dump|
|10||WClar15_S||Clarity, 150 topics extracted from Wikipedia Dump|
|11||WNois15_S||Noise, 150 topics extracted from Wikipedia Dump|
|12||WTopc15_S||# of topics, 150 topics extracted from Wikipedia Dump|
|13||WRich20_S||Richness, 200 topics extracted from Wikipedia Dump|
|14||WClar20_S||Clarity, 200 topics extracted from Wikipedia Dump|
|15||WNois20_S||Noise, 200 topics extracted from Wikipedia Dump|
|16||WTopc20_S||# of topics, 200 topics extracted from Wikipedia Dump|
|17||BRich05_S||Richness, 50 topics extracted from WeeBit Corpus|
|18||BClar05_S||Clarity, 50 topics extracted from WeeBit Corpus|
|19||BNois05_S||Noise, 50 topics extracted from WeeBit Corpus|
|20||BTopc05_S||# of topics, 50 topics extracted from WeeBit Corpus|
|21||BRich10_S||Richness, 100 topics extracted from WeeBit Corpus|
|22||BClar10_S||Clarity, 100 topics extracted from WeeBit Corpus|
|23||BNois10_S||Noise, 100 topics extracted from WeeBit Corpus|
|24||BTopc10_S||# of topics, 100 topics extracted from WeeBit Corpus|
|25||BRich15_S||Richness, 150 topics extracted from WeeBit Corpus|
|26||BClar15_S||Clarity, 150 topics extracted from WeeBit Corpus|
|27||BNois15_S||Noise, 150 topics extracted from WeeBit Corpus|
|28||BTopc15_S||# of topics, 150 topics extracted from WeeBit Corpus|
|29||BRich20_S||Richness, 200 topics extracted from WeeBit Corpus|
|30||BClar20_S||Clarity, 200 topics extracted from WeeBit Corpus|
|31||BNois20_S||Noise, 200 topics extracted from WeeBit Corpus|
|32||BTopc20_S||# of topics, 200 topics extracted from WeeBit Corpus|
|33||ORich05_S||Richness, 50 topics extracted from OneStop Corpus|
|34||OClar05_S||Clarity, 50 topics extracted from OneStop Corpus|
|35||ONois05_S||Noise, 50 topics extracted from OneStop Corpus|
|36||OTopc05_S||# of topics, 50 topics extracted from OneStop Corpus|
|37||ORich10_S||Richness, 100 topics extracted from OneStop Corpus|
|38||OClar10_S||Clarity, 100 topics extracted from OneStop Corpus|
|39||ONois10_S||Noise, 100 topics extracted from OneStop Corpus|
|40||OTopc10_S||# of topics, 100 topics extracted from OneStop Corpus|
|41||ORich15_S||Richness, 150 topics extracted from OneStop Corpus|
|42||OClar15_S||Clarity, 150 topics extracted from OneStop Corpus|
|43||ONois15_S||Noise, 150 topics extracted from OneStop Corpus|
|44||OTopc15_S||# of topics, 150 topics extracted from OneStop Corpus|
|45||ORich20_S||Richness, 200 topics extracted from OneStop Corpus|
|46||OClar20_S||Clarity, 200 topics extracted from OneStop Corpus|
|47||ONois20_S||Noise, 200 topics extracted from OneStop Corpus|
|48||OTopc20_S||# of topics, 200 topics extracted from OneStop Corpus|
|49||to_EntiM_C||total number of Entities Mentions|
|50||as_EntiM_C||average number of Entities Mentions per sentence|
|51||at_EntiM_C||average number of Entities Mentions per token (word)|
|52||to_UEnti_C||total number of unique Entities|
|53||as_UEnti_C||average number of unique Entities per sentence|
|54||at_UEnti_C||average number of unique Entities per token (word)|
|55||ra_SSToT_C||ratio of SS transitions total, count from Entity Grid|
|56||ra_SOToT_C||ratio of SO transitions total, count from Entity Grid|
|57||ra_SXToT_C||ratio of SX transitions total, count from Entity Grid|
|58||ra_SNToT_C||ratio of SN transitions total, count from Entity Grid|
|59||ra_OSToT_C||ratio of OS transitions total, count from Entity Grid|
|60||ra_OOToT_C||ratio of OO transitions total, count from Entity Grid|
|61||ra_OXToT_C||ratio of OX transitions total, count from Entity Grid|
|62||ra_ONToT_C||ratio of ON transitions total, count from Entity Grid|
|63||ra_XSToT_C||ratio of XS transitions total, count from Entity Grid|
|64||ra_XOToT_C||ratio of XO transitions total, count from Entity Grid|
|65||ra_XXToT_C||ratio of XX transitions total, count from Entity Grid|
|66||ra_XNToT_C||ratio of XN transitions total, count from Entity Grid|
|67||ra_NSToT_C||ratio of NS transitions total, count from Entity Grid|
|68||ra_NOToT_C||ratio of NO transitions total, count from Entity Grid|
|69||ra_NXToT_C||ratio of NX transitions total, count from Entity Grid|
|70||ra_NNToT_C||ratio of NN transitions total, count from Entity Grid|
|71||LoCohPA_S||Local Coherence for PA score from Entity Grid|
|72||LoCohPW_S||Local Coherence for PW score from Entity Grid|
|73||LoCohPU_S||Local Coherence for PU score from Entity Grid|
|74||LoCoDPA_S||Local Coherence dist. for PA score from Entity Grid|
|75||LoCoDPW_S||Local Coherence dist. for PW score from Entity Grid|
|76||LoCoDPU_S||Local Coherence dist. for PU score from Entity Grid|
|77||to_NoPhr_C||total count of Noun phrases|
|78||as_NoPhr_C||average count of Noun phrases per sentence|
|79||at_NoPhr_C||average count of Noun phrases per token|
|80||ra_NoVeP_C||ratio of Noun phrases : Verb phrases count|
|81||ra_NoSuP_C||ratio of Noun phrases : Subordinate clauses count|
|82||ra_NoPrP_C||ratio of Noun phrases : Prep phrases count|
|83||ra_NoAjP_C||ratio of Noun phrases : Adj phrases count|
|84||ra_NoAvP_C||ratio of Noun phrases : Adv phrases count|
|85||to_VePhr_C||total count of Verb phrases|
|86||as_VePhr_C||average count of Verb phrases per sentence|
|87||at_VePhr_C||average count of Verb phrases per token|
|88||ra_VeNoP_C||ratio of Verb phrases : Noun phrases count|
|89||ra_VeSuP_C||ratio of Verb phrases : Subordinate clauses count|
|90||ra_VePrP_C||ratio of Verb phrases : Prep phrases count|
|91||ra_VeAjP_C||ratio of Verb phrases : Adj phrases count|
|92||ra_VeAvP_C||ratio of Verb phrases : Adv phrases count|
|93||to_SuPhr_C||total count of Subordinate clauses|
|94||as_SuPhr_C||average count of Subordinate clauses per sentence|
|95||at_SuPhr_C||average count of Subordinate clauses per token|
|96||ra_SuNoP_C||ratio of Subordinate clauses : Noun phrases count|
|97||ra_SuVeP_C||ratio of Subordinate clauses : Verb phrases count|
|98||ra_SuPrP_C||ratio of Subordinate clauses : Prep phrases count|
|99||ra_SuAjP_C||ratio of Subordinate clauses : Adj phrases count|
|100||ra_SuAvP_C||ratio of Subordinate clauses : Adv phrases count|
|101||to_PrPhr_C||total count of prepositional phrases|
|102||as_PrPhr_C||average count of prepositional phrases per sentence|
|103||at_PrPhr_C||average count of prepositional phrases per token|
|104||ra_PrNoP_C||ratio of Prep phrases : Noun phrases count|
|105||ra_PrVeP_C||ratio of Prep phrases : Verb phrases count|
|106||ra_PrSuP_C||ratio of Prep phrases : Subordinate clauses count|
|107||ra_PrAjP_C||ratio of Prep phrases : Adj phrases count|
|108||ra_PrAvP_C||ratio of Prep phrases : Adv phrases count|
|109||to_AjPhr_C||total count of Adjective phrases|
|110||as_AjPhr_C||average count of Adjective phrases per sentence|
|111||at_AjPhr_C||average count of Adjective phrases per token|
|112||ra_AjNoP_C||ratio of Adj phrases : Noun phrases count|
|113||ra_AjVeP_C||ratio of Adj phrases : Verb phrases count|
|114||ra_AjSuP_C||ratio of Adj phrases : Subordinate clauses count|
|115||ra_AjPrP_C||ratio of Adj phrases : Prep phrases count|
|116||ra_AjAvP_C||ratio of Adj phrases : Adv phrases count|
|117||to_AvPhr_C||total count of Adverb phrases|
|118||as_AvPhr_C||average count of Adverb phrases per sentence|
|119||at_AvPhr_C||average count of Adverb phrases per token|
|120||ra_AvNoP_C||ratio of Adv phrases : Noun phrases count|
|121||ra_AvVeP_C||ratio of Adv phrases : Verb phrases count|
|122||ra_AvSuP_C||ratio of Adv phrases : Subordinate clauses count|
|123||ra_AvPrP_C||ratio of Adv phrases : Prep phrases count|
|124||ra_AvAjP_C||ratio of Adv phrases : Adj phrases count|
|125||to_TreeH_C||total parsed Tree Height of all sentences|
|126||as_TreeH_C||average parsed Tree Height per sentence|
|127||at_TreeH_C||average parsed Tree Height per token|
|128||to_FTree_C||total length of Flattened parsed Trees|
|129||as_FTree_C||average length of Flattened parsed Trees per sentence|
|130||at_FTree_C||average length of Flattened parsed Trees per token|
|131||to_NoTag_C||total count of Noun tags|
|132||as_NoTag_C||average count of Noun tags per sentence|
|133||at_NoTag_C||average count of Noun tags per token|
|134||ra_NoAjT_C||ratio of Noun : Adjective count|
|135||ra_NoVeT_C||ratio of Noun : Verb count|
|136||ra_NoAvT_C||ratio of Noun : Adverb count|
|137||ra_NoSuT_C||ratio of Noun : Subordinating Conj. count|
|138||ra_NoCoT_C||ratio of Noun : Coordinating Conj. count|
|139||to_VeTag_C||total count of Verb tags|
|140||as_VeTag_C||average count of Verb tags per sentence|
|141||at_VeTag_C||average count of Verb tags per token|
|142||ra_VeAjT_C||ratio of Verb : Adjective count|
|143||ra_VeNoT_C||ratio of Verb : Noun count|
|144||ra_VeAvT_C||ratio of Verb : Adverb count|
|145||ra_VeSuT_C||ratio of Verb : Subordinating Conj. count|
|146||ra_VeCoT_C||ratio of Verb : Coordinating Conj. count|
|147||to_AjTag_C||total count of Adjective tags|
|148||as_AjTag_C||average count of Adjective tags per sentence|
|149||at_AjTag_C||average count of Adjective tags per token|
|150||ra_AjNoT_C||ratio of Adjective : Noun count|
|151||ra_AjVeT_C||ratio of Adjective : Verb count|
|152||ra_AjAvT_C||ratio of Adjective : Adverb count|
|153||ra_AjSuT_C||ratio of Adjective : Subordinating Conj. count|
|154||ra_AjCoT_C||ratio of Adjective : Coordinating Conj. count|
|155||to_AvTag_C||total count of Adverb tags|
|156||as_AvTag_C||average count of Adverb tags per sentence|
|157||at_AvTag_C||average count of Adverb tags per token|
|158||ra_AvAjT_C||ratio of Adverb : Adjective count|
|159||ra_AvNoT_C||ratio of Adverb : Noun count|
|160||ra_AvVeT_C||ratio of Adverb : Verb count|
|161||ra_AvSuT_C||ratio of Adverb : Subordinating Conj. count|
|162||ra_AvCoT_C||ratio of Adverb : Coordinating Conj. count|
|163||to_SuTag_C||total count of Subordinating Conj. tags|
|164||as_SuTag_C||average count of Subordinating Conj. per sentence|
|165||at_SuTag_C||average count of Subordinating Conj. per token|
|166||ra_SuAjT_C||ratio of Subordinating Conj. : Adjective count|
|167||ra_SuNoT_C||ratio of Subordinating Conj. : Noun count|
|168||ra_SuVeT_C||ratio of Subordinating Conj. : Verb count|
|169||ra_SuAvT_C||ratio of Subordinating Conj. : Adverb count|
|170||ra_SuCoT_C||ratio, Subordinating Conj. : Coordinating Conj. count|
|171||to_CoTag_C||total count of Coordinating Conj. tags|
|172||as_CoTag_C||average count of Coordinating Conj. per sentence|
|173||at_CoTag_C||average count of Coordinating Conj. per token|
|174||ra_CoAjT_C||ratio of Coordinating Conj. : Adjective count|
|175||ra_CoNoT_C||ratio of Coordinating Conj. : Noun count|
|176||ra_CoVeT_C||ratio of Coordinating Conj. : Verb count|
|177||ra_CoAvT_C||ratio of Coordinating Conj. : Adverb count|
|178||ra_CoSuT_C||ratio, Coordinating Conj. : Subordinating Conj. count|
|179||to_ContW_C||total count of Content words|
|180||as_ContW_C||average count of Content words per sentence|
|181||at_ContW_C||average count of Content words per token|
|182||to_FuncW_C||total count of Function words|
|183||as_FuncW_C||average count of Function words per sentence|
|184||at_FuncW_C||average count of Function words per token|
|185||ra_CoFuW_C||ratio of Content words to Function words|
|186||SimpNoV_S||unique Nouns/total Nouns #Noun Variation|
|187||SquaNoV_S||(unique Nouns**2)/total Nouns #Squared Noun Variation|
|188||CorrNoV_S||unique Nouns/sqrt(2*total Nouns) #Corrected Noun Var|
|189||SimpVeV_S||unique Verbs/total Verbs #Verb Variation|
|190||SquaVeV_S||(unique Verbs**2)/total Verbs #Squared Verb Variation|
|191||CorrVeV_S||unique Verbs/sqrt(2*total Verbs) #Corrected Verb Var|
|192||SimpAjV_S||unique Adjectives/total Adjectives #Adjective Var|
|193||SquaAjV_S||(unique Adj**2)/total Adj #Squared Adj Variation|
|194||CorrAjV_S||unique Adj/sqrt(2*total Adj) #Corrected Adj Var|
|195||SimpAvV_S||unique Adverbs/total Adverbs #Adverb Variation|
|196||SquaAvV_S||(unique Adv**2)/total Adv #Squared Adv Variation|
|197||CorrAvV_S||unique Adv/sqrt(2*total Adv) #Corrected Adv Var|
|198||SimpTTR_S||unique tokens/total tokens #TTR|
|199||CorrTTR_S||unique/sqrt(2*total) #Corrected TTR|
|200||BiLoTTR_S||log(unique)/log(total) #Bi-Logarithmic TTR|
|202||MTLDTTR_S||#Measure of Textual Lexical Diversity (TTR, 0.72)|
|203||to_AAKuW_C||total AoA (Age of Acquisition) of words, Kuperman|
|204||as_AAKuW_C||average AoA of words per sentence, Kuperman|
|205||at_AAKuW_C||average AoA of words per token, Kuperman|
|206||to_AAKuL_C||total AoA of lemmas, Kuperman|
|207||as_AAKuL_C||average AoA of lemmas per sentence, Kuperman|
|208||at_AAKuL_C||average AoA of lemmas per token, Kuperman|
|209||to_AABiL_C||total AoA of lemmas, Bird norm|
|210||as_AABiL_C||average AoA of lemmas, Bird norm per sent|
|211||at_AABiL_C||average AoA of lemmas, Bird norm per token|
|212||to_AABrL_C||total AoA of lemmas, Bristol norm|
|213||as_AABrL_C||average AoA of lemmas, Bristol norm per sent|
|214||at_AABrL_C||average AoA of lemmas, Bristol norm per token|
|215||to_AACoL_C||total AoA of lemmas, Cortese and Khanna norm|
|216||as_AACoL_C||average AoA of lem, Cortese and K norm per sent|
|217||at_AACoL_C||average AoA of lem, Cortese and K norm per token|
|218||to_SbFrQ_C||total SubtlexUS FREQcount value|
|219||as_SbFrQ_C||average SubtlexUS FREQcount value per sentence|
|220||at_SbFrQ_C||average SubtlexUS FREQcount value per token|
|221||to_SbCDC_C||total SubtlexUS CDcount value|
|222||as_SbCDC_C||average SubtlexUS CDcount value per sent|
|223||at_SbCDC_C||average SubtlexUS CDcount value per token|
|224||to_SbFrL_C||total SubtlexUS FREQlow value|
|225||as_SbFrL_C||average SubtlexUS FREQlow value per sent|
|226||at_SbFrL_C||average SubtlexUS FREQlow value per token|
|227||to_SbCDL_C||total SubtlexUS CDlow value|
|228||as_SbCDL_C||average SubtlexUS CDlow value per sent|
|229||at_SbCDL_C||average SubtlexUS CDlow value per token|
|230||to_SbSBW_C||total SubtlexUS SUBTLWF value|
|231||as_SbSBW_C||average SubtlexUS SUBTLWF value per sent|
|232||at_SbSBW_C||average SubtlexUS SUBTLWF value per token|
|233||to_SbL1W_C||total SubtlexUS Lg10WF value|
|234||as_SbL1W_C||average SubtlexUS Lg10WF value per sent|
|235||at_SbL1W_C||average SubtlexUS Lg10WF value per token|
|236||to_SbSBC_C||total SubtlexUS SUBTLCD value|
|237||as_SbSBC_C||average SubtlexUS SUBTLCD value per sent|
|238||at_SbSBC_C||average SubtlexUS SUBTLCD value per token|
|239||to_SbL1C_C||total SubtlexUS Lg10CD value|
|240||as_SbL1C_C||average SubtlexUS Lg10CD value per sent|
|241||at_SbL1C_C||average SubtlexUS Lg10CD value per token|
|242||TokSenM_S||total count of tokens x total count of sentence|
|243||TokSenS_S||sqrt(total count of tokens x total count of sentence)|
|244||TokSenL_S||log(total count of tokens)/log(total count of sent)|
|245||as_Token_C||average count of tokens per sentence|
|246||as_Sylla_C||average count of syllables per sentence|
|247||at_Sylla_C||average count of syllables per token|
|248||as_Chara_C||average count of characters per sentence|
|249||at_Chara_C||average count of characters per token|
|251||ColeLia_S||Coleman Liau Readability Score|
|252||Gunning_S||Gunning Fog Count Score (New, US Navy Report)|
|253||AutoRea_S||Automated Readability Idx (New, US Navy Report)|
|254||FleschG_S||Flesch Kincaid Grade Level (New, US Navy Report)|
|255||LinseaW_S||Linsear Write Formula Score|
Appendix C Rules Behind Feature Codes
In table 822, “Code” columns show feature codes. The related linguistic features appear with quite a number of variations across academia, without a naming convention (A09; 11; A10; A11; A13; A15; A19; A20; lee2020lxper). For consistency, we set ourselves a few naming rules.
Feature codes consist of 8 letters/numerals, with 1 or 2 underscores depending on feature types.
All features classify into either count-based or score-based, following popular convention.
define: final calculation uses simple counts (i.e. total, avg per sent, avg per token, ratio)
format: __C. First two letters are “to” (total), “as” (avg per sent), “at” (avg per token), “ra” (ratio). Five letters in the middle explain what the feature is. Last letter always “C.” Two underscores in between.
define: require additional calculation (e.g. log, square), or famous features with pre-defined names (e.g. Flesch-Kincaid, TTR).
format: _S. Seven letters are all dedicated to explaining what the feature is. Last letter always “S.” One underscore.
For the “explanation” part of each feature code, capital letters denote new words. The small letters that follow are from the same word. (e.g. 1: Coleman Liau ColeLia, 2: AoA (Age of Acquisition) Kuperman of words AAKuW)
Appendix D Details, External Models
We use Online LDA implemented by Gensim v4.0 (rehurek_lrec). For most general tasks, including sentence/entity recognition, POS tagging, and dependency parsing, we use spaCy v3.0888github.com/explosion/spaCy (spacy) with en_core_web_sm pretrained model. For constituency parsing, we use CRF parser (zhang-etal-2020-fast) in SuPar v1.0 999github.com/yzhangcs/parser.
For transformers, we use the following models from HuggingFace transformers v4.5.0 (wolf-etal-2020-transformers).
d.2 Non-Neural Models
For non-neural models, we use the following models from from SciKit-Learn v0.24.1.
1. support vector classifiers
support vector classifiers(svm.SVC) (10.1109/5254.708428; Platt99probabilisticoutputs; chang2011libsvm)
2. random forest classifiers (ensemble.RandomF
3. logistic regression (linear_model.LogisticRegr
For gradient boosting, we use the following from XGBoost v1.4.0 (chen2016xgboost).
4. gradient boosting (XGBclassifier)
Appendix E Preprocessing
Our preprocessing steps are inspired by Martinc:21 and several other existing RA research. These steps are used only during the extraction of handcrafted features for increased accuracy.
1. remove all special characters
2. remove words less than 3 characters
3. lowercase all
5. remove NLTK default stopwords
Appendix F Full Hyperparameters
f.1 Non-Neural, Traditional ML
We perform grid search on the hyperparameters (table 3) after performing a large randomized search to identify the sensible range of hyperparameters to tune. In particular, logistic regression solver hyperparameter search include libfgs (zhu2011bfgs), liblinear (fan2008liblinear), SAG (schmidt2017minimizing), and SAGA (defazio2014saga).
In table 3(a), C is the regularization parameter, G is the kernel coefficient (gamma), and K is the kernel. In table 3(b), nEst is the number of trees, MDep is the max depth of a tree, and Mfea is the number of features considered. In table 3(c), eta is the learning rate, G is the minimum loss reduction need to make a further partition on the leaf node (gamma), and MDep is the max depth of a tree. In table 4(d), C is the inverse of the regularization strength, Pen is the norm used in penalization, and Solver is the algorithm used in optimization. The other parameters best performed at default.
f.2 Neural, Transformers
We use AdamW (optimizer) (kingma2014adam), linear (scheduler), 10% (warmup steps), 8 (batch size), 3 (epoch) for all tested transformers. We use the learning rate of 2e-5 for BERT and 3e-5 for the other three transformers.
Appendix G Full Explored Feature Combinations
|T1||AdSem + Disco + Synta + LxSem + ShaTr||0.622||0.679|
|T2||Disco + Synta + LxSem + ShaTr||0.528||0.546|
|T3||AdSem + Synta + LxSem + ShaTr||0.591||0.582|
|H1||AdSem + Disco||0.463||0.513|
|L1||Synta + LxSem||0.499||0.561|
|L2||Set L1 - PhrF||0.539||0.577|
|L3||Set L1 - VarF||0.529||0.551|
|L4||Set L1 - POSF||0.449||0.551|
|E1||AdSem + PsyF + WorF + TraF||0.489||0.473|
|E2||AdSem + PsyF + WorF||0.490||0.479|
|E3||PsyF + WorF||0.464||0.459|
|P1||EnDF + ShaF + TrSF + POSF + WorF + PsyF + TraF||0.608||0.633|
|P2||Set P1 + TraF||0.629||0.638|
|P3||Set P2 + VarF||0.647||0.674|
Note: 5 letters (e.g. AdSem) mean linguistic branch. 4 letters (e.g. PhrF) mean subgroup. We report accuracy on WeeBit.
The five types of feature sets have varying aims: 1. T-type thoroughly captures linguistic properties, 2. H-type captures the high-level properties, 3. L-type captures the low, surface-level properties, 4. E-type uses features calculated from external data (out-of-model info, i.e. Age-of-Acquisition), and 5. P-type collects features by performance. Both advanced semantic and discourse features add distinctive information. This can be evidenced by the performance decreases (T1 T2 and T1 T3). We checked that all measures of F1, precision, recall, and QWK followed the same trend. Similar method was used in Feng:09; aluisio2010readability; Vajjala:12; falkenjack2013features; franccois2014analysis to check if a feature added orthogonal information. More linguistic branches generally indicated better performance. We use SciKit-learn (pedregosa2011scikit) for metrics.
Appendix H Transformers Training Time
All numbers are in seconds. We report in the order of (BERT, RoBERTa, XLNet, BART). These are the average training times for each fold, with 80% of the full dataset used to train. We used an NVIDIA Tesla V100 GPU.
1. WeeBit (1546, 1485, 3617, 1202)
2. OneStopEnglish (451, 373, 977, 396)
3. Cambridge (215, 122, 393, 239)
Appendix I More on LingFeat
Throughout our paper, we mention LingFeat as one of our contributions to academia. This is because a large-scale handcrafted features extraction toolkit is scarce in RA, despite its reliance on the features.
LingFeat is a Python research package for various handcrafted linguistic features. More specifically, LingFeat is an NLP feature extraction software, which currently extracts 255 linguistic features from English string input. The package is available on both PyPI and GitHub.
Due to the wide number of supported features, we had to define subgroups (section 3) for features. Hence, features are not accessible individually. Instead, one has to call the subgroups to obtain the dictionary of the corresponding features. The corresponding code is applicable to LingFeat v.1.0.