点秀语音开单demo使用
未分类
说明
此工具使用了百度语音API作为语音识别,配合大量逻辑算法,以实现通过语音控制相关类目的填写。
可提升空间
出于QPS限制和restful_api的功能少,demo仅使用了百度语音转文字功能,模糊文字匹配和文字转置都使用本地编写的算法,可在QPS可接受的范围转而使用百度的api。
使用Android或IOS SDK可以设置自定义关键词和实时转译。自定义词库可在词向量在判断时大幅度提升准确率,能有效提升最终效果;实时转译会较低部分准确率,换来使用效果的提升。
用法说明
示例
- 鼠标左键长按长按说话。
- 用标准的普通话说“姓名王子,内容小米手机2台,水蜜桃5个,已收款,快递天天快递,备注可乐不加冰”。(当然,信息我已经录入)
- 再说“电话13813813813”可见修改。
准备工作
1.demo未适配分辨率,请在高为1080px的分辨率下打开,否则显示不全。
2.请配置语音输入装置。
3.点击销售单右侧的“+”符号,配置用户(demo中未做非法录入判断)
4.点击开单内容右侧的“+”符号,配置商品(demo中未做非法录入判断)
关键字
模块 |
关键字 |
结束语 |
客户名称 |
'名称', '姓名', '签名' |
自动解析其后姓名 |
客户手机 |
'手机', '电话' |
自动解析其后电话 |
开单内容 |
'内容' |
以量词结束单个条目; 以其它关键字结束,否则持续解析 |
是否收款 |
'已收款', '未收款' |
解析即结束 |
快递公司 |
'快递', '快递公司' |
自动解析其后内容 |
备注 |
'备注' |
以其它关键字结束,否则持续解析 |
注意:
- 当文本匹配到关键字,将开始分析其后的信息,为其所在模块解析字段并填入。比如“客户手机”,既可以说“客户手机139xx”,也可说“手机139xx”或者“电话139xxx”,即其为最小公约字段
- 商品部分,务必以量词结束条目,比如“小米全面屏手机2个”而不可只说“小米全面屏手机”
- 商品和备注字段在解析到其他关键字时将结束该模块。
- 地址因为歧义太多,不支持解析。
操作
- 鼠标左键长按“长按说话”开始说话,结束时松开左键,时长不超过60s,只支持标准普通话。
- 一段话没有说完时,可以重按录音继续输入,如果影响模块冲突,则更新为本次输入,否则不影响。
- 文本转换完毕时,在命令行可见转换内容帮助debug。
- 根据关键字说话进行匹配,更深的了解可见下方语音匹配逻辑部分。
- 开单内容左键选中行,双击右键删除,双击左键修改,demo不支持手动插入。
- 如需删除用户信息、商品内容等删除,直接删除根目录所有.json即可
用户信息语音匹配逻辑
- 当输入客户名称时,视为搜索已录入数据,找到数据后将之前录入的数据填入。
(阈值: 音节之间的radio距离大于0.7,其中找分值最高项)
- 当输入客户手机时,视为搜索已录入数据,找到数据后将之前录入的数据填入。
(阈值: 音节之间的汉明距离差不大于1,其中找分值最高项)
- 当同时输入客户名称和客户手机时,视为通过名称搜索已录入的数据,并将手机重置为本次输入。
(只找姓名)
- 当输入客户名称或客户手机,没有找到已录入数据,会直接将识别陌生所得结果并填入。
开单内容语音匹配逻辑
- 当输入开单内容时,通过量词结束区分每一个量词的内容,不会匹配未录入的商品内容。
(原因是防止带量词的商品错误录入,比如“夏普39寸电视”类型商品会被解析为[“夏普”,“39个”])
(阈值: 解析的中文内容之间的radio距离大于0.65,比如“小米全面屏手机”可以被“小米手机”表达)
其他信息匹配逻辑
- 是否收款不作为关键字,通过已收款/未收款直接匹配。
- 快递公司使用其后的商业名词进行匹配。
- 备注持续匹配其后内容,直到结束或遇到关键字。
- 确认是目前是个假按钮。
改进空间
虽然整体内容看起来很简单,但内部逻辑比较复杂,面板就写了大约14小时,很多已知可改进就是没时间写的的点包括:
- 缩放问题
- 录入判断
- 内容和名称放弃录入,确认后自动录入
- 手动插入商品
- 出错提示
- 确认后清空