Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Project Docu (2)

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 84

QUERY BASED MULTI-DOMAIN MEETING SUMMARIZER

A Main project thesis submitted in partial fulfillment of requirements for the award of degree
for VIII semester

BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE AND ENGINEERING

by
L.SAI VARSHINI (20131A05C1)
L.SAI SATVIKH (20131A05B8)

G.KAISIKI HAN UMA (20131A0568)


K.MANIKANTA (20131A05A8)

Under the esteemed guidance of


Mr. CH. SRIKANTH VARMA,
Assistant Professor,
Department of Computer Science and Engineering

GAYATRI VIDYA PARISHAD COLLEGE OF ENGINEERING(AUTONOMOUS)


(Affiliated to JNTU-K, Kakinada) VISAKHAPATNAM

2023-2024

i
CERTIFICATE
This is to certify that the main project entitled “Integrating several illness prediction methods
into a single interface” being submitted by

L.SAI VARSHINI (20131A05C1)


L.SAI SATVIKH (20131A05B8)
G.KAISIKI HANUMA (20131A0568)
K.MANIKANTA (20131A05A8)

in partial fulfilment for the award of the degree “Bachelor of Technology” in Computer
Science and Engineering to the Jawaharlal Nehru Technological University, Kakinada is a
record of bonafide work done under my guidance and supervision during VIII semester of the
academic year 2023-2024.

The results embodied in this record have not been submitted to any other university or
institution for the award of any Degree or Diploma.

Guide Head of the Department


Mr.Ch. Srikanth Varma Dr. D. N. D. Harini
Assistant Professor Associate Professor & H.O.D
Department of CSE Department of CSE

ii
GVPCE(A) GVPCE(A)

ii
DECLARATION

We hereby declare that this project entitled “QUERY BASED MULTI- DOMAIN
MEETING SUMMARIZER” is a bonafide work done by us and submitted to “Department
of Computer Science and Engineering,G. V. P College of Engineering (Autonomous)
Visakhapatnam, in partial fulfilment for the award of the degree of B. Tech is of our own and
it is not submitted to any other university or has been published anytime before.

PLACE: VISAKHAPATNAM L.SAI VARSHINI (20131A05C1)

DATE: L.SAI SATVIKH (20131A05B8)

G.KAISIKI HANUMA (20131A0568)

K.MANIKANTA (20131A05A8)

iii
ACKNOWLEDGEMENT

We would like to express our deep sense of gratitude to our esteemed institute Gayatri
Vidya Parishad College of Engineering (Autonomous), which has provided us an
opportunity to fulfill our cherished desire.

We express our sincere thanks to our principal Dr. A. B. KOTESWARA RAO,


Gayatri Vidya Parishad College of Engineering (Autonomous) for his encouragement to us
during this project, giving us a chance to explore and learn new technologies in the form of
mini projects.

We express our deep sense of Gratitude to Dr. D. N. D. HARINI, Associate Professor


and Head of the Department of Computer Science and Engineering, Gayatri Vidya
Parishad College of Engineering (Autonomous) for giving us an opportunity to do the
project in college.

We express our profound gratitude and our deep indebtedness to our guide
Mr.Ch.SRIKANTH VARMA, whose valuable suggestions, guidance and comprehensive
assessments helped us a lot in realizing our project.

We also thank our coordinator, Dr. CH. SITA KUMARI, Associate Professor,
Department of Computer Science and Engineering, for the kind suggestions and guidance for
the successful completion of our project work.

L.SAI VARSHINI (20131A05C1)

L.SAI SATVIKH (20131A05B8)

G. KAISIKI HANUMA (20131A0568)

K.MANIKANTA (20131A05A8)

iv
ABSTRACT

Our project focuses on developing a tool called the Query-Based Multi-Domain Meeting
Summarizer. It's designed to make it easier to understand and use the important information
from meetings that cover different topics. We're using a technology called FastAPI to help
people ask questions and get summaries tailored to what they're interested in. And we're also
using another smart tool called BART to summarize meeting discussions in a clear and concise
way. Additionally, we're using assembly code to make sure the tool runs smoothly and
efficiently, especially when dealing with lots of different meeting data.

The main goal of our project is to create a tool that can quickly summarize discussions from
multi-domain meetings. This means it can take all the information from these meetings and
pick out the most important points, like decisions made or key topics discussed. With FastAPI,
users can easily ask specific questions or input keywords to get summaries that match what
they're looking for. And with BART, the summaries are written in a way that's easy to
understand, even if the original discussion was complicated.

One of the things that makes our tool special is that it's designed to work with a wide range of
meeting data. We're using a dataset called QMSUM to train and test our tool, which contains
lots of different meeting transcripts. This helps make sure our tool can handle all kinds of
meetings, no matter what topics are being discussed. Overall, our project aims to create a user-
friendly tool that helps people make sense of the important information discussed in meetings,
making it easier to make decisions and work more effectively.

v
INDEX

CHAPTER 1. INTRODUCTION.................................................................1
1.1 Objective…...........................................................................1
1.2 Purpose…..............................................................................5
1.3 Scope….................................................................................6
CHAPTER 2. SRS DOCUMENT................................................................7
2.1 Functional Requirements..................................................7
2.2 Non-functional Requirements...........................................7
2.3 Minimum Hardware Requirements...................................8
2.4 Minimum Software Requirements....................................8

CHAPTER 3. ALGORITHM ANALYSIS…..............................................9


3.1 Existing Algorithm.........................................................10
3.2 Proposed Algorithm........................................................10
3.3 Feasibility Study…..........................................................11
3.4 Cost Benefit Analysis.....................................................14
CHAPTER 4. SOFTWARE DESCRIPTION...........................................15
4.1 Bart Model…....................................................................15
4.2 HTML...............................................................................15
4.3 CSS/Tailwind...................................................................15
4.4 Python...............................................................................16
4.5 Java Script..........................................................................16
4.6 Fast API............................................................................16

4.7 MoviePy............................................................................16

vi
4.8 Assembly API...................................................................16

CHAPTER 5. PROJECT DESCRIPTION..............................................17


5.1 Problem Definition….......................................................17
5.2 Project Overview..............................................................17
5.3 Module Description….....................................................18
5.3.1 Python and Flask Framework…........................18
5.3.2 Model.................................................................19

CHAPTER 6. SYSTEM DESIGN.............................................................25


6.1 Introduction to UML.........................................................25
6.2 Building Blocks of the ML................................................26
6.3 UML Diagrams.................................................................32
CHAPTER 7. DEVELOPMENT...............................................................34
7.1 Datasets used.....................................................................34
7.2 Sample Code......................................................................37
7.3 Results...............................................................................59
CHAPTER 8. TESTING.............................................................................69
8.1 Introduction of Testing......................................................69
CHAPTER 9. CONCLUSION...................................................................73

FUTURE SCOPE...............................................................74

REFERENCE LINKS.......................................................75

vi
1.INTRODUCTION
In today's fast-paced business world, meetings are a vital part of how organizations collaborate
and make decisions. However, with discussions often spanning multiple topics and domains,
it can be challenging to extract the most important information. That's where our project
comes in: we're developing a tool called the Query-Based Multi-Domain Meeting
Summarizer (QBMDMS) to help with this exact problem.

QBMDMS aims to make it easier for organizations to understand and use the valuable insights
discussed in meetings across different areas. It does this by using smart algorithms to
analyze meeting data and pick out the most important points. Users can ask specific
questions or input keywords to get summaries tailored to their needs, making the
information more relevant and useful.

By leveraging advanced technologies like FastAPI for smooth communication and BART for
summarization, QBMDMS streamlines the process of extracting key insights. Plus, it's
designed to handle large volumes of meeting data efficiently, ensuring that organizations can
quickly access the information they need to make informed decisions. Through this project,
we aim to empower organizations with a powerful tool for navigating and extracting value
from multi-domain meetings, ultimately driving collaboration and innovation.

1.1.OBJECTIVE

Our main goal with the Query-Based Multi-Domain Meeting Summarizer (QBMDMS) project is to create
a tool that helps organizations understand and use the important information discussed in their
meetings. We want to make it easier for people to find the key insights from meetings that cover
9
different topics and areas.
Firstly, we aim to develop smart algorithms that can analyze meeting data and pick out the most important
points. This means identifying the key topics and discussions that take place during meetings, so that
users can quickly understand what was talked about without having to read through all the details.
Secondly, QBMDMS will allow users to ask specific questions or input keywords to get summaries
tailored to their needs. This means that if someone is interested in a particular topic or area, they can
easily find the relevant information without having to sift through irrelevant details.
Lastly, we want QBMDMS to be efficient and easy to use. By leveraging technologies like FastAPI for
smooth communication and BART for summarization, we aim to create a tool that can handle large
volumes of meeting data quickly and accurately. This way, organizations can access the information
they need to make informed decisions without wasting time or resources. Overall, our objective is to
empower organizations with a powerful tool for navigating and extracting value from multi-domain
meetings, ultimately driving collaboration and innovation.

