Share via


Biblioteca de cliente de Tradução de Texto do Azure para Python – versão 1.0.0b1

A Tradução de Texto é uma funcionalidade da API REST baseada na cloud do serviço Translator que utiliza tecnologia de tradução automática neural para permitir a tradução de texto de origem para destino rápida e precisa em tempo real em todos os idiomas suportados.

Utilize a biblioteca de cliente de Tradução de Texto para Python para:

  • Devolva uma lista de idiomas suportados pelas operações Traduzir, Transliterar e Dicionário.

  • Compor texto de idioma de origem único em vários textos de linguagem de destino com um único pedido.

  • Converter texto de um idioma de origem em letras de um script diferente.

  • Devolver palavras equivalentes para o termo de origem no idioma de destino.

  • Devolver exemplos de contexto e estrutura gramatical para o termo de origem e par de termos de destino.

Código fonte | Pacote (PyPI) | Documentação | de referência da APIDocumentação do | produto Exemplos

Introdução

Pré-requisitos

  • O Python 3.7 ou posterior é necessário para utilizar este pacote.
  • Um serviço de Tradutor existente ou um recurso dos Serviços Cognitivos.

Instalar o pacote

Instale a biblioteca de cliente de Tradução de Texto do Azure para Python com pip:

pip install azure-ai-translation-text

Criar um recurso de serviço do Translator

Pode criar um recurso do Translator após Criar um recurso do Translator.

Autenticar o cliente

A interação com o serviço através da biblioteca de cliente começa com a criação de uma instância da classe TextTranslationClient . Precisará de uma chave de API ou TokenCredential de instanciar um objeto de cliente. Para obter mais informações sobre a autenticação com serviços cognitivos, veja Authenticate requests to Translator Service (Autenticar pedidos no Serviço de Tradução).

Obter uma chave de API

Pode obter o e API keyRegion a endpointpartir do recurso dos Serviços Cognitivos ou das informações de recursos do serviço Translator no Portal do Azure.

Em alternativa, utilize o fragmento da CLI do Azure abaixo para obter a chave de API a partir do recurso de serviço do Translator.

az cognitiveservices account keys list --resource-group <your-resource-group-name> --name <your-resource-name>

Criar uma com uma TextTranslationClient chave de API e credenciais de Região

Assim que tiver o valor para a chave de API e Região, crie um TranslatorCredential. Isto permite-lhe atualizar a chave de API sem criar um novo cliente.

Com o valor do ponto TranslatorCredential final e um Region, pode criar o TextTranslationClient:

text_translator = TextTranslationClient(credential = TranslatorCredential("<apiKey>", "<apiRegion>"));

Conceitos-chave

TextTranslationClient

A TextTranslationClient é a interface principal para programadores que utilizam a biblioteca de cliente tradução de texto. Fornece operações síncronas e assíncronas para aceder a uma utilização específica do tradutor de texto, como obter a deteção de idiomas suportados ou a tradução de texto.

Entrada

Um elemento de texto (string), é uma única unidade de entrada a ser processada pelos modelos de tradução no serviço Translator. As operações em TextTranslationClient podem incluir um único elemento de texto ou uma coleção de elementos de texto. Para limites de comprimento de elementos de texto, tamanho máximo dos pedidos e codificação de texto suportado, veja aqui.

Exemplos

A secção seguinte fornece vários fragmentos de código com o clientcriado acima e abrange as principais funcionalidades presentes nesta biblioteca de cliente. Embora a maioria dos fragmentos abaixo utilizem chamadas de serviço síncronas, tenha em atenção que o pacote de biblioteca tradução de texto para Python suporta APIs síncronas e assíncronas.

Obter Idiomas Suportados

Obtém o conjunto de idiomas atualmente suportado por outras operações do Tradutor.

try:
    response = text_translator.get_languages()

    print(f"Number of supported languages for translate operation: {len(response.translation) if response.translation is not None else 0}")
    print(f"Number of supported languages for transliterate operation: {len(response.transliteration) if response.transliteration is not None else 0}")
    print(f"Number of supported languages for dictionary operations: {len(response.dictionary) if response.dictionary is not None else 0}")

    if response.translation is not None:
        print("Translation Languages:")
        for key, value in response.translation.items():
            print(f"{key} -- name: {value.name} ({value.native_name})")

    if response.transliteration is not None:
        print("Transliteration Languages:")
        for key, value in response.transliteration.items():
            print(f"{key} -- name: {value.name}, supported script count: {len(value.scripts)}")

    if response.dictionary is not None:
        print("Dictionary Languages:")
        for key, value in response.dictionary.items():
            print(f"{key} -- name: {value.name}, supported target languages count: {len(value.translations)}")

except HttpResponseError as exception:
    print(f"Error Code: {exception.error.code}")
    print(f"Message: {exception.error.message}")

Para exemplos sobre como utilizar o languages ponto final, veja mais exemplos aqui.

Veja a documentação do serviço para uma discussão conceptual sobre idiomas.

Tradução

Compõe texto de idioma de origem único em vários textos de linguagem de destino com um único pedido.

try:
    source_language = "en"
    target_languages = ["cs"]
    input_text_elements = [ InputTextItem(text = "This is a test") ]

    response = text_translator.translate(content = input_text_elements, to = target_languages, from_parameter = source_language)
    translation = response[0] if response else None

    if translation:
        for translated_text in translation.translations:
            print(f"Text was translated to: '{translated_text.to}' and the result is: '{translated_text.text}'.")

except HttpResponseError as exception:
    print(f"Error Code: {exception.error.code}")
    print(f"Message: {exception.error.message}")

Para exemplos sobre como utilizar o translate ponto final, veja mais exemplos aqui.

