User-centered & Robust NLP OSS : Lessons Learned from Developing & Maintaining RSMT ool (2020)

Abstract: For the last 5 years, we have developed and maintained RSMTool – an open-source tool for evaluating NLP systems that automatically score written and spoken responses. RSMTool is designed to be cross-disciplinary, borrowing heavily from NLP, machine learning, and educational measurement. Its cross-disciplinary nature has required us to learn a user-centered development approach in terms of both design and implementation. We share some of these lessons in this paper.

## motivation automated scoring of open-ended written and spoken responses is a fast growing field in educational nlp. many automated scoring systems employ machine learning models to predict scores for such responses based on features extracted from the text/audio of such responses. examples of deployed automated scoring systems include project essay grade 1 for written responses and speechrater ®2 for spoken responses @xcite . automated scoring systems may offer some advantages over humans, e.g., higher score consistency @xcite . yet like any other machine learning algorithm, models used for score prediction may inadvertently encode discrimination into their decisions due to biases or other imperfections in the training data, spurious correlations, and other factors @xcite @xcite . given that many such systems are used to score high-stakes standardized tests, the consequences of any form of bias can have a significant effect on people's lives. therefore, it is critical that automated scoring systems 1 https://www.measurementinc.com/ products-services/automated-essay-scoring 2 https://www.ets.org/accelerate/ai-portfolio/ speechrater be evaluated as thoroughly as possible to detect any harmful, systematic biases in their predictions. however, this may prove difficult for an nlp or machine learning researcher since they may be unfamiliar with the required psychometric and statistical checks. rsmtool incorporates a large, diverse set of psychometric and statistical analyses aimed at detecting possible bias in system performance and makes them available in an easy-to-use package. rsmtool is open-source and non-proprietary so that the automated scoring community can not only audit the source code of the already available analyses to ensure their compliance with fairness standards but also contribute new analyses. ## introduction creating and releasing open-source software is a great way to share knowledge by making highlyspecialized methods and techniques accessible to a wider community. yet many nlp (or machine learning) tools are not designed with a usercentered focus, hindering their wider adoption. almost a decade ago, @xcite pointed out that nlp systems were seldom deployed in clinical settings because they were not well integrated into existing user workflows and required substantial input from an nlp expert. more recently, @xcite found that a "steep learning curve", the need to convert raw data into algorithmic inputs and outputs, and various challenges in getting started are still the most common hurdles reported by software engineers when using open-source machine learning software. in the subsequent sections, we share our experiences of developing and maintaining rsmtool, an open-source python tool 3 which provides a framework to evaluate systems for automated scoring of written and spoken responses @xcite . rsmtool is developed as part of a close collaboration between nlp researchers and specialists in educational measurement, assessment and psychometrics. it combines the latest advances from these disciplines to provide a comprehensive evaluation of automated scoring systems, including model fairness and testtheory based measures. rsmtool was initially developed as a monolithic command-line tool that accepted input in a single format and generated a static model evaluation report as the only output. over time, it became clear that this one-size-fits-all approach was not ideal. operational development of an automated scoring system requires collaboration between many stakeholders including nlp researchers, engineers, psychometricians and business units @xcite . the interdisciplinary nature of this community led to the emergence of several distinct rsmtool user groups. each of these groups had separate requirements in terms of entry points, inputs, outputs, and documentation. only by addressing all of these diverse requirements were we able to achieve wider adoption of rsmtool for model evaluation @xcite @xcite . the lessons we share are the salient ones we have learnt along the way: that different users have different needs and that going the extra mile on robustness -tests, documentation, and packagingis essential to satisfy these needs. we believe that many of the points we discuss will be applicable to a range of nlp tools and, thus, could benefit the wider nlp oss community. ## lesson 1: users have different needs over the years, we have identified several groups of users for rsmtool. while the ultimate goal for each group is to conduct a comprehensive evaluation of automated scoring systems, their specific needs were very different and could not be addressed by a single one-size-fits-all approach. in what follows, we describe these users and their needs as well as how we addressed them. ## lesson 2: go the extra mile based on our experience developing and maintaining rsmtool, we claim that one way to properly address the different needs of the different types of users is by going the extra mile to write robust software. we define robust software as follows: the impact of any code change on its accuracy and performance can be measured (well-tested), its documentation is always up-to-date (well-documented), and it (along with its dependencies) can be easily installed by the users. of course, many of us in the nlp community are not trained as software engineers and do not have much experience with these practices. we argue that it is necessary to put in the extra work to learn them in order to make a meaningful contribution to the community. fortunately, there are several opensource and/or free-to-use tools and services that can help make adopting these practices relatively painless. ## summary in this paper, we shared the lessons we have learned as developers and maintainers of open-source software: different groups of users tend to have different needs and to meet these needs without compromising on quality, we must spend extra time and effort on testing, documentation and packaging.