Professional Documents
Culture Documents
INTERNSHIP REPORT
ON
BACHELOR OF ENGINEERING IN
Computer Science Engineering
Submitted by:
AASHISH DHAMALA
1BH22CS400
Conducted at
Compsoft Technologies
CERTIFICATE
This is to certify that the Internship titled “Chatbot for Healthcare System Using AI” carried out
by Mr. AASHISH DHAMALA, a bonafide student of Bangalore Technological Institute, in partial
fulfillment for the award of Bachelor of Engineering, in Department Computer Science Engineering
under Visvesvaraya Technological University, Belagavi, during the year 2022-2023. It is
certified that all corrections/suggestions indicated have been incorporated in the report.
The project report has been approved as it satisfies the academic requirements in respect
of Internship prescribed for the course Internship / Professional Practice (21INT49)
External Viva:
1)
2)
Date :03/12/2023 :
Place : Bangalore
USN : 1BH22CS400
NAME: Aashish Dhamala
We express our sincere thanks to our Principal, for providing us adequate facilities to
undertake this Internship.
We would like to thank our Head of Dept – branch code, for providing us an opportunity to
carry out Internship and for his valuable guidance and support.
We would like to thank our (Lab assistant name) Software Services for guiding us during the
period of internship.
We express our deep and profound gratitude to our guide, Guide name, Assistant/Associate
Prof, for her keen interest and encouragement at every step in completing the Internship.
We would like to thank all the faculty members of our department for the support extended
during the course of Internship.
We would like to thank the non-teaching members of our dept, for helping us during the
Internship.
Last but not the least, we would like to thank our parents and friends without whose constant
help, the completion of Internship would have not been possible.
The evolution of conversational AI has paved the way for innovative applications in various
industries, particularly in healthcare. This abstract presents a comprehensive overview of the
development and implementation of a sophisticated healthcare chatbot using the Rasa framework.
The aim of this project is to create a user-friendly, intelligent, and reliable chatbot that assists
users in accessing healthcare information, scheduling appointments, providing symptom analysis,
and offering general medical guidance.
The project utilizes Rasa, an open-source conversational AI framework known for its flexibility,
natural language understanding capabilities, and easy integration. Leveraging its machine
learning-based dialogue management and natural language processing (NLP) functionalities, the
chatbot is designed to engage users in natural, context-aware conversations.
The development process involves several key stages:
Intent Identification and Entity Recognition: Using Rasa NLU (Natural Language
Understanding) components to classify user intents and extract relevant entities from user
messages. This step involves training the model to accurately identify and understand user
intentions, such as appointment booking, symptom inquiry, or medication queries, along with
extracting specific information like dates, symptoms, or medications mentioned.
Dialogue Management: Implementing a robust dialogue management system using Rasa Core to
maintain context, manage conversation flows, and handle multi-turn interactions. This component
ensures coherent and meaningful exchanges between the user and the chatbot, enabling smooth
navigation through various healthcare-related tasks.
Integration with Healthcare Systems: Integrating the chatbot with existing healthcare systems,
such as appointment scheduling platforms or electronic health record (EHR) systems, to enable
functionalities like appointment booking, retrieval of medical records, and seamless information
exchange.
Continuous Learning and Improvement: Employing iterative model training and evaluation to
enhance the chatbot's performance. Incorporating user feedback, monitoring conversation logs,
and retraining the model using Rasa's reinforcement learning capabilities to adapt and improve
the chatbot's responses over time.
The healthcare chatbot developed using Rasa aims to address several challenges, including
improving healthcare accessibility, providing immediate assistance, reducing administrative
burdens on healthcare providers, and promoting health literacy among users. Moreover, emphasis
is placed on ensuring the chatbot complies with healthcare regulations and maintains data privacy
and security standards.
Sl no Description Page no
1 Company Profile 9
3 Introduction 15
4 System Analysis 18
5 Requirement Analysis 22
6 Design Analysis 26
7 Implementation 30
8 Snapshots 32
9 Conclusion 38
10 References 40
Sarvamoola Software Services. is a Technology Organization providing solutions for all web
design and development, MYSQL, PYTHON Programming, HTML, CSS, ASP.NET and
LINQ. Meeting the ever increasing automation requirements, Sarvamoola Software Services.
specialize in ERP, Connectivity, SEO Services, Conference Management, effective web
promotion and tailor-made software products, designing solutions best suiting clients
requirements.
Compsoft Technologies, strive to be the front runner in creativity and innovation in software
development through their well-researched expertise and establish it as an out of the box
software development company in Bangalore, India. As a software development company,
they translate this software development expertise into value for their customers through their
professional solutions.
They understand that the best desired output can be achieved only by understanding the
clients demand better. Compsoft Technologies work with their clients and help them to
defiine their exact solution requirement. Sometimes even they wonder that they have
completely redefined their solution or new application requirement during the brainstorming
session, and here they position themselves as an IT solutions consulting group comprising of
high caliber consultants.
They believe that Technology when used properly can help any business to scale and achieve
new heights of success. It helps Improve its efficiency, profitability, reliability; to put itin one
sentence ” Technology helps you to Delight your Customers” and that is what we want to
achieve.
Compsoft Technologies is a Technology Organization providing solutions for all web design
and development, MYSQL, PYTHON Programming, HTML, CSS, ASP.NET and LINQ.
Meeting the ever increasing automation requirements, Compsoft Technologies specialize in
ERP, Connectivity, SEO Services, Conference Management, effective web promotion and
tailor-made software products, designing solutions best suiting clients requirements. The
organization where they have a right mix of professionals as a stakeholders to help us serve
our clients with best of our capability and with at par industry standards. They have
young, enthusiastic, passionate and creative Professionals to develop technological
innovations in the field of Mobile technologies, Web applications as well as Business and
Enterprise solution. Motto of our organization is to “Collaborate with our clients to provide
them with best Technological solution hence creating Good Present and Better Future for our
client which will bring a cascading a positive effect in their business shape as well”.
Providing a Complete suite of technical solutions is not just our tag line, it is Our Vision for
Our Clients and for Us, We strive hard to achieve it.
It is the process by which new applications are created for devices running the Android
operating system. Applications are usually developed in Java (and/or Kotlin; or other such
option) programming language using the Android software development kit (SDK), but other
development environments are also available, some such as Kotlin support the exact same
Android APIs (and bytecode), while others such as Go have restricted API access.
The Android software development kit includes a comprehensive set of development tools.
These include a debugger, libraries, a handset emulator based on QEMU, documentation,
sample code, and zutorials. Currently supported development platforms include computers
running Linux (any modern desktop Linux distribution), Mac OS X 10.5.8 or later, and
Windows 7 or later. As of March 2015, the SDK is not available on Android itself, but
softwaredevelopment is possible by using specialized Android applications.
Web Application
It is a client–server computer program in which the client (including the user interface and
client- side logic) runs in a web browser. Common web applications include web mail, online
Frameworks can also promote the use of best practices such as GET after POST. There are
some who view a web application as a two-tier architecture. This can be a “smart” client that
performs all the work and queries a “dumb” server, or a “dumb” client that relies on a “smart”
server. The client would handle the presentation tier, the server would have the database
(storage tier), and the business logic (application tier) would be on one of them or on both.
While this increases the scalability of the applications and separates the display and the
database, it still doesn‟t allow for true specialization of layers, so most applications will
outgrow this model. An emerging strategy for application software companies is to provide
web access to software previously distributed as local applications. Depending on the type of
application, it may require the development of an entirely different browser-based interface,
or merely adapting an existing application to use different presentation technology. These
programs allow the user to pay a monthly or yearly fee for use of a software application
without having to install it on a local hard drive. A company which follows this strategy is
known as an application service provider (ASP), and ASPs are currently receiving much
attention in the software industry.
Security breaches on these kinds of applications are a major concern because it can involve
both enterprise information and private customer data. Protecting these assets is an important
part of any web application and there are some key operational areas that must be included in
the development process. This includes processes for authentication, authorization, asset
handling, input, and logging and auditing. Building security into the applications from the
beginning can be more effective and less disruptive in the long run.
Web design
It is encompasses many different skills and disciplines in the production and maintenance of
websites. The different areas of web design include web graphic design; interface design;
authoring, including standardized code and proprietary software; user experience design; and
They have a great team of skilled mentors who are always ready to direct their trainees in the
best possible way they can and to ensure the skills of mentors we held many skill
development programs as well so that each and every mentor can develop their own skills
with the demands of the companies so that they can prepare a complete packaged trainee.
• Python
• Selenium Testing
• Software Training
INTRODUCTION
Introduction to ML
Machine Learning is a subfield of artificial intelligence (AI) that focuses on the development of
algorithms and models that enable computers to learn from data and make predictions or
decisions without being explicitly programmed. The core idea behind machine learning is to
allow systems to automatically learn and improve from experience.
2. Unsupervised Learning: Unsupervised learning involves working with unlabelled data. The
algorithm tries to find patterns or relationships within the data without explicit guidance on
what to look for. Common techniques include clustering, dimensionality reduction, and
association rule learning.
Problem Statement
A problem statement in the context of machine learning defines the specific issue or task that the
ML model is designed to address. It provides a clear description of the problem, the goals of the
model, and the expected outcomes. A well-defined problem statement is crucial for guiding the
entire machine learning project.
Description:
In a manufacturing facility, unexpected equipment failures result in costly downtime and
maintenance expenses. The goal is to develop a machine learning model that predicts potential
equipment failures before they occur, enabling proactive maintenance. The dataset includes
historical sensor data from various machines, along with labels indicating whether a failure
occurred within a specific time window. The model should be able to classify equipment
conditions as normal or indicative of an impending failure.
This problem statement outlines the context, goals, and expected impact of the machine learning
project, providing a roadmap for the development and deployment of the predictive maintenance
model.
SYSTEM ANALYSIS
System analysis is a crucial phase in the development lifecycle of any technological solution,
including machine learning systems. It involves a comprehensive study of the existing system,
understanding its strengths and weaknesses, and defining the requirements for the proposed
system. The primary goal is to identify the problems in the current system, explore opportunities
for improvement, and lay the groundwork for the design and implementation of the new system.
1. Understanding Requirements:
• Identify and document the specific requirements of the system.
• Interview stakeholders, end-users, and subject matter experts to gather insights.
• Define functional and non-functional requirements, considering both technical and
business aspects.
2. Study of Existing System:
• Evaluate the strengths and weaknesses of the current system.
• Identify manual processes, bottlenecks, and areas for improvement.
• Analyze data flow, input-output processes, and feedback mechanisms in the existing
system.
3. Feasibility Study:
• Conduct a feasibility study to assess the practicality and viability of the proposed
system.
• Evaluate technical, operational, and economic feasibility.
• Determine if the proposed system aligns with organizational goals and resources.
4. System Design Considerations:
• Define the architecture and high-level design of the proposed system.
• Consider scalability, reliability, security, and other design principles.
• Identify technology stacks and tools that align with the project's requirements.
5. Risk Analysis:
• Identify potential risks associated with the proposed system.
• Assess the impact and likelihood of each risk.
• Develop mitigation strategies to address identified risks.
6. User Involvement:
• Involve end-users and stakeholders throughout the analysis phase.
• Defining clear objectives and requirements for the machine learning system.
• Assessing the quality and relevance of available data for training the model.
• Identifying potential challenges and constraints that may impact the success of the project.
• Ensuring that the proposed machine learning solution aligns with the overall
organizational strategy and goals.
A thorough system analysis lays the foundation for a successful machine learning
implementation, guiding subsequent phases such as system design, development, and
deployment. It helps ensure that the machine learning solution addresses real-world problems
effectively and delivers tangible value to the stakeholders.
1. Existing System
In the existing system, there may be manual or traditional methods in place for managing the
process or problem addressed by the machine learning solution. For example, in the context
of the predictive maintenance problem mentioned earlier, the existing system might rely on
reactive maintenance practices, where equipment is repaired or replaced only after a failure
occurs. This approach can result in increased downtime, higher maintenance costs, and
reduced overall efficiency.
2. Proposed System
The proposed system introduces the machine learning solution to address the limitations of
the existing system. In the case of predictive maintenance, the proposed system involves
implementing a machine learning model that can analyze historical sensor data to predict
potential equipment failures. The system may include real-time monitoring capabilities, alert
mechanisms, and integration with the existing maintenance workflow to enable proactive
maintenance.
REQUIREMENT ANALYSIS
System Design:
The design of a healthcare chatbot using Rasa involves both architectural considerations and the
detailed design of individual components. Here, we outline the key aspects of system design:
1. Architecture:
• The chatbot architecture should be modular, scalable, and capable of handling
concurrent user interactions.
• Components include Rasa NLU for natural language understanding, Rasa Core for
dialogue management, and any additional modules for healthcare-specific
functionalities.
2. User Interface (UI):
• Design an intuitive and user-friendly chat interface for seamless interactions.
• Consider incorporating multimedia elements, such as images or buttons, to
enhance user experience.
3. Natural Language Processing (NLP):
• Configure Rasa NLU to recognize user intents and extract entities related to
healthcare queries.
• Integrate pre-trained language models or specialized medical ontologies for
accurate understanding of medical terms.
4. Dialogue Flow:
• Design the dialogue flow to ensure coherent and context-aware conversations.
• Use Rasa Core to manage the flow of interactions, handle user queries, and
provide informative responses.
5. Integration with Healthcare Systems:
• If applicable, design integration points with healthcare databases or external
systems to retrieve or update patient information.
• Implement secure and compliant data handling practices.
6. Personalization:
• Incorporate personalization features to adapt the chatbot's responses based on user
history or preferences.
• Design mechanisms for user authentication if accessing sensitive healthcare
information.
7. Multilingual Support:
• If the chatbot is intended for a diverse audience, design the system to support
multiple languages.
The analysis phase involves evaluating the effectiveness and performance of the healthcare
chatbot. Key aspects of analysis include:
1. Performance Metrics:
• Measure the accuracy of intent recognition and entity extraction using appropriate
metrics.
• Evaluate the overall response time and system responsiveness.
2. User Feedback:
• Collect user feedback to understand user satisfaction and identify areas for
improvement.
• Analyze user queries and interactions to refine the chatbot's capabilities.
3. Integration Testing:
• Conduct thorough testing of integration points with healthcare systems to ensure data
accuracy and reliability.
• Verify the secure handling of healthcare information.
4. Scalability Testing:
• Assess the system's ability to scale with an increasing number of concurrent users.
• Identify and address performance bottlenecks.
5. Usability Testing:
• Evaluate the usability of the chatbot's interface and interactions.
• Ensure that users can easily navigate through the healthcare-related functionalities.
IMPLEMENTATION
The system can be implemented only after thorough testing is done and if it is found to work
according to the specification. It involves careful planning, investigation of the current
system and it constraints on implementation, design of methods to achieve the change over
and an evaluation of change over methods a part from planning.
Two major tasks of preparing the implementation are education and training of the users and
testing of the system. The more complex the system being implemented, the more involved
will be the system analysis and design effort required just for implementation.
The implementation phase comprises of several activities. The required hardware and
software acquisition is carried out. The system may require some software to be developed.
For this, programs are written and tested. The user then changes over to his new fully tested
system and the old system is discontinued.
TESTING
The testing phase is an important part of software development. It is the Information zed
system will help in automate process of finding errors and missing operations and also a
complete verification to determine whether the objectives are met and the user requirements
are satisfied. Software testing is carried out in three steps:
1. The first includes unit testing, where in each module is tested to provide its correctness,
validity and also determine any missing operations and to verify whether theobjectives
have been met. Errors are noted down and corrected immediately.
2. Unit testing is the important and major part of the project. So errors are rectified easily in
particular module and program clarity is increased. In this project entire system is
divided into several modules and is developed individually. So unit testing is conducted
to individual modules.
3. The second step includes Integration testing. It need not be the case, the software whose
modules when run individually and showing perfect results, will also show perfect
results when run as a whole.
❖ It provides a friendly graphical user interface which proves to be better when compared
to the existing system.
❖ System security, data security and reliability are the striking features.
1. Official Rasa Documentation: A great starting point for understanding Rasa's capabilities
and how to build chatbots using Rasa. Rasa Documentation
2. Rasa Masterclass: Rasa provides a series of video tutorials called the Masterclass, which
covers various aspects of building chatbots with Rasa. Rasa Masterclass
1. Rasa Healthcare Starter Pack: Rasa offers a starter pack that includes a basic healthcare
bot example. It's a good starting point for understanding how to structure a healthcare-
oriented chatbot. Rasa Healthcare Starter Pack
2. Blog Posts on Healthcare Chatbots with Rasa: Check out blog posts and articles related to
healthcare chatbot development using Rasa. Websites like Medium, Towards Data Science,
or Rasa's official blog might have relevant articles.
1. Medical APIs: Integrate with medical APIs or databases to fetch information about
symptoms, diseases, medications, etc. Some popular APIs include Infermedica and
Symptomate.
2. Medical Datasets: Look for publicly available healthcare datasets that could be used to
train your chatbot. Websites like Kaggle often have datasets related to healthcare.
Books:
"Building Chatbots with Rasa" by Kevin McGrath and Rasa Technologies: This book
provides practical examples and insights into building chatbots using Rasa, which can be adapted
for healthcare applications.