Renuka Misal
Renuka Misal

Reputation: 75

Training Natural language Classifier in IBM watson

I want to train nlc in such way that - If I give an input as - "Sharpies" or "Cakes" or "iPhone6" then it should result in order as intent.

But it's not working for all the products, as intent should come for all the product names, where I would need to train NLC with few of product name and it will work for all the products (dynamically).

As we have thousands of products, how can get the intent as "order" for all products instead of adding all in ".csv" (Don't want to hard code all the product names)?

Can you please help me with this to retrieve the exact intent for all dyanmical products name as input to NLC?

Upvotes: 2

Views: 1357

Answers (1)

Simon O'Doherty
Simon O'Doherty

Reputation: 9349

What you are trying to do is not what NLC is intended for.

The purpose of intent is to understand what it is the end user is trying to achieve, not what products/keywords may appear in a sentence.

For example "I want to buy an iPhone" vs "I want to unlock my iPhone". Both mention iPhone but have two very different intents. In this case with training, you can distinguish between wanting to purchase, vs wanting to unlock.

One option you can try is looking at the Alchemy API entity extraction.

Another option is to use Watson Explorer Studio. But you will need Watson explorer to get it. There is Watson Knowledge Studio coming soon, which like WEX-Studio allows you to build custom annotators. You can use these annotators with UIMA to parse your text.

So you could easily build something to understand that "I don't want to buy an iPhone" is not the same as "I want to buy an iPhone", and have it extract iPhone as a product.

There is unsupported old free version of WEX-Studio called Languageware, if you want to see if that can help. That site contains manual and videos. Here is a video which I did that gives an example of how you would use it.

Upvotes: 3

Related Questions