1.2.SCOPE
The scope of the QBMDMS project encompasses the development of a versatile tool capable of
efficiently summarizing multi-domain meeting discussions, enabling informed decision-
making and collaboration across diverse areas within organizations.

1. Text Summarization: QBMDMS will focus on summarizing multi-domain meeting


discussions captured in textual format. It will extract key insights, decisions, action items,
and discussions from meeting transcripts.

2. Multi-Domain Meetings: The scope includes meetings that cover diverse topics and domains
within an organization. QBMDMS will be capable of summarizing discussions across
various areas of interest, such as finance, marketing, operations, etc.

3. Query-Based Access: QBMDMS will allow users to input specific queries or keywords to
obtain tailored summaries aligned with their interests or focus areas.
1
0
4. FastAPI Integration: The project will integrate FastAPI for API implementation, enabling
efficient communication between users and the summarization model. FastAPI will facilitate
seamless interaction and query-based access to summarized meeting discussions.

5. BART for Text Summarization: QBMDMS will leverage BART, Facebook's Sequence-to-
Sequence model, for text summarization. BART will be employed to generate concise and
coherent summaries of multi-domain meeting discussions.

6. Performance Optimization: The scope includes employing assembly code optimizations to


enhance processing speed and scalability. These optimizations will ensure efficient
summarization of large volumes of meeting data without compromising accuracy.

7. Dataset Utilization: QBMDMS will utilize the QMSUM dataset for training and validation
purposes. The dataset contains multi-domain meeting transcripts, enriching the
summarization model's understanding of diverse meeting discussions.

8. Experimental Evaluation: The project will conduct rigorous testing and evaluation to assess
the effectiveness and scalability of QBMDMS in accurately summarizing multi-domain
meeting discussions. This evaluation will ensure alignment with project objectives and user
requirements.

1
1
2. SRS DOCUMENT
A software requirements specification (SRS) is a document that describes what the software will do
and how it will be expected to perform.

2.1 FUNCTIONAL REQUIREMENTS

A Functional Requirement (FR) is a description of the service that the software must offer. It
describes a software system or its component. A function is nothing but inputs to the software system,
its behavior, and outputs. It can be a calculation, data manipulation, business process, user
interaction, or any other specific functionality which defines what function a system is likely to
perform. Functional Requirements are also called Functional Specification.

• Maintains all the records of the patients and doctors and can be accessed through a same command
prompt.

• This bot would also save the time as searching digitalized records is quicker than manually,
though there exist some digitalized records they are separate from one another

2.2 NON-FUNCTIONAL REQUIREMENTS

NON-FUNCTIONAL REQUIREMENT (NFR) specifies the quality attribute of a software system.


They judge the software system based on Responsiveness, Usability, Security, Portability. Non-
functional requirements are called qualities of a system, there are as follows:

• Performance-The average response time of the system is less


• Reliability - The system is highly reliable.
• Operability - The interface of the system will be consistent.
• Efficiency - Once user has learned about the system through his interaction, he can perform
the task easily.

• Understandability-Because of user friendly interfaces, it is more understandable to the users

1
2
2.3 MINIMUM HARDWARE REQUIREMENTS

• Processor -Intel Core i7


• Hard Disk – 256GB
• RAM – 8GB
• Operating System – Windows 10

2.4 MINIMUM SOFTWARE REQUIREMENTS

Python based Computer Vision and Deep Learning libraries will be exploited for the development
and experimentation of the project.

• Programming Language – PYTHON 3.0


• IDE – Visual Studio Code
• HTML/CSS

1
3
3. ANALYSIS
3.1. EXISTING SYSTEMS
Organizations predominantly relied on manual methods for summarizing meeting discussions.
This involved individuals or teams transcribing meeting conversations manually and then condensing
the content into key points. However, this process was labor-intensive, prone to human error, and often
led to inconsistencies in summarization across different meetings.
Additionally, some organizations experimented with basic text summarization software to
automate parts of the summarization process. However, these tools lacked the ability to incorporate user
queries into the summarization process effectively. They typically utilized simple algorithms, resulting
in limited accuracy and the inability to generate comprehensive summaries tailored to specific user
preferences or requirements.
Furthermore, existing text summarization tools struggled to process diverse meeting data
comprehensively and deliver summaries that aligned with users' particular information needs. The
absence of a query-based approach meant users had minimal control over the content and relevance of
the generated summaries, resulting in dissatisfaction with the summarization output.

3.1.1. DRAWBACKS OF EXISTING ALGORITHM

1. Lack of Customization: Existing algorithms often lack the ability to customize


summaries based on user queries or preferences. This results in generic summaries that may
not address specific information needs.

2. Limited Accuracy: Many existing algorithms rely on simplistic approaches to


summarization, leading to limited accuracy in capturing the nuances and key points of meeting
discussions.

3. Manual Intervention: Manual methods for summarizing meetings are labor-intensive


and prone to human error. They require individuals or teams to transcribe discussions and
manually condense them into key points, which can lead to inconsistencies and inaccuracies.

4. Inefficient Processing: Some existing algorithms struggle to process diverse meeting


data efficiently, especially when dealing with large volumes of information. This can result in
delays and inefficiencies in generating summaries.

5. Inability to Handle Multi-Domain Discussions: Existing algorithms may struggle to


effectively summarize meetings that cover multiple domains or topics. They may not be

1
4
able to capture the complexity and breadth of discussions across different areas.

6. Lack of Integration with User Queries: Many existing algorithms do not integrate user
queries effectively into the summarization process. This means users have limited control
over the content and relevance of the generated summaries.

3.2.PROPOSED ALGORITHM
The proposed algorithm for the Query-Based Multi-Domain Meeting Summarizer (QBMDMS)
emphasizes query-based summarization, enabling users to obtain tailored summaries aligned
with their specific interests. Here's how the algorithm works:

1. Query Input: Users provide queries specifying the topics or keywords of interest. These
queries serve as the foundation for the summarization process, guiding the algorithm to extract
relevant information from the meeting data.

2. Data Retrieval: The algorithm retrieves meeting data from the dataset (e.g., QMSUM
dataset) based on the user's queries. It identifies sections of meeting transcripts or recordings
that match the specified topics, focusing on pertinent discussions across multiple domains.

3. Topic Identification: Utilizing natural language processing techniques, the algorithm


analyzes the meeting data to identify key topics and themes discussed in relation to the user's
queries. It extracts relevant sentences or phrases associated with each topic for inclusion in the
summaries.

4. Summarization: Leveraging advanced text summarization techniques like BART, the


algorithm generates concise summaries of the extracted meeting data. It prioritizes the
inclusion of information relevant to the user's queries, ensuring that the summaries capture the
essential insights related to the specified topics.

5. Query-Based Customization: The algorithm incorporates user queries into the


summarization process to customize the content of the summaries. It filters out irrelevant
information and emphasizes the inclusion of key points that align with the user's specific
information needs and interests.

6. Performance Optimization: To optimize processing efficiency, the algorithm may implement


assembly code optimizations or other performance-enhancing techniques. These optimizations
1
5
enable rapid processing of diverse meeting data, ensuring timely delivery of query-based
summaries.

7. Evaluation and Enhancement: The proposed algorithm undergoes rigorous evaluation to


assess its effectiveness in generating query-based summaries of meeting discussions. User
feedback and iterative refinement drive enhancements to the algorithm, improving its accuracy
and usability over time.

3.3 FEASIBILITY STUDY


A feasibility study is an analysis that takes all a project's relevant factors into account including
economic, technical, legal, and scheduling considerations to ascertain the likelihood of completing the
project successfully. A feasibility study is important and essential to evolute any proposed project is
feasible or not. A feasibility study is simply an assessment of the practicality of a proposed plan or
project.

The main objectives of feasibility are mentioned below:


To determine if the product is technically and financially feasible to develop, is the main aim of the
feasibility study activity. A feasibility study should provide management with enough information to
decide:

 Whether the project can be done.

 To determine how successful your proposed action will be.

 Whether the final product will benefit its intended users.

 To describe the nature and complexity of the project.

 What are the alternatives among which a solution will be chosen (During subsequent
phases)

 To analyze if the software meets organizational requirements. There are various types of
feasibility that can be determined. They are:

Operational - Define the urgency of the problem and the acceptability of any solution, includes
people-oriented and social issues: internal issues, such as manpower problems, labor objections,
manager resistance, organizational conflicts, and policies; also, external issues, including social
1
6
acceptability, legal aspects, and government regulations.

Technical: Is the feasibility within the limits of current technology? Does the technology exist at all?
Is it available within a given resource?

Economic - Is the project possible, given resource constraints? Are the benefits that will accrue from the
new system worth the costs? What are the savings that will result from the system, including tangible
and intangible ones? What are the development and operational costs?

Schedule - Constraints on the project schedule and whether they could be reasonably met.

3.3.1. ECONOMIC FEASIBILITY:

Economic analysis could also be referred to as cost/benefit analysis. It is the most frequently used
method for evaluating the effectiveness of a new system. In economic analysis the procedure is to
determine the benefits and savings that are expected from a candidate system and compare them with
costs. Economic feasibility study related to price, and all kinds of expenditure related to the scheme
before the project starts. This study also improves project reliability. It is also helpful for the decision-
makers to decide the planned scheme processed latter or now, depending on the financial condition of
the organization. This evaluation process also studies the price benefits of the proposed scheme.
Economic Feasibility also performs the following tasks.

• Cost of packaged software.


• Cost of doing full system study.
• Is the system cost Effective?

3.3.2. TECHNICAL FEASIBILITY:

A large part of determining resources has to do with assessing technical feasibility. It


considers the technical requirements of the proposed project. The technical requirements are then
compared to the technical capability of the organization. The systems project is considered
technically feasible if the internal technical capability is sufficient to support the project
requirements. The analyst must find out whether current technical resources can be where the
expertise of system analysts is beneficial,

Since using their own experience and their contact with vendors they will be able to answer the
1
7
question of technical feasibility.

Technical Feasibility also performs the following tasks.

• Is the technology available within the given resource constraints?


• Is the technology have the capacity to handle the solution
• Determines whether the relevant technology is stable and established.
• Is the technology chosen for software development has a large number of users so that they can
be consulted when problems arise, or improvements are required?

3.3.3. OPERATIONAL FEASIBILITY:

Operational feasibility is a measure of how well a proposed system solves the problems and
takes advantage of the opportunities identified during scope definition and how it satisfies the
requirements identified in the requirements analysis phase of system development. The operational
feasibility refers to the availability of the operational resources needed to extend research results
beyond on which they were developed and for which all the operational requirements are minimal
and easily accommodated. In addition, the operational feasibility would include any rational
compromises farmers make in adjusting the technology to the limited operational resources
available to them. The operational Feasibility also perform the tasks like

• Does the current mode of operation provide adequate response time?


• Does the current of operation make maximum use of resources.
• Determines whether the solution suggested by the software development team is acceptable.

• Does the operation offer an effective way to control the data?


• Our project operates with a processor and packages installed are supported by the sytem.

3.4. COST BENEFIT ANALYSIS

The financial and the economic questions during the preliminary investigation are verified to
estimate the following:

• The cost of the hardware and software for the class of application being considered.

• The benefits in the form of reduced cost.


• The proposed system will give the minute information, as a result.
• Performance is improved which in turn may be expected to provide increased profits.

1
8
• This feasibility checks whether the system can be developed with the available funds.

• This can be done economically if planned judicially, so it is economically feasible.

• The cost of the project depends upon the number of man-hours required.

1
9
4. SOFTWARE DESCRIPTION

4.1. Bart Model

BART (Bidirectional and Auto-Regressive Transformers) is a natural language processing


(NLP) model introduced by Facebook AI Research. It's a transformer-based model designed
for various NLP tasks, including text generation and summarization. BART employs a
denoising autoencoder pre-training objective, where it learns to reconstruct a corrupted version
of the input text. This pre-training is followed by task-specific fine-tuning for different
applications such as text summarization and language translation. BART has demonstrated
strong performance on tasks requiring sequence-to-sequence learning and has been widely used
in the NLP community.

4.2. HTML

HTML (Hypertext Markup Language) is the standard markup language used for creating and
structuring content on the World Wide Web. It consists of a set of elements, each represented
by tags, which define the structure and semantics of a web page. HTML provides a framework
for organizing various types of content, such as text, images, links, and multimedia. Through a
hierarchical structure, HTML allows for the creation of documents that can be rendered in web
browsers. It forms the backbone of web development, serving as the fundamental language for
building the structure and layout of web pages. It is complemented by CSS (Cascading Style
Sheets) and JavaScript for enhanced design and interactivity.

4.3. CSS(Tailwind)

CSS (Cascading Style Sheets) is a styling language used in web development to control the
presentation and layout of HTML documents. It enables the separation of content and design,
allowing developers to define the appearance of elements like text, colors, and positioning.

Tailwind CSS is a utility-first CSS framework that streamlines the styling process. It provides a
set of pre-defined utility classes for common styles, eliminating the need to write custom CSS.

12
0
It's particularly popular for its flexibility and efficiency, allowing developers to create modern
and visually appealing user interfaces with minimal effort

4.4. Python

Python is an interpreted, object-oriented, high-level programming language with dynamic


semantics. Its high-level built-in data structures, combined with dynamic typing and dynamic
binding, make it very attractive for Rapid Application Development, as well as for use as a
scripting or glue language to connect existing components. Python's simple, easy-to-learn
syntax emphasizes readability and therefore reduces the cost of program maintenance. Python
supports modules and packages, which encourages program modularity and code reuse. The
Python interpreter and the extensive standard library are available in source or binary form
without charge for all major platforms and can be freely distributed.

4.5. Java Script

JavaScript is a versatile programming language primarily used for building dynamic and
interactive web pages. As a client-side scripting language, it runs in web browsers, enabling
developers to enhance user experiences by manipulating the Document Object Model (DOM)
in real time. JavaScript is essential for creating responsive and interactive elements, such as
form validation, animations, and asynchronous communication with servers. It has evolved
beyond the web, finding applications in server-side development (Node.js), mobile app
development, and even desktop applications. With its widespread adoption and robust
ecosystem, JavaScript plays a pivotal role in modern web development, contributing to the
creation of feature-rich and engaging online experiences.

4.6. Fast API

FastAPI is a modern, fast (as the name implies), web framework for building APIs with Python
3.7+ based on standard Python-type hints. It is designed to be easy to use, and efficient, and to
provide automatic interactive documentation through tools like Swagger UI and ReDoc.
FastAPI leverages asynchronous programming concepts, utilizing the Starlette and Pedantic
libraries to achieve high performance and automatic data validation. It allows developers to
build RESTful APIs quickly while benefiting from features like dependency injection, OAuth
12
1
support, and automatic OpenAPI and JSON Schema generation. The combination of speed,
simplicity, and type safety makes FastAPI a popular choice for building robust and efficient
web APIs in the Python ecosystem.

4.7. MoviePy

MoviePy is a free and open-source Python library that empowers you to create and edit videos
programmatically. It offers a convenient way to perform various video editing tasks using
Python code. With MoviePy, you can easily perform basic video editing operations like cutting
clips, joining them together, and adding titles. It also allows you to go beyond these basics and
do video compositing, which means combining multiple video clips and images into a single,
final video. You can even process your videos to apply transformations and effects.MoviePy
seamlessly handles a wide range of video formats, including popular ones like MP4, AVI,
WMV, and FLV. You can also work with animated GIFs.

4.8. Assembly API

AssemblyAI's API incorporates speaker diarization within its core transcription


functionality. This essentially tackles the challenge of identifying and separating speakers in an
audio file. Technically, the diarization model performs two key tasks:
Speaker Segmentation: It analyzes the audio stream to automatically determine the number of
distinct speakers present. This involves leveraging acoustic features like voice pitch, timbre,
and speaking style to differentiate between speakers.

Speech Attribution: After segmentation, the model assigns each segment (utterance) of speech
to the corresponding speaker. This involves creating speaker profiles based on the extracted
acoustic features and then matching subsequent speech segments to the most likely speaker
profile.

The API achieves this through advanced deep learning algorithms, aiming for near human-
level accuracy in speaker identification and separation. This functionality enriches the
transcript by including speaker labels within each utterance, allowing you to easily distinguish
between speakers during playback or analysis of the conversation.