Veja a documentação do serviço para uma discussão conceptual sobre a tradução.

Transliterar

Converte carateres ou letras de um idioma de origem para os carateres ou letras correspondentes de um idioma de destino.

try:
    language = "zh-Hans"
    from_script = "Hans"
    to_script = "Latn"
    input_text_elements = [ InputTextItem(text = "这是个测试。") ]

    response = text_translator.transliterate(content = input_text_elements, language = language, from_script = from_script, to_script = to_script)
    transliteration = response[0] if response else None

    if transliteration:
        print(f"Input text was transliterated to '{transliteration.script}' script. Transliterated text: '{transliteration.text}'.")

except HttpResponseError as exception:
    print(f"Error Code: {exception.error.code}")
    print(f"Message: {exception.error.message}")

Para exemplos sobre como utilizar o transliterate ponto final, veja mais exemplos aqui.

Veja a documentação do serviço para uma discussão conceptual sobre transliteração.

Quebrar Frase

Identifica o posicionamento dos limites das frases numa parte do texto.

try:
    source_language = "zh-Hans"
    source_script = "Latn"
    input_text_elements = [ InputTextItem(text = "zhè shì gè cè shì。") ]

    response = text_translator.find_sentence_boundaries(content = input_text_elements, language = source_language, script = source_script)
    sentence_boundaries = response[0] if response else None

    if sentence_boundaries:
        detected_language = sentence_boundaries.detected_language
        if detected_language:
            print(f"Detected languages of the input text: {detected_language.language} with score: {detected_language.score}.")
        print(f"The detected sentence boundaries:")
        for boundary in sentence_boundaries.sent_len:
            print(boundary)

except HttpResponseError as exception:
    print(f"Error Code: {exception.error.code}")
    print(f"Message: {exception.error.message}")

Para exemplos sobre como utilizar o break sentence ponto final, veja mais exemplos aqui.

Veja a documentação do serviço para uma discussão conceptual sobre a frase de interrupção.

Pesquisa no Dicionário

Devolve palavras equivalentes para o termo de origem no idioma de destino.

try:
    source_language = "en"
    target_language = "es"
    input_text_elements = [ InputTextItem(text = "fly") ]

    response = text_translator.lookup_dictionary_entries(content = input_text_elements, from_parameter = source_language, to = target_language)
    dictionary_entry = response[0] if response else None

    if dictionary_entry:
        print(f"For the given input {len(dictionary_entry.translations)} entries were found in the dictionary.")
        print(f"First entry: '{dictionary_entry.translations[0].display_target}', confidence: {dictionary_entry.translations[0].confidence}.")

except HttpResponseError as exception:
    print(f"Error Code: {exception.error.code}")
    print(f"Message: {exception.error.message}")

Para exemplos sobre como utilizar o dictionary lookup ponto final, veja mais exemplos aqui.

Veja a documentação do serviço para uma discussão conceptual sobre a pesquisa do dicionário.

Exemplos do dicionário

Devolve exemplos de contexto e estrutura gramatical para o termo de origem e par de termos de destino.

from azure.ai.translation.text.models import DictionaryExampleTextItem

try:
    source_language = "en"
    target_language = "es"
    input_text_elements = [ DictionaryExampleTextItem(text = "fly", translation = "volar") ]

    response = text_translator.lookup_dictionary_examples(content = input_text_elements, from_parameter = source_language, to = target_language)
    dictionary_entry = response[0] if response else None

    if dictionary_entry:
        print(f"For the given input {len(dictionary_entry.examples)} entries were found in the dictionary.")
        print(f"First example: '{dictionary_entry.examples[0].target_prefix}{dictionary_entry.examples[0].target_term}{dictionary_entry.examples[0].target_suffix}'.")

except HttpResponseError as exception:
    print(f"Error Code: {exception.error.code}")
    print(f"Message: {exception.error.message}")

Para exemplos sobre como utilizar o dictionary examples ponto final, veja mais exemplos aqui.

Veja a documentação do serviço para obter uma discussão conceptual sobre exemplos de dicionários.

Resolução de problemas

Quando interage com o Serviço de Tradução com a biblioteca de cliente TextTranslator, os erros devolvidos pelo serviço translator correspondem aos mesmos códigos de estado HTTP devolvidos para pedidos de API REST.

Por exemplo, se submeter um pedido de tradução sem um idioma de tradução de destino, é devolvido um 400 erro que indica "Pedido Incorreto".

Pode encontrar os diferentes códigos de erro devolvidos pelo serviço na Documentação do Serviço.

Enviar Comentários

Se encontrar erros ou tiver sugestões, submeta um problema na secção Problemas do projeto.

Passos seguintes

Podem ser encontrados mais exemplos no diretório de exemplos .

Contribuir

Agradecemos todas as contribuições e sugestões para este projeto. A maioria das contribuições requerem que celebre um Contrato de Licença de Contribuição (CLA) no qual se declare que tem o direito de conceder e que, na verdade, concede-nos os direitos para utilizar a sua contribuição. Para obter detalhes, visite cla.microsoft.com.

Quando submete um pedido Pull, um bot do CLA determina automaticamente se tem de fornecer um CLA e decorar o PR de forma adequada (por exemplo, etiqueta, comentário). Só tem de seguir as instruções fornecidas pelo bot. Apenas terá de fazer isto uma vez em todos os repositórios com o nosso CLA.

Este projeto adotou o Microsoft Open Source Code of Conduct (Código de Conduta do Microsoft Open Source). Para obter mais informações, consulte as FAQ do Código de Conduta ou o contacto opencode@microsoft.com com quaisquer perguntas ou comentários adicionais.