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进行纠正,这样价格可能会更高一些

相关推荐
魔道不误砍柴功36 分钟前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
_.Switch1 小时前
高级Python自动化运维:容器安全与网络策略的深度解析
运维·网络·python·安全·自动化·devops
测开小菜鸟2 小时前
使用python向钉钉群聊发送消息
java·python·钉钉
萧鼎3 小时前
Python并发编程库:Asyncio的异步编程实战
开发语言·数据库·python·异步
学地理的小胖砸3 小时前
【一些关于Python的信息和帮助】
开发语言·python
疯一样的码农3 小时前
Python 继承、多态、封装、抽象
开发语言·python
Python大数据分析@4 小时前
python操作CSV和excel,如何来做?
开发语言·python·excel
黑叶白树4 小时前
简单的签到程序 python笔记
笔记·python
Shy9604184 小时前
Bert完形填空
python·深度学习·bert
上海_彭彭4 小时前
【提效工具开发】Python功能模块执行和 SQL 执行 需求整理
开发语言·python·sql·测试工具·element