snipsco / snips-nlu

Snips Python library to extract meaning from text
https://snips-nlu.readthedocs.io
Apache License 2.0
3.89k stars 513 forks source link

slot recognition problem #777

Open satnam2012 opened 5 years ago

satnam2012 commented 5 years ago

Hi,

I'm looking into Snips API and I have tried to get my hands on with the sample data set and simple queries. I have found issues with how the entities are being recognized. For example, I used dataset - https://github.com/snipsco/snips-nlu/blob/master/snips_nlu_samples/sample_dataset.json code snippet - https://snips-nlu.readthedocs.io/en/latest/quickstart.html

For the text 1: "turn on the lights in basement" Response is - { "input": "turn on the lights in basement", "slots": [ { "slotName": "room", "range": { "start": 22, "end": 30 }, "rawValue": "basement", "value": { "kind": "Custom", "value": "basement" }, "entity": "room" } ], "intent": { "intentName": "sampleTurnOnLight", "probability": 1.0 } }

For text 2 - "turn on the basement lights" Response is - { "input": "turn on the basement lights", "slots": [], "intent": { "intentName": "sampleTurnOnLight", "probability": 0.7618103188247944 } }

Issue: For the text 2, the slot extraction is not happening as expected (entity:room). Could you elaborate the root cause?

Thanks!

adrienball commented 5 years ago

Hi @satnam2012 , The sample dataset which is mentioned in the tutorial and that you used is very small and its purpose is more to describe the data format and how the main parsing APIs work. If you want to improve the slot filling, you should add more utterances in the dataset. The Snips NLU engine is based on machine learning so the more data it receives, the better it should be at parsing.