According to Wikipedia, “Natural Language Processing (NLP), is a subfield of computer science, information engineering, and artificial intelligence concerned with the interactions between computers and human (natural) languages, in particular how to program computers to process and analyze large amounts of natural language data.”
In other words, NLP concerns how to make computers understand and make use of human language. NLP has been applied to a number of real-world applications whose ultimate goals include but not limited to save human labors, to drive new businesses, and to help decision makers to make informed decisions, etc. Among those, some of its well-known examples are social monitoring, chat-bots, and automatic calling center.
Social monitoring is to find out what users are talking about a particular product/service on the web like news, forums, blogs and social networks like Twitter, Facebook, etc. In other words, social monitoring tasks are to find out whether users are satisfied with the current product/service, what they are complaining about, what they are satisfied with. Knowing those would help the business leader to understand the user need, their feedback and hence takes appropriate actions. It also helps with future campaign planning, product release, service improvement, etc.
Social monitoring can be divided into two stages. The first step is the comments/logs crawling whose tasks are to collect data and organize them in various categories. A good crawler is the one has broad and deep coverage. That is it is able to crawl/listen to users comments/feedback/conversation from most major sites, forums, and popular social networks in the region. After all logs/comments have been crawled/stored then comes the analyzing phrase. In most of the case, a sentiment analysis would come into the stage to find out whether the user comments are positive or negative or neural (when he or she do not give comment about anything at all). But we might want to dig deeper, to know what the user’s idea about a particular aspect of the product/service, what makes them satisfied and what does not. Those are called aspect-based sentiment analysis (ABSA). ABSA can be divided into three tasks: aspect categorization, term extraction, and polarity classification.
Aspect categorization is basically to find out what aspect of the service/product the user is talking about. That would be the food quality, food price for a restaurant or a customer service for a hotel or the Internet speed for an Internet provider. Term extraction is basically to find out the phrases/terms associated with the extracted aspects in the previous step in the given text. Finally, the last task is to find out what is the user’s sentiment on a particular aspect of the service/product. Aspect-based sentiment analysis is a hard problem not only because of the lack of training data for the task but also because of the unstructured, hard-to-understand nature of the social text.
Chat-bots aims at teaching computers to become the human’s communication partners. A simple chat-bot might serve as a virtual agent which can answer a set of repeated questions like: when will a particular event happen? What is Vinaphone MAX70? How much is an iPhone X? , etc. They might also help with more complicated procedures like creating an order, registering for an event or completing forms, etc., anything that can be divided into sequences of steps.
NLP is responsible for the underlying Natural Language Understanding (NLU) module of any chat-bot. Two indispensable components of a chat-bot NLU module include the intent detection and named entity recognition engine (NER). Intent detection engine helps a chat-bot to understand the underlying users’ intention. It is basically a sentence classification problem where the set of classes are the pre-defined list of users’ intents. NER engine basically helps the chat-bot to extract the embedded information in the users’ utterances. A chat-bot’s named entities can be anything like a product name, a user’s address, or a number, a user ID, etc. NER is a fundamental sequence labeling problem, which is: given an input sentence, extract all named entities in the sentence and classify them into one of the predefined set of NER tags.
Other chat-bots’ NLP-related components might include dialog management, a Natural Language Generation, a Sentiment Analysis module. A dialog manager’s task is to model the conversation context, inferred next action while a Natural Language Generator’s task is to generate informative, easy to understand responses in human language. We might need a sentiment analysis module because the same sentence with the same text might have different meanings in different sentiment contexts; thus might require different responses.
Automatic calling center (ACC)
Automatic calling center (ACC) aims at mimicking the human in answering calls. Three basic components of an ACC include a speech recognition module, a NLP processing module and a text-to-speech module.
The ultimate goal of a speech recognition module is to understand human spoken language, i.e. acoustic signals. Sequentially, the underlying NLP processing module job is to process a human request (like a chat-bot whose input is the output from the speech recognition module) and the text-to-speech module is responsible for generating voice response to the user. Different users have different tones and stresses, different ways of saying. Hence a speech recognition works for all is a hard problem. That often requires a huge training dataset which is expensive to create and must cover a variety of users’ voices, tones, ways of speaking, etc.
Likewise, the more natural the generated speech, the better text-to-speech engine is. The most challenging issue for a text to speech engine is that the same sentence might be “talked” in different ways in different contexts with different tones.
All in all, chat-bots, social monitoring, automatic calling centers are some of the most fruitful applications of NLP. For Vietnamese, FPT.AI is one of the few services providers that offer all of those mentioned NLP services. FPT.AI chat-bot is free yet easy to use platforms that enable non-technical users to create chat-bots in minutes. Its intent-detection and NER engines gained state-of-the-art performance on Vietnamese datasets. Other services like Sentiment Analysis, Aspect-based sentiment analysis, speech recognition, text to speech are offered as open APIs for public uses. More detailed information can be found in https://fpt.ai/.
FPT.AI is the leading artificial intelligence platform in Vietnam, researched and developed by FPT Corporation in 2012 and deployed in many domestic and foreign business units. FPT.AI provides a platform where programmers and businesses can develop various solutions for business problems. Popular applications of FPT.AI such as virtual assistant, chatbot, customer care switchboard, image identification,… are the key to business automation and operating optimization – providing care for customers and enhancing business efficiency. On 18/04/2019, the Insight FPT.AI Event will be hosted at Ho Chi Minh City with the aim to share about the FPT.AI platform from the academic and business perspective.
Insight FPT.AI: Vietnam’s No. 1 AI platform and application in enterprises
Time: 14h – 17h30 on April 18, 2019
Location: Dreamplex, 195 dien bien phu, Bình Thạnh district ,Ho Chi Minh City
Hotline: 0902249928 (Ms. Hương)
Ngan Dong – FPT HO