Creación de un filtro de vocabulario
Existen dos opciones para crear un filtro de vocabulario personalizado:
-
Guardar una lista de palabras separadas por líneas como un archivo de texto plano con codificación UTF-8.
Puede usar este enfoque con Consola de administración de AWS, AWS CLI, o los SDK de AWS.
Si utiliza Consola de administración de AWS, puede proporcionar una ruta local o un URI de Amazon S3 para su archivo de vocabulario personalizado.
Si utiliza AWS CLI o los SDK de AWS, debe cargar su archivo de vocabulario personalizado en un bucket de Amazon S3 e incluir el URI de Amazon S3 en su solicitud.
-
Incluir una lista de palabras separadas por comas directamente en su solicitud de API.
-
Puede usar este enfoque con AWS CLI o los SDK de AWS mediante el parámetro
Words.
-
Para ver ejemplos de cada método, consulte Crear filtros de vocabulario personalizados
Aspectos que debe tener en cuenta al crear su filtro de vocabulario personalizado:
-
Las palabras no distinguen entre mayúsculas y minúsculas. Por ejemplo, “maldición” y “MALDICIÓN” se consideran la misma palabra.
-
Sólo se filtran las coincidencias exactas de palabras. Por ejemplo, si el filtro incluye “decir groserías” pero el contenido multimedia contiene la palabra “decir grosería” o “grosero”, estas palabras no se filtran. Sólo se filtran los casos en los que se dice “decir groserías”. Por lo tanto, debe incluir todas las variantes de las palabras que desee filtrar.
-
Los filtros no se aplican a las palabras que están contenidas en otras palabras. Por ejemplo, si un filtro de vocabulario contiene “marino”, pero no “submarino”, “submarino”.no se modifica en la transcripción.
-
Cada entrada sólo puede contener una palabra (sin espacios).
-
Si guarda el filtro de vocabulario personalizado como un archivo de texto, debe estar en formato de texto plano con codificación UTF-8.
-
Puede tener hasta 100 filtros de vocabulario personalizados por cada Cuenta de AWS y cada uno puede tener un tamaño máximo de 50 Kb.
-
Sólo puede usar caracteres compatibles con su idioma. Consulte el conjunto de caracteres de su idioma para obtener más información.
Crear filtros de vocabulario personalizados
Para procesar un filtro de vocabulario personalizado y usarlo con Amazon Transcribe, consulte los siguientes ejemplos:
Antes de continuar, guarde el filtro de vocabulario personalizado como un archivo de texto (*.txt). Si lo desea, puede cargar el archivo en un bucket de Amazon S3.
-
Inicie sesión en Consola de administración de AWS
. -
En el panel de navegación, elija Filtrado de vocabulario. Esto abre la página Filtros de vocabulario, donde puede ver los vocabularios existentes o crear uno nuevo.
-
Seleccione Crear filtro de vocabulario.
Esto le llevará a la página Crear filtro de vocabulario. Escriba un nombre para su nuevo filtro de vocabulario personalizado.
Seleccione la opción Carga de archivos o Ubicación de S3 en Fuente de entrada del vocabulario. A continuación, especifique la ubicación del archivo de vocabulario personalizado.
-
De manera opcional, agregue etiquetas a su filtro de vocabulario personalizado. Cuando haya completado todos los campos, seleccione Crear filtro de vocabulario en la parte inferior de la página. Si no hay ningún error al procesar el archivo, volverás a la página Filtros de vocabulario.
El filtro de vocabulario personalizado ya está listo para su uso.
En este ejemplo, se utiliza el comando create-vocabulary-filter para procesar una lista de palabras y convertirla en un filtro de vocabulario personalizado utilizable. Para obtener más información, consulte CreateVocabularyFilter.
Opción 1: puede incluir su lista de palabras en su solicitud mediante el parámetro words.
aws transcribe create-vocabulary-filter \ --vocabulary-filter-namemy-first-vocabulary-filter\ --language-codeen-US\ --wordsprofane,offensive,Amazon,Transcribe
Opción 2: puede guardar la lista de palabras como un archivo de texto y subirla a un bucket de Amazon S3 y, a continuación, incluir el URI del archivo en la solicitud mediante el parámetro vocabulary-filter-file-uri.
aws transcribe create-vocabulary-filter \ --vocabulary-filter-namemy-first-vocabulary-filter\ --language-codeen-US\ --vocabulary-filter-file-uri s3://amzn-s3-demo-bucket/my-vocabulary-filters/my-vocabulary-filter.txt
Este es otro ejemplo en el que se usa el comando create-vocabulary-filter y un cuerpo de la solicitud que crea su filtro de vocabulario personalizado.
aws transcribe create-vocabulary-filter \ --cli-input-json file://filepath/my-first-vocab-filter.json
El archivo my-first-vocab-filter.json contiene el siguiente cuerpo de la solicitud.
Opción 1: puede incluir su lista de palabras en su solicitud mediante el parámetro Words.
{ "VocabularyFilterName": "my-first-vocabulary-filter", "LanguageCode": "en-US", "Words": [ "profane","offensive","Amazon","Transcribe" ] }
Opción 2: puede guardar la lista de palabras como un archivo de texto y subirla a un bucket de Amazon S3 y, a continuación, incluir el URI del archivo en la solicitud mediante el parámetro VocabularyFilterFileUri.
{ "VocabularyFilterName": "my-first-vocabulary-filter", "LanguageCode": "en-US", "VocabularyFilterFileUri": "s3://amzn-s3-demo-bucket/my-vocabulary-filters/my-vocabulary-filter.txt" }
nota
Si incluye VocabularyFilterFileUri en su solicitud, no puede usar Words; debe elegir uno u otro.
En este ejemplo, se utiliza AWS SDK para Python (Boto3) para crear un filtro de vocabulario personalizado mediante el método create_vocabulary_filterCreateVocabularyFilter.
Para ver ejemplos adicionales sobre el uso de los SDK de AWS, incluidos ejemplos de características específicas, escenarios y servicios cruzados, consulte el capítulo Ejemplos de código de Amazon Transcribe con los SDK de AWS.
Opción 1: puede incluir su lista de palabras en su solicitud mediante el parámetro Words.
from __future__ import print_function import time import boto3 transcribe = boto3.client('transcribe', 'us-west-2') vocab_name = "my-first-vocabulary-filter" response = transcribe.create_vocabulary_filter( LanguageCode = 'en-US', VocabularyFilterName = vocab_name, Words = [ 'profane','offensive','Amazon','Transcribe' ] )
Opción 2: puede guardar la lista de palabras como un archivo de texto y subirla a un bucket de Amazon S3 y, a continuación, incluir el URI del archivo en la solicitud mediante el parámetro VocabularyFilterFileUri.
from __future__ import print_function import time import boto3 transcribe = boto3.client('transcribe', 'us-west-2') vocab_name = "my-first-vocabulary-filter" response = transcribe.create_vocabulary_filter( LanguageCode = 'en-US', VocabularyFilterName = vocab_name, VocabularyFilterFileUri = 's3://amzn-s3-demo-bucket/my-vocabulary-filters/my-vocabulary-filter.txt' )
nota
Si incluye VocabularyFilterFileUri en su solicitud, no puede usar Words; debe elegir uno u otro.
nota
Si crea un nuevo bucket de Amazon S3 para sus archivos de filtro de vocabulario personalizados, asegúrese de que el rol IAM que realiza la solicitud CreateVocabularyFilter tenga permisos para acceder a este bucket. Si el rol no tiene los permisos correctos, la solicitud fallará. Si lo desea, puede especificar un rol IAM en su solicitud incluyendo el parámetro DataAccessRoleArn. Para obtener más información sobre roles y políticas de IAM en Amazon Transcribe, consulte Amazon Transcribe ejemplos de políticas basadas en identidad de .