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
ChatGLM微调

ChatGLM微调

清华大学最近新出了第二代chatGLM必须尝鲜一下。 下载chatGLM模型非常费劲,下载之后进行模型测试运行。 from transformers import AutoTokenizer, AutoModel tokenizer = AutoTokenizer.from_pretrained('/mode/path', trust_remote_code=True) model = AutoModel.from_pretrained('/model/path', trust_remote_code=True,device='cuda') model = model.eval() model.chat(tokenizer, "测试测试") 我们使用 chatGLM-efficient-Tuning 项目进行微调。使用lora模型 微调也很方便: 自定义好训练数据 python src/train_sft.py
yin