A study of conversational agent solution technologies for banana farmer assistance

Un estudio de tecnologías sobre agentes conversacionales para la asistencia de agricultores del plátano

Luis-Alexander Calvo-Valverde1, Kevin Rojas-Salazar2, Jose Fabio Hidalgo-Rodríguez3, Versalio Mora4, Jorge A. Sandoval5, Erick Bolaños-Céspedes6, Carlos Quirós7

Fecha de recepción 4 de octubre, 2022:
Fecha de aprobación: 19 de febrero, 2023

Calvo-Valverde, L.A; Rojas-Salazar, K; Hidalgo-Rodríguez, J.F; Mora, V; Sandoval, J.A; Bolaños-Céspedes, E; Quiros, C. A study of conversational agent solution technologies for banana farmer assistance. Tecnología en Marcha. Vol. 36, No 4. Octubre-Diciembre, 2023. Pág. 3-18.

https://doi.org/10.18845/tm.v36i4.6242

Keywords

Artificial intelligence; agriculture; automation; expert; expert system.

Abstract

Modern agricultural extension services help as a source of information for farmer queries. One of its applications are local hot lines where expert agents in specific crops or fields assist in farmer agricultural practices and decisions. As an already established technology in the field of customer services, conversational agents can help this solution by covering for experts when users have difficulties contacting them. These artificial agents can answer general queries at any hour, increasing the extension service accessibility. The creation of a contextualized solution is possible with the advancements of Natural Language Processing (NLP) and its accessibility in cloud services. We write this paper to collect state-of-the-art research on agricultural conversational agents and tools used for its design and deployment. General knowledge on current applications is gather and can later be used to help in the design of a localized solution when agricultural services are difficult to access. Lastly, we describe and analyze a chatbot prototype in the specific field of banana farming using IBM Watson services and the messaging platform Telegram App.

Palabras clave

Inteligencia artificial; agricultura; automatización; experto; sistema experto.

Resumen

Los servicios modernos de extensión agrícola ayudan como una fuente de información para las consultas de agricultores. Una de sus aplicaciones son las líneas telefónicas locales donde agentes expertos en cultivos o campos específicos asisten en las prácticas y decisión de los agricultores. Como una tecnología establecida en los campos de servicio al cliente, los agentes conversacionales pueden ayudar a esta solución cubriendo a los expertos cuando los usuarios tienen dificultades en contactarlos. Estos agentes artificiales pueden responder preguntas generales a cualquier hora, aumentando la accesibilidad a los servicios de extensión. La creación de una solución contextualizada es posible con los avances del Procesamiento del Lenguaje Natural y su accesibilidad en los servicios de la nube. Este artículo presenta el estado del arte en cuanto a agentes conversacionales en agricultura y las herramientas utilizadas para su diseño y desarrollo. Se presenta conocimiento general sobre las aplicaciones actuales, de manera que pueda ser utilizado para ayudar en el diseño de nuevas soluciones. Por último, se describe y analiza un prototipo de “chatbot” en el campo especifico de la plantación de banano utilizando servicios de IBM Watson y la aplicación de mensajería Telegram.

Introduction

A lack of information can leave farmers susceptible to problems such as crop diseases, malpractices, and pests. Agricultural extension services aim to offer a communication line with expert agents that can assist farmers with their decisions. Issues like living in locations without them or been left waiting for an undesirable amount of time can leave a portion of farmers without access to the service. These problems can be cause by a lack of personnel as well as not being able to assist great amounts of clients within work hours.

Chatbots, referred as well as conversational agents, can be created to cover for experts when they cannot reach farmers by simulating the answers to common queries. This bot can work as automatic systems outside work schedule and depending on their design can be installed as apps or accessed through the internet. Farmers who have a smart cellphone or computer can use them without the need of an extension service near their location. Some examples of a similar approach can be seen in customer service on the private sector, such as the ones found in [1] [2] [3] [4] [5] [6] [7].

Conversational agents have different approaches varying in their designs and technologies. Modern Natural Language Processing (NLP) create new possibilities and features outside of the conventional question-answer conditional commands. Such is the case of generating answers with a machine learning model instead of choosing them from a pool of knowledge and understanding different variations of singular user response. These create more robust and human like chatbots.

Similar research in the topic of farmers and conversational agents is presented in [8]. In which a study is conducted to categorize important topics for farmers and describe a problem of information accessibility, then describe a conversational agent as a reliable solution. In this paper we differ by focusing on the collection of tool information for the design and development of agent solutions for farmer assistance. We also developed a chatbot centered in a specific topic in banana farming while also focusing on presenting state-of-the-art technical research and concepts. Information that can later be used for the construction and design of similar agricultural conversational agents.

