You are on page 1of 10

Software Requiement

Specifications
for

Fake News Detector

Version 1.1

Prepared by

Group Name: HS & co.


Huzaifa Shuja SE - 093 huzaifashuja@gmail.com
Hassan-ur-Rehman SE - 062 hassanurrehman@gmail.com
Muhammad Sufyan SE - 060 sufyan@gmail.com
Taber Bin Zameer SE - 082 tbzameer@gmail.com

Instructor: Miss Zainab Fatima


Date: 9th November, 2019
Content

REVISIONS................................................................................................................................................................III
1 INTRODUCTION................................................................................................................................................1
1.1 DOCUMENT PURPOSE.................................................................................................................................1
1.2 PRODUCT SCOPE........................................................................................................................................1
1.3 INTENDED AUDIENCE AND DOCUMENT OVERVIEW....................................................................................1
1.4 DEFINITIONS, ACRONYMS AND ABBREVIATIONS........................................................................................1
1.5 DOCUMENT CONVENTIONS.........................................................................................................................1
1.6 REFERENCES AND ACKNOWLEDGMENTS...................................................................................................2
2 OVERALL DESCRIPTION...............................................................................................................................3
2.1 PRODUCT PERSPECTIVE.............................................................................................................................3
2.2 PRODUCT FUNCTIONALITY..........................................................................................................................3
2.3 USERS AND CHARACTERISTICS..................................................................................................................3
2.4 OPERATING ENVIRONMENT.........................................................................................................................3
2.5 DESIGN AND IMPLEMENTATION CONSTRAINTS..........................................................................................4
2.6 USER DOCUMENTATION..............................................................................................................................4
2.7 ASSUMPTIONS AND DEPENDENCIES...........................................................................................................4
3 SPECIFIC REQUIREMENTS...........................................................................................................................5
3.1 EXTERNAL INTERFACE REQUIREMENTS.....................................................................................................5
3.2 FUNCTIONAL REQUIREMENTS.....................................................................................................................6
3.3 BEHAVIOUR REQUIREMENTS......................................................................................................................6
4 OTHER NON-FUNCTIONAL REQUIREMENTS..........................................................................................7
4.1 PERFORMANCE REQUIREMENTS................................................................................................................7
4.2 SAFETY AND SECURITY REQUIREMENTS...................................................................................................7
4.3 SOFTWARE QUALITY ATTRIBUTES..............................................................................................................7
5 OTHER REQUIREMENTS................................................................................................................................8
APPENDIX A – DATA DICTIONARY.......................................................................................................................9
1 Introduction
Fake news detector….(do lambi … a brief description)

1.1 Document Purpose


The goal of the Fake News Challenge is to explore how artificial intelligence technologies,
particularly machine learning and natural language processing, might be leveraged to
combat the fake news problem. We believe that these AI technologies hold promise for
significantly automating parts of the procedure human fact checkers use today to determine if
a story is real or a hoax.

1.2 Product Scope


The scope of our product is to detect fake news from online articles using machine learning.
Our fake news detectors purely uses linguistics features to detect fake news in content. By
using different machine learning models, we will detect fake news for better accuracy. Fake
news have impact on decision making of many people which could lead to serious mistakes.

1.3 Intended Audience and Document Overview ( just audience…)


Whole world…

1.4 Definitions, Acronyms and Abbreviations


 Python:
Python offers concise and readable code. While complex algorithms and versatile
workflows stand behind machine learning and AI, Python’s simplicity allows
developers to write reliable systems. Python offers concise and readable code.
While complex algorithms and versatile workflows stand behind machine learning
and AI, Python’s simplicity allows developers to write reliable systems.

 Flask:
Flask is a micro web framework written in Python. It is classified as a
microframework because it does not require particular tools or libraries. It has no
database abstraction layer, form validation, or any other components where pre-
existing third-party libraries provide common functions.

 Artificial Intelligence:
Artificial intelligence (AI) is an area of computer science that emphasizes the
creation of intelligent machines that work and react like humans. the ability of a
digital computer or computer-controlled robot to perform tasks commonly associated
with intelligent beings.

 Machine Learning:
Machine learning is the scientific study of algorithms and statistical models that
computer systems use to perform a specific task without using explicit instructions,
relying on patterns and inference instead.

 Linear regression:
Linear Regression is a machine learning algorithm based on supervised learning.
Linear regression performs the task to predict a dependent variable value (y) based
on a given independent variable (x). So, this regression technique finds out
a linear relationship between x (input) and y(output).

 Data mapping:
Data mapping is a way to organize various bits of data into a manageable and easy-
to-understand system. This system matches data fields with target fields while in
storage. The technology can recognize errors like missing values or typos and
group information from the same source together.

 Dataset:
A collection of instances is a dataset and when working with machine learning
methods we typically need a few datasets for different purposes. A single row of
data is called an instance. It is an observation from the domain.

 Cleaning of data:
Today data scientists often end up spending 60% of their time cleaning and unifying
dirty data before they can apply any analytics or machine learning. Data cleaning is
essentially the task of removing errors and anomalies or replacing observed values
with true values from data to get more value in analytics.

 Natural Language Processing:


Natural Language Processing. NLP is a field in machine learning with the ability of a
computer to understand, analyze, manipulate, and potentially generate human
language.

 Model Training:
Training a model simply means learning (determining) good values for all the
weights and the bias from labeled examples. In supervised learning, a machine
learning algorithm builds a model by examining many examples and attempting to
find a model that minimizes loss.

 Web scraping:
Web Scraping (also termed Screen Scraping, Web Data Extraction, Web Harvesting
etc.) is a technique employed to extract large amounts of data from websites
whereby the data is extracted and saved to a local file in your computer or to a
database in table (spreadsheet) format.

 Tensorflow + Keras:
Keras is a neural network library while TensorFlow is the open source library for a
number of various tasks in machine learning. TensorFlow provides both high-level
and low-level APIs while Keras provides only high-level APIs. Keras is built in
Python which makes it way more user-friendly than TensorFlow.

1.5 Document Conventions


<In general this document follows the IEEE formatting requirements. Use Arial font size 11, or 12
throughout the document for text. Use italics for comments. Document text should be single
spaced and maintain the 1” margins found in this template. For Section and Subsection titles
please follow the template.

TO DO: Describe any standards or typographical conventions that were followed when writing this
SRS, such as fonts or highlighting that have special significance. Sometimes, it is useful to divide
this section to several sections, e.g., Formatting Conventions, Naming Conventions, etc.>

1.6 References and Acknowledgments


 IEEE Std 830-1998 .IEEE Recommended Practice for Software Requirements
Specifications. IEEE Computer Society, 1998.

 http://www.scribd.com/doc/9138468/Software-Requirement-Specification-SrsMidtems

 http://www.processimpact.com/process_assets/srs_template.doc

2 Overall Description
2.1 Product Perspective
Analyzing and detecting fake news on the internet is one the hardest problem to be solved.
Recently, Fake News had been an important talk in general public and researchers due to
online media outlets like social media feeds, blogs and online newspaper. According to BBC
survey, 79 percent of people are worried about what is fake and real online. The survey of
more than 16,000 adults was conducted by Globescan. Globescan’s chairman Doug Miller
said: “These poll findings suggest that the era of ‘fake news’ may be as significant in
reducing the credibility of on-line information as Edward Snowden’s 2013 National Security
Agency (NSA) surveillance revelations were in reducing people’s comfort in expressing their
opinions online”. Apple’s stock took a temporary 10-point hit after a false report surfaced on
CNN’s iReport that Steve Jobs had a heart attack.