12
2
5. PROBLEM DESCRIPTION

5.1. PROBLEM DEFINITION

Meetings are overflowing with information, making it hard to grasp key points. Our project
tackles this by offering a user-friendly tool that automatically summarizes meetings based on
content. It even personalizes summaries based on your questions, allowing you to quickly find
the information you need. This user-centric approach aims to revolutionize meeting
comprehension, saving time and effort for professionals seeking intelligent ways to extract
valuable insights.

5.2. PROJECT OVERVIEW

Primary Goal:
This project tackles the challenge of efficiently summarizing meetings while preserving the
crucial information of who said what. This empowers participants to understand the context of
discussions and easily locate specific speakers' contributions.

Technical Approach:
Meeting Input: The system accepts meeting recordings in various formats (e.g., audio, video).

Audio Extraction (if video input): If the input is a video file, the audio is first extracted for
further processing.

Speaker Diarization: A core component, speaker diarization identifies distinct speakers and
assigns labels to their speech segments. This creates a crucial foundation for associating spoken
content with specific individuals.

Summarization: Generates a concise and informative summary highlighting key points,


ensuring each point is attributed to the speaker who raised it. This can involve:

Extractive Summarization: Selecting key sentences from the speaker-labeled transcript.

Abstractive Summarization (Optional): Aiming for a more concise and human-readable


12
3
summary while preserving speaker attribution.

User Queries: Users can submit questions related to the meeting content through the chat
interface.

Query Response: The system processes the user's query in conjunction with the speaker-
labeled transcript:

Keyword Matching: Identifies relevant sections of the transcript based on keywords or


entities in the query.

Speaker-Specific Retrieval: Tailors the response by highlighting the speaker(s) who


addressed the relevant topics.

Future Considerations:
Advanced Chat Functionality: Explore incorporating features like natural language
understanding (NLU) in the chat interface to enable more comprehensive and nuanced user
queries.

Speaker Identification Improvement: Continuously refine speaker diarization models to


enhance the accuracy of speaker labeling.

Accessibility Features: Consider options like text-to-speech conversion for the chat interface
and transcript to cater to diverse user needs.

Overall, this project integrates speaker-labeled meeting summarization with a user-friendly


chat interface, empowering individuals to efficiently access information, understand speaker
contributions, and gain valuable insights from their meetings.

5.3. MODULE DESCRIPTION

python:
Python is a versatile and widely-used programming language renowned for its simplicity and
readability. Its elegant syntax and extensive libraries make it suitable for various applications,
from web development and data analysis to artificial intelligence and scientific computing. One
of Python's strengths lies in its flexibility, allowing developers to write code quickly and
12
4
efficiently. Its dynamic typing and automatic memory management contribute to rapid
development cycles, making it ideal for prototyping and iterative development processes.
Python's vibrant community fosters collaboration and innovation, with a vast ecosystem of
packages and frameworks continuously evolving to address diverse needs. Its cross-platform
compatibility ensures that code written in Python can run seamlessly on different operating
systems. Additionally, Python's accessibility makes it an excellent choice for beginners
learning to code, with an abundance of resources and tutorials available online. Its popularity
continues to grow, with Python being the language of choice for both novice programmers and
seasoned professionals alike.

HTML/CSS:

HTML (Hypertext Markup Language) is the standard markup language used for creating and
structuring content on the World Wide Web. It consists of a set of elements, each represented
by tags, which define the structure and semantics of a web page. HTML provides a framework
for organizing various types of content, such as text, images, links, and multimedia. Through a
hierarchical structure, HTML allows for the creation of documents that can be rendered in web
browsers. It forms the backbone of web development, serving as the fundamental language for
building the structure and layout of web pages. It is complemented by CSS (Cascading Style
Sheets) and JavaScript for enhanced design and interactivity.

CSS (Cascading Style Sheets) is a styling language used in web development to control the
presentation and layout of HTML documents. It enables the separation of content and design,
allowing developers to define the appearance of elements like text, colors, and positioning.

Tailwind CSS is a utility-first CSS framework that streamlines the styling process. It provides a
set of pre-defined utility classes for common styles, eliminating the need to write custom CSS.
Tailwind aims to be highly customizable and adaptable, empowering developers to build and
maintain consistent, responsive designs rapidly. It's particularly popular for its flexibility and
efficiency, allowing developers to create modern and visually appealing user interfaces with

12
5
minimal efforts.

5.3.1. MODELS:
Bart model

BART (Bidirectional and Auto-Regressive Transformers) is a state-of-the-art transformer-


based model that excels in various natural language processing tasks. Developed by Facebook
AI, BART combines bidirectional and autoregressive architectures, allowing it to generate text
fluently while also understanding context bidirectionally. Unlike traditional autoregressive
models, BART is pre-trained using denoising objectives, where it learns to reconstruct
corrupted text inputs. This training approach enables BART to effectively capture long-range
dependencies and generate coherent and contextually relevant outputs. BART's versatility
extends to tasks such as text summarization, language generation, and machine translation,
where it consistently achieves competitive performance. Moreover, BART's architecture
enables fine-tuning on specific downstream tasks with relatively small datasets, making it
adaptable to various applications. Its ability to produce high-quality text summaries while
preserving important information positions BART as a valuable tool for tasks requiring
sophisticated natural language understanding and generation. With its impressive capabilities
and wide-ranging applicability, BART continues to be a prominent model in the realm of
natural language processing, driving advancements in AI-powered language generation and
comprehension.

12
6
6. SYSTEM DESIGN

6.1 Introduction to UML

Unified Modeling Language (UML) is a general-purpose modeling language. The main


aim of UML is to define a standard way to visualize the way a system has been designed. It is
quite like blueprints used in other fields of engineering. UML is not a programming language;
it is rather a visual language. We use UML diagrams to portray the behavior and structure of a
system. UML helps software engineers, businessmen and system architects with modeling,
design and analysis. The Object Management Group (OMG) adopted Unified Modelling

Language as a standard in 1997. It's been managed by OMG ever since. International
Organization for Standardization (ISO) published UML as an approved standard in 2005. UML
has been revised over the years and is reviewed periodically.

Why we need UML

Complex applications need collaboration and planning from multiple teams and hence require a
clear and concise way to communicate amongst them.

Businessmen do not understand code. So, UML becomes essential to communicate with
nonprogrammers’ essential requirements, functionalities and processes of the system.

A lot of time is saved down the line when teams can visualize processes, user interactions and
static structure of the system.

UML is linked with object-oriented design and analysis. UML makes the use of
elements and forms associations between them to form diagrams. Diagrams in UML can be
broadly classified as:

• Structural Diagrams – Capture static aspects or structure of a system. Structural Diagrams


include Component Diagrams, Object Diagrams, Class Diagrams and Deployment Diagrams.

22
7
• Behaviour Diagrams – Capture dynamic aspects or behaviour of the system. Behaviour
diagrams include Use Case Diagrams, State Diagrams, Activity Diagrams and Interaction
Diagrams.

Building Blocks of the UML Building Blocks of the UML Building Blocks of the UML

Fig 6.1 BUILDING BLOCKS IN UML

6.2 Building Block of the UML


The vocabulary of the UML encompasses three kinds of building blocks:

• Things
• Relationships
• Diagrams

Things are the abstractions that are first-class citizens in a model; relationships tie these
things together; diagrams group interesting collections of things.

22
8
Things in the UML

There are four kinds of things in the UML:

• Structural things
• Behavioural things
• Grouping things
• Annotational things

These things are the basic object-oriented building blocks of the UML. You use them to write
well-formed models.

Structural Things

Structural things are the nouns of UML models. These are the mostly static parts of a
model, representing elements that are either conceptual or physical. Collectively, the structural
things are called classifiers.

A class is a description of a set of objects that share the same attributes, operations,
relationships, and semantics. A class implements one or more interfaces. Graphically, a class is
rendered as a rectangle, usually including its name, attributes, and operations

Class - A Class is a set of identical things that outlines the functionality and properties of an
object. It also represents the abstract class whose functionalities are not defined. Its notation is
as follows

Interface - A collection of functions that specify a service of a class or component, i.e.,


Externally visible behavior of that class.

22
9
Collaboration - A larger pattern of behaviors and actions. Example: All classes and behaviors
that create the modeling of a moving tank in a simulation.

Use Case - A sequence of actions that a system performs that yields an observable result.
Used to structure behavior in a model. Is realized by collaboration.

Component - A physical and replaceable part of a system that implements a number of


