Transcrições pós-atendimento

É possível obter uma transcrição em texto de um arquivo da Video API.

Esta página inclui as seguintes seções:

Visão geral dos recursos

Os servidores da Video API da Vonage geram transcrições pós-chamada utilizando inteligência artificial e outras tecnologias de ponta.

Você habilita as transcrições ao iniciar um arquivo por meio da API REST.

Após a conclusão da gravação do arquivo, a transcrição estará disponível como um arquivo JSON.

Ativação da transcrição e do resumo ao iniciar um arquivo

Ao usar a Video API do Vonage para iniciar um arquivamento, defina o hasAudio e hasTranscription propriedades para true nas propriedades JSON que você enviou ao método REST `start archive`:

Além disso, você pode incluir um transcriptionProperties objeto com um hasSummary (booleano) e/ou primaryLanguageCode (String) propriedades. Ao definir hasSummary Se estiver definido como “true”, será incluído um resumo gerado por IA na transcrição. Se estiver definido como “false” ou se o valor estiver ausente (o valor padrão é false), o resumo da transcrição não será incluído. Se a transcrição for em outro idioma que não o “en-US” (padrão), configure a propriedade primaryLanguageCode com um código do idioma suportado.

api_key=12345 json_web_token="jwt_string" # replace with a JSON web token data='{ "sessionId": "1_MX40NzY0MDA1MX5-fn4", "hasAudio": true, "hasVideo": true, "hasTranscription": true, "transcriptionProperties": { "hasSummary": true, "primaryLanguageCode": "ja-JP" }, "name": "archive_test", "outputMode": "individual" }' curl \ -i \ -H "Content-Type:application/json" \ -X POST \ -H "X-OPENTOK-AUTH:$json_web_token" \ -d "$data" \ https://api.opentok.com/v2/project/$api_key/archive

Conjunto outputMode (nos dados POST) para "individual". As transcrições estão disponíveis para arquivos de transmissões individuais apenas.

