AI Zone Admin Forum Add your forum

NEWS: Chatbots.org survey on 3000 US and UK consumers shows it is time for chatbot integration in customer service!read more..

How much dependency parsing techniques help in understanding natural language?
 
 

Hi All,
I am working on a problem which has 2 parts:
1. Differentiate between domain specific and general queries?
2. Get intent from domain specific query and respond based on templates?
I will explain what approach I have used and I really want suggestions on how can I improve on it.

I have used domain related dictionaries and if a message contains some domain related word then I mark the query as domain specific else general. As this approach fails at lot of time because of the word sense disambiguation. So,
now instead of directly using dictionaries now I am going for rules based on dependency tree for the sentence, as I don’t have much data so for limited queries I am creating those rules manually. for eg.
find indian hotels in california? In this example I am finding dependencies between tokens and tag “indian” as intent and “california” as location for finding hotels. Similar exercise I do for some set of queries I have.
So, If relationship exists in the new query then I am categorizing it and querying it if it comes under domain specific.
Is this kind of approach scales or is there any other good approach to do this?

Regards,
Mayank

 

 
  [ # 1 ]

Maybe you could construct the rules that you need for decoding the dependency tree using verb frames.

Take a look at projects like VerbNet and VALEX which have hundreds of templates for verb frames. The goal is to assign values to thematic roles and obtain a predicate and arguments which define the meaning of the query.

http://verbs.colorado.edu/~mpalmer/projects/verbnet.html

http://ilexir.co.uk/applications/valex/

 

 
  [ # 2 ]

Hi:
I hope you will take a look at “QuickStart.txt” on GitHub at
https://github.com/peterwaksman/Narwhal

If you already have the dictionaries, it may not be too hard to create a text reader of the form

N = NWReader( <dictionaries>, <formulas>)

This can handle disambiguation - not just with keywords but key relationships. Narwhal was created to handle hotel reviews. There is a sample app “NoiseApp.py” for one of the most difficult topics: noise complaints.

If you are interested, I am happy to help.

 

 
  login or register to react