All Projects → im-minion → Subjective-Answer-Evaluation

im-minion / Subjective-Answer-Evaluation

Licence: Apache-2.0 license
Subjective answer evaluation using machine learning. Give your answers at this link ->

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to Subjective-Answer-Evaluation

PyLDA
A Latent Dirichlet Allocation implementation in Python.
Stars: ✭ 51 (+131.82%)
Mutual labels:  machine-learning-algorithms
spams-python
A rehost of the python version of SPArse Modeling Software (SPAMS)
Stars: ✭ 28 (+27.27%)
Mutual labels:  machine-learning-algorithms
Intention-Mining-
Intention Mining in Social Networking. It Mines Emotions and polarity for the given keyword . For the keyword it searchers the twitter for the comments and analyzes the results for various events such as Election results, Sports prediction Movie ratings, Breaking news events such as demonetisation and many more. Bayes , Maximum Entropy and Hidde…
Stars: ✭ 19 (-13.64%)
Mutual labels:  machine-learning-algorithms
MachineLearning
Implementations of machine learning algorithm by Python 3
Stars: ✭ 16 (-27.27%)
Mutual labels:  machine-learning-algorithms
datascience-mashup
In this repo I will try to gather all of the projects related to data science with clean datasets and high accuracy models to solve real world problems.
Stars: ✭ 36 (+63.64%)
Mutual labels:  machine-learning-algorithms
Innovative-Book-Resources
This repository contains books from different topics and perfect enough to give developers a boost in understanding the concepts of Data Science and Artificial Intelligence(other topics are also included but main highlights are these two).
Stars: ✭ 57 (+159.09%)
Mutual labels:  machine-learning-algorithms
AgePredictor
Age classification from text using PAN16, blogs, Fisher Callhome, and Cancer Forum
Stars: ✭ 13 (-40.91%)
Mutual labels:  machine-learning-algorithms
ML-For-Beginners
12 weeks, 26 lessons, 52 quizzes, classic Machine Learning for all
Stars: ✭ 40,023 (+181822.73%)
Mutual labels:  machine-learning-algorithms
SGDLibrary
MATLAB/Octave library for stochastic optimization algorithms: Version 1.0.20
Stars: ✭ 165 (+650%)
Mutual labels:  machine-learning-algorithms
random-fourier-features
Implementation of random Fourier features for kernel method, like support vector machine and Gaussian process model
Stars: ✭ 50 (+127.27%)
Mutual labels:  machine-learning-algorithms
Tf-Rec
Tf-Rec is a python💻 package for building⚒ Recommender Systems. It is built on top of Keras and Tensorflow 2 to utilize GPU Acceleration during training.
Stars: ✭ 18 (-18.18%)
Mutual labels:  machine-learning-algorithms
EXPLORING SKLEARN
Exploring sklearn 🌟
Stars: ✭ 12 (-45.45%)
Mutual labels:  machine-learning-algorithms
Learn-Machine-Learning-in-3-month
No description or website provided.
Stars: ✭ 35 (+59.09%)
Mutual labels:  machine-learning-algorithms
lbfgsb-gpu
An open source library for the GPU-implementation of L-BFGS-B algorithm
Stars: ✭ 70 (+218.18%)
Mutual labels:  machine-learning-algorithms
ugtm
ugtm: a Python package for Generative Topographic Mapping
Stars: ✭ 34 (+54.55%)
Mutual labels:  machine-learning-algorithms
Machine-Learning-Explained
Learn the theory, math and code behind different machine learning algorithms and techniques.
Stars: ✭ 30 (+36.36%)
Mutual labels:  machine-learning-algorithms
machine-learning-notebooks
🤖 An authorial collection of fundamental python recipes on Machine Learning and Artificial Intelligence.
Stars: ✭ 63 (+186.36%)
Mutual labels:  machine-learning-algorithms
bonsai-dt
Programmable Decision Tree Framework
Stars: ✭ 34 (+54.55%)
Mutual labels:  machine-learning-algorithms
BoostSRL
BoostSRL: "Boosting for Statistical Relational Learning." A gradient-boosting based approach for learning different types of SRL models.
Stars: ✭ 31 (+40.91%)
Mutual labels:  machine-learning-algorithms
RapLyrics-Back
Model training, custom generative function and training for raplyrics.eu - A rap music lyrics generation project
Stars: ✭ 14 (-36.36%)
Mutual labels:  machine-learning-algorithms