interfaces. Example: a set of classes, interfaces, and collaborations.

Node - A physical element existing at run time and represents are source.

23
0
Behavioral Things

Behavioral things are the dynamic parts of UML models. These are the verbs of a model,
representing behavior over time and space. In all, there are three primary kinds of behavioral
things

• Interaction
• State machine

Interaction

It is a behavior that comprises a set of messages exchanged among a set of objects or


roles within a particular context to accomplish a specific purpose. The behavior of a society of
objects or of an individual operation may be specified with an interaction. An interaction
involves a number of other elements, including messages, actions, and connectors (the
connection between objects). Graphically, a message is rendered as a directed line, almost
always including the name of its operation.

State machine

State machine is a behaviour that specifies the sequences of states an object or an


interaction goes through during its lifetime in response to events, together with its responses to
those events. The behaviour of an individual class or a collaboration of classes may be
specified with a state machine. A state machine involves a number of other elements, including
states, transitions (the flow from state to state), events (things that trigger a transition), and
activities (the response to a transition). Graphically, a state is rendered as a rounded rectangle,
usually including its name and its substates.

23
1
Grouping Things

Grouping things can be defined as a mechanism to group elements of a UML model


together. There is only one grouping thing available.

Package − Package is the only one grouping thing available for gathering structural and
behavioural things.

Annotational Things
Annotational things are the explanatory parts of UML models. These are the comments
you may apply to describe, illuminate, and remark about any element in a model. There is one
primary kind of annotational thing, called a note. A note is simply a symbol for rendering
constraints and comments attached to an element or a collection of elements.

Relationships in the UML

Relationship is another most important building block of UML. It shows how the
elements are associated with each other and this association describes the functionality of an
application.

There are four kinds of relationships in the UML:

• Dependency
• Association
• Generalization
• Realization

30
Dependency
It is an element (the independent one) that may affect the semantics of the other element (the
dependent one). Graphically, a dependency is rendered as a dashed line, possibly directed, and
occasionally including a label.

Association
Association is basically a set of links that connects the elements of a UML model. It
also describes how many objects are taking part in that relationship.

Generalization
It is a specialization/generalization relationship in which the specialized element (the
child) builds on the specification of the generalized element (the parent). The child shares the
structure and the behavior of the parent. Graphically, a generalization relationship is rendered
as a solid line with a hollow arrowhead pointing to the parent.

Realization
Realization can be defined as a relationship in which two elements are connected. One
element describes some responsibility, which is not implemented and the other one implements
them. This relationship exists in case of interfaces.
31
6.3 UML DIAGRAMS

UML is a modern approach to modeling and documenting software. It is based on


diagrammatic representations of software components. It is the final output, and the diagram
represents the system.

UML includes the following

• Class diagram
• Object diagram
• Component diagram
• Composite structure diagram
• Use case diagram
• Sequence diagram
• Communication diagram
• State diagram
• Activity diagram

32
Fig 6.2 Use-Case diagram

33
Fig 6.3 Sequence Diagram

Fig 6.4
34
7. DEVELOPMENT

7.1. RAW DATA Pneumonia Dataset

Fig 7.1 Xray of various patients for detecting Pneumonia

Covid Dataset

Fig 7.2 Xray of various patients for detecting Covid

35
Alzheimer’s dataset

Fig 7.3 MRI Scan of various patients for detecting Alzheimer’s

Breast Cancer dataset

Fig 7.4 Lab results of various patients for detecting breast cancer

36
Diabetes dataset

Fig 7.5 Lab results of various patients for detecting diabetes

37
7.2. SAMPLE CODE
app.py

from flask import Flask, flash, request, redirect, url_for, render_template import urllib.request

import os

from werkzeug.utils import secure_filename import cv2

import pickle import imutils import sklearn

from tensorflow.keras.models import load_model # from pushbullet import PushBullet

import joblib import numpy as np

from tensorflow.keras.applications.vgg16 import preprocess_input # Loading Models

covid_model = load_model('models/covid.h5') braintumor_model =

load_model('models/braintumor.h5') alzheimer_model =

load_model('models/alzheimer_model.h5') diabetes_model =

pickle.load(open('models/diabetes.sav', 'rb'))

heart_model = pickle.load(open('models/heart_disease.pickle.dat', "rb"))

38
pneumonia_model = load_model('models/pneumonia_model.h5') breastcancer_model =

joblib.load('models/cancer_model.pkl')

# Configuring Flask UPLOAD_FOLDER = 'static/uploads'

ALLOWED_EXTENSIONS = set(['png', 'jpg', 'jpeg']) app = Flask( name )

app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 0 app.config['UPLOAD_FOLDER'] =

UPLOAD_FOLDER

app.secret_key = "secret key" def allowed_file(filename):

return '.' in filename and filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS def

preprocess_imgs(set_name, img_size):

"""

Resize and apply VGG-15 preprocessing """

set_new = []

for img in set_name:

img = cv2.resize(img,dsize=img_size,interpolation=cv2.INTER_CUBIC)

set_new.append(preprocess_input(img))

return np.array(set_new)

def crop_imgs(set_name, add_pixels_value=0): """

39
Finds the extreme points on the image and crops the rectangular out of them """

set_new = []

for img in set_name:

gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY) gray = cv2.GaussianBlur(gray, (5, 5), 0)

# threshold the image, then perform a series of erosions + # dilations to remove any small

regions of noise

thresh = cv2.threshold(gray, 45, 255, cv2.THRESH_BINARY)[1] thresh = cv2.erode(thresh,

None, iterations=2)

thresh = cv2.dilate(thresh, None, iterations=2)

# find contours in thresholded image, then grab the largest one cnts = cv2.findContours(

thresh.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) cnts =

imutils.grab_contours(cnts)

c = max(cnts, key=cv2.contourArea) # find the extreme points

extLeft = tuple(c[c[:, :, 0].argmin()][0])

extRight = tuple(c[c[:, :, 0].argmax()][0])

extTop = tuple(c[c[:, :, 1].argmin()][0])

extBot = tuple(c[c[:, :, 1].argmax()][0])

ADD_PIXELS = add_pixels_value

new_img = img[extTop[1]-ADD_PIXELS:extBot[1]+ADD_PIXELS,

31
0
extLeft[0]-ADD_PIXELS:extRight[0]+ADD_PIXELS].copy()

set_new.append(new_img)

return np.array(set_new) @app.route('/')

def home():

return render_template('homepage.html')

@app.route('/covid') def covid():

return render_template('covid.html') @app.route('/breastcancer')

def breast_cancer():

return render_template('breastcancer.html') @app.route('/braintumor')

def brain_tumor():

return render_template('braintumor.html') @app.route('/diabetes')

def diabetes():

return render_template('diabetes.html') @app.route('/alzheimer')

def alzheimer():

return render_template('alzheimer.html')

40
@app.route('/pneumonia') def pneumonia():

return render_template('pneumonia.html') @app.route('/heartdisease')

def heartdisease():

return render_template('heartdisease.html') @app.route('/resultc', methods=['POST'])

def resultc():

if request.method == 'POST': firstname = request.form['firstname'] lastname =

request.form['lastname'] email = request.form['email']

phone = request.form['phone'] gender = request.form['gender'] age = request.form['age']

file = request.files['file']

if file and allowed_file(file.filename): filename = secure_filename(file.filename)

