yin

电话实现大规模姓名匹配02

上一讲,我们讲到通过ner命名实体识别,实现信息提取。 当我们分析完用户说的话,提取出对应的名称,接下来就是问题的重中之重。 如果用户说的内容asr翻译的是李命薄,或者用户不记得对方名字,只有他的昵称。鸵鸟。我们如何去解决这类问题。 多种方案 1:使用es做相似查询搜索 es及elasticsearch,熟悉es的人清楚,es将文本内容解析成token之后,使用倒排索引方式存储。 如果我们使用es进行相似匹配,效果可能不好,因为姓名此类,如何使用分词呢?按字分词检索? 2:使用词向量来做相似匹配。 我个人采用词向量方式。 什么是词向量,embedding 最近大模型爆火,很多人使用chatgpt,或者其他开源大模型时候,经常接触embedding。就是将文本转化为可以计算的向量。 词向量-可以使用对汉字的词向量,方式很多。 可以调用chatgpt的embedding接口 可以使用bert-embedding方式,甚至可以使用Word2vec等等经典方式处理。 解析出对应的embedding向量之后,将向量存储起来,形成embedding库
yin

电话实现大规模姓名匹配01

客户有这样的需求,公司500-1000名员工,通过姓名、昵称转接给当事人。 初看觉得是个简单问题,提取姓名+匹配即可。 你期望的而输入 query == 姓名,然后做匹配。 真实情况可能是: A: query== 帮我转接给李鬼(姓名) B: query== 那个叫李奎的帮我转接 C: query== 帮我转给黑旋风 ……………… 所以,这个简单的需求,其实是ner命名实体识别+多维相似匹配。 ner命名实体识别,我们可以采用bert等+crf来实现。 对应提取的姓名而言,这只是实现了第一步。 现在需要将姓名和近1000个进行相似匹配。 实现了相似匹配还需要考虑一个问题,1000个姓名,包含了n个昵称。 同时,还得考虑asr转写之后的口音问题。 我们下一篇文章来介绍,我是如何处理的。
yin

mrcp协议图解流程

最近很多小伙伴在询问想了解mrcp协议的具体流程和细节问题。 抽空我就梳理一下,做个介绍。 mrcp协议,目前业界使用的是v2版本,即基于sip信令的mrcp协议。 mrcp协议和sip、rtp、密不可分的协议。 以下是mrcpV2协议,大家有空可以详细研读协议本事。https://www.rfc-editor.org/rfc/rfc6787 如果你不想看枯燥的文档,可以继续看我的文章,希望对你有个深入浅出的理解。 上图是mrcp协议的处理流程图。 mrcp-client-和server之间,首先先进行的是 sip协商。  实际抓包流程如下图所示 sip协议的invite会携带 resource:speechrecog 代表client需求是asr识别。  server返回200会携带mrcp-v2的tcp端口和new channel 信息给到client。 当client和server处理完sip-200-ack之后,就到了mrcp 处理asr、tts协议了。收到200后返回ack,client既可以进行 MRCP-RECONIZE client根据sip-
yin
开源mrcp-client-java版本

开源mrcp-client-java版本

我们已经实现了 基于sip协议-mrcpv2协议的 mrcp-client java版本。 机缘巧合下,我们实现了 mrcp-client java版本。 我们查看了github上开源的mrcp相关的有node、c++、java版本的,但是java版本的只支持mrcp协议不支持sip协议。 因此我们萌生了自己动手实现一个sip+mrcpv2版本的java服务。 1:mrcp4j年久失修,里面有一些处理mrcp协议的bug。     mrcp4j 没有sip协议处理 2:我们基于peers实现sip协议。 我们先开源client,基于client你可以实现自定义音频文件传入给client,并通过client将媒体流传给mrcp-server服务, 同时client能够监听和处理来自server的asr信息。 以下是代码情况,近期请期待。
yin
我要自救-吵架机器人-怒怼工贼

我要自救-吵架机器人-怒怼工贼

需求:我要实现一个能够帮助语言组织能力欠佳的人,怒怼工贼。 设计: 输入:实时语音流 分析:语音转文字--》大模型处理(TMD-GPT)--》文字转语音--》实时回怼。 涉及相关技术领域如下: 编程语言:JavaScript、python、java 领域:AIGC、ASR、TTS、前端、webRTC、后端 前端选择 vue 实时音频-webrtc 后端选择 java- 多线程处理优势,处理流和webrtc python-处理算法相关 ASR服务 1:实时语音转写服务 前端语音分流实现-js worker方式传送音频 2:实时语音处理,切分vad等 3:asr服务 TTS服务 声纹复刻服务 桌面应用 electron CMD-GPT 1:数据生成1:
yin