0

我在 aws transcribe 中有几百个转录结果,我想获取所有转录文本并将其存储在一个文件中。有没有办法做到这一点,而无需单击每个转录结果并复制和粘贴文本?

4

2 回答 2

2

您可以通过 AWS API 执行此操作。

例如,如果您使用的是 Python,则可以使用Python boto3 SDK

  • list_transcription_jobs()将返回转录作业名称列表
  • 对于每个作业,您可以调用get_transcription_job(),这将提供TranscriptFileUri存储转录的位置。
  • 然后,您可以使用get_object()从 Amazon S3 下载文件
  • 然后,您的程序需要将每个文件的内容合并到一个文件中。

看看你是怎么做的。如果您遇到任何特定困难,请发布一个新问题,其中包含代码和问题解释。

于 2019-03-05T22:21:57.053 回答
1

我在 GitHub 上放了一个示例,展示了如何:

  • 运行 AWS Transcribe 作业,
  • 使用 Requests 包获取输出,
  • 将输出写入控制台。

你应该能够很容易地为你的目的进行改装。这是一些代码,但如果您查看完整的示例,它会更有意义:

job_name_simple = f'Jabber-{time.time_ns()}'
print(f"Starting transcription job {job_name_simple}.")
start_job(
    job_name_simple, f's3://{bucket_name}/{media_object_key}', 'mp3', 'en-US',
    transcribe_client)
transcribe_waiter = TranscribeCompleteWaiter(transcribe_client)
transcribe_waiter.wait(job_name_simple)
job_simple = get_job(job_name_simple, transcribe_client)
transcript_simple = requests.get(
    job_simple['Transcript']['TranscriptFileUri']).json()
print(f"Transcript for job {transcript_simple['jobName']}:")
print(transcript_simple['results']['transcripts'][0]['transcript'])
于 2020-09-14T18:36:45.670 回答