A análise estruturada inteligente examina, traduz e extrai informações essenciais de vídeos longos com alta densidade de conteúdo, facilitando a identificação, marcação e reorganização dos trechos mais relevantes. Os resultados da análise são armazenados como dados estruturados nos ativos de mídia e podem ser recuperados por meio de operações de API.
Limites
Este recurso está disponível apenas nas regiões China (Beijing), China (Shanghai) e China (Hangzhou).
Procedimento
-
Acione um job de análise estruturada de uma das três formas a seguir:
Registre um novo ativo de mídia chamando a operação RegisterMediaInfo.
Envie um job para um ativo de mídia existente chamando a operação SubmitMediaAiAnalysisJob.
-
Envie um job de smart tagging chamando a operação SubmitSmarttagJob.
NotaSe você utilizar SubmitMediaAiAnalysisJob para analisar o mesmo vídeo várias vezes, os resultados serão mesclados. Essa mesclagem não ocorre ao usar RegisterMediaInfo ou SubmitSmarttagJob.
Após a conclusão da análise, os resultados são armazenados na pasta ice-generated no caminho do Object Storage Service (OSS) do ativo de mídia. Não é possível especificar um caminho personalizado.
Depois que os resultados forem armazenados, o sistema envia uma notificação de callback (MediaAiAnalysisComplete).
Chame a operação GetMediaInfo para obter as smart tags dos ativos de mídia.
Pré-requisitos
Você ativou o Intelligent Media Services.
Enviar um job de tagging
Registrar novos ativos de mídia para acionar um job de tagging chamando a operação RegisterMediaInfo
Ao registrar novos ativos de mídia, acione um job de tagging para analisá-los. Especifique um modelo de smart tagging no parâmetro SmartTagTemplateId para que o IMS analise os ativos de mídia com base nesse modelo. Para obter mais informações, consulte RegisterMediaInfo.
É possível especificar um modelo de smart tagging apenas durante o registro de ativos de mídia. Não é permitido fazer upload de modelos de smart tagging por meio de operações de API.
Parâmetros de solicitação (modelos de smart tagging suportados)
Name | Type | Required | Description | Example |
SmartTagTemplateId | string | No | Modelo de smart tagging
| S00000101-300080 |
Enviar um job de análise estruturada para um ativo de mídia existente (SubmitMediaAiAnalysisJob)
Para executar uma análise estruturada em um ativo de mídia existente, forneça os parâmetros do job, como o modelo de parâmetros, endereço de webhook e dados personalizados. Após a conclusão do job, um callback é enviado ao seu servidor e os resultados da análise são armazenados na pasta ice-generated no caminho do OSS do ativo de mídia. Para obter mais informações, consulte SubmitMediaAiAnalysisJob.
Exemplo de parâmetros de entrada
{
"AnalysisParams": "{\"NlpParams\":{\"SummarizationEnabled\":true,\"SourceLanguage\":\"cn\",\"AutoChaptersEnabled\":true,\"TargetLanguages\":\"en\",\"MeetingAssistanceEnabled\":true,\"DiarizationEnabled\":true,\"SummarizationTypes\":\"Paragraph,Conversational,QuestionsAnswering,MindMap\",\"TranslationEnabled\":true,\"SpeakerCount\":2}}",
"Input": "{\"Media\": \"****0d30005971efbfc4f7f6c75a6302****\", \"Type\": \"Media\"}"
}
Enviar um job de análise estruturada usando um job de smart tagging (SubmitSmarttagJob)
Além dos métodos anteriores, chame a operação SubmitSmarttagJob para realizar uma análise estruturada de um ativo de mídia. Defina o parâmetro Params.nlpParams para personalizar a análise estruturada.
Após enviar o job, chame a operação QuerySmarttagJob para consultar os resultados da análise. Para obter mais detalhes sobre os parâmetros de resposta, consulte NLP processing results.
Notificações de callback do sistema
Definir configurações de callback
Ao chamar a operação SubmitMediaAiAnalysisJob ou RegisterMediaInfo, inclua um parâmetro UserData com um endereço de webhook HTTP, HTTPS ou MNS. Quando o job de tagging for concluído e os resultados gravados no ativo de mídia, o sistema enviará uma notificação de callback.
Ao receber a notificação de callback, chame a operação GetMediaInfo com o ID do ativo de mídia para consultar suas smart tags estruturadas.
Tipo de evento de callback
Análise de ativo de mídia e armazenamento de resultados (MediaAiAnalysisComplete)
Exemplo do corpo da mensagem:
{
"EventType": "MediaAiAnalysisComplete",
"UserId": 183320223010****,
"EventTime": "2022-06-23T13:11:33Z",
"MessageBody": {
"Status":"Success", // Indicates whether the AI analysis result is stored in the system. Valid values: Success and Failed.
"JobStatus": "AnalyzeSuccess", // The status of the AI job. Valid values: AnalyzeSuccess and AnalyzeFailed.
"Type": "StandardSmartTag" // The type of the AI job. The value is StandardSmartTag.
"MediaId":"****b391419aj294m83b459f7435****" // The ID of the media asset.
}
}
Para obter mais informações sobre os parâmetros, consulte Event list.
Obter informações do ativo de mídia (GetMediaInfo)
Consulte as smart tags estruturadas de um ativo de mídia e especifique se deseja retornar informações detalhadas. Para obter mais informações, consulte GetMediaInfo.
Parâmetros de solicitação (É possível especificar se as informações detalhadas devem ser retornadas)
Name | Type | Required | Description | Example |
ReturnDetailedInfo | string | No | Especifica se devem ser retornadas informações detalhadas para campos específicos do ativo de mídia. Caso este parâmetro não seja configurado, o valor padrão AiRoughData.StandardSmartTagJob=false será utilizado.
| {"AiRoughData.StandardSmartTagJob": true} |
Exemplos de respostas
Campos Type e Data em Results
-
Transcription (reconhecimento básico)
Parameter
Type
Description
transcription
object
O resultado da conversão de fala em texto.
transcription.paragraphs
list[]
Uma lista de parágrafos contendo o resultado da conversão de fala em texto.
transcription.paragraphs[i].paragraphId
string
O ID do parágrafo.
transcription.paragraphs[i].speakerId
string
O ID do falante.
transcription.paragraphs[i].words
list[]
As palavras contidas no parágrafo.
transcription.paragraphs[i].words[i].id
int
O ID da palavra. Não é necessário prestar atenção ao ID da palavra.
transcription.paragraphs[i].words[i].sentenceId
int
O ID da frase. Palavras com o mesmo ID de frase podem ser agrupadas para formar uma sentença completa.
transcription.paragraphs[i].words[i].start
long
O horário inicial da palavra. O valor é um timestamp que representa o número de milissegundos decorridos desde o início do áudio.
transcription.paragraphs[i].words[i].end
long
O horário final da palavra. O valor é um timestamp que representa o número de milissegundos decorridos desde o início do áudio.
transcription.paragraphs[i].words[i].text
string
O texto da palavra.
-
Summarization (resumo de texto completo, resumo por falante, resumo de perguntas e mapa mental)
Parameter name
Type
Description
summarization
object
Os resultados do resumo. Os resultados podem estar vazios ou conter diferentes tipos de resumo.
summarization.paragraphSummary
string
O resumo do texto completo.
summarization.conversationalSummary
list[]
Uma lista de resultados de resumo para uma conversa.
summarization.conversationalSummary[i].speakerId
string
O ID do falante.
summarization.conversationalSummary[i].speakerName
string
O nome do falante.
summarization.conversationalSummary[i].summary
string
O resumo correspondente ao falante.
summarization.questionsAnsweringSummary
list[]
Uma lista de resultados de resumo para perguntas e respostas.
summarization.questionsAnsweringSummary[i].question
string
A pergunta.
summarization.questionsAnsweringSummary[i].sentenceIdsOfQuestion
list[]
Uma lista de IDs das frases geradas com base na fala original correspondente à pergunta.
summarization.questionsAnsweringSummary[i].answer
string
A resposta para a pergunta.
summarization.questionsAnsweringSummary[i].sentenceIdsOfAnswer
list[]
Uma lista de IDs das frases geradas com base na fala original correspondente à resposta.
summarization.mindMapSummary
list[]
O mapa mental dos resultados do resumo. O mapa mental pode conter o resumo de cada tópico e a relação entre eles.
summarization.mindMapSummary[i].title
string
O título do tópico.
summarization.mindMapSummary[i].topic
list[]
Um array que contém cada tópico e seus subtópicos.
summarization.mindMapSummary[i].topic[i].title
string
O título do tópico.
summarization.mindMapSummary[i].topic[i].topic
list[]
Um array que contém os subtópicos do tópico. O array pode estar vazio.
-
Translation (tradução de texto completo)
Parameter Name
Type
Description
translation
object
O resultado da tradução.
translation.paragraphs
list[]
Uma lista de parágrafos contendo o resultado da tradução, correspondente ao resultado do ASR.
translation.paragraphs.paragraphId
string
O ID de segmentação do parágrafo, correspondente ao ParagraphId no resultado do reconhecimento de fala.
translation.paragraphs.sentences
list[]
Uma lista de frases de texto traduzido.
translation.paragraphs.sentences[i].sentenctId
long
O ID da frase.
translation.paragraphs.sentences[i].start
long
O horário inicial da frase. O valor é um timestamp que representa o número de milissegundos decorridos desde o início do áudio.
translation.paragraphs.sentences[i].end
long
O horário final da frase. O valor é um timestamp que representa o número de milissegundos decorridos desde o início do áudio.
translation.paragraphs.sentences[i].text
string
O texto traduzido, correspondente ao resultado do ASR.
-
AutoChapters (reconhecimento de capítulos)
Parameter Name
Type
Description
autoChapters
list[]
O resultado da visão geral dos capítulos, que pode conter a visão geral de zero, um ou vários capítulos.
autoChapters[i].id
int
O número sequencial do capítulo.
autoChapters[i].start
long
O horário inicial do capítulo. O valor é um timestamp que representa o número de milissegundos decorridos desde o início do áudio.
autoChapters[i].end
long
O horário final do capítulo. O valor é um timestamp que representa o número de milissegundos decorridos desde o início do áudio.
autoChapters[i].headline
string
O título do capítulo.
autoChapters[i].summary
string
A visão geral do capítulo.
-
MeetingAssitance (extração inteligente de atas, incluindo palavras-chave, frases-chave e itens de ação)
Parameter
Type
Description
meetingAssistance
object
O resultado da ata inteligente, que pode estar vazio ou conter diferentes tipos de dados.
meetingAssistance.keywords
list[]
Uma lista de palavras-chave extraídas.
meetingAssistance.keySentences
list[]
Uma lista de frases-chave extraídas.
meetingAssistance.keySentences[i].id
long
O número sequencial da frase-chave.
meetingAssistance.keySentences[i].sentenceId
long
O ID da frase-chave, correspondente ao ID da frase no resultado original do ASR.
meetingAssistance.keySentences[i].start
long
O horário inicial da frase-chave. O valor é um timestamp que representa o número de milissegundos decorridos desde o início do áudio.
meetingAssistance.keySentences[i].end
long
O horário final da frase-chave. O valor é um timestamp que representa o número de milissegundos decorridos desde o início do áudio.
meetingAssistance.keySentences[i].text
string
A informação da frase-chave.
meetingAssistance.actions
list[]
Uma lista de itens de ação.
meetingAssistance.actions[i].id
long
O número sequencial do item de ação.
meetingAssistance.actions[i].sentenceId
long
O ID da frase-chave, correspondente ao ID da frase no resultado original do ASR.
meetingAssistance.actions[i].start
long
O horário inicial da frase-chave. O valor é um timestamp que representa o número de milissegundos decorridos desde o início do áudio.
meetingAssistance.actions[i].end
long
O horário final em milissegundos, relativo ao horário de início do áudio.
meetingAssistance.actions[i].text
string
O conteúdo do item de ação.
meetingAssistance.classifications
object
O tipo de cenário. Apenas três tipos de cenários são suportados.
meetingAssistance.classifications.interview
float
A pontuação do nível de confiança para o cenário de entrevista.
meetingAssistance.classifications.lecture
float
A pontuação do nível de confiança para o cenário de apresentação.
meetingAssistance.classifications.meeting
float
A pontuação do nível de confiança para o cenário de reunião.