Erdődy, János (2021) Chatbot alkalmazás működése egy marketing rendszer részeként egy napelemforgalmazó cégnél. UNSPECIFIED thesis, UNSPECIFIED.
|
Text
A-066-INF-2021.pdf - Accepted Version Restricted to Registered users only Download (1MB) |
Abstract
Kivonat Egyre több helyen alkalmaznak chatbot-okat, mert megkönnyíti az ügyfelekkel való kapcsolattartást, másrészt automatizálni lehet vele az ügyfélszolgálatokat. Az értékesítési folyamat részeként egy chatbot segítségével az értékesítők munkáját könnyebbé lehet tenni az ügyfelek szegmentálása révén. Emellett az ügyfélélményt is javítja, hogy a nap 24 órájában elérhető az automatikus ügyfélszolgálat, ahol felteheti kérdéseit az ügyfél, kérhet árajánlatot. Amikor nem elérhetők az értékesítők, akkor felméri az ügyfelek igényeit és az ügyfelek előszűrését is meg tudja oldani egy chatbot. Ha nem tudja megoldani az ügyfél problémáját a chatbot, akkor az értékesítő tudja folytatni a beszélgetést Facebook Messengeren keresztül. Emiatt egy chatbot kifejlesztése a cél egy napelemforgalmazó cég számára, ami által az értékesítők hatékonyabban tudják végezni a munkájukat. A fejlesztés elején felmértem, hogyan néz ki az értékesítési folyamat, milyen szkriptet kövessen a chatbot. Feldolgoztam a mélytanuló algoritmusok betanításához szükséges adathalmazokat. A modellek előtanulása után a feladat specifikus finomhangolási tréning következett. Python programozási nyelvet és a PyTorch mélytanulási (deep learning) könyvtárat használtam a chatbot fejlesztéséhez. Továbbá a BERT és a GPT2 modellt használtam, melyek nyílt forráskódú természetes nyelvfeldolgozó modellek, amik a Google által kiadott Transformer architektúrára épülnek. A BERT modellt az ügyfél szándékának a feltérképezésére alkalmaztam, a token osztályozást a szándékhoz tartozó paraméterek (slot-ok) kiderítésére használtam, a GPT-2 modellel pedig szöveget generáltam. Mivelhogy a magyar nyelv agglutináló nyelv, ezért túl nagy méretűre is nőhet a természetes nyelvfeldolgozó modell szótára, ami leronthatja a modell teljesítményét. Ennek a problémának a megoldásához az emtsv nyelvi modult használtam, ami viszont egy további problémát is felvetett, hogy a szótöveket és a ragokat az ember által értelmezhető formára vissza is kell alakítani, amit szintén megoldottam egy külön osztállyal. Az általam alkalmazott Python Flask webszerver egy webhook-on keresztül kommunikál a Facebook alkalmazással. A chat ablakot egy weboldalra lehet telepíteni, ehhez adott egy javascript modul a Facebook részéről. Az általam elért eredmények közül azt emelném ki, hogy kevés betanított modell érhető el magyar nyelven. Ezért az előtanítást és a finomhangolás tréninget is meg kellett oldanom. Az ügyfél szándékának a felismeréséhez a huBERT modellt használtam, szöveggenerálásra pedig az OpenAI által fejlesztett GPT-2-es modellt. Pythonban írtam egy állapotgépet, ami úgy működik, hogy a chatbot minden állapotát egy másik metódus kezeli. Ez lehetővé tette, hogy program forráskódja áttekinthető maradjon. Abstract Chatbots are being used in more and more places because they make it easier to stay in touch with customers and can also automate customer services. As part of the sales process, a chatbot can make the work of salespeople easier by segmenting customers. The customer experience is also improved by the fact that the automatic customer service is available 24 hours a day, where the customer can ask questions and request a quote. When customer service is not available, the chatbot can assess customer needs and also be able to segment customers. If the chatbot is unable to resolve the customer’s issue, the salesperson can continue the conversation through Facebook Messenger. For this reason, the goal is to develop a chatbot for a solar distribution company that will allow salespeople to do their jobs more efficiently. At the beginning of the development, I surveyed what the sales process looks like, what script the chatbot should follow. I processed the data sets needed to train deep learning algorithms. After the pretraining process, the task was followed by specific finetuning training. I used the Python programming language and the PyTorch deep learning library to develop the chatbot. I also used the BERT and GPT2 models, which are open source NLP models based on the Transformer architecture released by Google. I used the BERT model to find out the client's intentions. I used the token classification to explore the parameters (slots) associated with the intent, and I used the GPT-2 model to generate text. As Hungarian is an agglutinative language, the dictionary of the natural language processing model may grow too large, which may degrade the performance of the model. To solve this problem, I used the emtsv language module, which, in turn, raises the problem that stems and inflections need to be converted back to a human readable form. The Python Flask web server I have used communicates with Facebook through a webhook. The chat window can be installed on a website by adding a javascript plugin from Facebook. Among the results I have achieved, I would like to point out that few trained models are available in Hungarian. Therefore, I also had to solve the pretraining and the finetuning training. I used the huBERT model to reveal the client's intentions and the GPT-2 model developed by OpenAI for text generation. I wrote a state machine in Python that works so that each state of the chatbot is handled by a different method. This allowed the source code of the program to remain clean.
| Item Type: | Thesis (UNSPECIFIED) |
|---|---|
| Additional Information: | Mérnökinformatikus szak - Szoftvertechnológia szakirány |
| Uncontrolled Keywords: | Alkalmazásfejlesztés, informatika |
| Divisions: | Informatika Intézet |
| Depositing User: | Gergely Beregi |
| Date Deposited: | 12 Jun 2023 10:38 |
| Last Modified: | 12 Jun 2023 10:38 |
| URI: | http://szakdolgozat.repo.uniduna.hu/id/eprint/384 |
Actions (login required)
![]() |
View Item |


