The Simpsons Quiz was developed as part of the students lab Question Answering Technologies Behind IBM Watson offered by the Language Technology Group at Technische Universität Darmstadt and uses IBM Watson technology.
It was created in 2015 by Stefan Bauregger, Timo Gerecht, Daniel Theiß and Ute Winchenbach.
Containing the Answer Processing Pipeline, which further processes IBM Watson answers to obtain shorter answers. It communicates with the StanfordCoreNLPServer for text annotations.
Library for communication with IBM Watson instance (sending questions and receiving answers).
The QuizBackend Java implementation acts as the client component that communicates with the Web-Backend over the REST-API.
SimpsonsQuiz Android App
SimpsonsQuiz Web Application, using Play Framework
Server component for Natural Language Processing, using Stanford CoreNLP Toolkit
For managing SimpsonsQuiz related data like users, questions and reviews a RESTful Web-Backend was implemented. The Web-Backend mainly acts as intermediary between the database and the SimpsonsQuiz applications. It was programmed in PHP and uses Slim, a micro framework for PHP.
- Oracle JDK or OpenJDK version 7 or later
- Android SDK including Android Studio as IDE for App Development
- Gradle for building libaries and Android App (included in Android Studio)
- Scala SBT for building the Web Application
- Apache Ant for building StanfordCoreNLPServer
Before deploying and using the Applications, the ServerBackend and the StanfordCoreNLPServer needs to be installed. Installation instructions for these can be found in the README files in the corresponding directories. After installation, you should have all the needed credentials and URLs together.
-
Rename 'SimpsonsQuiz/app/src/main/assets/simpsonsquiz_sample.properties' to 'simpsonsquiz.properties'
-
Open the file and enter the credentials and URLs where asked for.
-
If not using Android Studio, create 'SimpsonsQuiz/local.properties' manually, to set the location of the Android SDK, using the sdk.dir property. Example local.properties file:
sdk.dir=/path/to/Android/Sdk
-
Run
gradle assembleDebug
in 'SimpsonsQuiz'
-
The builded .apk file can be found in 'SimpsonsQuiz/app/build/outputs/apk/app-debug.apk'
-
Rename 'SimpsonsQuiz-Web/conf/credentials_sample.conf' to 'credentials.conf'
-
Open the file and enter the credentials and URLs where asked for.
-
Run
gradle copyJars
in 'SimpsonsQuiz' to compile and copy jars into web project ('SimpsonsQuiz-Web/lib') Note: The location of the Android SDK has to be set, see Android Application, Step 3 above.
-
Run
sbt dist
in 'SimpsonsQuiz-Web' for packaging
-
The packaged zip can be found in 'SimpsonsQuiz-Web/target/universal/'
-
The executable can be found in the bin-folder of the extracted zip
-
Linux only: Make 'simpsonsquiz-web-1.0/bin/simpsonsquiz-web' executable with
chmod +x simpsonsquiz-web
-
Linux: Run the executable with
./simpsonsquiz-web -DapplyEvolutions.default=true
Optionally you can specify the port with
-Dhttp.port=8080
as parameter
(More infos on Play Framework Deployment: https://www.playframework.com/documentation/latest/Production)
To load and show the pictures from SimpsonsWiki you have to set showSimpsonsPictures=true
at the end of 'SimpsonsQuiz-Web/conf/application.conf' resp. the 'application.conf' that will be used by the executable.