只需50个单词即可轻松编写用于语音识别的语法文件,因为您可以手动执行此操作。如果您有10,000或100,000个单词,最简单,最有效的方法是什么?
例:
假设我们有“RC可乐”和“百事可乐”。我们将有2个规则组成的语法文件:
饮料:( COLANAME?[可乐可乐苏打])
COLANAME:[rc pepsi]
它将识别“RC”,“RC Coke”,“RC Cola”,“RC Soda”,“Pepsi”,“Pepsi Coke”,“Pepsi Cola”和“Pepsi Soda”。
编辑: 我在谈论语音识别的语法。语音识别系统需要一个附带的语法文件,以便他们知道要识别的内容(gsl,grxml)。而且我实际上也在考虑的不仅仅是任何单词,而是一些你无法分类的名称。
答案 0 :(得分:5)
现在我明白了。你的意思是语法。您指定的语法格式是无上下文语法的表兄弟。存在关于无上下文语法的自动学习的研究领域。 Probabilistic Context-free grammars是这一领域的核心。 有关学习PCFG,Roni rosenfeld's Notes (PostScript)和Bayesian version (zipped postscript)的信息,请参阅unsupervised PCFG learning (PDF)。这是一个活跃的研究领域,自这些论文撰写以来已经发生了变化。 Eugene Charniak是该领域的一位多产研究员。
答案 1 :(得分:1)
对于一个50-100万字的词典,你几乎肯定会更好地建立一个听写语法,而不是试图建立一个无上下文的语法。微软免费提供他们的Dictation Resource Kit;我还没有用它,所以我无法评论它的可用性。
答案 2 :(得分:0)
我认为你的意思是词性标注;最快的方法是使用自动标记器并手动验证(并更正)结果。 即使标记符的命中率低至60-70%,它仍然会显着减少工作量。
答案 3 :(得分:0)
我没有能够解决我的问题的答案,但是Yuval的答案清楚地表明这是一个仍在开发中的主题,并且它还不够成熟。我知道现在可能没有简单的语法修复(至少在研究实验室之外)。现在做一个好语法的唯一解决方案可能是不断学习用户输入和敏捷重构语法文件。
答案 4 :(得分:-1)
完全随意/反对我的想法:
- 您可以尝试将单词分类为类别(名词,动词等),然后根据单词类对整个语句/句子形成可能正确的形式。然后,您可以尝试根据单词及其使用顺序将新测试数据拟合到先前定义的模型。
- 我也很好奇使用某种机器学习算法来学习基于某种训练数据或文献的单词的正确使用。一旦您训练了算法,您可以尝试根据以前的结果对新的传入数据进行分类。