Application of Residue Theorem to evaluate real integrations.pptx
Undergrad Thesis | Information Science and Engineering
1. QA-Zen
ANONYMOUS QUESTION AND ANSWER PLATFORM
A Report submitted to
M S RAMAIAH INSTITUTE OF TECHNOLOGY
Bengaluru
For fulfilling the requirements of
Bachelor of Engineering in Information Science and Engineering
By
KRUTHIKA VISHWANATH(1MS11IS044)
POOJA.J (1MS11IS075)
PRIYANKA.U.PANDIT.T (1MS11IS081)
under the guidance of
Dr. VIJAYA KUMAR B P
Head of Department,
Information Science and Engineering
Department of Information Science and Engineering
M S Ramaiah Institute of Technology
Bengaluru - 560054
MAY 2015
2. Department of Information Science and Engineering
M S Ramaiah Institute of Technology
Bengaluru - 560054
CERTIFICATE
This is to certify that KRUTHIKA VISHWANATH(1MS11IS044), POOJA.J
(1MS11IS075), PRIYANKA.U.PANDIT.T(1MS11IS081) who were working for
their B.E project under my guidance, have completed the work as per my
satisfaction with the topic QA-Zen, ANONYMOUS QUESTION AND
ANSWER PLATFORM. To the best of my understanding the work to be
submitted in dissertation does not contain any work, which has been previously
carried out by others and submitted by the candidates for themselves for the
award of any degree anywhere.
(Guide) (Head of the Department)
Dr. Vijaya Kumar B P Dr. Vijaya Kumar B P
Professor & Head, Dept. of ISE Professor & Head, Dept. of ISE
(Examiner 1) (Examiner 2)
Name
Signature
3. Department of Information Science and Engineering
M S Ramaiah Institute of Technology
Bengaluru - 560054
DECLARATION
We hereby declare that the entire work embodied in this B.E. Project
report has been carried out by us at M S Ramaiah Institute of
Technology under the supervision of Dr. Vijaya Kumar B P,Head,
Dept. of ISE. This Project report has not been submitted in part
or full for the award of any diploma or degree of this or any other
University.
KRUTHIKA VISHWANATH(1MS11IS044)
POOJA.J (1MS11IS075)
PRIYANKA.U.PANDIT.T (1MS11IS081)
4. Acknowledgement
This project is result of many individuals hard work and
dedication.So we would like to extend our sincere gratitude to all
of them.We wish to express our sincere appreciation to the
Department of Information Science and Engineering for their
extended long-term support and giving us the opportunity. We
would like to extend our hearty gratitude to our Principal Dr.S Y
Kulkarni , our internal guide Dr.Vijaya Kumar B P and our
external guide Mr.Vijay Nadadur,Founder & CEO of Tationem, for
their vast reserve of patience,knowledge and constant feedback.
We are also grateful to our project coordinators, Mr.Krishna Raj.
P.M, Mrs.Deepthi K and Mr.Jagadeesh Sai. D for providing
necessary guidance concerning project documentation.
Nevertheless, we express our gratitude toward our families for their
kind co-operation and encouragement which help us in completion
of this project.
4
5. Abstract
With today’s fast growing technology and many social network-
ing sites helping many of the citizens to connect to other people,
grow their business or even finding a life partner, social network has
indeed become a very important part of our lives today.But many so-
cial networking websites like Facebook, LinkedIn etc have divergent
aims. Facebook aims at getting people online and LinkedIn to con-
nect professionally. This rapid growth seems to betray the aim with
which Internet was created, i.e. Create a fountain of knowledge”.
Instead we have contributed in creating a drain of information.
Today’s users need a unique place to get themselves engaged in
more intellectual place, as it will definitely help them in a longer
run. More importantly students, who are the future are the ones
who look for a lot of interesting opportunities and can get any work
on board due to their interest and will to work.
As per the survey,with the above challenges in the existing sys-
tems, we have built an application which aims at helping out those
students, in letting out their intellectual nature to other fellow stu-
dents, faculty, companies and people as a whole who prefer, unique
intellectual platform, for knowledge sharing, getting interesting an-
swers and posting intriguing questions, to enhance their intellectual
approach to certain issues or work.
We have used certain cutting edge technology like elements of Data
Mining, Machine Learning and Distributed Databases in implement-
ing this project and in getting this application up on web. Once this
application gets deployed successfully on web, the students would
be able to have an anonymous identity on this site, by which the
users will be able to share their knowledge with the people. The aim
to connect people of similar intellectual inclination, share ideas and
connect with like-minded individuals who share the same interests.
By doing so, one can keep track of certain issues or topics and get
enlightened.
5
8. 6.3.34 Test Case 34 . . . . . . . . . . . . . . . . . . . 56
6.3.35 Test Case 35 . . . . . . . . . . . . . . . . . . . 57
6.3.36 Test Case 36 . . . . . . . . . . . . . . . . . . . 57
6.3.37 Test Case 37 . . . . . . . . . . . . . . . . . . . 58
7 Conclusion And Future Work 59
A Q&A Platform 61
B Django 61
C NLTK 61
D Numpy 61
E PyEnchant 62
F tf–idf 62
G Profanity 62
H SRS 62
I MVC 62
J Python 63
8
9. List of Figures
1 Design Of The System . . . . . . . . . . . . . . . . . 29
2 Django Python WebFramework . . . . . . . . . . . . 30
3 Implementation Of The System . . . . . . . . . . . . 34
4 Implementation Of Profanity Filtering . . . . . . . . 36
5 Implementation Of Read At Leisure . . . . . . . . . . 37
6 Implementation Of The Scoring System . . . . . . . . 37
7 Implementation Of BookMark . . . . . . . . . . . . . 38
8 Implementation Of Editing Question And Answers . 39
9 Implementation Of Suggesting Editions . . . . . . . . 40
10 Implementation Of Follow Questions . . . . . . . . . 40
11 Implementation Of Text Summarizer . . . . . . . . . 41
12 Implementation Of Burning Topics . . . . . . . . . . 41
13 Implementation Of Spell Checker . . . . . . . . . . . 42
9
10. 1 Introduction
This chapter consists namely introduction. Firstly it explains the
general introduction followed by motivation behind this project fol-
lowed by the problem statement, existing issues and the proposed
model concluding with current and future scope of the project.
1.1 General Introduction
With today’s fast growing technology and many of the social net-
working sites up on web helping many of the citizens to connect to
people, helping the people grow their business or even finding a life
partner, social network has indeed become a very important part of
our lives today.
But with many social networking websites like Facebook, LinkedIn
there are divergent aims. Facebook aims at getting people online
and LinkedIn to connect professionally. This rapid growth seems
to betray the aim with which Internet was created, i.e. “Create a
fountain of knowledge”. Instead we have contributed in creating a
drain of information.Users need a one stop place to get themselves
engaged in more intellectual work, as it will definitely help them in
a longer run, as intellectua are the ones who looks for a lot of in-
teresting opportunities and can get any work on board due to their
interest and will to work.
1.2 Motivation
The survey involved nearly 300 social networking users from diverse
background. Based on the survey and aiding analysis of popular
social networking sites such as Facebook, Quora where Facebook
whose aims to connect people has resulted in a merely time-spending
place without a reason. Quora which is the question answer site has
resulted in sharing very useful information among all types of people
but has failed to make it more intellectual. Also these platforms
seem to focus way too much on a person’s identity.
10
11. A student centric web platform would enable not just knowledge
sharing, but inherently empower people in the age group of 13+.
This platform helps students to improve their intellectual approach
by providing each of them with anonymous identity. This also avoids
biased assessment because of any individual’s identity
1.3 Problem Statement
“Man is least himself when he talks in his own person. Give him a
mask, and he will tell you the truth”
The team at Tationem, surveyed regarding the problems they faced
in social networking sites. Based on the survey we have analyzed,
these sites holds ocean of information where people have failed to
find information of their interest. Because of biased assessment from
people based on identity and opinions the intellectual ability is not
recognized much. There is inability to filter out offensive contents
and thus making it difficult to find the content of interest to the
user.
1.4 Objectives
• Introducing anonymity
• Uphold user’s intellectuality
• Clustering and Classification based on interests, temporal and
spatial.
• Trending of topics dynamically
• Better Profiling
• Make a better recommendation system
• Automatic subject identification
• Auto tagging
• Corpus based neural network method
• Unraveling the pattern by analyzing huge data sets
11
12. 1.5 Proposed Model
We have come up with an application that aims at helping out those
students, in letting out their intellectual nature to other fellow stu-
dents, faculty, companies and people as a whole who prefer,one stop
place, for knowledge sharing, getting interesting answers and post-
ing intriguing questions, to enhance their intellectual approach to
certain issues or work.
1.6 Current And Future Scope
Once this application gets deployed successfully on web , the stu-
dents would be able to have an anonymous identity on this site, by
which the users will be able to share their knowledge with the peo-
ple.
The aim to connect people of similar intellectual inclination, share
ideas and connect with like-minded individuals who share the same
interests. By doing so , one can keep track of certain issues or top-
ics and get enlightened with them without discriminating your past,
present and future.
As the site basically aims at student community, it could be an add
on to their professional identity .This could be achieved by linking
this site to their social networking site.
12
13. The organization of the report:
Chapter 2, Literature Survey, explains about the existing Ques-
tion and Answer platforms and their architecture, issues and other
related works.
Chapter 3, Software Requirements Specification explains the pur-
pose and environment for our software.It explains what the software
will do and how it will be expected to perform.It basically explains
requirements of the software.
Chapter 4, Software Design Documents explains architectural
deign of the system and the strategies involved. It explains the
sub system architecture, libraries required and general constraints
involved.
Chapter 5, Implementation explains overall functionality of the
system and also explains each modules implementation.
Chapter 6, Software Test Document explains test plan, testing
approach followed by features to be tested and not to be tested, the
testing tool and environment used concluding with the test cases.
Chapter 7, Conclusion and Future Works concludes that their
is a need for anonymous platform which brings like minded people
together to share their knowledge.It also explains future scope for
this project.
13
14. 2 Literature Survey
This chapter explains about the survey carried on the existing Ques-
tion and Answer platforms and their architecture and the issues.It
also explains about the works related to the existing Question and
Answer platforms.It also explains the progress we have made in com-
bating the issues present in the existing platforms.
2.1 Question and Answering
In today’s world, humans are almost wholly dependent on Internet
for information. Nearly all of the roughly 50 petabytes of data
available on the Internet, were first captured and created by human
being by typing, pressing a record button, taking a digital picture,
or scanning a bar code. The problem is, people have limited time,
attention and accuracyall of which means they are not very good at
capturing data about things in the real world. Users are generating
data and are not able to find relevant data in limited time. Yet
today’s information technology is so dependent on data originated
by people that our computers know more about ideas than things.
If we had computers that knew everything there was to know about
things using data they gathered without any help from us ,we would
be able to track and count everything, and greatly reduce waste, loss
and cost. We would know when things needed replacing, repairing
or recalling, and whether they were fresh or past their best.
Question Answering (Q&A) is a computer science discipline within
the fields of information retrieval and natural language processing
(NLP), which is concerned with building systems that automati-
cally answer questions posed by humans in a natural language[1].
Q&A has received tremendous interest recently with the emergence
of many commercial products, and research papers in various
communities[2]. A Q&A implementation, usually a computer pro-
gram, may construct its answers by querying a structured database
of knowledge or information.Q&A systems can pull answers from an
unstructured collection of natural language documents.
The goal is to address the questions[3] and explore their implica-
tions for youth identities.Systems come and go, how youth engage
through social network sites today provides long-lasting insights into
identity formation, status negotiation, and peer-to-peer sociality.[4]
14
15. 2.2 Brief History On Q&A Website
Question-and-answer websites are the ones where questions are cre-
ated, answered, edited and organized by its community of users. It
lacks the accurate filtering of contents and as a result we would be
lost in ocean of information. Any user would post troll question
and answers and there was no way to prevent them from doing so.
This seems to betray the aim with which Internet was created, i.e.
“Create a fountain of knowledge”. Instead we have contributed in
creating a drain of information. These sites which aims to connect
people and increase their intellectual ability has resulted in a merely
time-spending place without a reason.Performance issues and error
analysis in an open-domain question answering system must also
be considered.[5] Current Q&A systems typically include a question
classifier module that determines the type of question and the type
of answer. After the question is analysed[6], the system typically
uses several modules that apply increasingly complex NLP[7] tech-
niques on a gradually reduced amount of text. Thus, a document
retrieval module uses search engines to identify the documents or
paragraphs in the document set that are likely to contain the an-
swer. Subsequently a filter pre selects small text fragments that
contain strings of the same type as the expected answer. For exam-
ple, if the question is ”Who invented Penicillin” the filter returns
text that contain names of people. Finally, an answer extraction
module looks for further clues in the text to determine if the answer
candidate can indeed answer the question.
2.3 Question Answering Methods
Q&A is very dependent on a good search corpus - for without doc-
uments containing the answer, there is little any Q&A system can
do. It thus makes sense that larger collection sizes generally better
the performance, unless the question domain is orthogonal to the
collection. it continues to connect visitors and experts to the right
questions as it grows[8].The notion of data redundancy in massive
collections, such as the web, means that nuggets of information are
likely to be phrased in many different ways in differing contexts and
documents,leading to two benefits:
15
16. • By having the right information appear in many forms, the bur-
den on the Q&A system to perform complex NLP techniques[9]
to understand the text is lessened.
• Correct answers can be filtered from false positives by relying
on the correct answer to appear more times in the documents
than instances of incorrect ones.
SOCIAL NETWORK ANALYSIS Social network analysis (SNA)
provides a rich and systematic means of assessing informal networks
by mapping and analyzing relationships among people, teams, de-
partments or even entire organizations.[10]
2.4 Challenges
The following are some of the issues faced in Q&A platforms:
I.Question classes
Different types of questions require the use of different strategies
to find the answer. Question classes are arranged hierarchically in
taxonomies.
II.Question processing
The same information request can be expressed in various ways,
some interrogative and some assertive.A semantic model of question
understanding and processing would recognize equivalent questions,
regardless of how they are presented. This model would enable the
translation of a complex question into a series of simpler questions,
would identify ambiguities and treat them in context or by interac-
tive clarification.
III.Context and Q&A
Questions are usually asked within a context and answers are pro-
vided within that specific context. The context can be used to clarify
a question, resolve ambiguities or keep track of an investigation per-
formed through a series of questions.
16
17. IV.Data sources for Q&A
Before a question can be answered, it must be known what knowl-
edge sources are available and relevant. If the answer to a question is
not present in the data sources, no matter how well the question pro-
cessing, information retrieval and answer extraction is performed, a
correct result will not be obtained.
V.Answer formulation
The result of a Q&A system should be presented in a way as nat-
ural as possible. In some cases, simple extraction is sufficient. For
example, when the question classification indicates that the answer
type is a name (of a person, organization, shop or disease, etc.),
a quantity (monetary value, length, size, distance, etc.) or a date
,the extraction of a single datum is sufficient. For other cases, the
presentation of the answer may require the use of fusion techniques
that combine the partial answers from multiple documents.
VI.Real time question answering
There is need for developing QA systems that are capable of ex-
tracting answers from large data sets in several seconds, regardless
of the complexity of the question, the size and multitude of the data
sources or the ambiguity of the question.
VII.Interactive Q&A
It is often the case that the information need is not well captured
by a Q&A system, as the question processing part may fail to clas-
sify properly the question or the information needed for extracting
and generating the answer is not easily retrieved. In such cases, the
questioner might want not only to reformulate the question, but to
have a dialogue with the system. In addition, system may also use
previously answered questions(For example, the system might ask
for a clarification of what sense a word is being used, or what type
of information is being asked for.)
VIII.Advanced reasoning for Q&A
More sophisticated questioners expect answers that are outside the
scope of written texts or structured databases.It is necessary to in-
tegrate reasoning components operating on a variety of knowledge
bases as well as knowledge specific to a variety of domains.
17
18. IX.Information clustering for Q&A
Information clustering for question answering systems[15] is a new
trend that originated to increase the accuracy of question answer-
ing systems through search space reduction. In recent years this
was widely researched through development of question answering
systems which support information clustering in their basic flow of
process.
X.User profiling for Q&A
The user profile captures data about the questioner, comprising con-
text data, domain of interest, reasoning schemes frequently used
by the questioner, common ground established within different dia-
logues between the system and the user, and so forth. The profile
may be represented as a predefined template, where each template
slot represents a different profile feature. Profile templates may be
nested one within another.
2.5 Progress
Q&A systems have been extended in recent years to encompass ad-
ditional domains of knowledge.For example, systems have been de-
veloped to automatically answer temporal and geospatial questions,
questions of definition and terminology, biographical questions, mul-
tilingual questions, and
questions about the content of audio, images, and video. Current
Q&A research topics include:
• interactivity—clarification of questions or answers
• answer reuse or caching
• knowledge representation and reasoning
• social media analysis with Q&A systems
• sentiment analysis
• utilizing thematic roles
18
19. Studies have shown that allowing people to answer questionnaires
completely anonymously yields more reports of socially inappropri-
ate attitudes, beliefs, and behaviors, and researchers have often as-
sumed that this is evidence of increased honesty.[11] The above chal-
lenges can be solved by introducing anonymity among users[12] and
using strong data mining algorithms along with machine learning
and pattern matching algorithms.
19
20. 3 Software Requirements Specifications
In this chapter we intend to explain the purpose and environment
for our software.It explains what the software will do and how it will
be expected to perform.
We have explained how the application will interact with sys-
tem hardware, other programs and human users in a wide variety of
real-world situations. Parameters such as operating speed, response
time, availability,portability, maintainability, footprint, security and
speed of recovery from adverse events are evaluated. It also estab-
lishes the basis for an agreement between customers and contractors
or suppliers (in market-driven projects, these roles may be played
by the marketing and development divisions) on what the software
product is to do as well as what it is not expected to do.
3.1 General Description
Based on the survey done previously, the problems and the need for
changes in any QA has been noted down.The basic aim for which
the QA platforms started that is to uphold intellectual integrity
has been deviated instead identity based biased assessment is been
made[18].To solve this existing model problems ,we have come up
with the idea of masking the identity of the users and hence keep-
ing the platform complete anonymous.This avoids biased assessment
and also upholds intellect of the individual.
3.1.1 Project Perspective
The Question and Answer platform which is built is similar to other
existing Q&A platforms ,with some of the additional functionalities.
From the results of the survey and analysing the result has helped
us to arrive to the basic requirement of the platform to keep the
platform complete anonymous by assigning each of the user by 9
digit random id generated. The following of “me too” trend has
to avoided in question and answer platforms ,which can remove the
identity based biasment to one level. For Example: In a social
networking site like Facebook, if a person has got 5 thousand likes
then there is a tendency for the other person who reads it(or may
not read) , to go and like it. There is a “me too” trend and hence
there is loss of new and creative ideas. To avoid this we have come
20
21. up with basic requirement , to hide the rate to the person initially
unless and until the person rates for question or answers . By this
we are trying to avoid the biased assessment or biased rating of the
question or answer based on the previous rates.This makes person
to read the content and arrive at a decision independently without
any influence.
As the platform is made complete anonymous there is always
fear of irrelevant and abusive contents in the system. To avoid this
and prevail quality content in the system ,users have been allowed
democratically rate for the quality.Based on the overall rating of
the question and answer ,it is been displayed correspondingly.The
question or answer with high rates that is of high quality content
is placed on top of the newsfeed and the rest unuseful contents are
placed at the bottom of the newsfeed and gradually one day they
may eliminate from the system.
3.1.2 Product Overview
The overall product has 13 distinguishable features from other QA
platforms.The features and description are as follows:
• Anonymity
The platform helps students to improve their intellectual ap-
proach by providing each of them with anonymous identity.
This avoids biased assessment because of any individual’s iden-
tity.Anonymity has a lot of significance.It does not give impor-
tance to recognition, power, caste,creed or gender that have
caused difficulties in some societies.This has it’s own cons also.
It is not reliable and can be abused, leading to the ruin of
innocent people.
• Spell Checker
This feature is important because it increases readability for
the users and also access to good quality content.We believe in
quality content which can’t be achieved if the system is filled
with dirty drain of information.
21
22. • Profanity
Anonymity is not reliable and can be abused, leading to the
ruin of innocent people.This feature helps in filtering out offen-
sive contents and makes the platform user friendly.
• Similar Questions Detection
This feature helps in reducing duplicate contents on the plat-
form. When the question, which user wants an answer for is
already available on the platform then we can suggest him those
questions than increasing the repeated content.
• RAL-Read At Leisure
User can download the question and answer and read them at
their leisure.Internet may not be available all the time.So you
can download the contents and read it offline when you have
time.
• BookMark
Save the question Or answer link , so as to have quick access
in future.We can have customized label for the questions and
answers we want to store.This acts a single place to keep ll your
favorite questions and answers.
• Edit Question/Answer
Once user finds any mistake in contents he/she has posted,
They can always edit and correct the content.
• Suggestion For Edits
Once user finds grammar mistake or spelling mistake in other’s
posted contents then he/she can suggest edit for the owner of
the question or answer, but it is user’s choice to accept or reject
the suggestion.Our primary focus is quality content.
• Follow Question
Once user finds any question very interesting then he/she can
always follow that particular question so as to get notified re-
garding any action related to it.It is easier to keep track this
way than to search in news feed.
22
23. • Text Summarization
This feature saves user’s time by summarizing the content of
the long answers into a paragraph or two retaining the impor-
tant key points.In this present world time is very important, no
one has time to read answer of 10 pages, so here we are with
text summarizer
• Auto tagging
This feature indirectly helps in clustering of contents and also
to know about user interests. POS tagging is used on the ques-
tion to extract the tags and thus questions are classified.
• Scoring System
To make it more interactive and attract the students,the aspect
of gamification is introduced. For example, a user is rewarded
credits for providing a quality answer and question.
• Burning Topics
It Shows the current most popular and talked-about topics on
the platform.
3.1.3 End User Expectations
The End user ultimately wants fair assessment on the quality con-
tent which he/ she has contributed to the system.One needs quality
and useful content which brings the common set of users together
helping them to achieve some common purpose.The cluster of users
are formed dynamically and virtually on the basis of their intellect
,interest and consistency.Users want to connect to similar minded
people and do some needful and get some needful from the platform.
It will be a platform which encourages the users to post quality
content and ensure that if the content is good then he/she will be
rewarded and recognised for the same.This keeps users encouraged
and post good quality content.This increases intellect of any person
and basic aim of the platform fulfilles.
23
24. The primary motivations for asking questions in Q&A are to ful-
fill cognitive needs. For those motivated to fulfill cognitive needs,
users tend to expect that they will acquire relevant information,
learn through acquiring information, and receive others’ opinions
and advice. It is not surprising that the motivation of acquiring in-
formation plays an important role choosing to use Q&A services
since these services constitute a knowledge exchange community
that facilitates a user–driven environment for information seeking
and sharing . The study also found that another significant moti-
vation for asking a question in Q&A is to have fun while asking a
question that seeks information (Mean=3.56).
One respondent explained this motivation by stating:
“Sometimes I get great answers and other times the replies are
silly or really stupid. It’s an adventure when you get an answer
and that’s part of the fun.”
Combining this observation with the significant, moderate levels of
correlation found between different affective levels of motivation and
what could arguably be considered subjective elements of users’ ex-
pectations, it would be interesting for future research to analyze the
interplay between users’ emotional and affective conditions and sub-
sequent expectations and motivations exercised within the unique
context of Q&A environments.
3.1.4 General Constraints of the software
The general constraint of any software is security.Especially in a
system which is complete anonymous ,the privacy and security is a
concern.
Anonymous Internet users can easily infringe on an intellectual prop-
erty owner’s trademark by simply inserting a trademark into web
content to divert Internet traffic. Because users can anonymously
own domain names, trademark infringement can occur by an uniden-
tified user as well, thereby necessitating discovery of the website
owner’s identity through other means.
24
25. 3.2 Specific Requirements
3.2.1 Functional Requirements
As a question and answer platform ,which is social networking site
the functionalities will be much similar to other social sites includ-
ing the novelty ideas of the platform.
FR1: The assessment of the question and answer has to be purely
intellectual based instead of any biased assessment such as based on
caste, creed, religion, gender, social status etc.
FR2: The hiding of rate of the content that is question or an-
swer until and unless it has been rated by the person .This avoids
any biasment towards rating a content based on previous rates given.
FR3: The burning topics based on time and importance is dis-
played and is dynamic.
FR4: Read at Leisure - Downloading the content and read it at
the leisure. The need of allowing downloading of the question or
answer in a file and saving at the local system.
FR5: We need text summarization for reducing large contents
into small fast readable ones.
FR6: Since the user is anonymous there is chance of using pro-
fanity and abusive words.So we have profanity filtering mechanism.
FR7: Since our motto is quality content, we need to make the
platform free from grammar mistake and spelling mistakes.So we
need spell checker.
FR8: To make the search results more accurate, we need to as-
sociate the tags to questons, so that when we type the tags, we get
accurate results.So method of auto tagging is used.
FR9: There should be provision for users to edit their questions
and answers if the quality is bad.
25
26. FR10: There should be provision of customized tagging for the
user’s favorite questions and answers.
3.2.2 Software Requirements
The platform which provides a platform for user to post the ques-
tion , answer and other related activities is required.
The requirements required for the software are:
i) Software should be able to provide users a platform for users to
post the content and access the content.
ii) Software should be scalable enough to hold many users and their
activities.
iii) Software should respect the privacy and security concerns of the
users.
iv) As the software is complete anonymous, the filtering mechanism
of abusive content and irrelevant contents have to be strong.
v) Software has to be usable, durable and available at all time. vi)
Software has to be flexible, reliable and user interface has to be easy
to all kind of users.
3.3 Interface Requirements
The platform is social site, which brings together similar mindset
people together by learning their interests, intellect and consistency.
The platform has to be quite interactive to make users learn each
others interests and share knowledge among themselves.
The interface has to be easy to users to interact with the system
hence making the platform easier to create virtual and dynamic
groups based on similar interests.
3.3.1 User Interface
i) Simple and easy :The user interface has to be simple and easy.
ii) Clarity :The interface avoids ambiguity by making everything
clear through language, flow, hierarchy and metaphors for visual
elements.
26
27. iii) Concision :It’s easy to make the interface clear by over-clarifying
and labeling everything.
iv) Familiarity :Even if someone uses an interface for the first time,
certain elements can still be familiar. Real-life metaphors can be
used to communicate meaning.
v) Responsiveness: A good interface should not feel sluggish. This
means that the interface should provide good feedback to the user
about what’s happening and whether the user’s input is being suc-
cessfully processed.
vi) Consistency: Keeping your interface consistent across your ap-
plication is important because it allows users to recognize usage
patterns.
vii) Aesthetics: While you don’t need to make an interface attrac-
tive for it to do its job, making something look good will make the
time your users spend using your application more enjoyable; and
happier users can only be a good thing.
viii) Efficiency: Time is money, and a great interface should make
the user more productive through shortcuts and good design.
ix) Forgiveness : A good interface should not punish users for their
mistakes but should instead provide the means to remedy them.
3.3.2 Software System Attributes
The system needs to be efficient and follow certain criterias.
• Reliability The platform should be trustworthy. It should be
concerned about privacy of the users and not share the details
provided during registration elsewhere.
• Availability The platform should be active and should not go
down. The downtime should be as less as possible and make it
available all time.
• Security As the platform is anonymous, there is more chances
of cyber bullying and posting of irrelevant and abusive con-
tents.Hence the requirement of platform to be highly secure
and safeguard privacy concerns of the users.
• Maintainability With the increasing contents and users,there is
always challenge to maintain the platform consistently all time.
27
28. • Portability There is no hardware and OS constraint on the plat-
form.
• Performance In order to assess the performance of a system the
following must be clearly specified: Response Time : Response
time must be less. Workload : Software should be able to bear
the work load ,For example the number of users or number of
activities and events generated. Scalability : Software should
be scalable and handle the increase in systems workload. Plat-
form : A platform is defined as the underlying hardware and
software (operating system and software utilities) which will
house the system.Software should be platform independent as
much as possible.
28
29. 4 Software Design Documents
This chapter explains architectural deign of the system and the
strategies involved. It explains the sub system architecture, libraries
required and general constraints involved.
4.1 System Architecture: Overview
Figure 1: Design Of The System
The architectural diagram of the platform is given above.To ac-
cess content of the platform we need the user to create account by
providing all his/her details to the platform. Once the user registers
himself,at the backend he is assigned unique id and identified by it
and thus anonymity is achieved.
Once done, he will login with email id and password and enter the
newsfeed landing page. News feed page is filled with recent questions
and answer posted.As the person grows on the system, it learns his
interest and posts questions and answers of his interest along with
randomization. He can post his questions which passes through pro-
fanity,spell checker and then gets stored in database. My Activties
keep track of all his/her contribution to the system.Notification in-
forms user about any activity done on user’s questons,answers. my
score keeps track of user’s score and badges of honours.The overall
system is built on django python web framework.
29
30. 4.2 System Model
The entire application is built on django platform. Django is python
web framework used for designing complex web application. Django
is a high-level Python Web framework that encourages rapid devel-
opment and clean, pragmatic design. Built by experienced devel-
opers, it takes care of much of the hassle of Web development, so
you can focus on writing your app without needing to reinvent the
wheel. It’s free and open source. It has all features needed for a
website building, we just need to import it and start using it in our
application.The default database system used here is sqlite.Before
we start with the implementation, let us first discuss about django
web framework components. The whole of django is built on MVC
architecture - Model-Views-Controller. Request is send to system
via html codes from the user.The controller passes it on to the Views
which has all functions to run and Models which has all definitions
of database fields.These both will will do processing using the data
and the function code and gives the output to the controller. Con-
troller passes it on to the user.This is basic functioning of Django
framework.
Figure 2: Django Python WebFramework
1) Controller
A controller is the heart of the system, it steers everything. For a
web framework, this means handling requests and responses, set-
ting up database connections and loading add-ons. For this, Django
reads a settings file so that it knows what to load and set up. And
Django reads a URL config file that tells it what to do with the
incoming requests from browsers.
30
31. 2)Model
The model layer in Django means the database plus the Python code
that directly uses it. It models reality. You capture whatever your
website needs in database tables. Django helps you write Python
classes (called models) that tie 1:1 to the database tables.
3)View
The view layer is the user interface. Django splits this up in the ac-
tual HTML pages and the Python code (called views) that renders
them. And it also has an automatic web admin interface for editing
the models.
4.3 Subsystem Model and Design
Django framework supports so many libraries and packages and the
ones used by us are:
• NLTK
• NUMPY
• PYENCHANT
1)NLTK
Natural Language Tool Kit is a leading platform for building Python
programs to work with human language data. It provides easy-
to-use interfaces to over 50 corpora and lexical resources such as
WordNet, along with a suite of text processing libraries for clas-
sification, tokenization, stemming, tagging, parsing, and semantic
reasoning[17], and an active discussion forum.
Thanks to a hands-on guide introducing programming fundamentals
alongside topics in computational linguistics, NLTK is suitable for
linguists, engineers, students, educators, researchers, and industry
users alike. NLTK is available for Windows, Mac OS X, and Linux.
Best of all, NLTK is a free, open source, community-driven project.
Natural Language Processing with Python provides a practical in-
troduction to programming for language processing. Written by the
creators of NLTK, it guides the reader through the fundamentals of
writing Python programs, working with corpora, categorizing text,
analyzing linguistic structure, and more.[13]
31
32. 2)NUMPY
NumPy[14] is the fundamental package for scientific computing with
Python. It contains among other things:
a) powerful N-dimensional array object
b) sophisticated (broadcasting) functions
c)tools for integrating C/C++ and Fortran code
d) useful linear algebra, Fourier transform, and random number ca-
pabilities
Besides its obvious scientific uses, NumPy can also be used as an ef-
ficient multi-dimensional container of generic data. Arbitrary data-
types can be defined. This allows NumPy to seamlessly and speedily
integrate with a wide variety of databases.
Numpy is licensed under the BSD license, enabling reuse with few
restrictions.
3)PYENCHANT
PyEnchant[? ] is a spellchecking library for Python, based on the
excellent Enchant library.Most of the solutions listed above are tied
to a single spellchecking platform, such as aspell or MySpell. By con-
trast, Enchant supports multiple spellchecking platforms. A good
discussion of why this is an advantage can be found on theEnchant
website under the heading “Enchant and Multiple Backends”.
Different backends can be used for different languages, depending
on which does a better job Integration with the user’s “native”
spellchecker, whatever that may be This flexibility is transparent
to the application programmer As explained above, PyEnchant is
available under the GNU LGPL. This may mean it can be used in
some projects where other libraries (such as GPL-licensed libraries)
cannot.
The Enchant API is also generally simpler than that provided by
other spellchecking solutions. This can be an advantage or disad-
vantage depending on the needs of your program
32
33. 5 System Implementation
This chapter explains overall functionality of the system and also
explains each modules implementation.The step by step implemen-
tation of each feature is explained.
The entire application is built on django platform. Django is
python web framework used for designing complex web application.
Django is a high-level Python Web framework that encourages rapid
development and clean, pragmatic design. Built by experienced de-
velopers, it takes care of much of the hassle of Web development,
so you can focus on writing your app without needing to reinvent
the wheel. It’s free and open source. It has all features needed for a
website building, we just need to import it and start using it in our
application.The default database system used here is sqlite.Before
we start with the implementation, let us first discuss about Django
web framework components. The whole of Django is built on MVC
architecture - Model-Views-Controller. Request is send to system
via html codes from the user.The controller passes it on to the Views
which has all functions to run and Models which has all definitions
of database fields.These both will will do processing using the data
and the function code and gives the output to the controller. Con-
troller passes it on to the user.This is basic functioning of Django
framework.
• Controller A controller is the heart of the system, it steers ev-
erything. For a web framework, this means handling requests
and responses, setting up database connections and loading
add-ons. For this, Django reads a settings file so that it knows
what to load and set up. And Django reads a URL config
file that tells it what to do with the incoming requests from
browsers.
• Model The model layer in Django means the database plus the
Python code that directly uses it. It models reality. You cap-
ture whatever your website needs in database tables. Django
helps you write Python classes (called models) that tie 1:1 to
the database tables.
• View The view layer is the user interface. Django splits this up
in the actual HTML pages and the Python code (called views)
33
34. that renders them. And it also has an automatic web admin
interface for editing the models.
Figure 3: Implementation Of The System
Coming to the implementation, we will first discuss about the
backend implementation and then the front end. All our defini-
tions of database fields are defined in models.py. For example,
the below code has the definition of database field of registra-
tion page:
c l a s s r e g i s ( models . Model ) :
username = models . CharField ( max length=150)
dob = models . CharField ( max length=100)
email = models . EmailField ()
password1 = models . CharField ( max length=10)
password2 = models . CharField ( max length=10)
mobile = models . CharField ( max length=10)
education = models . CharField ( max length=10)
i n s t i t u t e = models . CharField ( max length=10)
uid = models . CharField ( max length=10, primary key=True )
timestamp = models . DateTimeField ( auto now add=True )
#qid of questions followed by user
tracking ques = ListField ()
book markq = ListField ()
book marka = ListField ()
def unicode ( s e l f ) :
return u’%s %s %s %s %s %s ’ %
( s e l f . username , s e l f . email ,
s e l f . password1 , s e l f . password2 ,
s e l f . random , s e l f . follow )
34
35. The fields store name,date of birth,email id, passwords,mobile
number,education qualification,institute studied,unique user id,question/answer
id followed by the user, question id bookmarked by the user, answer
id bookmarked by the user.
Coming to the other component of backend, views: it explains all
the operations that has to be done on the data that the user sends
and what has to be done on the data.
Finally the user interface is built using html and all the codes
are stored in templates and connections of views and templates is
stored in urls.py which gives which path opens upto which functions
in views.
Once all is set up we need to open up the terminal and run the
following codes
python manage.py syncdb
python manage.py runserver
This both commands synchronize the database and open up the
application on browser. Lets discuss about the each feature imple-
mentation with their flowcharts:
• Anonymity
• Spell Checker
• Profanity
• Similar Questions Detection
• Read at Leisure
• Bookmark
• Edit Question/Answers
• Suggestion For Edits
• Follow Question
• Text Summarization
• Auto tagging
• Scoring System
• Burning Topics
35
36. • Anonymity
The platform helps students to improve their intellectual ap-
proach by providing each of them with anonymous identity.
This avoids biased assessment because of any individual’s iden-
tity.Anonymity has a lot of significance.It does not give impor-
tance to recognition, power, caste,creed or gender that have
caused difficulties in some societies.This has it’s own cons also.
It is not reliable and can be abused, leading to the ruin of in-
nocent people.
• Profanity
Anonymity is not reliable and can be abused, leading to the ruin
of innocent people.This feature helps in filtering out offensive
contents and makes the platform user friendly.
Figure 4: Implementation Of Profanity Filtering
• Similar Questions Detection
This feature helps in reducing duplicate contents on the plat-
form. When the question, which user wants an answer for is
already available on the platform then we can suggest him.
• Auto tagging
This feature indirectly helps in clustering of contents and also
to know about user interests. POS tagging is used on the ques-
tion to extract the tags and thus questions are classified.
36
37. • Read At Leisure
User can download the question and answer and read them at
their leisure.Internet may not be available all the time.So you
can download the contents and read it offline when you have
time.
Figure 5: Implementation Of Read At Leisure
• Scoring System
To make it more interactive and attract the students,the aspect
of gamification is introduced. For example, a user is rewarded
credits for providing a quality answer and question.
Figure 6: Implementation Of The Scoring System
37
38. • BookMark
Save the question Or answer link , so as to have quick access
in future.We can have customized label for the questions and
answers we want to store.This acts a single place to keep ll
your favorite questions and answers.
Figure 7: Implementation Of BookMark
38
39. • Edit Question/Answer
Once user finds any mistake in contents he/she has posted,
They can always edit and correct the content.Our primary focus
is quality content.So if we have to preserve that we need to
correct wrong contents.
Figure 8: Implementation Of Editing Question And Answers
39
40. • Suggestion For Edits
Once user finds grammar mistake or spelling mistake in
other’s posted contents then he/she can suggest edit for the
owner of the question or answer, but it is user’s choice to
accept or reject the suggestion.Our primary focus is quality
content.So if we have to preserve that we need to correct
wrong contents.
Figure 9: Implementation Of Suggesting Editions
• Follow Question
Once user finds any question very interesting then he/she can
always follow that particular question so as to get notified re-
garding any action related to it.It is easier to keep track this
way than to search in news feed.
Figure 10: Implementation Of Follow Questions
40
41. • Text Summarization
This feature saves user’s time by summarizing the content of the
long answers into a paragraph or two retaining the important
key points.In this present world time is very important, no one
has time to read answer of 10 pages, so here we are with text
summarizer
Figure 11: Implementation Of Text Summarizer
• Burning Topics
It Shows the current most popular and talked-about topics on
the platform.
Figure 12: Implementation Of Burning Topics
41
42. • Spell Checker
This feature is important because it increases readability for the
users and also access to good quality content.We believe in qual-
ity content which can’t be achieved if the system is filled with
dirty drain of information.So we need spell checker to avoid
grammar and spelling mistakes
Figure 13: Implementation Of Spell Checker
42
43. 6 Software Test Document
This chapter explains test plan, testing approach followed by fea-
tures to be tested and not to be tested, the testing tool and envi-
ronment used concluding with the test cases.
6.1 Introduction
6.1.1 System Overview
The system is a Question & Answer Platform, which is completely
anonymous.One can post Question and Answer questions posted
by other members of the site.Features like bookmarking of ques-
tionanswer, following question, rating of questionanswer, rewarding
the user for his contribution, adds more to user’s experience on the
site.
6.1.2 Test Approach
Our test approach involves measuring the accuracy of prediction of
the system and posting/editing of question & answers, given our
homogenous inputs. We want to also like to be able to explain the
error in prediction, posting of question & answers and pin point the
source of the error in order to aid us in correcting the error in future
builds.
6.2 Test Plan
6.2.1 Features to be Tested
Our test cases are homogenous with respect to the question & an-
swer posted. However, we will monitor the validity of the predicted
overall theme and the accuracy of the scoring mechanism in sup-
pressing the effect of the incorrect tagging of questions and ensuring
the correct tagging are seen through as dominant in all levels of
scoring.
6.2.2 Features not to be Tested
Our test cases are modeled to be consistent with respect to the ques-
tion & answer posted, although there is a clearly dominant theme
in them as well.
43
44. The test cases will also not be testing the absolute run time of the
system since it is dependent on too many extraneous factors like the
speed of the internet network the computer is connected to and also
the database used.
6.2.3 Testing Tools and Environment
Our test cases are manually generated keeping in mind each of the
feature that we intend to test. These homogenous inputs will be our
testing tools. There are no specific settings required for conducting
the tests except for the criterion of a reasonably fast internet con-
nection.
6.3 Test Case
6.3.1 Test Case 1
1. Purpose
Posting Question(Is type) and tags generation
2. Inputs
Is there any harm in having Maggi everyday?
3. Expected Outputs and Pass/Fail Criteria
Question gets posted
Tags : Maggi everyday,harm
Status : Passed
4. Test Results
Tags:having Maggi everyday,harm
6.3.2 Test Case 2
1. Purpose
Tags generation
2. Inputs
How has he managed Microsoft? Has he been as great a CEO
as Bill Gates?
3. Expected Outputs and Pass/Fail Criteria
Question gets posted
Tags:Bill Gates,Microsoft,managed,CEO
Status : Passed
44
45. 4. Test Results
Tags: Bill Gates,Microsoft,managed,CEO
6.3.3 Test Case 3
1. Purpose
Tags generation
2. Inputs
Is Satya Nadella on board with Steve Ballmer’s ”One Microsoft”
strategy? Or does he intend to reorganized the company?
3. Expected Outputs and Pass/Fail Criteria
Question gets posted
Tags:Steve Ballmer’s ”One Microsoft” strategy,Satya Nadella,reorganized,company,intend
Status : Passed
4. Test Results
Tags:Steve Ballmer’s ”One Microsoft” strategy,Satya Nadella,reorganize,company,intend
6.3.4 Test Case 4
1. Purpose
Tags generation
2. Inputs
To anyone that had worked with all three Microsoft CEOs,
what is the stylistic contrast between Bill Gates, Steve Ballmer,
and Satya Nadella?
3. Expected Outputs and Pass/Fail Criteria
Question gets posted
Tags:Steve Ballmer,Microsoft CEOs,Satya Nadella,Bill Gates,contrast
Status : Passed
4. Test Results
Tags:Steve Ballmer,Microsoft CEOs,Satya Nadella,Bill Gates,contrast
6.3.5 Test Case 5
1. Purpose
Tags generation
2. Inputs
What are some good ways to insult an IT student?
45
46. 3. Expected Outputs and Pass/Fail Criteria
Question gets posted
Tags:student,insult,ways,IT
Status : Passed
4. Test Results
Tags:IIT student,gud ways,insult
6.3.6 Test Case 6
1. Purpose
Tags generation
2. Inputs
What should I do/say to my 3-year-old son, that was viciously
attacked by another 3-year-old boy, who turned around then
clobbered him?
3. Expected Outputs and Pass/Fail Criteria
Question gets posted
Tags:clobbered,attacked,turned,do/say,boy
Status : Passed
4. Test Results
Tags: clobbered,attacked,turned,do/say,boy
6.3.7 Test Case 7
1. Purpose
Tags generation
2. Inputs
My 1-year-old son has 40% blood and 5.7 hemoglobin. The
doctor is saying that someone should donate blood for him. Is
that really necessary for a small boy?
3. Expected Outputs and Pass/Fail Criteria
Question gets posted
Tags:hemoglobin,someone,saying,doctor,donate
Status : Passed
4. Test Results
Tags: hemoglobin,someone,saying,doctor,donate
46
47. 6.3.8 Test Case 8
1. Purpose
Tags generation
2. Inputs
Which IAS academy gives the best reaching in chennai?
3. Expected Outputs and Pass/Fail Criteria
Question gets posted
Tags:IAS academy,reaching,chennai,gives
Status : Passed
4. Test Results
Tags: IAS academy,coaching,chennai,gives
6.3.9 Test Case 9
1. Purpose
Tags generation
2. Inputs
How do I do current affairs for UPSC IAS in 3 months?
3. Expected Outputs and Pass/Fail Criteria
Question gets posted
Tags:current affairs,UPSC IAS,months
Status : Passed
4. Test Results
Tags: UPSC IAS,affairs,months
6.3.10 Test Case 10
1. Purpose
Tags generation
2. Inputs
How do I do current affairs for UPSC IAS in 3 months?
3. Expected Outputs and Pass/Fail Criteria
Question gets posted
Tags:current affairs,UPSC IAS,months
Status : Passed
4. Test Results
Tags: UPSC IAS,affairs,months
47
48. 6.3.11 Test Case 11
1. Purpose
Sentence similarity in questions
2. Inputs
What do people of India do very easily that others can’t ?
3. Expected Outputs and Pass/Fail Criteria
Similar question : What do people in India do very easily which
can’t be done by people of other nations?
Status : Passed
4. Test Results
What do people in India do very easily which can’t be done by
people of other nations?
6.3.12 Test Case 12
1. Purpose
Sentence similarity in questions
2. Inputs
What are some examples of paid news in Indian Media ?
3. Expected Outputs and Pass/Fail Criteria
Similar question : What is the worst piece of news you have
come across in the Indian Media?
Status : Passed
4. Test Results
What is the worst piece of news you have come across in the
Indian Media?
6.3.13 Test Case 13
1. Purpose
Profanity check
2. Inputs
How would you reply if someone says you are an asshole ?
3. Expected Outputs and Pass/Fail Criteria
Alerts user with the abusive word used in the question
Status : Passed
4. Test Results
Alerts user with the abusive word used in the question
48
49. 6.3.14 Test Case 14
1. Purpose
Profanity check
2. Inputs
What is a bastard?
3. Expected Outputs and Pass/Fail Criteria
Alerts user with the abusive word used in the question
Status : Passed
4. Test Results
Alerts user with the abusive word used in the question
6.3.15 Test Case 15
1. Purpose
Profanity check
2. Inputs
Is Tyrion a bastard?
3. Expected Outputs and Pass/Fail Criteria
Alerts user with the abusive word used in the question
Status : Passed
4. Test Results
Alerts user with the abusive word used in the question
6.3.16 Test Case 16
1. Purpose
Profanity check
2. Inputs
Who is your favorite asshole and why?
3. Expected Outputs and Pass/Fail Criteria
Alerts user with the abusive word used in the question
Status : Passed
4. Test Results
Alerts user with the abusive word used in the question
49
50. 6.3.17 Test Case 17
1. Purpose
Profanity check
2. Inputs
During the 1945 United Nations Conference on International
Organization, Dr. Szeming Sze, a delegate from China, con-
ferred with Norwegian and Brazilian delegates on creating an
international health organization under the auspices of the new
United Nations. After failing to get a resolution passed on the
subject, Alger Hiss, the Secretary General of the conference,
recommended using a declaration to establish such an organi-
zation. Dr.
and other delegates lobbied and a declaration passed calling
for an international conference on health. The use of the word
”world”, rather than ”international”,emphasized the truly global
nature of what the organization was seeking to achieve.The con-
stitution of the World Health Organization was signed by all
51 countries of the United Nations, and by 10 other countries,
on 22 July 1946. It thus became the first specialised agency
of the United Nations to which every member subscribed. Its
constitution formally came into force on the first World Health
Day on 7 April 1948, when it was ratified by the 26th member
state.
3. Expected Outputs and Pass/Fail Criteria
Alerts user with the abusive word used in the answer.
Status : Passed
4. Test Results
Alerts user with the abusive word used in the answer.
6.3.18 Test Case 18
1. Purpose
Spell checking
2. Inputs
Which couuld be besst way to propose a girl ?
50
51. 3. Expected Outputs and Pass/Fail Criteria
corrects besst couuld to best and could respectively
Status : Passed
4. Test Results
corrects besst couuld to best and could respectively.
6.3.19 Test Case 19
1. Purpose
Spell checking
2. Inputs
What do people of other nations do very easily that Indians
can’t?
3. Expected Outputs and Pass/Fail Criteria
What do people of other nations do very easily that Indians
cannot ?
Status : Passed
4. Test Results
What do people of other nations do very easily that Indians
cannot ?
6.3.20 Test Case 20
1. Purpose
Spell checking
2. Inputs
What real change have you felt in your lives (not via media
reports), ever since the Modi government came to power?
3. Expected Outputs and Pass/Fail Criteria
What real change have you felt in your lives (not via media
reports), ever since the Modi government came to power?
Status : Passed
4. Test Results
What real change have you felt in your lives (not via media
reports), ever since the Modi
government came to power?
51
52. 6.3.21 Test Case 21
1. Purpose
Spell checking
2. Inputs
What has the Modi govarnnment achieved since coming to
power?
3. Expected Outputs and Pass/Fail Criteria
What has the Modi government achieved since coming to power?
Status : Passed
4. Test Results
What has the Modi government achieved since coming to power?
6.3.22 Test Case 22
1. Purpose
Spell checking
2. Inputs
What are some interasting intarnship stories at IIT’s ?
3. Expected Outputs and Pass/Fail Criteria
Alert the user with Invalid Question message.
Status : Passed.
4. Test Results
Alert the user with Invalid Question message.
6.3.23 Test Case 23
1. Purpose
Spell checking
2. Inputs
What is the most beeeutiful and amazing
sciantific and mathamatics facts you have come across ?
3. Expected Outputs and Pass/Fail Criteria
What is the most beautiful and amazing scientific and mathe-
matics facts you have come across ?
Status : Passed.
52
53. 4. Test Results
What is the most beautiful and amazing scientific
and mathematics facts you have come across ?
6.3.24 Test Case 24
1. Purpose
Bookmarking Question
2. Inputs
Added label to question. eg : Celebrations
3. Expected Outputs and Pass/Fail Criteria
Question along with Answers get posted under bookmark tab
Status : Passed
4. Test Results
Question along with Answers get posted under bookmark tab
6.3.25 Test Case 25
1. Purpose
Bookmarking Answer
2. Inputs
Added label to answer. eg : Celebrations
3. Expected Outputs and Pass/Fail Criteria
That particular answer along with question gets posted under
bookmark tab.
Status : Passed
4. Test Results
That particular answer along with question gets posted under
bookmark tab.
6.3.26 Test Case 26
1. Purpose
Reading a question at leisure
2. Inputs
Clicks Reading a question at leisure button for a question.
53
54. 3. Expected Outputs and Pass/Fail Criteria
Question along with Answers gets downloaded into a text file.
Status : Passed.
4. Test Results
Question along with Answers gets downloaded into a text file.
6.3.27 Test Case 27
1. Purpose
Reading an answer at leisure
2. Inputs
Clicks Reading an answer at leisure button for an answer.
3. Expected Outputs and Pass/Fail Criteria
Answer along with question gets downloaded into a text file.
Status : Passed.
4. Test Results
Answer along with question gets downloaded into a text file.
6.3.28 Test Case 28
1. Purpose
Hiding ratings for question
2. Inputs
Rates the question written by other user.
3. Expected Outputs and Pass/Fail Criteria
Gets rated and the user can view the average rate and number
of raters.
4. Test Results
Gets rated and the user can view the average rate and number
of raters.
6.3.29 Test Case 29
1. Purpose
Hiding ratings for question
54
55. 2. Inputs
Rates the question written by oneself.
3. Expected Outputs and Pass/Fail Criteria
Altered that the user cannot rate the question written by one-
self.
Status : Passed.
4. Test Results
Altered that the user cannot rate the question written by one-
self.
6.3.30 Test Case 30
1. Purpose
Hiding ratings for answer.
2. Inputs
Rates the answer written by someone else.
3. Expected Outputs and Pass/Fail Criteria
The answer gets rated and can view the average rate and num-
ber of raters.
Status : Passed.
4. Test Results
The answer gets rated and can view the average rate and num-
ber of raters.
6.3.31 Test Case 31
1. Purpose
Hiding ratings for answer.
2. Inputs
Rates the answer written by oneself.
3. Expected Outputs and Pass/Fail Criteria
Altered that the user cannot rate the answer written by oneself.
Status : Passed.
4. Test Results
Altered that the person cannot rate the answer
written by oneself.
55
56. 6.3.32 Test Case 32
1. Purpose
Follows the question
2. Inputs
User clicks follow button.
3. Expected Outputs and Pass/Fail Criteria
Notifies the user who followed the question, when an answer is
added.
Status : Passed.
4. Test Results
Notifies the user who followed the question, when an answer is
added.
6.3.33 Test Case 33
1. Purpose
Follows the question
2. Inputs
User clicks follow button.
3. Expected Outputs and Pass/Fail Criteria
notifies the user who followed the question, when an answer is
added.
Status : Passed
4. Test Results
notifies the user who followed the question, when an answer is
added.
6.3.34 Test Case 34
1. Purpose
Suggest Question
2. Inputs
When a question is suggested.
3. Expected Outputs and Pass/Fail Criteria
The question undergoes grammar check, spell check, profanity
check and gets edited on newsfeed if the owner accepts the
56
57. suggestion else rejected by notifying the suggester about the
same.
Status : Passed
4. Test Results
The question undergoes grammar check, spell check, profanity
check and gets edited on newsfeed if the owner accepts the
suggestion else rejected by notifying the suggester about the
same.
6.3.35 Test Case 35
1. Purpose
Suggest Answer
2. Inputs
When an answer is suggested.
3. Expected Outputs and Pass/Fail Criteria
The answer undergoes grammar check, spell check, profanity
check and gets edited on newsfeed if the owner accepts the
suggestion else rejected by notifying the suggester about the
same.
Status : Passed
4. Test Results
The answer undergoes grammar check, spell check, profanity
check and gets edited on newsfeed if the owner accepts the
suggestion else rejected by notifying the suggester about the
same.
6.3.36 Test Case 36
1. Purpose
Edit Question
2. Inputs
When the user wished to edit question by finding the question
in “My activities” tab.
3. Expected Outputs and Pass/Fail Criteria
The question undergoes grammar check, spell check, profanity
check and gets edited on newsfeed.
Status : Passed
57
58. 4. Test Results
The question undergoes grammar check, spell check, profanity
check and gets edited on newsfeed.
6.3.37 Test Case 37
1. Purpose
Edit Answer
2. Inputs
When the user wished to edit answer by finding the question
in “My activities” tab.
3. Expected Outputs and Pass/Fail Criteria
The answer undergoes grammar check, spell check, profanity
check and gets edited on newsfeed.
Status : Passed
4. Test Results
The answer undergoes grammar check, spell check, profanity
check and gets edited on newsfeed.
58
59. 7 Conclusion And Future Work
This chapter concludes that there is a need for anonymous platform
which brings like minded people together to share their knowledge.It
also explains future scope for this project.
Q& A systems have been extended in recent years to encom-
pass additional domains of knowledge.System has been developed to
automatically answer temporal and geospatial questions, questions
of definition and terminology, biographical questions, multilingual
questions, and questions about the content of audio, images, and
video. Current Q&A research topics include:
1) Interactivity—clarification of questions or answers
2) Answer reuse or caching
3) Knowledge representation and reasoning
4) Social media analysis with Q&A systems
5) Sentiment analysis
The above challenges has been solved in our system by introducing
anonymity among users and by using data mining algorithms along
with machine learning and pattern matching algorithms.
As it is statistically proven that “ Man is least himself when he
talks in his own person. Give him a mask and he will tell you the
truth”. Same has been clearly proven by using our site.
In today’s world, age, gender, fancy degrees have been given a up-
vote and the rest have continued to struggle in this profile oriented
world. In days to come, we and along with Tationem team would
like to successfully launch this product on the web, and look into
refining features like auto tagging which is the roadmap to future
features such as auto search etc which would further enhance the
user experience and at the same time, help in clustering more simi-
lar minded people to make this world more intellect.
59
60. Once this application gets deployed successfully on web , the stu-
dents would be able to have an anonymous identity on this site, by
which the users will be able to share their knowledge with the people.
The aim to connect people of similar intellectual inclination, share
ideas and connect with like-minded individuals who share the same
interests. By doing so , one can keep track of certain issues or top-
ics and get enlightened with them without discriminating your past,
present and future. As the site basically aims at student community,
it could be an add on to their professional identity .This could be
achieved by linking this site to their social networking site[16].
60
61. A Q&A Platform
Questionandanswer websites are the ones where questions are cre-
ated, answered, edited and organized by its community of users.Question
Answering (Q&A) is a computer science discipline within the fields
of information retrieval and natural language processing (NLP),
which is concerned with building systems that automatically an-
swer questions posed by humans in a natural language.
B Django
Django is a high-level Python Web framework that encourages rapid
development and clean, pragmatic design. Built by experienced de-
velopers, it takes care of much of the hassle of Web development, so
you can focus on writing your app without needing to reinvent the
wheel. It’s free and open source.
C NLTK
Natural Language Tool Kit for spellchecker,pos tagging etc.NLTK
has been called a wonderful tool for teaching, and working in, com-
putational linguistics using Python, and an amazing library to play
with natural language.
D Numpy
Numpy is the fundamental package for scientific computing with
Python. It contains among other things:
a powerful N-dimensional array object
sophisticated (broadcasting) functions
tools for integrating C/C++ and Fortran code
useful linear algebra, Fourier transform, and random number capa-
bilities
61
62. E PyEnchant
PyEnchant is a spellchecking library for Python, based on the ex-
cellent Enchant library. PyEnchant combines all the functionality
of the underlying Enchant library with the flexibility of Python and
a nice Pythonic object-oriented interface. It also aims to provide
some higher-level functionality than is available in the C API.
F tf–idf
tf–idf, short for term frequency–inverse document frequency, is a
numerical statistic that is intended to reflect how important a word
is to a document in a collection or corpus. It is often used as a
weighting factor in information retrieval and text mining. The tf-
idf value increases proportionally to the number of times a word
appears in the document, but is offset by the frequency of the word
in the corpus, which helps to adjust for the fact that some words
appear more frequently in general.
G Profanity
Use of abusive words.
H SRS
A software requirements specification (SRS) is a description of a
software system to be developed, laying out functional and non-
functional requirements, and may include a set of use cases that
describe interactions the users will have with the software.
I MVC
MODEL VIEW CONTROLLER divides a given software applica-
tion into three interconnected parts, so as to separate internal rep-
resentations of information from the ways that information is pre-
62
63. sented to or accepted from the user.
J Python
Python is a widely used general-purpose, high-level programming
language.Its design philosophy emphasizes code readability, and its
syntax allows programmers to express concepts in fewer lines of code
than would be possible in languages such as C++ or Java.The lan-
guage provides constructs intended to enable clear programs on both
a small and large scale.
63
64. References
[1] Research on intelligent question-answering system. Green,
Claude Cordell and Raphael, Bertram,1967.
[2] QUALIFIER In TREC-12 Q&A Main Task. Yang, Hui and Cui,
Hang and Maslennikov, Mstislav and Qiu, Long and Kan, Min-
Yen and Chua, Tat-Seng,2003.
[3] Robust question answering over the web of linked data. Yahya,
Mohamed and Berberich, Klaus and Elbassuoni, Shady and
Weikum, Gerhard,2013.
[4] Why youth (heart) social network sites: The role of networked
publics in teenage social life. Boyd, Danah, 2007.
[5] Performance issues and error analysis in question answering sys-
tem.
Moldovan, Dan and Pa¸sca, Marius and Harabagiu, Sanda and
Surdeanu, Mihai,2003.
[6] Anonymity and the Law. Pichardo, Carlos Vilamil, 2004.
[7] Natural language question answering. Hirschman, Lynette and
Gaizauskas, Robert,2001.
[8] Wisdom in the social crowd: an analysis of quora. Wang, Gang
and Gill, Konark and Mohanlal, Manish and Zheng, Haitao and
Zhao, Ben Y,2013.
[9] Learning surface text patterns for a question answering system,
Ravichandran, Deepak and Hovy, Eduard,2002.
[10] Knowing what we know:: Supporting knowledge creation and
sharing in social networks. Cross, Rob and Parker, Andrew and
Prusak, Laurence and Borgatti, Stephen P,2001.
[11] Complete anonymity compromises the accuracy of self-reports.
Lelkes, Yphtach and Krosnick, Jon A and Marx, David M and
Judd, Charles M and Park, Bernadette,2012.
[12] QuestionHolic: Hot topic discovery and trend analysis in com-
munity
question answering systems Zhang, Zhongfeng and Li, Qiudan,
Journal:Expert Systems with Applications,2011.
64
65. [13] BirdKleinLoper09,Steven Bird and Ewan Klein and Edward
Loper, Natural Language Processing with Python, O’Reilly Me-
dia,
[14] Eric Jones and Travis Oliphant and Pearu Peterson and others,
SciPy: Open source scientific tools for Python, 2001–
[15] Simple and Effective Question Processing using Regular Ex-
pressions and WordNet, Whidden, Chris, 2005, Dalhousie FCS
Technical Report
[16] Middleware 2010, Mascolo, Cecilia, 2010, Springer
[17] A survey of techniques for event detection in Twitter, Atefeh,
Farzindar and Khreich, Wael, Computational Intelligence, Wiley
Online Library
[18] Narcissism and implicit attention seeking: Evidence from lin-
guistic analyses of social networking and online presentation, De-
Wall, C Nathan and Buffardi, Laura E and Bonser, Ian and
Campbell, W Keith,
65