Subjective-Answer-Evaluation

LOGIC and CONCEPT

IDEA is to evalaute the subjective/descriptive answers from the model answer is provided. Basically for the first attempt I have ceated a Python Flask App which is hosted at https://pure-woodland-16548.herokuapp.com where student can give there answer. Currently It has 3 general OOPS related questions. After submiting the data goes to Firebase. And when the "givVal.py" script is executed it will evaluate and store in Firebase DB the answers of each question based on ML algorithm that I have implemented.

At the core NB classifier is working. With 21 records available in it.

(This dataset is manually written by me after observing some real answersheets evalauted by university Professors.)

(I know its very very very small dataset but still atleast read the complete documentation you'll get to know what I want to say! :) )

(herer is that Dataset https://github.com/im-minion/Subjective-Answer-Evaluation/blob/master/Modules/finaldataset.csv)

For doing this evaluation I have used 3 Parameters

1.Keywords
2.Grammar
3.Qusetion Specific Things (QST)

The dataset have 4 attributes viz. "keywords", "grammar", "qst"(Qusetion Specific Things) and "class". "class" is the attribute that ML algo. will predict after providing values of remaining 3 attributes.

So, the values of "keywords" and "qst" attributes defined as :(1-excellent,2-verygood,3-good,4-ok,5-poor,6-verypoor)

the values of "grammer" attribute defined as: (0-improper,1-proper) and finally

the value of "class" ranges from 1 to 9.

1.Keywords

Evaluation of Keywords based Cosine Similarity of "student's/user's answer" with "model answer".

Firstly texts (i.e. student's and model answer) converted into vectors. And from these two vectors the Cosine similarity is Calculated.

Now this gives value from 0 to 1. this is converted into numeric form (i.e. 0 to 100). And then keywords will get the value from 1-6

2.Grammar

For this number of grammatical mistakes taken into consideration.

For this API provided by https://textgears.com is used. Thanks for that :) .

3.Qusetion Specific Things (QST)

Fuzzy Logic is used to give the value of qst.

(FuzzyWuzzy libraray from https://github.com/seatgeek/fuzzywuzzy this is used. Thanks for that :) ).

(note: I am begineer in ML and this is my first project in ML. For Any Suggestions please let me know here [email protected] )

Usage:

First of all clone this repository using following command:

git clone https://github.com/im-minion/Subjective-Answer-Evaluation.git

or download https://github.com/im-minion/Subjective-Answer-Evaluation this repository.

Then You can find the "requirements.txt" file at the root level of this project which contains all the requirements of this project. For installing these requirements open terminal and run the following command

cd path/to/Subjective-Answer-Evaluation
pip install -r requirements.txt

Now, As mentioned previously that this project uses Firebase. So for the Firebase configurations,

1. Create a firebase project at https://console.firebase.google.com
2. Create "configurations.py" file at the root level and add the following
config = {
    "apiKey": "add your api key",
    "authDomain": "add your domain",
    "databaseURL": "add your DB url",
    "projectId": "add your project id",
    "storageBucket": "add your storage bucket",
    "messagingSenderId": "add your message Id"
}
3. Then go to your Firebase Database console click start in realtime databse (select test mode if popo-up comes i.e. database rules must be true for read and write both) and import the json file "temp.json" inside temp folder.

(In temp.json just for an example three model answer and there answers given by 9 users/students are included. So you can evaluate/test them.)

Now, next step is to run the programs

4. So, To give the answers you can run Data_set_collector.py file inside the DataSetCollectoeFlaskApp directory and can give your answers. It is simple flask app which let users to answer the subjective questions.

(Also for evaluating for your own question change the model answer in Firebase DB and the question in flask app and store them in DB as per requirements and test)

5. The main algorithm is in "givVal.py" file inside Modules directory.

Run that file and you will have the answers evaluated by the algorithm inside the DB and it will also print them in the terminal.

:)

for any issues drop an email - [email protected] (For getting the results evalauted by algorithm download this Android Application

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].