Skip to main content

Text Analysis — add-on do Orange

Add-on do Orange Data Mining para limpar, traduzir e classificar textos (ex.: análise de sentimento) com modelos do Hugging Face. Os widgets aparecem na categoria Text Analysis da barra lateral do Orange.

Requisitos

  • Orange 3 (testado com a versão 3.40) e Python 3.9 ou superior
  • Orange3-Text (opcional, recomendado): fornece o widget Corpus e os demais widgets de texto

Bibliotecas Python (instaladas automaticamente com o add-on):

Biblioteca Para que é usada
transformers Carregar e executar os modelos do Hugging Face
torch Motor de execução dos modelos (CPU ou GPU)
sentencepiece Tokenizadores de modelos multilíngues (XLM-RoBERTa, T5, M2M100)
protobuf Leitura dos arquivos de tokenizador SentencePiece
ftfy Correção de codificação quebrada (ex.: péssimo → péssimo)
emoji Remoção de emojis e conversão em texto em português

Instalação

O add-on deve ser instalado no mesmo Python que o Orange usa.

Pelo terminal, dentro da pasta do projeto (troque python pelo executável do Python do Orange, se for outro):

python -m pip install .

Pelo próprio Orange, colando no widget Python Script e clicando em Run (ajuste o caminho da pasta):

import sys, subprocess
pasta = "/caminho/para/orange3-text-analysis"
r = subprocess.run([sys.executable, "-m", "pip", "install", pasta],
                   capture_output=True, text=True)
print(r.stdout[-1500:]); print(r.stderr[-1500:])

Depois, reinicie o Orange.

Para desenvolvimento, instale em modo editável (as alterações no código valem após reiniciar o Orange, sem reinstalar):

python -m pip install -e .

Atualizando a partir do orange3-sentimento: desinstale o pacote antigo com python -m pip uninstall orange3-sentimento, senão os widgets aparecem duplicados. Modelos .pkcls salvos com o pacote antigo precisam ser gerados de novo.

Widgets

Limpeza de Texto

Limpa o texto e cria uma nova coluna com o resultado, mostrando uma prévia antes/depois. Opções: corrigir codificação quebrada, remover HTML, links, e-mails e menções (remover ou trocar pelos marcadores http, email e @user), hashtags, emojis (remover ou converter em texto), números, caracteres repetidos (muuuuito → muuuito), espaços excessivos, minúsculas, acentos e pontuação, além de descartar textos curtos e duplicados.

Tradução

Traduz textos com unicamp-dl/translation-pt-en-t5 (português → inglês), unicamp-dl/translation-en-pt-t5 (inglês → português) ou facebook/m2m100_418M (100 idiomas, com listas de idioma de origem e destino). Pode criar uma nova coluna ou substituir o texto original. Divide textos longos em frases, roda em segundo plano com barra de progresso e usa a GPU, se houver.

Modelo Hugging Face

Transforma um modelo de classificação de texto do Hugging Face (ex.: cardiffnlp/twitter-xlm-roberta-base-sentiment) em um modelo do Orange, compatível com Predictions, Save Model e Load Model. Lê os rótulos do próprio modelo, aceita parâmetros avançados em JSON e, ao receber o corpus rotulado na entrada, usa a variável-alvo dele para que o Predictions calcule as métricas de avaliação.

Fluxo de exemplo

Corpus → Limpeza de Texto ─┬─► Modelo Hugging Face ──► Predictions
                           └─────────────────────────► Predictions

Para usar um modelo disponível só em inglês, inclua o widget Tradução (português → inglês) depois da Limpeza de Texto.

Estrutura do projeto

orange3-text-analysis/
├── README.md
├── pyproject.toml
├── docs/
├── tests/
└── src/
    └── text_analises/
        ├── modelo.py        # adaptador Hugging Face → modelo do Orange
        ├── limpeza.py       # funções de limpeza de texto
        ├── traducao.py      # funções de tradução
        └── widgets/
            ├── owsentimentohf.py
            ├── owlimpezatexto.py
            ├── owtraducao.py
            └── icons/

Observações

  • Cada modelo é baixado do Hugging Face no primeiro uso (de centenas de MB a cerca de 2 GB) e fica em cache em ~/.cache/huggingface.
  • Em sistemas com vírgula decimal (ex.: português do Brasil), o add-on ajusta temporariamente a formatação numérica ao carregar os modelos, evitando o erro do protobuf com tokenizadores SentencePiece.

Metadata

Release files for orange3-text-analysis 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for orange3-text-analysis 0.0.2
File Size Uploaded Provenance
orange3_text_analysis-0.0.2.tar.gz 48.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for orange3-text-analysis 0.0.2
File Interpreter ABI Platform
orange3_text_analysis-0.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 108.1 kB

Release files / orange3_text_analysis-0.0.2.tar.gz

Download URL orange3_text_analysis-0.0.2.tar.gz
Size 48.2 kB
Tags Source
SHA-256 checksum
How to use checksums
8cee54c16de1915af01fcde780da7af855c2c92e0cb05bbb899b1cbc56c6e36a
BLAKE2b-256 checksum
How to use checksums
a6784e8ce7c5b1e7b3befab17a1f17dc51fadf62a97a25c2346bf2fa7cc2c39a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / orange3_text_analysis-0.0.2-py3-none-any.whl

Download URL orange3_text_analysis-0.0.2-py3-none-any.whl
Size 60.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9a832a8c36598390863edf4449661cac20c4eb2f9daafb859f6fb7253d3c6252
BLAKE2b-256 checksum
How to use checksums
87f4d73dc605f8af6c57cfe36877faed2461ccdfbefe48da5eb994077bd5ffc7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for orange3-text-analysis 0.0.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page