file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename)) flash('Image successfully

uploaded and displayed below')

img = cv2.imread('static/uploads/'+filename) img = cv2.resize(img, (224, 224))

img = img.reshape(1, 224, 224, 3)

41
img = img/255.0

pred = covid_model.predict(img) if pred < 0.5:

pred = 0 else:

pred = 1

# pb.push_sms(pb.devices[0],str(phone), 'Hello {},\nYour COVID-19 test results are


ready.\nRESULT: {}'.format(firstname,['POSITIVE','NEGATIVE'][pred]))

return render_template('resultc.html', filename=filename, fn=firstname, ln=lastname,


age=age, r=pred, gender=gender)

else:

flash('Allowed image types are - png, jpg, jpeg') return redirect(request.url)

@app.route('/resultbt', methods=['POST']) def resultbt():

if request.method == 'POST': firstname = request.form['firstname'] lastname =

request.form['lastname'] email = request.form['email']

phone = request.form['phone'] gender = request.form['gender'] age = request.form['age']

file = request.files['file']

42
if file and allowed_file(file.filename): filename = secure_filename(file.filename)

file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename)) flash('Image successfully

uploaded and displayed below')

img = cv2.imread('static/uploads/'+filename) img = crop_imgs([img])

img = img.reshape(img.shape[1:])

img = preprocess_imgs([img], (224, 224)) pred = braintumor_model.predict(img)

if pred < 0.5: pred = 0

else:

pred = 1

# pb.push_sms(pb.devices[0],str(phone), 'Hello {},\nYour Brain Tumor test results are


ready.\nRESULT: {}'.format(firstname,['NEGATIVE','POSITIVE'][pred]))

return render_template('resultbt.html', filename=filename, fn=firstname, ln=lastname,


age=age, r=pred, gender=gender)

else:

flash('Allowed image types are - png, jpg, jpeg') return redirect(request.url)

@app.route('/resultd', methods=['POST']) def resultd():

if request.method == 'POST':

43
firstname = request.form['firstname'] lastname = request.form['lastname'] email =

request.form['email']

phone = request.form['phone'] gender = request.form['gender']

pregnancies = request.form['pregnancies'] glucose = request.form['glucose'] bloodpressure =

request.form['bloodpressure'] insulin = request.form['insulin']

bmi = request.form['bmi']

diabetespedigree = request.form['diabetespedigree'] age = request.form['age']

skinthickness = request.form['skin'] pred = diabetes_model.predict(

[[pregnancies, glucose, bloodpressure, skinthickness, insulin, bmi, diabetespedigree,


age]])

# pb.push_sms(pb.devices[0],str(phone), 'Hello {},\nYour Diabetes test results are ready.\


nRESULT: {}'.format(firstname,['NEGATIVE','POSITIVE'][pred]))

return render_template('resultd.html', fn=firstname, ln=lastname, age=age, r=pred,


gender=gender)

@app.route('/resultbc', methods=['POST']) def resultbc():

if request.method == 'POST':

44
firstname = request.form['firstname'] lastname = request.form['lastname'] email =

request.form['email']

phone = request.form['phone'] gender = request.form['gender'] age = request.form['age']

cpm = request.form['concave_points_mean'] am = request.form['area_mean']

rm = request.form['radius_mean']

pm = request.form['perimeter_mean'] cm = request.form['concavity_mean'] pred =

breastcancer_model.predict(

np.array([cpm, am, rm, pm, cm]).reshape(1, -1))

# pb.push_sms(pb.devices[0],str(phone), 'Hello {},\nYour Breast Cancer test results are


ready.\nRESULT: {}'.format(firstname,['NEGATIVE','POSITIVE'][pred]))

return render_template('resultbc.html', fn=firstname, ln=lastname, age=age, r=pred,


gender=gender)

@app.route('/resulta', methods=['GET', 'POST']) def resulta():

if request.method == 'POST': print(request.url)

firstname = request.form['firstname'] lastname = request.form['lastname']

45
email = request.form['email'] phone = request.form['phone'] gender = request.form['gender']

age = request.form['age']

file = request.files['file']

if file and allowed_file(file.filename): filename = secure_filename(file.filename)

file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename)) flash('Image successfully

uploaded and displayed below')

img = cv2.imread('static/uploads/'+filename) img = cv2.resize(img, (176, 176))

img = img.reshape(1, 176, 176, 3) img = img/255.0

pred = alzheimer_model.predict(img) pred = pred[0].argmax()

print(pred)

# pb.push_sms(pb.devices[0],str(phone), 'Hello {},\nYour Alzheimer test results are


ready.\nRESULT:

{}'.format(firstname,['NonDemented','VeryMildDemented','MildDemented','ModerateDe
mented'][pred]))

return render_template('resulta.html', filename=filename, fn=firstname, ln=lastname,


age=age, r=0, gender=gender)

else:

flash('Allowed image types are - png, jpg, jpeg')

46
return redirect('/')

@app.route('/resultp', methods=['POST']) def resultp():

if request.method == 'POST': firstname = request.form['firstname'] lastname =

request.form['lastname'] email = request.form['email']

phone = request.form['phone'] gender = request.form['gender'] age = request.form['age']

file = request.files['file']

if file and allowed_file(file.filename): filename = secure_filename(file.filename)

file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename)) flash('Image successfully

uploaded and displayed below')

img = cv2.imread('static/uploads/'+filename) img = cv2.resize(img, (150, 150))

img = img.reshape(1, 150, 150, 3) img = img/255.0

pred = pneumonia_model.predict(img) if pred < 0.5:

47
pred = 0

else:

pred = 1

# pb.push_sms(pb.devices[0],str(phone), 'Hello {},\nYour COVID-19 test results are


ready.\nRESULT: {}'.format(firstname,['POSITIVE','NEGATIVE'][pred]))

return render_template('resultp.html', filename=filename, fn=firstname, ln=lastname,


age=age, r=pred, gender=gender)

else:

flash('Allowed image types are - png, jpg, jpeg') return redirect(request.url)

@app.route('/resulth', methods=['POST']) def resulth():

if request.method == 'POST': firstname = request.form['firstname'] lastname =

request.form['lastname'] email = request.form['email']

phone = request.form['phone'] gender = request.form['gender'] nmv =

float(request.form['nmv']) tcp = float(request.form['tcp']) eia = float(request.form['eia']) thal =

float(request.form['thal'])

48
op = float(request.form['op']) mhra = float(request.form['mhra']) age =

float(request.form['age'])

print(np.array([nmv, tcp, eia, thal, op, mhra, age]).reshape(1, -1)) pred = heart_model.predict(

np.array([nmv, tcp, eia, thal, op, mhra, age]).reshape(1, -1))

# pb.push_sms(pb.devices[0],str(phone), 'Hello {},\nYour Diabetes test results are ready.\


nRESULT: {}'.format(firstname,['NEGATIVE','POSITIVE'][pred]))

return render_template('resulth.html', fn=firstname, ln=lastname, age=age, r=pred,


gender=gender)

# No caching at all for API endpoints. @app.after_request

def add_header(response): """

Add headers to both force latest IE rendering engine or Chrome Frame, and also to cache the

rendered page for 10 minutes.

"""

response.headers['X-UA-Compatible'] = 'IE=Edge,chrome=1' response.headers['Cache-

Control'] = 'public, max-age=0' return response

if name == ' main ': app.run(debug=True)

49
homepage.html
<!doctype html>

<html lang="en">

<style>

.headstyle {

color: rgb(255, 255, 255); font-variant: petite-caps;

background-color: rgb(0, 0, 0, 0.8); margin-bottom: 0px

.divstyle {

border-radius: 10px 10px 10px 10px; margin-left: 1px;

margin-right: 1px

</style>

<head>

<!-- Required meta tags -->

<meta charset="utf-8">

<meta name="viewport" content="width=device-width, initial-scale=1">

50
<!-- Bootstrap CSS -->

50
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0- beta3/dist/css/bootstrap.min.css"
rel="stylesheet" integrity="sha384
eOJMYsd53ii+scO/bJGFsiCZc+5NDVN2yr8+0RDqr0Ql0h+rP48ckxlpbzKgwra6"
crossorigin="anonymous">

<title>AdvaCare</title>

</head>

<body>

<nav class="navbar navbar-expand-lg navbar-dark bg-dark">

<div class="container-fluid">

<a class="navbar-brand" href="/">AdvaCare</a>

<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-

target="#navbarSupportedContent" aria-
controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">

<span class="navbar-toggler-icon"></span>

</button>

<div class="collapse navbar-collapse" id="navbarSupportedContent">

<ul class="navbar-nav ms-auto mb-2 mb-lg-0">

<li class="nav-item">

<a class="nav-link " aria-current="page" href="/covid">Covid</a>

</li>

<li class="nav-item">
51
<a class="nav-link " aria-current="page" href="/breastcancer">Breast
Cancer</a>

52
</li>

<li class="nav-item">

<a class="nav-link " aria-current="page" href="/alzheimer">Alzheimer</a>

</li>

<li class="nav-item">

<a class="nav-link " aria-current="page" href="/diabetes">Diabetes</a>

</li>

<li class="nav-item">

<a class="nav-link " aria-current="page" href="/pneumonia">Pneumonia</a>

</li>

</ul>

</div>

</div>

</nav>

<h1 class='text-center py-3'

style="font-variant: petite-caps;margin-bottom:0px">

<b><i>Integrating different illness prediction methods into a single interface</i></b>

</h1>

<div class="row" style="font-size: 20px;padding: 0px 50px 50px 50px;">

53
<p> The web application is about integrating different illness prediction methods into a
single interface.The web application determines whether a specific person is

54
suffering from a specific disease or not. It is an all in one medical solution which brings 5
Disease Detections like Covid Detection, Breast Cancer Detection, Alzheimer Detection,
Diabetes Detection and Pneumonia Detection under one platform.</p>

<h2 class='text-center py-3'

style="color: rgb(255, 255, 255);font-variant: petite-caps;background-color: rgb(0, 0,


0);margin-bottom:0px">

<b><i>5 Disease Detections</i></b>

</h2>

<div class='divstyle' style='margin:40px 20px 60px 20px'>

<div class="row py-3">

<div class="col md-3">

<h3 class='text-center py-3 headstyle' style="font-size: 18px;"><b>Covid


Detection</b></h3>

<a href="./covid"><img src="../static/icons/covid.jpg" class="img-fluid mx- auto


d-block"></a>

</div>

<div class="col md-3">

<h3 class='text-center py-3 headstyle' style="font-size: 18px;"><b>Breast Cancer


Detection</b></h3>

<a href="./breastcancer"><img src="../static/icons/breastcancer.png" class="img-fluid mx-auto d-

block"></a>

</div>

55
<div class="col md-3">

<h3 class='text-center py-3 headstyle' style="font-size: 18px;"><b>Alzheimer


Detection</b></h3>

56
<a href="./alzheimer"><img src="../static/icons/alzheimer.png" class="img-fluid mx-auto d-

block"></a>

</div>

</div>

</div>

<div class='divstyle' style='margin:40px 20px 60px 20px'>

<div class="row py-3">

<div class="col md-3">

<h3 class='text-center py-3 headstyle' style="font-size: 18px;"><b>Diabetes


Detection</b></h3>

<a href="./diabetes"><img src="../static/icons/diabetes.png" class="img- fluid mx-


auto d-block"></a>

</div>

<div class="col md-3">

<h3 class='text-center py-3 headstyle' style="font-size: 18px;"><b>Pneumonia


Detection</b></h3>

<a href="./pneumonia"><img src="../static/icons/pneumonia.png" class="img-fluid mx-auto d-

block"></a>

</div>

<div class="col md-3">

</div>
57
</div>

</div>

58
<h3 class='text-center py-3'

style="color: rgb(255, 255, 255);font-variant: petite-caps;background-color: rgb(0, 0,


0);margin-bottom:0px">

<b><i>AI in HealthCare</i></b>

</h3>

<div class="row py-3" style='margin-bottom: 30px;'>

<div class="col">

<p class="text-left" style='font-size:18px'>

The artificial intelligence (AI) technologies becoming ever present in modern


business and everyday life is also steadily being applied to healthcare. The use of artificial
intelligence in healthcare has the potential to assist healthcare providers in many aspects of
patient care and administrative processes. Most AI and healthcare technologies have strong
relevance to the healthcare field, but the tactics they support can vary significantly. And while
some articles on artificial intelligence in healthcare suggest that the use of artificial intelligence
in healthcare can perform just as well or better than humans at certain procedures, such as
diagnosing disease, it will be a significant number of years before AI in healthcare replaces
humans for a broad range of medical tasks. </p>

</div>

<div class="col">

<img src="../static/healthcure.png" class="img-fluid rounded mx-auto d-block"


alt="...">

</div>

</div>

59
<h3 class='text-center py-3'

style="color: rgb(255, 255, 255);font-variant: petite-caps;background-color: rgb(0, 0,


0);margin-bottom:0px">

<b><i>Machine Learning</i></b>

</h3>

<div class="row py-3" style='margin-bottom: 30px'>

<div class="col">

<p class="text-left" style='font-size:18px'>

Machine learning is one of the most common forms of artificial intelligence in


healthcare. It is a broad technique at the core of many approaches to AI and healthcare
technology and there are many versions of it. Using artificial intelligence in healthcare, the
most widespread utilization of traditional machine learning is precision medicine. Being able to
predict what treatment procedures are likely to be successful with patients based on their make-
up and the treatment framework is a huge leap forward for many healthcare organizations. The
majority of AI in healthcare that uses machine learning and precision medicine applications
require data for training, for which the end result is known. This is known as supervised
learning.</p>

</div>

<div class="col">

<img src="../static/ml.png" class="img-fluid rounded mx-auto d-block"


alt="...">

</div>

</div>

51
0
<h3 class='text-center py-3'

style="color: rgb(255, 255, 255);font-variant: petite-caps;background-color: rgb(0, 0,


0);margin-bottom:0px">