When designing a conversational agent for agricultural assistance some fields must be established. Each agent is different depending on the crops, topics, or locations in which they are to be used, as well as the information needed and their access methods. Because of this, a variety of approaches are reached to solve the necessities of farmers. This paper is aimed to discuss a collection of different implementations with the focus on creating a body of knowledge, of design choices and aspects, that can later be used on the design and creation of new artificial agents.

Firstly, the section “Chatbots and Assistants” explains the terminology and concepts used around the different conversational agents and how they can be categorized depending on their features. Then, the section “Natural Language Processing in Conversational Agents” details the theory behind the major tool focused on this paper for chatbot design. We continue with the description of a set of tools and platforms based on Natural Language Processing (NLP) for the creation of conversational agents in the section “Conversational Agent service platforms”. In “Conversational Agent Research” a list of chatbot implementations of different approaches is detailed and discussed. We also document the technical aspects for a created chatbot prototype. This can be seen as a possible solution to the topic of banana farming and was developed using IBM Watson services and Telegram App, in “Materials and methods (methodology)”. We further describe recommendations and experiences while developing it in “Results” where we also explain the design decisions chosen.

Chatbots and Assistants

When referring to conversational agents the terms chatbot and virtual assistant are used interchangeably. Although many sources prefer to use the term chatbot, a differentiation in this paper is defined.

We will be referring to chatbot the same way as [9] refers to it, as a “... computer program designed to interact with users via textual or auditory methods using artificial intelligence”. The thesis in [10] focused on the development of a chatbot, briefly describes them as being capable of contextualizing conversations. Other variations of the term can be found in the literature such as voicebot or just bot. There are also instances such in [11] where it is referred to as chatterbot.

Virtual assistants tend to refer to systems like Amazon’s Alexa, Microsoft’s Cortana or Apples’s Siri. We use the definition by [12] that defines it as an agent that helps users interact with their software as a sort of voice or text interface. This definition aligns with the examples shown above.

These terms can be used on similar contexts since both refer to agents capable of establishing a conversation with a human user. But there is a fundamental difference in these definitions. A chatbot can hold a conversation but not perform actions involving the user’s personal computer or software. These activities such as interfacing with the personal software, normally access through other means, are refer to virtual assistants.

In this paper we will be focusing on the creation and design of chatbots as a conversational agent. This, given its simplicity and task-oriented approach useful in question-answering conversations.

When designing a chatbot there needs to be a definition of its complexity and scope. This facilitates the selection of technologies to use. Chatbots can be classified depending on their approach. Positioning a chatbot in such a classification can help to find the features needed. A broad classification by topics is shown in [13] listed and detailed below.

Conversational flow: If it communicates using specific conversational flows is considered Rules-Based. Contrarily if the chatbot uses Artificial Intelligence (AI) to increase the amount and variance of its communication it is considered AI-Based.

Goal: A conversational bot is designed to entertain the user with general topics and open conversation. A task-oriented bot focuses on a specific task and topic.

Respond technologies: Chatbots can be classified depending on the technology used to retrieve their answers. A bot that uses a bank of possible answers is considered a retrieval-based bot, their answers are limited and learned from the creation. In the other hand a bot that can generate new answers with the help of AI is considered a generative bot. This uses Natural Language Processing (NLP) solutions to generate new answers based on previous training of the model.

Depending on the chosen categories, chatbot implementations can become more complex and robust. Such is the case of a conversational bot being more complex than a task-oriented one.

The creation of a bot trained in every sort of conversation is also referred as open domain. Companies such as Google [14] and Facebook [15] have propose these types of chatbots. A solution to farmer assistance must be an agent simple to adapt in any context. This means to choose categories that can achieve that.

The chatbots found in this work can be classified as AI-Based generative task-oriented bots focusing on the assistance of farmers. Their focus is on question-answering. Either on the communication of best practices, advice on their craft, or weather telling. Although some chatbots can be created with the help of high-level tools, a variation of the same technologies can still be used. The next subsection defines the uses of Natural Language Processing (NLP) on AI-based chatbots.

Natural Language Processing in Conversational Agents

Natural Language Processing (NLP) is usually considered a branch of artificial intelligence that focuses on providing tools for computers to understand our language. In [16], it is defined as a sub-discipline of computer science providing a bridge between natural languages and computers. It empowers machines to understand, process, and analyze human language.

It covers multiple areas that are of great use to understand language, for example sentiment analysis, automatic translation, language generation, and many more. It is the combination of these different Natural Language Processing (NLP) applications that makes the design and development of an AI-based chatbot possible. For example, if a chatbot is needed to understand spoken language a module based on voice recognition may be of used. Also, if a chatbot may become universal if a language translation module is used.

