Designing a Chatbot Based on Full-Text Search and 3D Modelling as a Promotional Media

- A chatbot is an application that can respond and reply to questions from the questioner, without any human being involved. In general, chatbots are used to simplify and improve public services, so that users can get information quickly and directly, without time constraints. This research objective is to create promotional media in the form of chatbots in the 3D Virtual Tour to answer questions and provide general information about an object while providing more attractive visuals for users. The method used to run the chatbot is Full-Text Search. Full-Text Search is an efficient and powerful search method that is built into MySQL by default, which works by matching words between keywords and patterns in the database. This study succeeded in applying the Full-Text Search method as a search technique for chatbot patterns in the 3D Virtual Tour application at Buddhi Dharma University as a promotional medium. Evaluation using the User Acceptance Test (UAT) method yielded a value of 83.45% in a very satisfying category for users.


I. INTRODUCTION
The presence of technology brings various impacts in various fields, including marketing.An example is by marketing products or services in digital forms such as ecommerce, and online advertising [1].One of the areas in need is education.The expected goals in marketing in the field of education are, among others, being able to convey the information needed, attracting public interest, being able to compete with other educational institutions, and increasing existence as well as being a better assessment for the community regarding the educational institution [2].Some factors that are considered in choosing educational institutions, especially universities, include price factors, products, physical evidence (including campus facilities, campus buildings, campus environment) [3].
Virtual Tours at universities generally only display media such as photos and videos about places and provide Virtual Tour 360.These media have limitations in displaying scenes, and cannot explore campus freely.In addition, the types of content also include static, less visual, and less interactive, because there are no chatbots and the ability to display 3D models.Therefore, a new promotional media is needed as a means to advertise educational institutions to the public in an interactive and attractive way.
There are several studies related to this topic.The results of the research "Information Searching for Bali Tourism using Chatbot Technology" namely the application of Full-Text Search Boolean Mode in the Chatbot system can run well.Full-Text Search also provides a relevance value that can be used as a guide in determining the pattern that is most relevant to user input [4].
The next research is entitled "Implementation of the Virtual Assistant 'Alitta' Chatbot from Balittas as an Information Center in Balittas".The result of this study is that the ALITTA Chatbot has been successfully implemented using the Forward Chaining method, which works by searching for keywords from user questions [5].
In 2018 there was a research entitled "Web Based 3D Virtual Tour of the Dutch Prison 'Huis Van Behauring' Bengkalis".The conclusion of this research is the implementation of 3D Virtual Tour which can help the public and tourists to more easily obtain information interactively.In addition, it can be used as a medium in promoting Huis Van Behauring which is a tourist attraction and historical object [6].
Based on these problems and the review of the studies above, a Chatbot application was designed that can answer questions and provide information to users about general information about a place or agency.Interaction is not only through chat or text, the Chatbot also displays a 3D Virtual Tour of the facilities.There are two types of chatbots, conventional and modern.Conventional chatbots use text and voice, while modern chatbots use the form of animals, avatars or human robots [7].This research focuses on chatbots using text and by applying the Full-Text Search method.The application is designed to run on a web platform, can only accept input and responses in Indonesian and can only answer questions according to the existing knowledge base.

II. METHOD A. Full-Text Search Method Algorithm
The method used to perform pattern matching is Full-Text Search.Pattern matching is used so that the chatbot can answer the questions asked by the user.Full Text Search is here to overcome the weaknesses and shortcomings of the LIKE and REGEXEP operators.Full Text Search is widely used in cases where you need to perform a lot of complex queries with fuzzy logic [8].
The following Fig. 1 is an example of a MySQL query from Full-Text Search with a total of 3 records.The query to perform the search uses the MATCH(…) and AGAINST(…) operators.Each operator has its own parameters, MATCH accepts the field name parameter to be searched, while AGAINST accepts keywords in the form of strings to be searched by the user, along with the search mode used.The results of the query above are shown in the following Table I.
Based on the Table I, Full-Text Search will search for text or patterns that have the word searched, namely "data mining algorithms" and display the text and its relevance.It can be seen that the one with the highest relevance is id 1 with a score of 0.290 this is because the data in row 1 has the highest similarity to the search keyword.The following will describe the manual calculation of the relevance value of Full-Text Search.Sample data taken for manual calculation is data with id 1 and 2. The next step is to calculate the term frequency of the appearance of each keyword on the pattern which will be shown in Table II.From the Table II, it is known the number of occurrences of each word.For example, on id 1, the word "algorithms" appears once, so the Term Frequency is 1.While at id 2, there is no word "algorithms" at all, so the Term Frequency is worth 0. Furthermore, the process of calculating relevance or in SQL it is called as rank, continues to the next step.The next step is to calculate the Inverse Document Index (IDF) for each keyword (data, mining, algorithms) against all records in the table with the following formula (1) [9]: where: total_record: the number of all records in the table matching_record: the number of records containing the searched word The IDF value is obtained by dividing the total records by the number of records containing the said word, then performing a logarithmic operation.Based on the IDF calculation formula above, the IDF value is obtained as in the Table III.
Table III shows the IDF value for each word in the keyword.The word "data" matches 2 records, the word "mining" matches 2 records, and the word "algorithms" matches only 1 record.While in total there are 3 records in the database table.So, by using formula (1) the results for each IDF value are 0.176, 0.176, and 0.477.
After the IDF value is calculated, then the relevance value for each keyword can be calculated using (2) [10]: To obtain the final value of relevance, is obtained by multiplying the TF value by IDF 2 .By using the Rank calculation formula above, the relevance value for each word can be obtained as shown in the following Table IV.
Table IV displays the results of the calculation of the relevance of each key words and at the same time the final result.To get the final result can be done by summing the results of words, so as to produce the final result of the calculation of relevance.In the results of manual calculations, id 1 has a relevance value of 0.290, the same as the results of the MySQL query.
The following is a flowchart of the Full-Text Search search algorithm (Fig. 2).
From the complete flowchart of the Full-Text Search algorithm above, in general, the first step is to calculate the Term Frequency, namely how many words appear in a sentence.Next is to calculate the Inverse Document Frequency (IDF) value for each keyword received.Then, calculate the relevance value of each keyword using the relevance formula, and finally, add up the results of the relevance of each keyword so that it becomes a complete keyword relevance.