<b><i>Natural Language Processing</i></b>

</h3>

<div class="row py-3" style='margin-bottom: 30px'>

<div class="col">

<p class="text-left" style='font-size:18px'>

Making sense of human language has been a goal of artificial intelligence and
healthcare technology for over 50 years. Most NLP systems include forms of speech
recognition or text analysis and then translation. A common use of artificial intelligence in
healthcare involves NLP applications that can understand and classify clinical documentation.
NLP systems can analyze unstructured clinical notes on patients, giving incredible insight into
understanding quality, improving methods, and better results for patients. </p>

</div>

<div class="col">

<img src="../static/nlp.jpg" class="img-fluid rounded mx-auto d-block"


style='width:auto; height:300px'

alt="...">

</div>

</div>

</div>

51
1
<footer class='text-light bg-dark position-relative '>

<p class='text-center py-1 my-0'> Made by Team - 47

</p>

</footer>

<!-- Option 1: Bootstrap Bundle with Popper -->

<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-
beta3/dist/js/bootstrap.bundle.min.js"

integrity="sha384-
JEW9xMcG8R+pH31jmWH6WWP0WintQrMb4s7ZOdauHnUtxwoG2vI5DkLtS3qm9E kf"

crossorigin="anonymous"></script>

</body>

</html>

51
2
7.3. RESULTS INITIAL WEBPAGE

Fig 7.6 The homepage of our website contains following listed diseases. They are- Pneumonia,
Covid, Alzheimer’s, Breast Cancer, and Diabetes.

51
3
Covid Detection

Fig 7.7 The user provides following input values- First name, Last name, Phone number,
Email, Gender, Age, and also upload their chest scan.

Fig 7.8 The model analyzes the image and displays the result accordingly. In the above case
the model displays the result as positive.

60
Fig 7.9 The user provides following input values- First name, Last name, Phone number,
Email, Gender, Age, and also upload their chest scan.

Fig 7.10 The model analyzes the image and displays the result accordingly. In the above case
the model displays the result as negative.

61
Breast Cancer detection

Fig 7.11 The user provides following input values- First name, Last name, Phone number,
Email, Gender, Age, concave points mean, area mean, radius mean, perimeter mean, concavity
mean.

Fig 7.12 The model analyzes the values and displays the result accordingly. In the above case
the model displays the result as malignant (high in effect).

62
Fig 7.13 The user provides following input values- First name, Last name, Phone number,
Email, Gender, Age, concave points mean, area mean, radius mean, perimeter mean, concavity
mean.

Fig 7.14 The model analyzes the values and displays the result accordingly. In the above case
the model displays the result as benign (no effect).

63
Alzheimer’s detection

Fig 7.15 The user provides following input values- First name, Last name, Phone number,
Email, Gender, Age, and also upload their MRI scan.

Fig 7.16 The model analyzes the image and displays the result accordingly. In the above case
the model displays the result as Nondemented (no effect).

64
Diabetes detection

Fig 7.17 The user provides following input values- First name, Last name, Phone number,
Email, Gender, Age, number of pregnancies, glucose, blood pressure, skin thickness, insulin,
BMI, diabetes pedigree.

Fig 7.18 The model analyzes the values and displays the result accordingly. In the above case
the model displays the result as positive.

65
Fig 7.19 The user provides following input values- First name, Last name, Phone number,
Email, Gender, Age, number of pregnancies, glucose, blood pressure, skin thickness, insulin,
BMI, diabetes pedigree.

Fig 7.20 The model analyzes the values and displays the result accordingly. In the above case
the model displays the result as negative.

66
Pneumonia detection

Fig 7.21 The user provides following input values- First name, Last name, Phone number,
Email, Gender, Age, and also upload their chest scan.

Fig 7.22 The model analyzes the image and displays the result accordingly. In the above case
the model displays the result as positive.

67
Fig 7.23 The user provides following input values- First name, Last name, Phone number,
Email, Gender, Age, and also upload their chest scan.

Fig 7.24 The model analyzes the image and displays the result accordingly. In the above case
the model displays the result as negative.

68
8. TESTING

