- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
描述
Java 中的语音识别计算器使用 Sphinx4 library存在。
github上的完整代码:here
<小时/>我正在使用的 gram 文件如下( on github ):
#JSGF V1.0;
/**
* JSGF Grammar
*/
grammar grammar;
public <syntax> = (one | two | three| four| five | six | seven | eight | nine | ten | eleven | twelve | thirteen | fourteen | fifteen | sixteen | seventeen | eighteen | nineteen | twenty)
(plus | minus | multiply | division)
(one | two | three| four| five | six | seven | eight | nine | ten | eleven | twelve | thirteen | fourteen | fifteen | sixteen | seventeen | eighteen | nineteen | twenty);
<小时/>
问题:
我希望程序能够识别英语中从 0 到 100 万的数字
。
在当前状态下,如您所见,它可以识别数字(一|二|三|四|五|六|七|八|九|十|十一|十二|十三|十四|十五|十六 | 十七 | 十八 | 十九 | 二十)
,因为我已将它们手动写入 gram 文件
中。
我的意思是我必须将它们全部手动写入gram文件
(我可以创建一个程序来生成该文件),但这似乎是不可能的(可能存在某种模式),该文件将太多千兆字节。
最后:
有什么聪明的解决方案吗?感谢您的努力:)
<小时/>Nikolay
解决方案之后的新语法是:
public <number> = (one | two | three | four | five | six | seven | nine | ten
| eleven | twelve | thirteen | fourteen | fifteen | sixteen | seventeen | eighteen | nineteen | twenty
| thirty | forty | fifty | sixty | seventy | eighty | ninety | hundred | thousand | million | billion)+;
public <syntax> = <number>{1} (plus | minus | multiply | division){1} <number>{1};
最佳答案
最聪明的解决方案是首先识别文本字符串。语法不应该很复杂,它应该只是列出数字中使用的单词:
grammar number;
public <number> = (one | two | three | four | five | six | seven |
nine | ten | eleven | twelve | thirteen | fourteen | fifteen |
sixteen | seventeen | eighteen | nineteen | twenty | thirty | forty |
fifty | sixty | seventy | eighty | ninety | hundred | thousand |
million | and )*;
识别文本后,将其转换为数字。您可以查看How to convert words to a number?了解详情。
关于java - 让 Sphinx4 使用自定义 .gram 文件识别所有数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40691518/
我正在阅读有关 n 元语法的内容,我想知道在实践中是否存在优先使用单元语法而不是双元语法的情况(或更高的N-grams)。据我了解,N越大,计算概率和建立向量空间的复杂性就越大。但除此之外,还有其他原
我一直在为我的一个新项目使用 ElasticSearch。我已将默认分析器设置为使用 ngram 标记过滤器。这是我的 elasticsearch.yml 文件: index: analysis:
我正在做一个项目,我需要一个 skip-gram 模型的预训练向量。我听说还有一个名为 skip-n-gram 模型的变体可以提供更好的结果。 我想知道自己训练模型需要什么?因为我只需要它们来为我的模
我正在尝试使用 Lucene (5.5.0) 进行一些字符串标记化(无索引)。我需要: 完全删除包含数字的单词,例如像 log4j 这样的单词应该从字符串中删除 我想将字符串拆分为单字术语和 2 克术
我正在尝试在 Scala 中编写基于 n-gram 的分离新闻算法。 如何为大文件生成 n-gram: 例如,对于包含“蜜蜂是蜜蜂的蜜蜂”的文件。 首先它必须选择一个随机的 n-gram。例如,蜜蜂。
给定一个大文本文件,我想使用 Apache Spark 提取字符 n-gram(并行执行任务)。 示例输入(2 行文本): 第 1 行:(Hello World,它) 第 2 行:(是美好的一天) 输
对我以前的post进行了更新,并做了一些更改: 说我有100条微博。 在这些推特中,我需要提取:1)食品名称,2)饮料名称。我还需要附上类型(饮料或食品)和一个id号(每个项目有一个唯一的id)为每个
我是Python新手,正在研究建筑行业契约(Contract)文件的多类文本分类。我在代码中实现 n 元语法时遇到问题,这些代码是我通过从不同的在线资源获得帮助而生成的。我想在我的代码中实现一元语法、
Gram-Schmidt 正交化算法的计算复杂度是多少? 假设一个m 行和k 列的矩阵,计算正交化需要多少次操作? 如果可能的话,我想要乘法和加法的确切数量。 编辑:在我看来,操作总数(乘法 + 加法
在Keras中可以使用n-gram吗? 例如,句子包含在X_train数据框中,带有“句子”列。 我通过以下方式使用Keras的 token 生成器: tokenizer = Tokenizer(lo
给定一个具有独立列的矩阵 A(不一定是正方形),我能够应用 Gram-Schmidt 迭代并使用 Matlab 的函数 qr 为其列空间(以正交矩阵 Q 的形式)生成正交基 A=[1,1;1,0;1,
我有一个 n-gram 列表 ('allo', 'stesso', 'modo', 'dell’italia,', 'che') ('stesso', 'modo', 'dell’italia,',
我有一个已经被标记化的文档列表: dat result[[2]] [1] "argentine" "crude" "oil"
使用什么算法来查找 ngram? 假设我的输入数据是一个单词数组和我想要查找的 ngram 的大小,我应该使用什么算法? 我要求提供代码,优先选择 R。数据存储在数据库中,因此也可以是 plgpsql
我有一个使用关键字 token 生成器(整个术语是 token )的字段类型,具有小写和边缘n-gram过滤器,例如“Robert Longo”存储为“r”,“ro”,...,“robert l”,“
我正在尝试使用三元组进行下一个单词预测。 我已经能够上传一个语料库并通过它们的频率识别最常见的三元组。我在 R 中使用了“ngrams”、“RWeka”和“tm”包。我按照这个问题寻求指导: What
我正在研究一个增强和替代通信 (AAC) 程序。我当前的目标是存储输入/口语文本的历史记录并搜索常用短语片段或单词 n-gram。我目前使用的是基于 lzw 压缩算法的实现,如 CodeProject
我正在构建一个基于 OpenGL3 的免费开源 3D 游戏引擎(这不是学校作业,而是为了个人技能发展和回馈开源社区)。我已经到了需要学习大量相关数学的阶段,所以我正在阅读一本很棒的教科书,名为“3D
我试图从从文本文档中提取的模式中提取 ngram,模式具有不同数量的术语。 例如:如果模式 p={t1,t2,t3} 我们需要提取 ngram 3 应该是这样的 t1 t2 t3 t1, t2 t2,
我正在编写一个 C 程序,以便在某个字符串中找到最频繁的 n-gram。 一个n-gram是一个 contiguous sequence of n items from a given sequenc
我是一名优秀的程序员,十分优秀!