A. System and Problem Analysis
To analyze system requirements, Requirement Elicitation is used which is useful for exploring and knowing the system requirements needed by users [11].The following Table V is the final result of the elicitation process, especially functional requirement elicitations.
Based on the results of the questionnaire from marketing department, several functional requirement elicitations were obtained as shown in Table V.In addition to functional elicitation, the application certainly has non-functional elicitation.Based on the results of the questionnaire from marketing department, several non-functional elicitations were obtained as shown in Table VI.
Explore the building freely 2.
Explore the surroundings 3.
See the rooms and other facilities that are allowed for students 4.
Chatbot can answer questions about facilities 6.
Help explain in a simple way There is a logo and campus name 2.
There is a back sound when using the application 3.
User Friendly or easy to use 4.
Answer in a formal language

B. System Design and Algorithms
The workflow process of this application starts from the running of the Virtual Tour 3D.When a user asks a question, the app sends the question to the API.Furthermore, in the API will be searched using Full-Text Search.After the search is complete, the API will return a response and it will then be displayed as an answer by the Chatbot.The following is a flowchart of the detailed process of the system works (Fig. 3 and 4).
When a user submits a question, the question is sent to the backend API.After the data is received by the API, then a Full-Text Search query is executed to get answers based on the pattern in the database.If the query results are more than 1 record, then the answers will be chosen randomly, so that the answers can be more varied.Then the API will return a response containing the answer to the Virtual Tour application and then the answer will be displayed to the user.

C. Implementation
At this stage, all designs and designs will be implemented and developed into an application (coding), according to the design and system requirements [12].The following is an application display from a Virtual Tour 3D and chatbot that running on browser using WebGL (Fig. 5).
Fig. 5 shows the display of the virtual tour application.At the top right corner of screen is the number of visitors currently visiting the application.At the bottom left, there is a watermark from the name of the institution and at the bottom right there is the name of the location the user is currently visiting.Next, the chatbot window that is displayed to the user will be shown in Fig. 6.
Fig. 6 shows the chatbot window that will appear when the user presses the "E" key on the keyboard or interacts with a marketing character.A window will appear with a text box to input user questions and a submit button to send questions.After the API returns the answer, the user's answer will be displayed in the response window, which is shown in Fig. 7.

D. Testing
After the application is complete, the next step will be the testing process.This process will test the application from both functional and non-functional systems.This aims to ensure that the application is error-free and made according to what is needed by the user [13].Black Box Testing was carried out in this study and obtained the following results (Table VII).
Based on the results of black box testing on the Table VII, the results obtained are that in general, the application can run as it should, but there is one test that fails, that the application cannot run on a mobile browser, because it is difficult to provide input to the application (no joystick or physical keyboard) and lack of mobile device hardware capabilities.

E. Evaluation
The Likert scale is often used in research to measure a person's opinions, opinions, and perspectives on a phenomenon [14].The Likert scale questionnaire in this study involved 55 respondents, consisting of 41 respondents (75%) were high school/vocational high school students and 14 respondents (25%) were parents/guardians of students.To process Likert scale data, an ideal score is needed for each answer scale, which is described in the following Table VIII.
The Likert scale in this study uses an interval scale of 20 and involves 55 respondents, to obtain an ideal value as shown in the table above which can be used as a benchmark in determining results and satisfaction categories.Then, the overall percentage calculation on the Likert scale is calculated by the following formula (3) [15].

Fig. 1
Fig. 1 Example of a MySQL query

TABLE III THE
RESULT OF INVERSE DOCUMENT FREQUENCY PER WORD IN THE KEYWORD