In light of above incidents we discover that fake news could have much more drastic effect
even on country`s economy. So to minimize such news to create drastic effect, we have to
verify fake news. Purpose of our project is to detect fake news.

2.2 Product Functionality


 A URL of news article must be entered.
 NLP is performed on the text extracted from the URL and relevant features are
extracted from that NLP.
 News articles are classified as fake or authentic from the features extracted.
 Classified news are then checked to list of URLs with the output predicted
(Fake/Authentic), and then final result is predicted.

2.3 Users and Characteristics


Moderator: The moderator will be monitoring the rating submitted by the users, to maintain the
credibility of ratings.
Administrator: Will maintain the overall aspects of web application and will be responsible for giving
users appropriate roles and authority.
User: The main actor using the web application to analyze the URLs.

2.4 Operating Environment


<Describe the environment in which the software will operate, including the hardware platform,
operating system and versions, and any other software components or applications with which it
must peacefully coexist. In this part, make sure to include a simple diagram that shows the major
components of the overall system, subsystem interconnections, and external interface
TO DO: As stated above, in at least one paragraph, describe the environment your system will
have to operate in. Make sure to include the minimum platform requirements for your system. >

2.5 Design and Implementation Constraints


(design constraints samajh nhi arha k kia likhon….neechay implementations constraints hain)
 Our software will never assure authenticity of the result. For this, we need user feedback.
 Our software will only be available in English language and news article provided to the
software should also be in English language.
 We don’t have access to huge amount of data for training of machine learning model.
 Software will not work without any web browser or basic internet connection.

2.6 User Documentation


<List the user documentation components (such as user manuals, on-line help, and tutorials) that
will be delivered along with the software. Identify any known user documentation delivery formats
or standards.
TO DO: You will not actually develop any user-manuals, but you need to describe what kind of
manuals and what kind of help is needed for the software you will be developing. One paragraph
should be sufficient for this section.>

2.7 Assumptions and Dependencies


Web scraping pe dependent hai…model ki training…
3 Specific Requirements
3.1 External Interface Requirements
3.1.1 User Interfaces

The user interface will be web based provided to user through a web browser then user will
presented with a dashboard. The dashboard will consist of a header, sidebar menu and body. The
body will be consisting of dialogue box which will be used to get the input from user. There will be a
button to submit the query entered by user in the dialogue box, then it shows the result.

3.1.2 Hardware Interfaces

<Describe the logical and physical characteristics of each interface between the software product
and the hardware components of the system. This may include the supported device types, the
nature of the data and control interactions between the software and the hardware. You are not
required to specify what protocols you will be using to communicate with the hardware, but it will
be usually included in this part as well.
TO DO: Please provide a short description of the different hardware interfaces. If you will be using
some special libraries to communicate with your software mention them here. In case you have
more than one hardware interface divide this section into subsections.>

3.1.3 Software Interfaces

This software does not require a particular Operating System(Windows, Mac, Linux, etc.) to run but
only a web browser and internet connection because it is a web application.

3.1.4 Communications Interfaces

<Describe the requirements associated with any communications functions required by this
product, including e-mail, web browser, network server communications protocols, electronic
forms, and so on. Define any pertinent message formatting. Identify any communication standards
that will be used, such as FTP or HTTP. Specify any communication security or encryption issues,
data transfer rates, and synchronization mechanisms.

TO DO: Do not go into too much detail, but provide 1-2 paragraphs were you will outline the major
communication standards. For example, if you decide to use encryption there is no need to specify
the exact encryption standards, but rather, specify the fact that the data will be encrypted and
name what standards you consider using. >

3.2 Functional Requirements

 Take a valid news article URL from user.


 Extract relevant text from the URL, provided by the user, using Scrapy, Beautiful soup.
 Then we will extract relevant features from the text using NLP (Natural Language
Processing).
 Correctly classify news article as fake news or credible news using different machine
learning models/algorithms.
 Each user can view all the recently processed and classified news articles and verify the
correctness of the classification by voting.
 After a predefined limit of time and number of votes we can verify that whether the software
classified a given news article correctly or not.
 We can then modify our classification if needed and add the news article in the training set
to improve accuracy of future predictions.

3.3 Behaviour Requirements


3.3.1 Use Case View

( image )

4 Other Non-functional Requirements


4.1 Performance Requirements
 The system should respond to a user query and return a result in less than 5 seconds.
 Web crawling should be done in fast time.
 Feature extraction must be done in milliseconds.
 Time taken by ML algorithms should be in milliseconds.
 System should be able to handle multiple simultaneous requests.

4.2 Safety and Security Requirements


(agar login form waghera dalo gy tou user ki information secure rhy … yeh sab security mai
ajayega….wrna is heading ki shayad zaroorat na ho…)

4.3 Software Quality Attributes


<Specify any additional quality characteristics for the product that will be important to either the
customers or the developers. Some to consider are: adaptability, availability, correctness,
flexibility, interoperability, maintainability, portability, reliability, reusability, robustness, testability,
and usability. Write these to be specific, quantitative, and verifiable when possible. At the least,
clarify the relative preferences for various attributes, such as ease of use over ease of learning.

TODO: Use subsections (e.g., 4.3.1 Reliability, 4.3.2 Portability, etc…) provide requirements
related to the different software quality attributes. Base the information you include in these
subsections on the material you have learned in the class. Make sure, that you do not just write
“This software shall be maintainable…” Indicate how you plan to achieve it, & etc…Do not forget to
include such attributes as the design for change. Please note that you need to include at least 2
quality attributes, but it is the mere minimum and it will not receive the full marks.>
5 Other Requirements
<This section is Optional. Define any other requirements not covered elsewhere in the SRS. This
might include database requirements, internationalization requirements, legal requirements, reuse
objectives for the project, and so on. Add any new sections that are pertinent to the project.>

Appendix A – Data Dictionary

<Data dictionary is used to track all the different variables, states and functional requirements that
you described in your document. Make sure to include the complete list of all constants, state
variables (and their possible states), inputs and outputs in a table. In the table, include the
description of these items as well as all related operations and requirements.>

You might also like