ASR语音转录Prompt优化

ASR语音转录Prompt优化

一、前言

在ASR转录的时候,我们能很明显的感受到有时候语音识别不是很准确,这过程中常见的文本错误主要可以归纳为以下几类:

  1. 同音错误(Homophone Errors)

    同音错误发生在不同词语发音相似或相同的情况下。ASR系统可能难以区分这些词语的具体含义,从而导致错误的词语被识别。例如,中文里的"海"和"还"在某些方言或口音中发音相近,可能会被错误地互换。

  2. 语法错误(Grammatical Errors)

    语法错误是指识别出的文本在语法结构上的错误。这可能是因为ASR系统在处理不完整的句子、口语化的表达或语言习惯上的差异时,未能准确地构建出符合语法规则的句子。

  3. 拼写错误(Spelling Errors)

    尽管在一些语言(如中文)中拼写错误不像英语那样常见,但在需要将声音转换为拼写形式的语言中,ASR系统可能会将某个声音错误地转换为一个或多个不正确的字母或字符。

  4. 词序错误(Word Order Errors)

    词序错误涉及到词语排列的顺序不当,这在将口语转换为书面文本的过程中尤其常见。口语中的非正式表达和句子结构可能导致ASR系统无法准确地识别正确的词序。

  5. 缺失或多余的词汇(Missing or Extra Words)

    有时,ASR系统可能会遗漏用户实际说出的词汇,或者错误地在文本中添加了并未说出的词汇。这种情况可能由背景噪音、说话者的语速过快,或是ASR系统的语言模型不够准确所导致。

  6. 语境理解错误(Contextual Understanding Errors)

    语境理解错误是指ASR系统未能准确理解词语在特定语境中的含义。由于缺乏对整个对话或语境的理解,ASR系统可能会选择错误的词语,尤其是在多义词的识别上。

  7. 口音和方言(Accents and Dialects)

    不同地区的口音和方言差异也是导致识别错误的一个重要因素。ASR系统可能在特定口音或方言的识别上表现不佳,尤其是当系统训练数据中缺乏足够多样性时。

我们在这里可以通过大模型的后处理来提高识别的准确度。

二、实战例子

1、具体代码

下面是一个具体的例子

python 复制代码
# -*- coding:utf-8 -*-
"""
@Author: 风吹落叶
@Contact: waitKey1@outlook.com
@Version: 1.0
@Date: 2024/4/29 13:25
@Describe: 转录助手
"""
system_prompt = '你是洞墟科技的得力助手。你的任务仅使用提供的上下文纠正语音转文本后转录文本中的拼写错误,而不是对用户的内容进行回复!无论你多想回复都不要回复,禁止回复与纠正错误无关的内容。转录过程中错误通常有七种:同音错误、 语法错误、拼写错误、词序错误、缺失或多余的词汇、语境理解错误、口音和方言差异。你需要准确识别修改错误并输出正确的意思。下面是示例:用户输入:拟过的怎么样。你输出:{"rowText":"拟过的怎么样?","correctText":"你过得怎么样?"}'

import openai
import os
import os
from openai import OpenAI
def openai_reply(content, apikey):
    client = OpenAI(
        # This is the default and can be omitted
        api_key=apikey,
    )

    chat_completion = client.chat.completions.create(
        messages=[
            {
                "role": "system",
                "content": system_prompt
            },
            {
                "role": "user",
                "content": content,
            }
        ],
        model="gpt-3.5-turbo",
    )
    print(chat_completion)
    return chat_completion.choices[0].message.content


if __name__ == '__main__':
    while True:
        content = input("人类:")
        apikey = 'your apikey'
        text1 = openai_reply(content, apikey)

        print("AI:" + text1)

2、运行结果

可以看到确实是纠正了一些,如果对准确度有更高的要求,可以尝试使用gpt4进行纠正,这样价格可能会更高一些

相关推荐
看海天一色听风起雨落5 分钟前
Python学习之装饰器
开发语言·python·学习
XiaoMu_00135 分钟前
基于Python+Streamlit的旅游数据分析与预测系统:从数据可视化到机器学习预测的完整实现
python·信息可视化·旅游
THMAIL37 分钟前
深度学习从入门到精通 - 生成对抗网络(GAN)实战:创造逼真图像的魔法艺术
人工智能·python·深度学习·神经网络·机器学习·生成对抗网络·cnn
我没想到原来他们都是一堆坏人2 小时前
(未完待续...)如何编写一个用于构建python web项目镜像的dockerfile文件
java·前端·python
总有刁民想爱朕ha3 小时前
车牌模拟生成器:Python3.8+Opencv代码实现与商业应用前景(C#、python 开发包SDK)
开发语言·python·数据挖掘
人衣aoa3 小时前
Python编程基础(八) | 类
开发语言·python
大模型真好玩4 小时前
深入浅出LangGraph AI Agent智能体开发教程(四)—LangGraph全生态开发工具使用与智能体部署
人工智能·python·mcp
百锦再4 小时前
脚本语言的大浪淘沙或百花争艳
java·开发语言·人工智能·python·django·virtualenv·pygame
掘技术4 小时前
十个 Python 案例分享
python
ZZHow10246 小时前
02OpenCV基本操作
python·opencv·计算机视觉