Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×


Project File
As a result of the rapid technological development lead to the
development of the chatbot concept and the time an...
Wird geladen in …3

Hier ansehen

1 von 52 Anzeige

Weitere Verwandte Inhalte

Ähnlich wie DEEPESH KUSHWAH PROJECT 3rd sem 1.docx (20)

Aktuellste (20)



  3. 3. ABSTRACT As a result of the rapid technological development lead to the development of the chatbot concept and the time and effort it can save. This is a simple Web Application Project entitled Simple ChatBot Application. This project was develop using PHP Programming Language. This chatbot application can simulate conversations with the end-users. The end-user can ask/query anything with this application and the chatbot will automatically respond accordingly to the queries/questions. The program has an admin panel where can admin user of this web application will feed the responses for the possible questions that users may ask/query to the chatbot. The admin panel has many features that are related to the chatbot information. The admin user can also manage some other details of the chat boot such as the welcome message, no result message for the query, and avatars. Talking about the chatbot responses, the admin will store information in the system and will tag the possible question for that response. The system also stores the questions that no answers can be found in the database. By this, the admin can check if the questions are relevant to the site. And if does, the admin user can create a response for that query. Many specialized frameworks have emerged to undertake chatbot creation and development. By relying on artificial intelligence, the chatbot has integrated machine learning within it, and it has become more comprehensive and wider for various technological fields. Therefore, we will create a chatbot for the University's Admission and Registration related queries of the student who is thinking of getting the admission in the university, the project aims to build a chatbot to facilitate the process of accessing information related to student’s inquiries towards admissions, Registration and the university itself. The motivation for the work of this project is that there is no university-level equivalent from
  4. 4. previous graduation projects, as this project mainly targets all students over the globe and non students(parents/guardians) . As a conclusion, it lies in answering frequent and common questions by people and providing the answer to these questions at any time the person wants. What is natural language processing (NLP)? Natural language processing, which evolved from computational linguistics, uses methods from various disciplines, such as computer science, artificial intelligence, linguistics, and data science, to enable computers to understand human language in both written and verbal forms.
  6. 6. 4.1.7 ADMINLTE 4.2 BACK END :- 4.2.1 PHP(VERSION 8.0.2) 4.2.2 MYSQL DATABASE 4.2.3 MYSQLi OOP 5.CHAPTER-5 SYSTEM REQUIRMENTS 5.1 REQUIRMENTS 7. SOFTWARE DEVELOPMENT LIFE CYCLE………………….………… 47 7.1 SDLC MODEL 8. FUTURE ENHANCEMENT...……………………….. 51 9. CONCLUSION…………………………………………………………….. 52 10. REFERENCES……………………………………………….………….…53
  7. 7. School of Mathematics and Allied Sciences, Jiwaji University, Gwalior DECLARATION I am Deepesh kushwah, student of M.Sc. (Computer Science) 3rd semester, Hereby I declare that this Report File of Minor Project on “CHATBOT” is submitted by me. I submit this report file for the partial fulfilment of the requirement of the 3rd semester of M.Sc. (Computer Science). This work has not been submitted in part of full to this or any other university for the award of any degree or diploma to the best of our knowledge. I further declare that the best of my knowledge, this minor project does not contain any description used anywherse else. DEEPESH KUSHWAH ROLL NO. 211002971 M.Sc. (C.S.) IIIrd SEM
  8. 8. School of Mathematics and Allied Sciences, Jiwaji University, Gwalior CERTIFICATE This is certified that the project report entitled “CHAT BOT” in html css php javascript bootstrap jquery ajax adminlte , has been prepared by Deepesh kushwah in partial fulfillment for minor project in “M.Sc. (Computer Science)” 3rd Sem at School of Mathematics and Allied Science, Jiwaji University, Gwalior and is a record to project work carried out under proper guidance and supervision. INTERNAL EXAMINER EXTERNAL EXAMINER
  9. 9. Introduction 1.1 Introduction- 1.1 Chatbot is a computer program that humans will interact with in natural spoken language and including artificial intelligence techniques such as NLP (Natural language processing){“in this module we don’t have this AI feature yet”} that makes the chatbot more interactive and more reliable. Based on the recent epidemiological situation, the increasing demand and reliance on electronic education has become very difficult to access to the university due to the curfew imposed, and this has led to limited access to information for academics at the university. This project aims to build a chatbot for Admission and Registration to answer every person who asks about the university, colleges, majors and admission policy and other basic queries of yours regarding the chat bot and you can ask the chatbot about itself and its technology. This is a simple web application project entitled SIMPLE CHATBOT APPLLICATION.This project was develop using php programming language. This chatbot application can simulate conversations with the end users. The end user ask/query anythinng with this application and the chatbot will automatically respond accordingly to the queries/questions .The program has a addmin panel where can admin user of the web application will feed the responses for the possible queries/question that user may ask to the chatbot. The admin panel has many feature that are related to thr chatbot information. The admin user can also manages some of the other details of the chatbot such as the welcome message ,no result message for the query and the avatar. Talking about the chatbot responses ,the admin will store the information in the system and will tag the possible questions for the responses.The system also stores the questions that hasno answers found in the database. By this ,admin can check if the are relevant to the site and if does the admin user can create the response for that query.
  10. 10. 1.2 Problem Statement At the start of each academic semester, registration opens for those wishing to join the university in various disciplines, and telephone calls for admission and registration abound. This leads to an increase in the loads and work for the employees of the Deanship of Admission and Registration as a result of the constant pressure of those wishing to register and their families by flocking to the Deanship, so the employees are not able to answer the phone calls and social media. This often leads to many students who wish to register to be ignored. Many students who are willing to get admission loses their hope and interest when they don’t get the proper response of the admission query The students who are living far and wants to take the admission in the university can come here to check and inquire about the university ,can get the answer of their questions visiting the chatbbot application at their home no need to come here to enquire. 1.3 Objectives ● Save effort and time for both the Admission and registration staff and students who wish to enroll. ● Provide detailed information about colleges and majors. ● Easy access to information. ●provide basic answer of your question regarding some of the any other topic.
  11. 11. 1.4 Scope ● People who wish to enroll Jiwaji University(I have programmed the chatbot according to this university) . ● Admission and registration staff. ● curious people who has questions regarding technologies that is used to build this bot and some informations too. ●students who are wishing to enroll in the new session but living far and can’t come to inquire about the university.
  12. 12. 1.5 timeline Number of the task Task name Reqquuired time in weeks 1 Proposal 2 2 Information planning and collecting 3 3 Background and alternatives 2 4 Determine system requirements 2 5 System requirements analysis and design 2 6 System programming and configure 9 7 System test 3 8 System documentation All project period
  13. 13. Chapter 2: CHATBOTS 2.1 Chatbot : A chatbot is a computer program that can simulate a conversation or chat with a user in natural language through messaging applications, website, or mobile applications and interact with users according to their input and should be available 24/7. Chatbots are developed and became so popular due to the increased use of smart devices and IoT technology. 2.2 Types of chatbots a. Base-line chatbot: It is a chatbot that is based on a database and uses if / then logic to create a conversation flow and that takes a lot of time to ensure the understanding of the question and the answer needed. Base line or Simple chatbots have limited capabilities, and are usually called rule-based bots. They are task-specific. Think of them as IVRS on chat. This means the bot poses questions based on predetermined options and the customer can choose from the options until they get answers to their query. The chatbot will not make any inferences from its previous interactions. These chatbots are best suited for straightforward dialogues. They are very simple to build and train. Example :ORDERING PIZZA When a customer interacts with a chatbot to order pizza, the flow of the conversation is set. Just like an operator asks for your order over the phone, the chatbot will pose the questions in the same way. Starting from the size of the pizza, to the crust, toppings and amount of cheese. It will then request the address and payment method. The steps are logical and only requires the customer to click through to complete their order.
  14. 14. b. AI chatbot: This type of chatbot is more complex than base-line but it is more interactive and personalized and needs big data training to be impressive if the problem is matched to their capabilities. AI-enabled smart chatbots are designed to simulate near-human interactions with customers. They can have free-flowing conversations and understand intent, language, and sentiment. These chatbots require programming to help it understand the context of interactions. They are much harder to implement and execute and need a lot of data to learn. Example: Virtual Assistants Virtual assistants are a modified version of smart chatbots. Siri, for instance, learns from every human interaction. It can also engage in small talk which is an added benefit of smart chatbots. While smart chatbots are trained to give the most relevant response with the help of an open domain resource, they learn best by collecting information in real-time. Note that companies are yet to build a bot to the extent to which virtual assistants work because it requires massive data. But
  15. 15. theoretically, smart chatbots would work like virtual assistants within web apps. c. Hybrid Model: A hybrid approach mixes the Base-line & AI chatbot to make it smart and his behavior more expected by depending on database and Ai algorithm to work together. They are a combination of base line and AI chatbots. Both base line and AI chatbots are extremes in the chatbot spectrum. There will constantly be a need for simple chatbots to be smarter and smart chatbots to be simpler. Hybrid chatbots meet that middle ground. Hybrid chatbots have some rule-based tasks, and they can understand intent and context. This makes them a balanced tool for businesses to interact with customers. Example: Medical Diagnosis Chatbots that help with a medical diagnosis combine the capabilities of both simple and smart chatbots. Visitors will be able to voice their health-related questions and the bot can narrow down possible conditions by asking for symptoms in a rule-based format. Visitors will be able to go back and forth, choose different options and give more details until the bot narrows down on their condition and prescribes remedies for the same.
  16. 16. Hybrid Chatbots are a combination of base line and AI chatbots 2.3 How do chatbots work? Briefly and as mentioned in the definition, humans interact with chatbots. There are two ways to interact with a chatbot: a. Text chatbot analyzes the inputted text and matches the text with predefined data called intents which are categorized to manage the conversation. The user utterance is tagged with one of these intents, even if what the user says stretches over two or more intents. Most chatbots will take the intent with the highest score and take the conversation down that avenue. b. Voice Some chatbots can interact and understand the voice of the user using a set of application programming interfaces (api’s) that converts the recorded voice to the language and then convert the
  17. 17. voice to words of that language and then deal with the transformed text as mentioned above. 2.4 Options to build a chatbot. a. From Scratch At first we have to identify the opportunities for our chatbot and decide its field and scope to achieve efficiency and accuracy. and a precise understanding of the customer needs is required to solve the operational challenges. Then the design of the bot comes to be a significant stage to decide the user engagement with your app or website. and we can categorize chatbot interactions as structured and unstructured interactions.  Structured interaction. You already know about this kind of interaction. You know what your customers will ask and can design it easily it's just like an FAQ section of your app or website[4] . This information will link to your contact information, services, products, etc.  Unstructured interaction. The unstructured conversation flow includes freestyle plain text. It's hard to predict what queries will emerge and it looks like an extempore speech competition for your chatbot. the role of AI comes to lights here, it decodes the context of the text based on NLP analysis. while the same NLP will provide a voice to the chatbot.[5] The later choice will need specialized chatbot developers with an understanding of programming languages, machine learning, and AI. We can use some of the code-based frameworks to build and handle the chatbot like wit.ai and api.ai. b. Using platforms
  18. 18. It is similar to scratch chatbots but the only difference is that you do not have to hire a specialized developer and use the chatbot builder platforms like Chatfuel, Botsify and Rasa, it’s not hard or impossible to achieve it. but it’s not possible to create a NLP-enabled chatbot that can deal with unstructured data. 2.5 Chatbot Platforms alternatives: a. IBM Watson: is touted as a question-and-answer system that can be used to build applications and chatbots. The IBM Watson platform allows us to create an application that shares a dialog interaction between our chatbot and users on Quick n’ Easy Projector Rentals. The IBM interface is simple to use, and no back-end coding is shown at first glance. The chatbot can be easily integrated into other applications such as Slack, Facebook, and Twilio. b. Google Dialogflow: is an easy to understand conversational agent. Theoretically, we can have a bot up and running by understanding 3 core concepts: intents, entities, and dialog control. As stated earlier, these general concepts are followed across a majority of the chatbot platforms we played with. c. Rasa: is an open source chatbot that is equipped with a natural language processing tool. The open source tool is called Rasa NLU. You can tweak and customize the machine learning algorithm that Rasa uses so that you can create a model that provides the results you desire. Rasa NLU can be run wherever you want it to, and none of your training data has to be passed over to Google, Microsoft, Amazon, or Facebook to train your chatbot. d. AWS chatbot :AWS Chatbot is an interactive agent designed to make it easy to monitor and interact with AWS resources
  19. 19. in Slack channels and Amazon Chime chat rooms. With AWS Chatbot users can receive alerts, run commands to return diagnostic information, invoke AWS Lambda functions, and create AWS support cases. …..and many others. 2.6 Chatbot building: We will use the php and xampp and with other programming languages.  Advantages: 1.We can code our chatbot according to our thinking capacity. 2.We can code and design the chatbot as we want it .  But as we know, nothing is perfect and even they has its disadvantages like : 1. server requirements. 2. Learning curve - Installation, configuration and training phases require machine learning expertise (at least basic level) 3. Context based conversation not available out of the box – they does not maintain the context automatically. This has to be programmed separately into the chat service.
  20. 20. Chatpter-3 The project 3.1 How the idea developed. To attend the enroller even more efficiently Which can save the time of both the university and the student who are willing to take admission in the university and inquiring the details ,rather going to the university now they can simply visit the chatbot application and can get their answer if they are relevant to the database’s fed question and then only they can get their result and the problem and the requirement as we have already mentioned above in the starting . 3.2 The overview of our chatbot. This is an simple chatbot which already fed questions and their answer in his database and if the end user ask the question that are found matching to the questions fed into the datsabse then the end user will get the answer if the the question is relavent. If the question asked by the user dosen’t matches the databases question then it will show and sorry message and ask user to enter correctly related to this chatbot questions fed into it and the unanswered question/queries of the end user are stored in the database and the admin can view them and if they founf relavent to the context /objective of chatbot then the admin can fed the answer of that question in the databse and the end user can get the result /answer of the same query in the next session when the end user asks the same question to the chatbot.
  21. 21. 4.Chapter-4 Introduction to the chatbot application system. 4.1 Front – End 4.1.1 HTML5 : The hypertext markup language (HTML) is a simple markup language. Used to create a hypertext documents that are portable from one platform to another HTML documents are SGML (Standard generalized mark up language) documents with generic semantics that are appropriate for representing information from a wide range of applications. This specification defines HTML version 3.2. HTML 3.2 aims to capture recommended practice as of early ’96 and as such a replacement for HTML2.0 (RFC 1866). A set of instructions embedded in a document is called mark up language. These instructions describe what the document text means and how it should look like in a display. Hyper Text Mark Up language (HTML) is the language used to encode World Wide Web documents. WHY TO USE HTML? -> Website is a collection of pages, publications, and documents that reside on web server. While these pages publications and a document as a formatted in a single format, you should use HTML for home page and all primary pages in the site. This will enable the millions of web users can easily access and to take advantage of your website. HTML is considered first for formatting any new material you plan to publish on the web. HTML documents are platform independent, meaning that they don’t confirm to any standard. If they are created properly you can move home page to any server platform or you can access them with any complaint www browser. STRUCTURE OF HTML:- HTML elements perform a defined task. HTML uses two types of elements . Empty Tags . Container Tags
  22. 22. These tags differ because of what they represent. Empty tags represent formatting constricts such as line breaks and horizontal rules. Container tags define a section of text, formats and dot all of the selected text. A container tag has both a beginning and an ending. METHOD ATTRIBUTE: -> The other required attribute for the tag sets the methods by which the browser form’s data to the server for processing. There are two ways: the POST method and GET method. With POST method, the browser sends the data in two steps: the browser first contacts the form-processing server specified in the action attributes, and once contact is made, sends the data. The GET method in the other hand, contacts the form processing server and sends the form data in a single transaction step: the browser appends the data to the form’s action URL, separated by the question mark (?) character. //This is the html code in the project for the user when the user haven’t reach the destination page then it will show error.saying that text written in the paragragh tags.// 4.1.2 CSS: Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup
  23. 23. language such as HTML or XML (including XML dialects such as SVG, MathML or XHTML). CSS is a cornerstone technology of the World Wide Web, alongside HTML and JavaScript. CSS is designed to enable the separation of content and presentation, including layout, colors, and fonts. This separation can improve content accessibility; provide more flexibility and control in the specification of presentation characteristics; enable multiple web pages to share formatting by specifying the relevant CSS in a separate .css file, which reduces complexity and repetition in the structural content; and enable the .css file to be cached to improve the page load speed between the pages that share the file and its formatting. Syntax CSS has a simple syntax and uses a number of English keywords to specify the names of various style properties. A style sheet consists of a list of rules. Each rule or rule-set consists of one or more selectors, and a declaration block. Selector "CSS class" redirects here. For non-CSS use of element classes in HTML, see class attribute (HTML). In CSS, selectors declare which part of the markup a style applies to by matching tags and attributes in the markup itself. Selectors may apply to the following:  all elements of a specific type, e.g. the second-level headers h2  elements specified by attribute, in particular: o id: an identifier unique within the document, denoted in the selector language by a hash prefix e.g. #id o class: an identifier that can annotate multiple elements in a document, denoted by a dot prefix e.g. .classname (the phrase "CSS class", although sometimes used, is a misnomer, as element classes—specified with the HTML class attribute—is a markup feature that is distinct from browsers' CSS subsystem and the related W3C/WHATWG standards work on document styles; see RDF and microformats for the origins of the "class" system of the Web content model)
  24. 24.  elements depending on how they are placed relative to others in the document tree. Pseudo-classes are used in CSS selectors to permit formatting based on information that is not contained in the document tree. One example of a widely used pseudo-class is :hover, which identifies content only when the user "points to" the visible element, usually by holding the mouse cursor over it. It is appended to a selector as in a:hover or #elementid:hover Selectors may be combined in many ways to achieve great specificity and flexibility. Multiple selectors may be joined in a spaced list to specify elements by location, element type, id, class, or any combination thereof. The order of the selectors is important. For example, div .myClass {color: red;} applies to all elements of class myClass that are inside div elements, whereas .myClass div {color: red;} applies to all div elements that are inside elements of class myClass. This is not to be confused with concatenated identifiers such as div.myClass {color: red;} which applies to div elements of class myClass. CSS can be implemented by three methods:-  Inline CSS  Internal or Embedded CSS  External CSS
  25. 25. // CSS Code of a part of the chatbot.// 4.1.3 Jquery: jQuery is a lightweight, "write less, do more", JavaScript library. The purpose of jQuery is to make it much easier to use JavaScript on your website. jQuery takes a lot of common tasks that require many lines of JavaScript code to accomplish, and wraps them into methods that you can call with a single line of code. jQuery also simplifies a lot of the complicated things from JavaScript, like AJAX calls and DOM manipulation.
  26. 26. The jQuery library contains the following features:  HTML/DOM manipulation  CSS manipulation  HTML event methods  Effects and animations  AJAX  Utilities Tip: In addition, jQuery has plugins for almost any task out there. Why jQuery? There are lots of other JavaScript libraries out there, but jQuery is probably the most popular, and also the most extendable. Many of the biggest companies on the Web use jQuery, such as:  Google  Microsoft  IBM  Netflix Will jQuery work in all browsers? The jQuery team knows all about cross-browser issues, and they have written this knowledge into the jQuery library. jQuery will run exactly the same in all major browsers. 4.1.4 Ajax AJAX = Asynchronous JavaScript and XML. AJAX is a technique for creating fast and dynamic web pages. AJAX allows web pages to be updated asynchronously by exchanging small amounts of data with the server behind the scenes. This means that it is possible to update parts of a web page, without reloading the whole page.
  27. 27. Classic web pages, (which do not use AJAX) must reload the entire page if the content should change. Examples of applications using AJAX: Google Maps, Gmail, Youtube, and Facebook tabs. How AJAX Works AJAX is Based on Internet Standards AJAX is based on internet standards, and uses a combination of:  XMLHttpRequest object (to exchange data asynchronously with a server)  JavaScript/DOM (to display/interact with the information)  CSS (to style the data)  XML (often used as the format for transferring data) AJAX applications are browser- and platform-independent!
  28. 28. Google Suggest AJAX was made popular in 2005 by Google, with Google Suggest. Google Suggest is using AJAX to create a very dynamic web interface: When you start typing in Google's search box, a JavaScript sends the letters off to a server and the server returns a list of suggestions. 4.1.5 Bootstrap : Bootstrap is the most popular CSS Framework for developing responsive and mobile-first websites.Bootstrap 5 is the newest version of Bootstrap. Bootstrap is a free, open source front-end development framework for the creation of websites and web apps. Designed to enable responsive development of mobile-first websites, Bootstrap provides a collection of syntax for template designs. As a framework, Bootstrap includes the basics for responsive web development, so developers only need to insert the code into a pre- defined grid system. The Bootstrap framework is built on Hypertext Markup Language (HTML), cascading style sheets (CSS) and JavaScript. Web developers using Bootstrap can build websites much faster without spending time worrying about basic commands and functions. Bootstrap's 12-column grid system can update responsively based on screen size. What is Bootstrap used for? Bootstrap makes responsive web design a reality. It makes it possible for a web page or app to detect the visitor's screen size and orientation and automatically adapt the display accordingly. The mobile-first
  29. 29. approach assumes smartphones, tablets and task-specific mobile apps are employees' primary tools for getting work done. Bootstrap addresses the requirements of those technologies in design and includes UI components, layouts, JavaScript tools and the implementation framework. The software is available precompiled or as source code. Bootstrap is more than efficient to create a responsive and mobile first website but it is not the best in the industry. There is an alternative of Bootstrap named W3.CSS which is smaller, faster, and easier to use. //bootstrap// 4.1.6 AdminLTE AdminLTE is a popular open source WebApp template for admin dashboards and control panels. It is a responsive HTML template that is based on the CSS framework Bootstrap 3. It utilizes all of the Bootstrap components in its design and re-styles many commonly used plugins to create a consistent design that can be used as a user interface for backend applications. AdminLTE is based on a modular design, which allows it to be easily customized and built upon. This documentation will guide you through installing the template and exploring the various components that are bundled with the template.
  30. 30. //adminlte template’s some code for example// 4.2 Back – End 4.2.1 PHP(version 8.0.2): PHP is a general-purpose scripting language geared toward web development. It was originally created by Danish- Canadian programmer Rasmus Lerdorf in 1993 and released in 1995.The PHP reference implementation is now produced by The PHP Group. PHP was originally an abbreviation of Personal Home Page, but it now stands for the recursive initialism PHP: Hypertext
  31. 31. Preprocessor.PHP code is usually processed on a web server by a PHP interpreter implemented as a module, a daemon or as a Common Gateway Interface (CGI) executable. On a web server, the result of the interpreted and executed PHP code – which may be any type of data, such as generated HTML or binary image data – would form the whole or part of an HTTP response. Various web template systems, web content management systems, and web frameworks exist which can be employed to orchestrate or facilitate the generation of that response. Additionally, PHP can be used for many programming tasks outside the web context, such as standalone graphical applications and robotic drone control. PHP code can also be directly executed from the command line. //portal code for the example purpose here only(not full code is shown here//
  32. 32. 4.2.2 MySQL Database: MySQL, the most popular Open Source SQL database management system, is developed, distributed, and supported by Oracle Corporation.  MySQL is a database management system. A database is a structured collection of data. It may be anything from a simple shopping list to a picture gallery or the vast amounts of information in a corporate network. To add, access, and process data stored in a computer database, you need a database management system such as MySQL Server. Since computers are very good at handling large amounts of data, database management systems play a central role in computing, as standalone utilities, or as parts of other applications.  MySQL databases are relational. A relational database stores data in separate tables rather than putting all the data in one big storeroom. The database structures are organized into physical files optimized for speed. The logical model, with objects such as databases, tables, views, rows, and columns, offers a flexible programming environment. You set up rules governing the relationships between different data fields, such as one-to-one, one-to-many, unique, required or optional, and “pointers” between different tables. The database enforces these rules, so that with a well-designed database, your application never sees inconsistent, duplicate, orphan, out-of-date, or missing data. The SQL part of “MySQL” stands for “Structured Query Language”. SQL is the most common standardized language used to access databases. Depending on your programming environment, you might enter SQL directly (for example, to generate reports), embed SQL statements into code written in another language, or use a language-specific API that hides the SQL syntax.  MySQL software is Open Source. Open Source means that it is possible for anyone to use and modify the software. Anybody can download the MySQL software from the Internet and use it without paying anythingThe
  33. 33. MySQL Database Server is very fast, reliable, scalable, and easy to use. If that is what you are looking for, you should give it a try. MySQL Server can run comfortably on a desktop or laptop, alongside your other applications, web servers, and so on, requiring little or no attention. MySQL Server was originally developed to handle large databases much faster than existing solutions and has been successfully used in highly demanding production environments for several years.  MySQL Server works in client/server or embedded systems. The MySQL Database Software is a client/server system that consists of a multithreaded SQL server that supports different back ends, several different client programs and libraries, administrative tools, and a wide range of application programming interfaces (APIs). 4.2.3 MySQLi OOP : The mysqli extension features a dual interface. It supports the procedural and object-oriented programming paradigm. Users migrating from the old mysql extension may prefer the procedural interface. The procedural interface is similar to that of the old mysql extension. In many cases, the function names differ only by prefix. Some mysqli functions take a connection handle as their first argument, whereas matching functions in the old mysql interface take it as an optional last argument. 4.2.4 Xampp : What is XAMPP? XAMPP stands for X-operating system, Apache, Mysql, Php, Perl. XAMPP is the most popular PHP development environment XAMPP is a completely free, easy to install Apache distribution containing
  34. 34. MariaDB, PHP, and Perl. The XAMPP open source package has been set up to be incredibly easy to install and to use. //This is how the xampp looks//
  35. 35. 5.Chapter-5 System requirements 5.1 Requirements: ● Functional Requirements: 1. The system must provide clear information about Admission policy. 2. The system must provide clear and fully detailed information about university colleges. 3. The system must provide clear and fully detailed information about colleges’ programs. 4. The system must provide clear and fully detailed information about colleges’ majors. 5. The system should clarify information about the permitted secondary school branch for each major. 6. The system should clarify the minimum GPA in high school for each major. 7. The system should clarify the duration of study for each major. 8. The system should clarify the parallel study policy for each major. 9. The system should provide the graduation plans for each major. 10. The system should provide information about placement tests. 11. The system should provide information about first installment costs for each major and the credit hour price. ● Non-Functional : 1. The system shall handle multiple users inputs, If two or more students are chatting with the bot, none of the students has to wait too long to be answered by the system. 2. The bot should have a delay in response, to let the student feel like he/she is talking to a human instead of a bot. A little late response from the chatbot makes the student feel as though he is talking to a human.
  36. 36. 3. The system should have the appropriate data set. The correct data set is the basis for the chatbot, when the data set is correct and tuned, the chatbot will be trained on it to give the best possible result. 4. The system should have Data Training. Data training mainly depends on the content targeted at Admission and Registration deanship. 5. The system should prevent abusive language. 6. The system should be used on localhost/chatbot website. //user case diagram//
  37. 37. 5.2 system requirements  The system needs the user to visit the chatbot application.  The user can only ask the relevant questions to the objective of the chatbot.  The admin must check the unanswered questions so that in next session those question’s will be feed into the system for the end users queries. 5.3 hardware requirements  Basic hardware requirements needed. 6.Chapter-6 System demonstration 6.1 Admin panel: Snapshots and and UI description: ● Login: This page is the first page to be shown when accessing the site. // Admin login panel//
  38. 38. ● Dashboard: This page will be the first thing that appears to the admin when he logs into the site correctly. //Description: only the admin can visit these admin panel.// // Dashboard screen// ● setting:where the admin can perform changes like changing the avatar ,changing the name of the bot ,remove a pre-existing data, or modify pre-existing data and various other activities he can do after logging in.
  39. 39. // setting feature for the admin only// ● Response list: Here all the responses which are going to be shown to the as a result of there query are stored and user have the access to perform actions over them as changing the answer or even the questions.
  40. 40. //only the admin can access and modify the data here// ●unanswered list: the admin can see the unanswered questions of the end user and can feed them into the database only if(personal choice whether he wants to keep them or not if not then the admin can delete the unanswered questions too) for the future queries of the end user . //unanswered queries of the end users//
  41. 41.  My account: this is the of the admin’s my account in whichthe admin can change the user name ,name,password,avatar. //For admin user only// 5.2. Chatbot application Snap shot and description  Chatbot portal: where the user can chat with the bot and get the answers of his queries regarding the chatbot or university. //end users place (non admin)//
  42. 42. Demonstration of few questions how the questions should be asked by the end user. //Question- what area you// //Question what is chatbot//
  43. 43. //this message will be shown to the user when the question doesn’t matches the database questions//
  44. 44. Chapter 6: Testing 6.1. Testing criteria: 6.1.1. Chatbots testing criterias: you can do to get the bot to be tested is to write test stories. Testing your model on test stories is the best way to be confident in how your assistant will behave in certain situations. Test stories, written in a modified story format, allow you to present complete conversations and test that, given certain user input, your model will behave expectedly. This is especially important when you start to present more complex stories than user conversations. Test stories are similar to the stories in your training data but include the user's message as well. Conversation flow: in this criteria, the following things should be checked while testing: ● Does a chatbot clearly understand the questions? ● Does it always give instant responses to these questions? ● Are the answers relevant to the given questions? ● Should a user ask a series of questions until he gets the answer? ● Does a chatbot engage the user to continue the conversation? Confusion handling: “Confusion may arise if a user enters some expression with double meaning or an unknown word for a chatbot. The latter should be taught to answer in such a situation. The tester’s goal is to check if the chatbot can handle misunderstandings, exceptional conversational scenarios, and unusual patterns. 6.1.2. The classic criteria in the software test. By testing the software at and around critical points, and what it accepts and what it does not accept. The software is also presented to a group of people to be tested and examined based on interactions and data with humans.
  45. 45. 6.2 testing the chatbot web application Testing is a process of executing a program with the indent of finding an error. Testing is a crucial element of software quality assurance and presents ultimate review of specification, design and coding. System Testing is an important phase. Testing represents an interesting anomaly for the software. Thus a series of testing are performed for the proposed system before the system is ready for user acceptance testing. A good test case is one that has a high probability of finding an as undiscovered error. A successful test is one that uncovers an as undiscovered error. Testing Objectives: 1. Testing is a process of executing a program with the intent of finding an error 2. A good test case is one that has a probability of finding an as yet undiscovered error 3. A successful test is one that uncovers an undiscovered error Testing Principles: · All tests should be traceable to end user requirements · Tests should be planned long before testing begins
  46. 46. · Testing should begin on a small scale and progress towards testing in large · Exhaustive testing is not possible · To be most effective testing should be conducted by a independent third party The primary objective for test case design is to derive a set of tests that has the highest livelihood for uncovering defects in software. To accomplish this objective two different categories of test case design techniques are used. They are White box testing. Black box testing. White-box testing: White box testing focus on the program control structure. Test cases are derived to ensure that all statements in the program have been executed at least once during testing and that all logical conditions have been executed. Block-box testing: Black box testing is designed to validate functional requirements without regard to the internal workings of a program. Black box testing mainly focuses on the information domain of the software, deriving test cases by partitioning input and output in a manner that provides through test coverage. Incorrect and missing functions, interface errors, errors in data structures, error in functional logic are the errors falling in this category. Testing strategies: A strategy for software testing must accommodate low-level tests that are necessary to verify that all small source code segment has been correctly implemented as well as high-level tests that validate major system functions against customer requirements.
  47. 47. Testing fundamentals: Testing is a process of executing program with the intent of finding error. A good test case is one that has high probability of finding an undiscovered error. If testing is conducted successfully it uncovers the errors in the software. Testing cannot show the absence of defects, it can only show that software defects present. Testing Information flow: Information flow for testing flows the pattern. Two class of input provided to test the process. The software configuration includes a software requirements specification, a design specification and source code. Test configuration includes test plan and test cases and test tools. Tests are conducted and all the results are evaluated. That is test results are compared with expected results. When erroneous data are uncovered, an error is implied and debugging commences. Unit testing: Unit testing is essential for the verification of the code produced during the coding phase and hence the goal is to test the internal logic of the modules. Using the detailed design description as a guide, important paths are tested to uncover errors with in the boundary of the modules. These tests were carried out during the programming stage itself. All units of ViennaSQL were successfully tested. Integration testing : Integration testing focuses on unit tested modules and build the program structure that is dictated by the design phase.
  48. 48. System testing: System testing tests the integration of each module in the system. It also tests to find discrepancies between the system and it’s original objective, current specification and system documentation. The primary concern is the compatibility of individual modules. Entire system is working properly or not will be tested here, and specified path ODBC connection will correct or not, and giving output or not are tested here these verifications and validations are done by giving input values to the system and by comparing with expected output. Top-down testing implementing here. Acceptance Testing: This testing is done to verify the readiness of the system for the implementation. Acceptance testing begins when the system is complete. Its purpose is to provide the end user with the confidence that the system is ready for use. It involves planning and execution of functional tests, performance tests and stress tests in order to demonstrate that the implemented system satisfies its requirements. Tools to special importance during acceptance testing include: Test coverage Analyzer – records the control paths followed for each test case. Timing Analyzer – also called a profiler, reports the time spent in various regions of the code are areas to concentrate on to improve system performance. Coding standards – static analyzers and standard checkers are used to inspect code for deviations from standards and guidelines. Test Cases: Test cases are derived to ensure that all statements in the program have been executed at least once during testing and that all logical conditions have been executed.
  49. 49. Using White-Box testing methods, the software engineer can drive test cases that · Guarantee that logical decisions on their true and false sides. · Exercise all logical decisions on their true and false sides. · Execute all loops at their boundaries and with in their operational bounds. · Exercise internal data structure to assure their validity. The test case specification for system testing has to be submitted for review before system testing commences. chapter-7 7.1 Software Development Life Cycle: Methodology Development model used: The sequential phases in Waterfall model are – Requirement Gathering and analysis − All possible requirements of the system to be developed are captured in this phase and documented in a requirement specification document.
  50. 50. System Design − The requirement specifications from first phase are studied in this phase and the system design is prepared. This system design helps in specifying hardware and system requirements and helps in defining the overall system architecture. Implementation − With inputs from the system design, the system is first developed in small programs called units, which are integrated in the next phase. Each unit is developed and tested for its functionality, which is referred to as Unit Testing. Integration and Testing − All the units developed in the implementation phase are integrated into a system after testing of each unit. Post integration the entire system is tested for any faults and failures(done above). Deployment of system − Once the functional and non-functional testing is done; the product is deployed in the customer environment or released into the market. Maintenance − There are some issues which come up in the client environment. To fix those issues, patches are released. Also to enhance the product some better versions are released. Maintenance is done to deliver these changes in the customer environment. Chapter-8 8.1Future enhancement : The project scope may be expanded to include all corners of the university details , including faculties and deanships of registration and follow-up of all matters that the student is interested in during their academic life.and various other queries of the end user The ability to communicate using voice messages. It is possible to modify and increase the efficiency of the bot to the fullest extent if the time factor and the human factor are available. Unfortunately, we were not able to deliver the bot to the maximum extent that we drew and expected due to the circumstances that befell us.
  51. 51. In our futher versions we’ll try to make it an smart AI bot or an Hybrid chatbot system which can answer almost all the queries of the end user by implementing framework and by using thealternative platforms to create an good chatbot system with maximum efficiency. Chapter-9 9.1 conclusions This bot was built to respond to the end user’s query regarding curiosity of asking the query .this chatbot is also programmed to answer the other queries to related to the chat bot and the other thing and university related basic queries to ease the student to get the information and to get to know about the university details. Challenges: I faced many challenges, and the biggest challenge during the work like Dealing with the framework is one of the biggest challenges,because it is not that widespread. And also the challenge of learning the necessary Php,bootstrap,javascript,html,css, language, to complete the construction of this bot. problems related to slow internet and power outages during work. I have also mentiond the challenge faced, so I divided the work into two parts, part for the admin panel and a part to follow up on the work on the bot. Interesting decisions: 1- The idea of the project itself was very interesting. I considered this project and set it as a challenge to my abilities and ourselves. To be based on learning to use and implement programs using a non-renowned framework for a project that is the most important in a university student's career. 2- The idea of this project to be made will help the end users to get the answers of their query ,and queires regarding the university details . 3- While developing this learnt more about the cahtbot and their developments.
  52. 52. Chapter-10 10. Refrences: 1. "Chatbots - Artificial Solutions." Chatbots | Conversational AI Platform for Enterprise - Teneo. Accessed 8 Nov. 2020. 2. "How Do Bots and Chatbots Work." https://www.cxtoday.com/contact-centre/how-do-bots-and-chatbots- work/