Question-answering can use language modeling and language generation to detect sentence intents and generate answers. Is because of all these tools that chatbots can effectively converse with users.

Some datasets related to voice have been found and are presented in Table I. They can be useful in training models targeted to voice recognition or text to speech. We also collected some question response pairs datasets for generative models in Table II.

Even though Natural Language Processing (NLP) is an ongoing branch of study, companies have created stable and robust models. There are cloud platforms focused on the design and creation of chatbots. This may result in a more accessible approach to the solution. A chatbot can be created to assist farmers in a platform compatible with different services such as phone calls or chat applications. Depending on the service, the process could be potentially quicker and more robust.

Conversational Agent service platforms

Developing a chatbot or other conversational agent is a complex task that requires a flexible set of tools. Different companies came with platforms that provide said tools and streamlines the process of creating these conversational agents.

Some provide a full service where one can design, model, train and deploy the chatbot, usually with added costs; and others are free and open source but are more limited and require more development on the users end so that the chatbot is evaluated and deploy.

In [9] an important study was conducted on the platforms: Kore [17], ChatFuel [18], Microsoft Bot Framework [19], Microsoft Azure [20], Heroku [21], AWS Lambda [22], and IBM Watson [23]. This paper focused in gathering details regarding the service functionalities and providing a contrast between them. Since it offers a wide range of information, we will be describing the most notable points found on this research for the construction of an agent solution.

The study in [9] describes information about different platforms. This include if it has AI built in, their usage complexity and the amount of time it takes to have the platforms up and running. These features are listed next with their respective platform.

Kore: It has AI built in. Does not require programming. High level of complexity. Built-in IDE. Need 10 minutes to setup. Pre-study time around 8 hours.

Microsoft Bot Framework: It has AI built in. Require programming. High level of complexity. Uses Visual Studio. Need 1 hour to setup. Pre-study time around 8 hours.

Microsoft Azure: It has AI built in. Require programming. High level of complexity. Built-in IDE. Needs 15 minutes to setup. Pre-study time around 8 hours.

IBM Watson: It has AI built in. Does not require programming. Medium level of complexity. Built-in eclipse. Needs 4 hours to setup. Pre-study time around 8 hours.

Chatfuel: It does not have AI built in. Does not require programming. Low level of complexity. Built-in IDE. Need 10 minutes to setup. Pre-study time around 4 hours.

Heroku: It does not have AI built in. Require programming. High level of complexity. Uses Eclipse Atom. Needs 2 hours to setup. Pre-study time around 8 hours.

AWS Lambda: It does not have AI built in. Require programming. High level of complexity. Built-in Eclipse and command line. Needs a whole day to setup. Pre-study time around 16 hours.

In [9] each platform gets a small section of advantages and disadvantages; in the case of Kore, it is said that it is an extensive platform but has a steep learning curve. Same learning curve problem is present in Heroku and AWS Lambda, but the former also is a single development platform while the later provides serverless deployment.

Finally, [9] describes Chatfuel as a plug’n’play but with limited possibilities. Microsoft Bot Framework is the most extensive but needs setup and deployment. Microsoft Azure has an integrated environment but only has preview mode. Lastly IBM Watson has High quality interactions yet limited options for integration. Detailed research using IBM Watson is found in [24]. Also, a demo of this service can be found at [25].

Most of these platforms have AI built in, it is common as well for the platform to have a high level of complexity and to require programming which can be a problem when there is the need of designing models in a fast way or to make tests. Times for setup and study the platform vary which is natural since all have been designed to cater to different users. And common downsides are that of a steep learning curve or limitation, the former comes from the idea above, while the latter usually has to do with a paid aspect of the platform or implementation and other circumstances such as support for different communication channels.

Conversational Agent Research

This study collected a series of state-of-the-art research regarding solutions to agricultural assistance using chatbots. General information of such papers and their agent implementations can be seen in Table III. The papers detail the design and implementation of such agents. These offer different approaches to a similar problem. We also found no external links to the created agents for any of the research listed.

In [26] a bot named FarmChat is created for a specific zone in India. This bot focuses on helping potato farmers in decision making. The paper shows an example of an end-user designed chatbot. A voice interface is implemented for illiterate farmers as well as a voice with text option for user accessibility. Another feature is the translation between the local language and English.

