gnawang / piazzaqa Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v3.0
License: GNU General Public License v3.0
================================================================================ Piazza Question Answering System Designed for EECS 280 at the University of Michigan ================================================================================ Developed from the open source OpenEphyra Question Answering System, PiazzaQA is designed for computer science courses that make use of Piazza as an open class forum. PiazzaQA is designed to respond appropriately to student questions by using course documents and previous piazza posts as reference material. This QA system is capable of referencing most related pizza questions and class documents while also citing the most related answer from said sources. ================================================================================ Acknowledgements: ----------------- OpenEphyra was originally developed by Nico Schlaefer, but many others have made valuable contributions. Special thanks go to: - Guido Sautter, for his work on definitional QA and the NE recognizer. - Justin Betteridge, who developed the answer type classifier. Content of this Distribution: ----------------------------- bin/ Java class files cache/ Cache files conf/ Configuration files doc/ Javadoc documentation index/ Indri indexed files lib/ Third party libraries log/ Log files res/ Resource files scripts/ Command line scripts src/ Java source files build.xml Ant build file for OpenEphyra javadoc.xml Ant build file for the Javadoc documentation CHANGES Changes made in new revisions LICENSE GNU General Public License README This file Getting Started: ---------------- Currently there is no easily executable file to run. This file is capable of being edited and tested in Eclipse IDE. The only system requirements are a Java runtime environment (version 1.5 or later) and about 1 GB of free RAM.
The baseline OpenEphyra system contains many features geared toward answering factoid questions. As we restructure the code towards questions typically asked in EECS 280, many of these remnant features from the baseline make Ephyra slow and possible interfere with the answer extract process. Research and remove all non important features.
Focus on...
It'd be useful if Ephyra could also respond to queries with related past piazza posts in case the generated answer is not useful or if the student wants to know more. Similarly, adding a reference to particular lecture could also be useful.
Baseline ephyra typically only handles a single question. However, piazza posts typically have more than a single sentence in the query.
There are two ways we can account for this:
I opt for the second as it would provide more usefulness for the tradeoff of extra time. However, time would be a huge issue because statements that clearly aren't questions will naturally return without many results from baseline Ephyra.
Figure out the best way to compile and export this program for testing and actual use next Fall.
When IndriKM is used, Ephyra fails to finish its search before my computer freezes and/or crashes. The reason for this is currently unknown, but looking into it could reveal more about whether the issue lies with the IndriKM file itself or the indexed Piazza data.
If Indri proves to have too many issues, or if Solr is just far superior, Solr would be a better place to go for document indexing. The Indri Knowledge Miner was included in the open source package, so it's already tested and approved. We'll have to do extensive research and testing with Solr to see the results. This is a side project for now, but if Indri refuses to work, this issue will become more important.
After getting the desired results from the search, the Ephyra answer extraction pipeline attempts to derive a factoid answer from said results. This significantly limits the spectrum of quesitons we can answer. Research and find a way to modify/remake the pipeline such that Ephyra can questions in a useful manner (information extraction questions)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.