8.1 INTRODUCTION TO TESTING

Software Testing is defined as an activity to check whether the actual results match the
expected results and to ensure that the software system is Defect free. It involves the execution
of a software component or system component to evaluate one or more properties of interest. It
is required for evaluating the system. This phase is the critical phase of software quality
assurance and presents the ultimate view of coding.

Importance of Testing
The importance of software testing is imperative. A lot of times this process is skipped,
therefore, the product and business might suffer. To understand the importance of testing, here
are some key points to explain

• Software Testing saves money


• Provides Security
• Improves Product Quality
• Customer satisfaction

Testing is of different ways The main idea behind the testing is to reduce the errors and do it
with a minimum time and effort.

Benefits of Testing
• Cost-Effective: It is one of the important advantages of software testing. Testing any IT
project on time helps you to save your money for the long term. In case if the bugs caught in
the earlier stage of software testing, it costs less to fix.

• Security: It is the most vulnerable and sensitive benefit of software testing. People are looking
for trusted products. It helps in removing risks and problems earlier.

• Product quality: It is an essential requirement of any software product. Testing ensures a


quality product is delivered to customers.

69
• Customer Satisfaction: The main aim of any product is to give satisfaction to their customers.
UI/UX Testing ensures the best user experience.

Different types of Testing


Unit Testing: Unit tests are very low level, close to the source of your application. They
consist in testing individual methods and functions of the classes, components or modules used
by your software. Unit tests are in general quite cheap to automate and can be run very quickly
by a continuous integration server.

Integration Testing: Integration tests verify that different modules or services used by your
application work well together. For example, it can be testing the interaction with the database
or making sure that microservices work together as expected. These types of tests are more
expensive to run as they require multiple parts of the application to be up and running.

Functional Tests: Functional tests focus on the business requirements of an application. They
only verify the output of an action and do not check the intermediate states of the system when
performing that action.

There is sometimes a confusion between integration tests and functional tests as they both
require multiple components to interact with each other. The difference is that an integration
test may simply verify that you can query the database while a functional test would expect to
get a specific value from the database as defined by the product requirements.

Regression Testing: Regression testing is a crucial stage for the product & very useful for the
developers to identify the stability of the product with the changing requirements. Regression
testing is a testing that is done to verify that a code change in the software does not impact the
existing functionality of the product.

70
System Testing: System testing of software or hardware is testing conducted on a complete
integrated system to evaluate the system’s compliance with its specified requirements. System
testing is a series of different tests whose primary purpose is to fully exercise the computer-
based system.

Performance Testing: It checks the speed, response time, reliability, resource usage,
scalability of a software program under their expected workload. The purpose of Performance
Testing is not to find functional defects but to eliminate performance bottlenecks in the
software or device.

Alpha Testing: This is a form of internal acceptance testing performed mainly by the in- house
software QA and testing teams. Alpha testing is the last testing done by the test teams at the
development site after the acceptance testing and before releasing the software for the beta test.
It can also be done by the potential users or customers of the application. But still, this is a
form of in-house acceptance testing.

Beta Testing: This is a testing stage followed by the internal full alpha test cycle. This is the
final testing phase where the companies release the software to a few external user groups
outside the company test teams or employees. This initial software version is known as the beta
version. Most companies gather user feedback in this release.

Black Box Testing: It is also known as Behavioural Testing, is a software testing method in
which the internal structure/design/implementation of the item being tested is not known to the
tester. These tests can be functional or non-functional, though usually functional.

71
Fig 8.1.1 Blackbox Testing
This method is named so because the software program, in the eyes of the tester, is like a black
box; inside which one cannot see. This method attempts to find errors in the following
categories:

• Incorrect or missing functions


• Interface errors
• Errors in data structures or external database access
• Behaviour or performance errors
• Initialization and termination errors

White Box Testing: White box testing (also known as Clear Box Testing, Open Box Testing,
Glass Box Testing, Transparent Box Testing, Code-Based Testing or Structural Testing) is a
software testing method in which the internal structure/design/implementation of the item
being tested is known to the tester. The tester chooses inputs to exercise paths through the code
and determines the appropriate outputs. Programming know-how and the implementation
knowledge is essential. White box testing is testing beyond the user interface and into the nitty-
gritty of a system. This method is named so because the software program, in the eyes of the
tester, is like a white/transparent box; inside which one clearly sees.

Fig 8.1.2 Whitebox Testing

72
9. CONCLUSION

In conclusion , our multi-domain meeting summarizer is a big step forward in helping people
understand meetings better and get more done. It can handle all kinds of meeting content, from
text to videos, in different fields like academic ,product , committee. Our system is easy to use
and has cool features like figuring out the mood of the meeting, knowing who's talking, and
even transcribing in real-time.

With our summarizer, participants can quickly get the important stuff from meetings and make
smart decisions. Plus, you can add links to videos, like from YouTube, making it super easy to
summarize without typing everything out.

Our tool is designed to fit the needs of modern workplaces and can be customized to suit
different styles and preferences. It's a game-changer for boosting teamwork, decision-making,
and getting things done efficiently across different industries. We're always working to make it
even better and revolutionize how meetings are handled and understood in the professional
world.Looking ahead, we're committed to expanding the capabilities of our meeting
summarizer even further. This includes exploring additional features like language translation
to support global collaboration, as well as incorporating accessibility options to ensure
inclusivity for all users. Additionally, we aim to enhance the integration with existing
productivity tools, such as calendar apps and project management platforms, to seamlessly
streamline the meeting workflow from start to finish. By continuously innovating and adapting
to the evolving needs of our users, we aspire to establish our meeting summarizer as an
indispensable tool for efficient communication and collaboration in the workplace.

73
10. FUTURE SCOPE

In the realm of meeting summarization, our project's scope extends beyond mere content
extraction. We aim to enhance comprehension and productivity by incorporating advanced
features and functionalities. This includes the implementation of sentiment analysis to gauge
the tone and mood of discussions, allowing participants to better understand the overall
sentiment of the meeting. Additionally, we plan to integrate speaker identification technology
to accurately attribute statements and contributions to specific individuals, facilitating easier
follow-up and accountability.

Furthermore, we envision incorporating natural language processing techniques to identify


action items, decisions, and key takeaways from the meeting discussions automatically. By
doing so, our tool will not only provide a condensed summary but also actionable insights,
streamlining post-meeting processes and fostering effective execution of tasks. Additionally,
we aim to introduce personalized summarization options, allowing users to prioritize and
customize summaries based on their individual preferences and priorities

Looking ahead, our project aims to introduce real-time summarization capabilities, enabling
participants to access concise summaries promptly.

This real-time feature enhances engagement and facilitates better decision-making, ensuring
alignment with the discussion's key points. Overall, our project's future scope is geared towards
revolutionizing meeting comprehension through the integration of advanced technologies and
customizable features tailored to diverse user needs and preferences.

74
11. REFERENCE LINKS

1. https://towardsdatascience.com/training-a-random-forest-to-identify-malignant-
breast- cancer-tumors-49e8a69fc964

2. https://www.sciencedirect.com/science/article/pii/S187705092300025X#:~:text=The%
20Random%20Forest%20algorithm%20outperforms,of%20multiple%20feature%20selec tion
%20methods.

3. https://datascience.stackexchange.com/questions/55556/how-to-calculate-pedigree-
function-in-diabetes-prediction

4. https://www.analyticsvidhya.com/blog/2020/09/pneumonia-detection-using-cnn-with-
implementation-in-python/

5.https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8614951/

6.https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8083897/

7. https://www.upgrad.com/blog/basic-cnn architecture/#:~:text=other%20advanced
%20tasks.-

,What%20is%20the%20architecture%20of%20CNN%3F,the%20main%20responsibility
%20for%20computation.

8.https://www.analyticsvidhya.com/blog/2021/06/understanding-random-forest/

9.https://www.javatpoint.com/flask-tutorial

10.https://en.wikipedia.org/wiki/TensorFlow

11. https://matplotlib.org/

12. https://www.google.com/search?q=random+forest+algorithm&rlz=1C1UEAD_enIN9
89IN989&sxsrf=APwXEdeVp5Fpz0VQs4GL7fvyDc3YzgXt_Q:1680201532651&sourc
e=lnms&tbm=isch&sa=X&ved=2ahUKEwjbwYS8poT-
AhU7nmMGHSeHAfUQ_AUoAXoECAEQAw&biw=1366&bih=649&dpr=1#imgrc=to
75
Kd_5-L6dtcLM

76

You might also like