A description and demonstration of SAFAR framework (2021)

Abstract: Several tools and resources have been developed to deal with Arabic NLP. However, a homogenous and flexible Arabic environment that gathers these components is rarely available. In this perspective, we introduce SAFAR which is a monolingual framework developed in accordance with software engineering requirements and dedicated to Arabic language, especially, the modern standard Arabic and Moroccan dialect. After one decade of integration and development, SAFAR possesses today more than 50 tools and resources that can be exploited either using its API or using its web interface.

## introduction nlp infrastructures, referred also as nlp architectures, represent an efficient way for standardization, optimization of efforts, collaboration and acceleration of developments in the field of nlp. for the last decade, the nlp research community witnessed an extensive release of these infrastructures. some become very famous such as gate foot_0 or stanford corenlp foot_1 , while others existed only for a very short time. some are multilingual while others are not, some are targeting multiple domains while others are not, etc. however, it is known that only a few of them are dedicated to only one language such as aranlp @xcite or "itu turkish natural language processing pipeline" (g. eryiğit, 2014). on another hand, the literature shows that existing infrastructures are using randomly three different namings: "toolkit", "platform" and "framework". from the software engineering (se) perspective, these namings have different meanings. it is then necessary to first define them before presenting, categorizing, and benchmarking nlp infrastructures. briefly speaking 3 , a toolkit is a set of tools within a single box used for a particular purpose. a platform consists of several interoperable tools with a homogeneous structure but without providing any api to extend their components. a framework is a layered structure developed to be used as a support and guide to build nlp programs and tools. in this work, we focus on the arabic language infrastructures. we demonstrate that the "software architecture for arabic" (safar) framework 4 is one of the most interesting frameworks to consider when developing any arabic nlp component. the rest of this article is as follows. section 2 presents safar in terms of principles, architecture and standards. section 3 describes safar content. section 4 is dedicated to safar use and exploitation. finally, in the last section, we conclude the paper. ## safar content as previously explained, the structure of safar is split into three main packages: msa, dialects and machine learning models. since dialects are numerous, we have been interested so far to integrate only the moroccan dialect even if the architecture is flexible enough to embed any other dialects. ## safar use and exploitation as previously mentioned, safar tools and integrated resources can be exploited either as an api or from client applications. ## conclusion safar is a monolingual framework dedicated to arabic language. it is considered as a repository and collaborative work where multiple developers of arabic tools and resources can meet and share their products. it is in its second decade of existence and integrates more than 50 tools and resources. the next steps of our journey are to:  concentrate on less considered layers such as semantics and applications;