FarmChat was created using IBM Watson Conversation (currently known as IBM Watson Assistant), Google’s Speech-to-Text and Google’s translation service. Using the dataset found in [27], the most important topics and the responses were studied. This created a localized chatbot with topics like disease and pest guidance, weather information, practice advice, and recommendation on products. The paper also investigates the user response to the solution presented.

This research [26] shows that agriculture assistance is localized. Farmers on a zone may require specific advice adapted to their condition such as weather, practices, available commercial zones, or language. Places may also have a low percentage of literacy. This shows an important aspect on chatbot design. The end-user characteristics and necessities should be considered.

The chatbot named Agribot presented in [13] consists of three modules: a conversational module, disease detection and weather information. The first module is a sequence-to-sequence model trained on question-answer data collected from various sources such as web-scraping and structured datasets.

The disease detection module consists of a Convolutional Neural Network (CNN) trained on the detection of diseases in leaves. These are from different crops found in the public dataset [28]. It can be used to interact with the text module to facilitate the description of plant diseases and offer more accurate advice.

Agribot demonstrates the scalability in the design of chatbots. Instead of being restricted by a single textual module for communication it uses a Convolutional Neural Network (CNN) to improve user experience. The bot is also capable of using external services by communicating with an API. All outside of the Natural Language Processing (NLP) module.

A further example on these communication between services is AgronomoBot [29]. This bot focuses in facilitating data from a Wireless Sensor Network implemented in a vineyard. Using telegram as the means of communication and delivery of reports. The bot also uses an eKo WSN API with IBM Watson Assistant to communicate data. The main objective is to use natural language to obtain information by sensors that detect various topics on the field.

AgronomoBot offers a different approach where farmer assistance is not limited to agricultural knowledge. A bot can help farmers by offering information of their fields by communicating with an external system. In this case, procuring information needed for farmers to make decisions in a personal vineyard. It shows a system where chatbots are used as a more user-friendly interface of a system. This provides users with the capability of using natural language to communicate with a system.

In [30] a chatbot named “Agriculture TalkBot” is described in educating modern day farmers and implementing accessibility to people with disabilities. It is a simple chatbot made with a custom chat interface that can provide information regarding the best crop for the type of soil, best season for each crop and possible gain from each crop, while also providing speech synthesis to help people with disabilities.

The chatbot “Agriculture TalkBot” is made up of various modules, each with a responsibility: a query preprocessing module that takes the user input and process it, so it is easier for the system to handle and find the information requested, it uses multiple Natural Language Processing (NLP) tools. Then the chatbot development and training module trains the neural network to help in the answer retrieval. A module in charge of the response retrieval, employs the neural network to obtain the response to the query. Lastly, the answer is returned, and a speech synthesis module uses an API to allow the chatbot to send the audio output.

A modern solution to the pandemic is [31], proposes a solution that gives farmers information about tending crops and productivity with questions to the effects of the pandemic in agriculture. It uses Chatterbot, a popular library, to process the user inputs and produce the responses. There is also a Natural Language Processing (NLP) approach that works similarly to the Chatterbot one but uses Convolutional Neural Network (NLTK) to process the language of the query.

Initially, Agrochatbot was designed with the idea of providing information for multiple agriculture related subjects and as a general contrast between AI-based and rule-based chatbots. But then the Coronavirus epidemic took hold, and this caused adverse effects on the agriculture, because of that the chatbot was adapted to also aid and provide information related to the situation with the pandemic, particularly by helping in answering the farmer complaints.

Given these approaches a collection of important aspects in design is found. Agriculture is localized meaning that a solution should contemplate the necessities of such a user. This could affect the user-bot interface, or the level of language needed.

Chatbots are flexible in the sense of communication between services. It can become more complex and robust depending on the technologies used. A solution is not restricted to a single topic. Different farmers may have varied necessities in information. It could be best practices in their field or a better way to access certain information. The last one regarding information of their own field or a database of knowledge.

Table 1. Found audio datasets.

Name

Author

Accessibility

Language

Content

Pedagogic Corpora for Content & Language Integrated Learning

[32]

Author permission

English, Spanish.

Interviews

CSS10

[33]

Apache 2.0 - License

English

Audiobooks

Fuente: [32], [33].

Table 2. Structured question-response datasets.

Name

Author

Accessibility

Language

Format

Chatterbot-corpus

[34]

BSD 3-Clause “New” or Revised License

English, Spanish, others.

yml

KCC

[27]

Government Open Data License - Inida

English, Hindi.

json

Fuente: [34], [27].

Table 3. Analysis of found chatbots.

Agent

Agribot

Farmchat

Agronomobot

Agriculture TalkBot

AGROCHATBOT

Citation

[13]

[26]

[29]

[30]

[31]

Year

2020

2018

2018

2019

