Query classification for Virtual Assistant in Java?

Viewed 142

This is my first time posting to Stack Overflow, so please let know if I should be more thorough when asking questions in the future.

Currently I am working on a Virtual Assistant application for Android using Java, and although it is going well so far, I am unsure how to approach classifying user input. So far I have implemented the Stanford NLP Parser within the program, so that clause, phrase, and word labels can be applied to the raw text. This has allowed me to have the program recognise direct questions and extract the subject from it, simply by searching for the occurrence of certain tags.

(ROOT
  (SBARQ <--- Indicates that the sentence is a question
    (WHNP (WP Who))
      (SQ (VBD were)
        (NP (DT the) (FW samurai))) <--- Subject of question
      (. ?)))

Although this feels like a step forward, I hope to eventually have the assistant capable of classifying different types of questions, (weather related questions, time/date related questions, etc) while also being capable of recognising questions that are not as direct but are asking for the same information (e.g. "can you tell me about the samurai?" as opposed to "who were the samurai?"). Doing this by just using the Stanford NLP Parser and looking for certain tags seems like a very difficult task. Does anyone have any advice on alternative approaches I could take?

Thank-you!

1 Answers
Related