ITエンジニアのブログ

IT企業でエンジニアやってる人間の日常について

質問応答システムの実装と考察:質問の用意

質問応答システムの動作確認をするには質問を用意する必要があります。

ファクトイド質問応答の場合、一般名詞もありますが、人名などの固有名詞(表現)に始まる語が求められると思います。

そういった固有表現には、既存の分類があるようなので、それらについて質問を作りました。

IREXの固有表現

次のものがあります。

  • 人名 (PERSON)
  • 地名 (LOCATION)
  • 組織名 (ORGANIZATION)
  • 日付 (DATE)
  • 時刻 (TIME)
  • 金額 (MONEY)
  • 割合 (PERCENT)
  • 固有物質 (ARTIFACT)

質問の作成

上のIREXの固有表現に関して、それぞれの種類に属する質問を1つずつ作成しました。

[
    {
        "question": "戦国時代の武将であり、本能寺で織田信長を討ったのは誰?",
        "answer": "明智光秀"
    },
    {
        "question": "政令指定都市を持つ、岡山県の西側に隣接する県はどこ?",
        "answer": "広島県"
    },
    {
        "question": "厚生省と労働省が統合してできた、国民生活の保障と経済の発展を目指す組織は何?",
        "answer": "厚生労働省"
    },
    {
        "question": "昭和46年は西暦何年?",
        "answer": "1971年"
    },
    {
        "question": "朝、昼、夜のうち、日没後の時間であるものはどれ?",
        "answer": ""
    },
    {
        "question": "現在、日本で流通している硬貨で、最も高価なものは何円硬貨?",
        "answer": "500円"
    },
    {
        "question": "1割を既約分数で表すと何分の何?",
        "answer": "1/10"
    },
    {
        "question": "任天堂が2017年3月3日に発売した、据置でも携帯でも使えるゲーム機は何?",
        "answer": "Nintendo Switch"
    }
]

実装する質問システムは、上の question を与え、対応する answer を期待するシステムになります。