Author Message
Andrew.Prokop
Joined: Oct 28, 2014
Messages: 179
Offline
Why do I always get two matches for the same event in the search list from the speech interface? For example, if I match on my bank concept, I get this searchMatches List in matchFound():

Match id = 7777, name = bank, operator = , confidence = 5.05349, startTime = 25.43675, endTime = 25.73675,
Match id = bank, name = , operator = ANY, confidence = 5.05349, startTime = 25.43675, endTime = 25.73675

As you can see, it's a lot of the same values with a few differences.
AdrianRyan
Joined: Jun 23, 2015
Messages: 4
Offline
Hi Andrew,

The reason is that the match list will always tell you what matches occurred. The query you created had a multi level structure where the Bank concept was the top level and this had a phrases assigned. You'd set the bank as an ANY which ment that you wanted that match if any phrases where matched. You said the phrase and got a match for the phrase but also got a match for the bank. So that's why you got two matches. So imagine in the program you're writing you have two or more phrases in your query assigned under 'Bank' and you've set this as an ANY (bank). Say any of those phrases and you get a match for that phrases with the bank match. What we say is that you're trying to capture the 'bank' concept part of a conversation. We describe this as capturing a concept within a conversation. When people talk to each other they don't always use the same phrases. We wanted to give the flexibility so to be able to create queries in order to capture concepts (topics) of a conversation even if the phrases varied. A good example to explain this is with greeting. Say you are interested in knowing if a greeting was spoken in a conversation. There are many ways to say a greeting, for example, hello, good morning, how are you etc, so to capture a greeting in a query you could create greeting concept with an ANY and assign the phrases to it. Your program is interested in 'greeting' so when you say a match you get the greeting match and the phrase that matched it.


I know you're using the Breeze Speech Search Java APIs. These are the same APIs that the RealTimeSpeech snap-in uses. We've wrote some documentation that explains how the speech search engine works (the power behind the APIs) and how to write effective queries including further examples like this. This is available in the RealTimeSpeech SDK on Dev Connect if you are interested in finding out the power of how this all works!


Hopefully this helped.
Regards,
Adrian.


Andrew.Prokop
Joined: Oct 28, 2014
Messages: 179
Offline
Thanks, that did help. I'm not sure I would have done it the same way, but I can handle your approach. :-)

I've downloaded the documentation and will take a look at it.
Andrew.Prokop
Joined: Oct 28, 2014
Messages: 179
Offline
I take it back. Now that's I've thought it through, I would have done it the same way. :-)
Go to:   
Mobile view