少しだけ技術的な話

クイズの問題は、各種ニュースサイトのRSSをクローリングして、自動的に生成しています。
クローリングした記事内容から固有名詞表現を抽出し、抽出した語と、その語の関連語を選択肢とする4択問題を作成する、という流れです。
関連語については、「たつをのChangeLog:Wikipediaのキーワードリンクを使って関連語データを作ってみた」で公開されているcgiをお借りしています。(ゆくゆくは自作のものにするかも知れません。)


クイズ開始のコマンドは、入力文の係り受け構造を解析して「クイズ」→「やる」という係り受け構造がある場合にクイズを開始するようにしています。なので、多少複雑な文章でも、クイズが始まると思います。
ただし否定表現などの考慮はいまのところはしていないので「クイズなどやりたくない」というメッセージが送られても、クイズが開始してしまいます。こちらは余裕があれば対応したいです。


クイズの解答は、文の先頭に数字と分かるような語が含まれていれば判別できると思います。
「1」「1かな?」「1で!」みたいなものであれば対応できます。いまのところ英数字と漢数字、「いち」「イチ」のような表現のみ対応しています。


言語はJava形態素解析はsen(MeCabJavaポーティング)、データ保存はHBaseを使用しています。固有表現辞書と係り受け解析器は自前のものです。