2020

Language

English

Hindi & English

Portuguese

English

N/a

Interface

Text

Voice + Text & Only voice

Text

Text + voice

Text

Platform

Telegram Bot

Mobile App

Telegram Bot

Server App

Chatterbot

NLP Model

LSTM model

IBM Watson

IBM Watson

N/a

Chatterbot model

Species

N/a

Potato

Gapes for wine production

N/a

N/a

Fuente: [13], [26], [29], [30], [31].

Materials and methods

This research focuses in developing a chatbot service that can provide useful information to farmers regarding crops, illness, and pests and how to handle them. As such searching, compiling, and analyzing relevant data was necessary to properly develop the chatbot so that the information provided would be accurate and useful. A process for literature survey was necessary to obtain and analyze data efficiently since there is plenty of literature to handle, however, no process was described in papers that were initially used as a template for this research. Because of that, a literature survey process was design such that the research could go forward with data that was considered adequate for our purpose.

As part of the process, different sources of data where analyzed, including datasets for audio, question-response, and already created chatbot research, as seen in the previous tables. The former datasets could help define better responses to questions and understand the more common problems that farmers have while the latter can be useful to construct the chatbot.

The process of literature survey starts with identifying key words regarding the research topic, this to extract the main ideas and concepts to cover and to use when searching. Using the keywords identified, different queries were used to obtain results such as: connecting words, using phrases containing keywords and employing wildcards. This is further refined by considering year of publication, the source, number of citations and searching the abstract. Some of the most common sources for papers where academic databases that included degree works, articles and journals from different countries.

With a certain number of papers, the process changed, and each document was read to determine if it contained new information or was too like other documents already read, if so then it was discarded. With this, the number of papers was reduced, and we had papers from different sources that contained different topics related to the topic of research.

For this project, a prototype chatbot named “HolaTalia chatbot” was developed with the intention of creating a functioning conversational agent capable of providing information to banana farmers. The main tools used were from IBM Watson services including Assistant for handling conversations, Speech to text and Text to Speech for handling only-audio mode, and Discovery for databank searches. The chatbot is designed to be accessible through a cellphone or a computer with Telegram app and to facilitate accessibility by providing a text and audio modes with voice recordings. This later is accomplished by adding an additional layer of logic that communicates with services that allow the handling of speech to text, so that the assistant module can interpret the answer given the recording, and text to speech through the same media.

The topic focused on is overturning or toppling in banana plants. This is a serious problem with multiple possible causes such as pests, illness, weather or even a poor soil management. The chatbot can attain its causes by asking a series of questions to the user about their banana plantation.

Although overturning is the main topic, an additional module was created for handling user requests on further information about different subjects found in a selected collection of data obtained for a knowledge bank. The data was provided by the Ministry of Agriculture of Costa Rica and the Spanish section from Musapedia – ProMusa found at [35] . The first is a collection of pdf files on relevant topics involving local farmers, while the latter are Spanish web entries in knowledge around the crop’s agriculture. The prototype does a search through this document and returns the file that contains the most related terms. This is accomplished by using the IBM Watson Discovery service.

The middleware is also capable of recording the overturning causes and answers by the user to improve their experience. In this case the questions regarding the location are omitted due to already knowing them. This was developed using a local database with SQLite. Same principal of local storage and portability was implemented for the documents form the knowledge bank, this are in PDF format located in a folder to send them as files to the user after a Discovery request.

HolaTalia chatbot asks the user for information about the type of soil, the management of the pests and illnesses, fertilization, and other details to help narrow down the cause of the toppling and provide the insight of the cause. This process is done with an orchestrator-microservice architecture. A middleware was created using Python 3.7 which receives messages from Telegram App and controlling the communications with the IBM Watson Services to send a response.

The main middleware components are the “telegram_service” module which handles Telegram requests by using a library called “pyTelegramBotAPI” that can be found at [36], the Watson Services module which communicates with their respective official IBM APIs, the “model” module which controls the local SQLite and holds the KnowledgeBase files, and finally the “controller” module which communicates between the Watson Services modules and the localized database. The prototype components can be seen represented in Figure 1 and as shown, it was deployed to a Heroku app so that it can be accessed without the need of a local computer.

Figure 1. Structure of the prototype chatbot.

Results

From the previous paragraph, it becomes clear that the bot is usually a complex combination of components, even a simplified version like the one we designed, contains multiple functional modules, and is only bound to grow and complexity. Despite this, the increase of complexity does not mean that the chatbot will be more used by users, instead other aspects may be more relevant to the performance of the bot with the audience.

