我是Android新手。目前,我正在使用SpeechRecognizer
进行测验,以选择问题的答案
回答有5个单选按钮
每个收音机有3到5个字
答案示例:
目前我的应用程序只能在识别出的单词全部匹配时选择答案。
我想做的是..
如果识别的单词比其他单词更多,我的应用程序如何选择其中一个答案。
就像这样,如果识别的单词是Molly
和apple
,那么最接近的答案是Molly likes an apple
,那么我的应用就可以选择它。
我怎么能做到这一点?
提前谢谢你。
答案 0 :(得分:0)
为了使其运作良好,您必须采取一些解决方法。我的建议是:
当您处理识别结果时,我建议将所有结果制成单词,以便您可以将它们与预期答案进行比较。
的
的%test data
x=[34,35,36,37,38,39,41,42,43,44,45,46];
y=[0.33 0.166 0.25 0.33 0.5 0.58 0.66 0.66 0.5 0.58 0.8 0.66];
% sort values
[~,idx] = sort(y);
x = x(idx);
y = y(idx);
% use all values only once. Average the values
y_unique = unique(y);
x_unique = zeros(size(y_unique));
for i = 1:length(y_unique)
x_unique(i) = mean(x(y==y_unique(i)));
end
% test
interp1(y_unique,x_unique,0.33)
的
我在我的项目中做了类似的事情,我有命令,我必须识别它们并执行进程。
答案 1 :(得分:0)
您可以使用https://github.com/Simmetrics/simmetrics
例如:
MyPath = "c:\wherever\abc_*.ini" ' Set the path.
MyName = Dir(MyPath, vbDirectory) ' Retrieve the first entry.
Do While MyName <> "" ' Start the loop.
' Ignore the current directory and the encompassing directory.
If MyName <> "." And MyName <> ".." Then
Debug.Print MyName
End If
MyName = Dir ' Get next entry.
Loop
此libs还提供了可以使用的其他指标