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

相关推荐
皮卡丘不断更1 分钟前
手搓本地 RAG:我用 Python 和 Spring Boot 给 AI 装上了“实时代码监控”
人工智能·spring boot·python·ai编程
爱打代码的小林17 分钟前
基于 MediaPipe 实现实时面部关键点检测
python·opencv·计算机视觉
极客小云35 分钟前
【ComfyUI API 自动化利器:comfyui_xy Python 库使用详解】
网络·python·自动化·comfyui
闲人编程1 小时前
Elasticsearch搜索引擎集成指南
python·elasticsearch·搜索引擎·jenkins·索引·副本·分片
痴儿哈哈1 小时前
自动化机器学习(AutoML)库TPOT使用指南
jvm·数据库·python
花酒锄作田1 小时前
SQLAlchemy中使用UPSERT
python·sqlalchemy
SoleMotive.1 小时前
一个准程序员的健身日志:用算法调试我的增肌计划
python·程序员·健身·职业转型
亓才孓1 小时前
[Properties]写配置文件前,必须初始化Properties(引用变量没执行有效对象,调用方法会报空指针错误)
开发语言·python
Bruk.Liu1 小时前
(LangChain 实战14):基于 ChatMessageHistory 自定义实现对话记忆功能
人工智能·python·langchain·agent
大江东去浪淘尽千古风流人物2 小时前
【VLN】VLN(Vision-and-Language Navigation视觉语言导航)算法本质,范式难点及解决方向(1)
人工智能·python·算法