GithubHelp home page GithubHelp logo

wmjg-alt / firsttosay Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 236 KB

try to be original, flask and sql databased statements NLP analyzed and checked for similarity to other statements. Are you the next Shakespeare, or just copying him?

Python 72.38% HTML 25.58% JavaScript 2.03%

firsttosay's Introduction

First to Say

                                                            wmjg

A webapp playing with document similarity

Say something original or be shamed as a copycat

A docker-compose is included to allow you to deploy it all the same way I do.

If you want to start fresh, you'll need to download some data from kaggle (sources in helper_funcs.py)

Then, in command line run the command:

    | docker-compose up --build

Built Utilizing:

  • flask and sqlalchemy
  • sqlite
  • elasticsearch
  • spacy language detection
  • nginx and gunicorn
  • docker

Example of how it works:

            1. you register as a User so you can be the author
            2. input a sentence you think is original
            3. return your Quote and the most similar quotes in our db
            4. You either are original -> now your quote is part of the db
                * Or you're not, and we show you who got there first

Under the hood:

            1. registered as an author in a sqlitedb
            2. normalize your input then spacy checks for grammaticality
                * Using language detection, treshhold of recognition
            3. query elasticsearch for MOST similar quotes
                * top elasticsearch results get cosin similarity scored
            4. below a certain similarity threshhold
                * your Quote is generated as legitimate, entered into db
                * else, show you who got there first

Every User (authors included) has an accessible profile page of all their quotes

And all Quote can be liked by a User


Future implementations:

* Gamification: 3 strikes and you're out, track longest streak
* "Followers": track who you're similar to, display in profile
* Topic Model: display in profile your most common topics
* cookies and tracking: can't see your entry result more than once; refresh or back loses that similarity results page

firsttosay's People

Contributors

wmjg-alt avatar

Watchers

Kostas Georgiou avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.