We found two major aspects for user engagement when designing a specialized chatbot in banana farming. The first is user experience tweaking, creating natural sounding conversations for the user’s paying attention to details such as local vocabulary, user relevant topics, and accessibility functionality such as the audio-only mode. For the solution to be useful the system must help the specific demographic of banana farmers. The second aspect refers to the technical tools used. This includes finding useful tools to handle the conversation aspect such as speech recognition, text to speech tools, and understanding questions and answers.

Great effort was put into the design aspect. This requires the work of many multidisciplinary helps to create a solution that manages to help the main demographic. The information collected had to be analyzed and picked for its relevance to local farmers, as well as presented in an accessible way.

A solution may not be successful if it does not meet the farmers necessities even if it is technologically capable. This left to the conclusion that in cases where time is limited a greater focus can be put to this part and less to actual development. The later can be speeded up by using tools with already stablished NLP services. Although this was the approach used, the training of a personal machine learning model can tailor answers to be more specific and varied. There are open-source tools such as Plato research dialogue system found at [37] that permit this in the context of conversational assistants.

It was found that a rule-based inspired bot assisted by NLP tools can be a recommended solution for chatbots where a defined conversation is followed. IBM Watson Assistant was the service used for this. While the chatbot follows preestablished conditional responses, NLP helps in grouping user messages by intents and extracting variables needed for context. This helps in developing a bot that creates conditions with context rather than specific sentences. Although the service permits randomization of preestablished responses, it is still a very rule-based approach. A generative model could create a more natural conversation but given the very technical situations where the answers must be precise this approach could be considered unreliable.

Some considerations when working with cloud services is their communication issues. Services may or may not be available at a time. We recommend a robust orchestrator capable of handling these situations.

Using Telegram as the primary form of chat interface allows greater flexibility for user accessibility and development with open-source tools. Farmers can access the chatbot through mobile and web platforms that communicates with a single middleware server. An example conversation can be seen using Telegram Web in Figure 2 and the smartphone application in Figure 3 and 4.

Figure 2. Conversation with the chatbot on Telegram Web.

Translation: “User: Hello

Bot: Hello! I am a bot that can help you.

Please input your identification, to help you better.

User: 1

Bot: What problem do you have?

User: My plants are overturning

Bot: In what variety does the problem present?

User: Currare Enano

Bot: Do you do drain management?

User: No

Bot: Possible cause of overturning.”

Figure 3. Conversation with chatbot on Telegram mobile.

Translation: “User: Hello

Bot: Hello!

Please input your identification to help you better.

User: 745230012

Bot: What problem do you have?

User: My plants are overturning

Bot: In what variety does the problem present?

User: Currare Enano

Bot: Do you do drain management?

User: Sure

Bot: Do you use cured seed?”

Figure 4. Conversation with query to Discovery service.

Translation: “User: Black Sigatoka

Bot: Please wait while the related documents are searched ...

Bot: Thanks for waiting. The reference “musaceas.pdf” may contain the information needed.

Bot: The following is an excerpt from the text where words like your search are mentioned: “…”

Bot: Please wait while we share the full reference with you.”

Conclusions

In this position paper we collected relevant research needed in the design and implementation of a chatbot conversational agent. We then proceeded to create a prototype artificial agent following this knowledge with the purpose of improving the distribution of information to banana farmers assisting agricultural conversational services.

While researching, we found some ambiguity on the terms used to describe and categorize artificial conversational agents. Therefore, we described in detail the different terms and variations based on our findings that will set the context of this paper. We found two main categories: chatbots and personal assistants. The first referring to a computer program capable of interacting with a user through conversation, and the later as a program focused more on interfacing with other personal software. We also collected different literature categorizations depending on the conversation flow, goal, and respond technologies of a chatbot.

We focused in chatbot programs as a more suitable technology for our purpose. This given our goal in assisting farmers since the personal assistant alternative focuses on scopes beyond our communication issue. In terms of response technologies an AI-based solution is considered as a more human-friendly approach compared to the more scripted rule-based conversational agent, even though a robust solution may consider both. We then proceeded to focus on the description of Natural Language Processing in chatbots as a main option for AI solutions.

There are many different approaches in designing and implementing chatbots, a consideration may be the use of established services or platforms. For this topic, we collect information from relevant research on different cloud platforms with the intention of facilitating their choice.

We also present different state-of-the-art implementations for farmer assistance and analyze their qualities and features; each research has a unique context and therefore a different approach to the problem. Given this nature, we focus on analyzing the aspects that make the solution relevant for their specific context to give an idea of the possible features and solutions that a conversational agent in agriculture may require.