Defina o valor para api_key para a chave de API do seu projeto OpenTok. Defina o valor para json_web_token para um token JSON da Web (consulte o Autenticação na API REST (documentação).

Para outras opções de arquivamento, consulte a documentação do Iniciar método REST de arquivamento.

A resposta a uma chamada ao método REST `start_archive` incluirá hasTranscription e transcription propriedades, além das outras propriedades documentadas da resposta:

{
  "createdAt" : 1384221730555,
  "duration" : 0,
  "hasAudio" : true,
  "hasVideo" : true,
  "id" : "b40ef09b-3811-4726-b508-e41a0f96c68f",
  "name" : "The archive name you supplied",
  "outputMode" : "individual",
  "projectId" : 123456,
  "reason" : "",
  "resolution" : "640x480",
  "sessionId" : "flR1ZSBPY3QgMjkgMTI6MTM6MjMgUERUIDIwMTN",
  "size" : 0,
  "status" : "started",
  "streamMode" : "auto",
  "hasTranscription" : true,
  "transcription" : {
    "hasSummary": true,
    "primaryLanguageCode": "ja-JP",
    "reason": "",
    "status": "requested",
    "url": ""
  }
}

Veja Verificando o status da transcrição para obter informações sobre como obter dinamicamente os detalhes da transcrição.

Em um sessão arquivada automaticamente, a transcrição não será iniciada automaticamente. Você deve iniciar um segundo arquivo, usando o multiArchiveTag opção, para a transcrição (ver Arquivos simultâneos).

Atualmente, o suporte a transcrições está disponível na Video API do Vonage Video. Esse recurso não é oferecido nos SDKs de servidor do Vonage Video.

Verificando o status da transcrição

A resposta dos métodos REST para arquivos de listagens e recuperação de informações do arquivo incluirá hasTranscription e transcription propriedades:

{
    "id" : "b40ef09b-3811-4726-b508-e41a0f96c68f",
    "event": "archive",
    "createdAt" : 1723584124,
    "duration" : 328,
    "name" : "the archive name",
    "projectId" : 123456,
    "reason" : "",
    "sessionId" : "2_MX40NzIwMzJ-flR1ZSBPERUIDIwMTN-MC45NDQ2MzE2NH4",
    "size" : 18023312,
    "status" : "uploaded",
    "hasTranscription" : true,
    "transcription": {
      "status": "available",
      "url": "URL for downloading the transcription, if available",
      "reason": "The reason for failure, if status is set to failed",
      "hasSummary": true,
      "primaryLanguageCode": "The configured language code"
    }
}

O hasTranscription A propriedade é um valor booleano, indicando se a transcrição está habilitada para o arquivo.

O transcription propriedade: um objeto com as seguintes propriedades:

  • status (String) — O status da transcrição, que pode ser definido como uma das seguintes opções:

    • "requested" — O hasTranscription a propriedade foi definida como true durante a chamada de inicialização do arquivo, mas a transcrição ainda não começou.
    • "failed" — A transcrição falhou. Verifique o reason imóvel para obter mais informações.
    • "started" — A transcrição está em andamento.
    • "available" — A transcrição está disponível para download no OpenTok. Confira o url propriedade.
    • "uploaded" — A transcrição está disponível para download no bucket do S3 ou no contêiner do Azure que você especificou na sua conta da Video API. Procure por um arquivo chamado “transcription.zip” na pasta “archive ID” do seu destino de armazenamento de arquivos. Consulte Armazenamento de arquivos.
  • url (String) — A URL para baixar a transcrição, caso a status está definido como "available".

  • reason (String) — O motivo da falha na transcrição, caso a status está definido como "failed".

  • hasSummary (Booleano) — Indica se um resumo gerado por IA está incluído na transcrição.

  • primaryLanguageCode (String) — O código do idioma configurado para a transcrição.

Você também pode definir um callback de status de arquivamento para sua conta da Video API. Veja Alterações no status do arquivo. Os dados da função de retorno também incluirão hasTranscription e transcription propriedades.

Formato de transcrição

A transcrição é fornecida como um arquivo ZIP compactado. O arquivo descompactado é um arquivo de texto com dados em JSON.

A transcrição inclui segmentos individuais de texto. Cada segmento corresponde a um canal de áudio específico (de um dos fluxos de áudio da sessão).

O JSON possui as seguintes propriedades de nível superior:

  • job_id — Um identificador único para a transcrição.

  • timestamp — Uma sequência de caracteres de data no formato ISO 8601 indicando a data em que o arquivo de transcrição foi criado.

  • language — Isso está definido para "en-US".

  • channels_metadata — Uma matriz de objetos que definem cada canal de áudio. Cada objeto é um id propriedade, que é o ID da transmissão do OpenTok. Você pode adicionar dados de identificação da conexão ao criar um token de cliente para cada usuário. Você pode usar callbacks de monitoramento de sessão para obter os IDs das transmissões e os dados de conexão de cada uma delas. Você pode então usar essas informações para identificar o usuário da transmissão na transcrição.

  • transcription — Um objeto que contém os detalhes da transcrição (veja abaixo).

O transcription O objeto possui as seguintes propriedades:

  • number_of_channels — O número de canais de áudio individuais do arquivo incluídos na transcrição.

  • confidence — Um objeto com duas propriedades: overall e channels. O overall A propriedade é a confiança estimada de toda a transcrição (de 0 a 1,0). A channels A propriedade é uma matriz que lista o nível estimado de confiança de cada canal na transcrição.

  • reliability — Um objeto com uma propriedade: score. O score é um número que indica a confiabilidade geral estimada da transcrição (de 0 a 1,0).

  • summary — Se você definir o hasSummary propriedade do transcriptionProperties opor-se a true Ao iniciar o arquivo, essa propriedade é incluída. Ela é definida como um resumo da transcrição gerado por IA.

  • segments — Uma matriz de segmentos individuais na transcrição.

Cada objeto no segments A matriz possui as seguintes propriedades:

  • text — A transcrição do trecho.

  • formatted — O texto formatado (com pontuação) do segmento.

  • confidence — Um número, de 0 a 1,0, que representa a confiança estimada na transcrição do segmento.

  • channel — O número inteiro que identifica o canal de áudio do segmento.

  • start_ms — O deslocamento do início do segmento em relação ao início da transcrição, em milissegundos.

  • end_ms — O deslocamento do final do segmento em relação ao início da transcrição, em milissegundos.

  • raw_data — Uma matriz de objetos para cada palavra no segmento de transcrição.

Cada raw_data O objeto inclui as seguintes propriedades:

  • word — Uma observação sobre o segmento.

  • confidence — Um número, de 0 a 1,0, que representa o nível estimado de confiança na palavra transcrita.

  • start_ms — O deslocamento do início da palavra em relação ao início da transcrição, em milissegundos.

  • end_ms — O deslocamento do final da palavra em relação ao início da transcrição, em milissegundos.

Baixar transcrições

Existem duas maneiras de baixar o arquivo de transcrição de um arquivo: por meio da API REST ou pelo Painel do Desenvolvedor.

Baixar por meio da API REST

Você pode baixar o arquivo de transcrição de um arquivo específico chamando a função método REST para recuperar informações do arquivo e verificando o transcription.url propriedade na resposta. Se o transcription.status a propriedade está definida como "available" ou "uploaded", o transcription.url A propriedade contém uma URL para baixar o arquivo de transcrição.

Use uma solicitação HTTP GET para baixar o arquivo de transcrição a partir da URL. Por exemplo:

transcription_url="https://example.com/path/to/transcription.zip" # replace with the transcription URL curl -o transcription.zip $transcription_url

Faça o download pelo Painel do Desenvolvedor

Você pode baixar a transcrição de uma chamada específica se o armazenamento de reserva A opção foi ativada seguindo estas etapas:

  1. Abra o Painel do Desenvolvedor.
  2. Selecione um projeto da lista de projetos e acesse o Arquivamento seção. Clique no Lista de arquivos botão.
  3. Opcionalmente, forneça um ID do arquivo ou ID da sessão para filtrar os resultados.
  4. Na lista de resultados, localize a sessão em questão.
  5. Passe o mouse sobre o Status coluna correspondente àquela sessão e clique no Baixar transcrição botão.

Limitações/Problemas conhecidos

  • As transcrições estão disponíveis apenas para arquivos de transmissões individuais, e não para arquivos agrupados.

  • As transcrições não são compatíveis com arquivos criptografados.

  • Atualmente, esse recurso é compatível com a Video API do Vonage Video, mas não com os SDKs de servidor do Vonage Video.

  • A duração máxima de uma transcrição é de 120 minutos.

  • A transcrição pós-atendimento não está em total conformidade com todos os Zonas de mídia regionais (veja abaixo).

Suporte à Zona de Mídia Regional Disponível durante a fase alfa Disponível quando estiver em GA
USA Sim Sim
EU Sim Sim
Canadá Não Com base nos requisitos
Alemanha Não Com base nos requisitos
Austrália Não Com base nos requisitos
Japão Não Com base nos requisitos
Coreia do Sul Não Com base nos requisitos

Perguntas frequentes

Perguntas frequentes:

Quantos fluxos podem ser analisados a partir de uma única sessão?

Até 50 transmissões, com um máximo de 120 minutos transcritos.

O recurso de transcrição pós-chamada funciona tanto para sessões encaminhadas quanto para sessões retransmitidas?

O recurso de transcrições pós-chamada destina-se a sessões encaminhadas (sessões que utilizam o Roteador de Mídia da Vonage).

Se o envio da transcrição para um bucket do S3 configurado pelo cliente falhar, o mecanismo de repetição ou de alternativa funciona de maneira semelhante ao envio para o arquivo?

Sim, o mecanismo de nova tentativa para o PCT funciona exatamente da mesma forma que para os envios normais de arquivos.

Quando o status da transcrição for alterado, o cliente deverá receber uma notificação que inclua o URL para download. Caso não haja nenhuma notificação registrada, o link para download só poderá ser obtido por meio de uma solicitação HTTP GET.

Não há planos de implementar autenticação para o link. O link de download tem um prazo de validade curto. Se não for acessado dentro desse prazo, será necessário fazer uma nova solicitação para obter um novo link.

Embora vários usuários tenham participado da sessão, o arquivo de transcrição é um único arquivo JSON. Como podemos diferenciar os usuários?

Cada entrada de transcrição no arquivo está associada a um número de canal específico, atribuído a cada fluxo. O arquivo também inclui um channels_metadata propriedade, que fornece informações sobre o ID da transmissão correspondentes a cada ID de canal.