Chat with us, powered by LiveChat
November 2019

Reflections on Testing Natural Language, NLP and Dealing with Language Peculiarities

Frameworks or platforms that enable the creation of chatbots may have language limits or may be designed for specific languages.   Essentially, programmers and developers must consider the specific features of a given language when developing algorithms and writing code for the chatbot to understand and learn from.   As artificially and emotionally intelligent chatbots are expected to communicate with highly advanced, natural language, it is worth examining the linguistic aspect of chatbot creation to gain a more complete picture of how chatbots function.  

 The world’s languages can be divided into families, the largest being the Indo-European (2.9 billion speakers), Sino-Tibetan (1.3 billion speakers), Niger-Congo (437 million speakers) and Austronesian (386 million speakers).  Adding to this the scores of other smaller language families brings the worldwide total to nearly 7,000 living languages!   

This incredible diversity, while rich in terms of culture and tradition, poses unique challenges for chatbot developers.   The most obvious issue to overcome; incredibly disparate writing systems.  Take just a few examples: 

Latin:  ABCDEFG 

Chinese: 汉字 

Arabic: العربية 

Cyrillic: Кириллица 

Hebrew: עברית 

Greek: Ελληνικό 

Georgian: ქართული 

The complexities that distinguish languages not only reflect various attitudes towards grammar, pronunciation, sentence organization and construction, but indeed how people express themselves.   

Grammatically, certain languages have different genders, cases, articles and characters that dramatically alter the meanings of sentences.  Indeed, sometimes even the same word can have a different meaning based on how it is used and the context it is placed.  Compounding these problems is the way people write a language, which is often marked by laziness and ignorance.  Thus, a chatbot must also be capable of dealing with: 

Abbreviations: Mon instead of Monday, US instead of United States 

Slang: bucks instead of American dollars, dough instead of money 

Typos: crd instead of card, monile app instead of mobile app 

SMS Language: 2moro (tomorrow), GR8 (great), IDK (I don’t know) 

One last important factor is the disparity in languages, as a single language may have a myriad of dialects.  Arabic, for example, is the official language of 22 countries, but the Arabic spoken in each is unique.  This means that a Tunisian conversing with a Jordanian in his dialect will find it difficult to make himself understood.  To a lesser extent the same could be said for English and Spanish, as significant discrepancies exist country to country.   

The afore-mentioned issues concern written communication, but regarding a chatbot that communicates verbally, the scope for miscommunication increases, as regional accents and speech defects could hamper comprehension and for some languages, even tonal shifts can alter meanings of words. 

Testing the language supported by a chatbot has one inherent problem – a massive amount of input data which is unrealistic to test manually. As a means of overcoming this arduous task, chatbot developers can avail of the following strategies:  

  • Automation of tests by writing individual frameworks and personalized mechanisms for generating reports with relevant metrics
  • Use of environment tests, which is a chatbot engine
  • Combining the two above-mentioned strategies

The most critical factor is that the test environment is practical and tailored to the requirements of the chatbot that is to be tested.  Additionally, the ability to generate reports which facilitate analysis, provide vital feedback and highlight strengths and weaknesses is essential.   Through this, crucial information is gleaned, conclusions can be drawn, and improvements can be swiftly implemented.  Consequently, the chatbot is continuously enhanced and upgraded, thereby guaranteeing that as time passes, the chatbot gains ever-increasing levels of proficiency.   

It is invaluable for a chatbot’s creators to test the expressions programmed into the chatbot in order to verify that the chatbot has learned to classify them correctly. Subsequently, the training process can be periodically improved using the parameters that the neural network offers, or changes can be made to categories.      

Neural networks can be defined so that all categories have an influence, hence such an action should be performed after each change in the content of phrases of the chatbot. Conversely, the quality of the chatbot itself should be determined by the metrics adopted by the designers, which can help decide to allow some range of conversations for general use by people. 

Just like in everyday life, the uniqueness of languages around the world should be studied, respected and celebrated.  The challenges of mastering languages should not be feared, but embraced, and today’s forward-thinking technology offers exciting opportunities for providing solutions to overcome a problem that has vexed humanity since the Tower of Babel.  Though designing a chatbot capable of handling multiple languages is not simple, cutting-edge, AI-driven chatbots can replicate human speech patterns and engage in meaningful interactions, regardless of the chosen language. 


Read other articles in the series: Technically Speaking:

Any questions?

Need quick hints? Feel free to contact us

Piotr Skrabski

Piotr Skrabski

General Manager +48 518 667 591
Ailleron Company

Życzkowskiego 20 Street

Building Avia, 1st floor

31-864 Cracow

Did you know?

A virtual branch will work perfectly wherever efficient service is crucial

Insurance
companies
Financial
consulting
Investment
fund
Leasing
companies
Brokerage
house