These two research papers are very interesting:
- http://www.r.dl.itc.u-tokyo.ac.jp/~nakagawa/academic-res/ACL2005hosino.pdf
- http://www.r.dl.itc.u-tokyo.ac.jp/~nakagawa/academic-res/hoshino-HLT.pdf
The primary concern is how to build a system that really understands the content of an article, including its semantic relationship and context. From that point, the system knows whether a question is good enough to examine the user's understanding on the article. The approach used by the researchers is by utilizing machine learning technology to determine the qualification score of the generated question. The implemented technique is semi-supervised learning as there might be a qualified question yet labelled as the unqualified one.
I tried to built an implementation of this approach in the form of chatbot running on LINE platform. If you'd like to try, just add this LINE ID as your friend: @uob3969d
Hi, I'm DeepEnglish. Let's get acquainted!
- I'm here to help you in improving your English reading comprehension skill
- You'll learn through a reading quiz in the form of multiple choice questions
- You can read any articles written in English and try to understand what the article is all about
- Then, just give me that article and I'll generate several multiple choice questions based on it
- I'll try to understand the topic of the article and provide you with qualified questions
- I'll also try to create the 4 possible answers which can probably be tricky for you. I do this to examine your understanding on the article you gave to me beforehand
Here are the main process you can do to get the maximum learning value:
- Search any articles written in English. The topic can be anything
- Read that article and try to understand its primary topic
- Afterwards, simply send that article to me. You can do it in two ways, namely provide me the URL (link) of that article OR the original article directly as a text message
- I'll try to understand the article and then generate several multiple choice questions based on it. This process may take a few seconds, so I hope that you can be patient
- If I successfully found the eligible questions, I'll show a message notifying the next process. Vice versa, I'll also show a message notifying that the process of question generation can't be executed successfully. For the latter case, there's a possibility that I couldn't find any questions that are good enough to examine your understanding. Just try to provide me with another article :)
- For the success condition, I'll provide the question one by one and move on to the other when you've submitted an answer for the corresponding question
- You can choose to complete all questions generated by me OR end the quiz while it's running. For the latter case, just type 'end quiz' and I'll stop the quiz
- After the quiz is finished (or ended in the middle session), I'll show your quiz result. It includes the total number of correct answers, the completion time, and the answer history
Wait. Besides my main capability to generate questions based on your article, I also provides these special features that can be used to speed up your study:
1. Summarizer: Got a good article in a website yet too long to read? Simply give your article and the number of summarized text you want to this feature and it will give you the only important information of the article. Noted that you can only provide the link containing the article, so you can't copy the article and paste it as a request. To use it, you need to provide a valid request format in order to get the desired result.
Format:
- @desummary<number_of_summarized_text>
Example:
-
Query: @desummary 3 http://www.example.com
-
Result: Text 1. Text 2. Text 3.
2. Spider: Got a good website and wanted to search for a keyword in it? Just use this feature as it can give you all the pages in the website containing your search keyword.
Format:
- @defind<source_url>
Example:
-
Query: @defind fruit http://www.example.com
-
Result:
I was built with these following awesome technologies:
- Java, with Spring as the framework
- Machine learning. I use it to determine whether the questions are good enough to examine your understanding in reading the article you submitted
- Distractor generator algorithm. I use it to generate 4 (four) options as the possible answers. They can be tricky and I think it's good to check whether you really understand the main concept of the article
- Content extractor. I use it to extract only the important and suitable parts of an article that comes from the URL you submitted
- Text summarizer. It is a part of Classifier4J, a Java library for text classification. I use it to create a summary of your article
- Web crawler (spider). I use it to find all pages in a website that contain your requested keyword
That's all. One more thing, don't forget to add me as your friend on LINE. Just search for my ID (@uob3969d). Let's learn together!
THANK YOU !