Lastly, we present a prototype solution developed using IBM Watson services for the creation of chatbot assistant in the field of banana farming using the Telegram bot as a user interface. We focused in determining the causes for a banana plantation problem called overturning by asking the user a series of queries.

This prototype implements already established services for the creation of chatbots. In our future work a through description on Natural Language Processing applications can be explored. This to train and deploy a model capable of functioning as a conversational agent.

In this work we used different pdf files as our data, but Web Scraping tools may also be considered for future work. Also, the creation of a list of most relevant questions a user may ask may be an import aspect in choosing such information. Farmer information priorities can change, so a solution must consider this in its design. Also, service response time is important when considering user experience with chatbots.

Acknowledgements

This work was undertaken as part of, and funded by, CGIAR Platform for Big Data in Agriculture in the context of “Hola Talia - Boosting accessibility of agricultural advice through conversational human-machine interaction” project.

Bibliography

[1] World Health Organization, “who.int,” [Online]. Available: https://www.who.int/news-room/feature-stories/detail/who-health-alert-brings-covid-19-facts-to-billions-via-whatsapp. [Accessed 7 May 2021].

[2] Verizon, “Vzbot,” [Online]. Available: https://www.verizon.com/vzbot/vzbotproxy/web?b=wav. [Accessed 2 5 2021].

[3] Lark Technologies, Inc., “lark.com,” [Online]. Available: https://www.lark.com/ . [Accessed 7 May 2021].

[4] Bank of America Corporation, “bankofamerica.com,” [Online]. Available: https://promo.bankofamerica.com/erica/#GetApp_GetTheApp. [Accessed 7 May 2021].

[5] Ada Health GmbH, “ada.com,” [Online]. Available: https://ada.com/es/.

[6] LG Electronics, “lg.com,” [Online]. Available: https://www.lg.com/us/support/chatbot. [Accessed 7 May 2021].

[7] University of Arkansas for Medical Sciences, “COVID-19 News Updates,” [Online]. Available: https://publichealth.uams.edu/news/covid-19-news-updates/. [Accessed 27 04 2021].

[8] B. Koopman, G. Zuccon, S. Chapman, Y. Dang and D. Lawrence, “How a Conversational Agent Might Help Farmers in the Field,” ACM Reference Format, 2020.

[9] A. &. K. M. &. A. N. &. N. R. Patil, “Comparative study of cloud platforms to develop a Chatbot.,” International Journal of Engineering & Technology., vol. 6, no. 10.14419/ijet.v6i3.7628. , p. 57, (2017).

[10] N. V. &. R. S. G. A. Mesía Llique, «Desarrollo de un sistema basado en la tecnología CHATBOT para el control y monitoreo del cultivo de arroz en Chiclayo,» Repositorio de la Universidad Privada del Norte., nº http://hdl.handle.net/11537/14878, 2018.

[11] P. K. M. D. P. M. S. Akshay Kumar, “CHATBOT IN PYTHON,” International Research Journal of Engineering and Technology (IRJET), vol. 6, no. 11, p. 4, 2019.

[12] S. Muñoz-Manzaneda, “TAUJA: Repositorio de Trabajos Académicos de la Universidad de Jaén,” 25 junio 2018. [Online]. Available: https://hdl.handle.net/10953.1/8444. [Accessed 2021 5 17].

[13] B. Arora, D. S. Chaudhary, M. Satsangi, M. Yadav, L. Singh and P. S. Sudhish, “Agribot: A Natural Language Generative Neural Networks Engine for Agricultural Applications,” 2020 International Conference on Contemporary Computing and Applications, IC3A 2020, 2020.

[14] D. Adiwardana, M. T. Luong, D. R. So, J. Hall, N. Fiedel, R. Thoppilan, Z. Yang, A. Kulshreshtha, G. Nemade, Y. Lu and Q. V. Le, “Towards a human-like open-domain chatbot,” arXiv, 2020.

[15] S. Roller, E. Dinan, N. Goyal, D. Ju, M. Williamson, Y. Liu, J. Xu, M. Ott, K. Shuster, E. M. Smith, Y. L. Boureau and J. Weston, “Recipes for building an open-domain chatbot,” arXiv, 2020.

[16] C. &. S. H. Manning, Foundations of Statistical Natural Language Processing, Cambridge: MIT Press, 1999.

[17] Kore, “Kore,” [Online]. Available: https://kore.ai/. [Accessed 06 08 2021].

[18] Chatfuel, “Chatfuel,” [Online]. Available: https://chatfuel.com/.

[19] Microsoft, “Microsoft Bot Framework,” Microsoft, [Online]. Available: https://dev.botframework.com/. [Accessed 5 5 2021].

