Giter Site home page Giter Site logo

vibster / wikiquiz Goto Github PK

View Code? Open in Web Editor NEW

This project forked from alexgreene/wikiquiz

0.0 0.0 0.0 25 KB

Generates a quiz for a Wikipedia page using parts of speech and text chunking.

License: MIT License

CSS 47.73% HTML 11.70% Python 21.84% JavaScript 18.74%

wikiquiz's Introduction

WikiQuiz

alt tag

##Acknowledgements Credit to Volley (http://volley.com) for requesting/inspiring this project!

##To run: requirements.txt contains the libraries/modules you'll need (It's come to my attention that the Wikipedia library has a bug, so I recommend this instead: http://stackoverflow.com/questions/34869597/wikipedia-api-for-python#35122688). You'll also need to download some data so that the nltk library works. To do this, start the Python console (ie. type python on the command line) and then:

>>> import nltk
>>> nltk.download('averaged_perceptron_tagger')
>>> nltk.download('punkt')

Run server.py to get the Flask endpoints working, and then open up index.html - that's all!

##Potential Future Improvements: Choosing more appropriate multiple-choice options, especially for numbers

ie. if the answer is '1960s', show '1950s' as another option.

Ignoring the less text heavy parts of a Wikipedia page.

Creating more interesting grammar for the text chunker, which would lead to more interesting question types.

Some of the questions presented currently lack context about what the question is referring to. A further version of this project would attempt to interpret the context of the sentence in question and include that in the question.

ie. references to 'they' or 'he' would be replaced by what those pronouns are actually referring to.

##Known limitations: The Python script will not handle certain Wikipedia pages correctly ("Harry Potter" for example). Most likely due to how I'm iterating through the parsed token tree in create_questions in Article.py. Certain articles have disambiguations and I decided to leave handling these out of scope. For both of the above you'll see on the console that I'm just returning a 500 error. If working further on the project I'd fix these and create less overarching exception handling than the try/except in server.py

wikiquiz's People

Contributors

alexgreene avatar lgommans avatar t0mk 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.