[20] Microsoft, “Servicios de informática en la nube | Microsoft Azure,” Microsoft, [Online]. Available: https://azure.microsoft.com/. [Accessed 06 08 2021].

[21] Heroku, “Cloud Application Platform | Heroku,” Heroku, [Online]. Available: https://www.heroku.com/. [Accessed 06 08 2021].

[22] Amazon, “AWS | Lambda - Gestión de recursos informáticos,” Amazon, [Online]. Available: https://aws.amazon.com/es/lambda/. [Accessed 06 08 2021].

[23] IBM, “Watson Assistant,” IBM Watson, [Online]. Available: https://watson-assistant-demo.ng.bluemix.net/. [Accessed 27 04 2021].

[24] G. H. &. A. A. J. A. Aliaga Gálvez, “ Aplicación móvil para diagnosticar posibles fallas automotrices utilizando la herramienta IBM Watson para la Empresa Vecars & Trucks S.A.C,” Repositorio Digital de la Universidad Privada Antenor Orrego, no. https://hdl.handle.net/20.500.12759/5162, 2019.

[25] IBM, “Watson Assistant Demo,” IBM, [Online]. Available: https://watson-assistant-demo.ng.bluemix.net/. [Accessed 27 04 2021].

[26] M. Jain, P. Kumar, I. Bhansali, Q. V. Liao, K. Truong and S. Patel, “FarmChat: A Conversational Agent to Answer Farmer Queries,” Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies, vol. 2, no. 4, 2018.

[27] Ministry of Agriculture, Government of India, “Kisaan Call Center,” [Online]. Available: https://data.gov.in/keywords/kcc. [Accessed 6 May 2021].

[28] S. P. a. H. D. P. a. S. M. Mohanty, “Using deep learning for image-based plant disease detection,” Frontiers in plant science, vol. 7, p. 1419, 2016.

[29] G. &. C. L. &. S. Í. &. C. C. Mostaço, “AgronomoBot: a smart answering Chatbot applied to agricultural sensor networks.,” in International conference on Precision Agriculture, Motreal, Quebec, 2018.

[30] K. P. J. Vijayalakshmi, “Agriculture TalkBot Using AI,” International Journal of Recent Technology and Engineering (IJRTE), vol. 8, no. 2s5, p. 4, 2019.

[31] K. K, “AGROCHATBOT: Understanding the Scope of Agriculture,” International Journal of Advanced Research in Science & Technology (IJARST) , vol. 7, no. 3, p. 6, 2020.

[32] uni-tuebingen.de, “Backbone - Pedagogic Corpora for Content and Language Integrated Learning,” [Online]. Available: http://projects.ael.uni-tuebingen.de/backbone/moodle/. [Accessed 6 May 2021].

[33] K. &. M. T. Park, “CSS10: A Collection of Single Speaker Speech Datasets for 10 Languages,” Interspeech, 2019.

[34] Gunther Cox, “chattebot-corpus,” 6 Oct 2018. [Online]. Available: https://github.com/gunthercox/chatterbot-corpus. [Accessed 6 May 2021].

[35] In Musapedia, the banana knowledge compedium, “Paginas en español | Improving the understanding of banana,” 04 April 2021. [Online]. Available: https://www.promusa.org/P%C3%A1ginas+en+espa%C3%B1ol.

[36] “pyTelegramBotAPI,” GitHub, [Online]. Available: https://github.com/eternnoir/pyTelegramBotAPI.git. [Accessed 2021].

[37] “plato-research-dialogue-system,” GitHub, [Online]. Available: https://github.com/uber-archive/plato-research-dialogue-system. [Accessed 2021].


1 Instituto Tecnológico de Costa Rica. Costa Rica.
Correo electrónico: lcalvo@itcr.ac.cr
https://orcid.org/0000-0003-3802-9944

2 Instituto Tecnológico de Costa Rica. Costa Rica.
Correo electrónico: kevin.rojas7@estudiantec.cr

3 Instituto Tecnológico de Costa Rica. Costa Rica.
Correo electrónico: josefabio20@estudiantec.cr

4 Ministerio de Agricultura y Ganadería. Costa Rica.
Correo electrónico: vmora@mag.go.cr

5 Corporación Bananera Nacional (CORBANA). Costa Rica.
Correo electrónico: jsandoval@corbana.co.cr

6 Corporación Bananera Nacional (CORBANA). Costa Rica.
Correo electrónico: ebolanos@corbana.co.cr

7 Alliance of Bioversity International and the International Center for Tropical Agriculture (CIAT). Costa Rica. Correo electrónico: c.f.quiros@cgiar.org