Skip to page content
SAVRN
Search Plan a project

Open-weight model · Text classification

text2ipc-pt

by Jaime Neiva Miranda de Souza jaimenms/text2ipc-pt

text2ipc-pt is an open-weight model for text classification from Jaime Neiva Miranda de Souza, released under MIT License. Its published files total 229.5 MB.

Maps free text (a patent abstract, for example) to ranked International Patent Classification symbols. Every IPC entry is embedded from its full ancestor path and the query is scored against the hierarchy (path support, beam by best subtree score).

Parameters—
Context—
Weights229.5 MB
Licensemit
AccessOpen weights
Monthly Downloads—

Model Card

By Jaime Neiva Miranda de Souza, published under mit, revision e6aa7360a01e.

Maps free text (a patent abstract, for example) to ranked International Patent Classification symbols. Every IPC entry is embedded from its full ancestor path and the query is scored against the hierarchy (path support, beam by best subtree score). This repository is a custom Inference Endpoints handler (handler.py). Deploy it as level is one of section, class, subclass, group, subgroup or auto. The response is a list of {symbol, canonical, level, score, similarity, title, path}. Contents: scheme/ (titles and hierarchy), index/ (vectors, parquet), text2ipc/ (the package, vendored), text2ipc.json (which index to serve). Data: IPC scheme master files by WIPO; Portuguese titles from INPI…

Read Jaime Neiva Miranda de Souza's full model card

text2ipc: IPC 20260101 (PT) via intfloat/multilingual-e5-base

Maps free text (a patent abstract, for example) to ranked International Patent Classification symbols. Every IPC entry is embedded from its full ancestor path and the query is scored against the hierarchy (path support, beam by best subtree score).

This repository is a custom Inference Endpoints handler (handler.py). Deploy it as an Inference Endpoint and call:

{"inputs": "enxada manual com duas lâminas para capina",
 "parameters": {"level": "group", "top_k": 5}}

level is one of section, class, subclass, group, subgroup or auto. The response is a list of {symbol, canonical, level, score, similarity, title, path}.

Use it locally

pip install "text2ipc[st] @ git+https://github.com/Jaimenms/text2ipc"
t2ipc download jaimenms/text2ipc-pt
t2ipc classify "Aparelho para combate a incêndios com mangueira flexível" --lang PT --level group
from text2ipc import IpcClassifier
clf = IpcClassifier("20260101", lang="PT")
for m in clf.classify("...", level="group", top_k=5):
    print(m.pretty, round(m.score, 3), m.text)

Contents: scheme/ (titles and hierarchy), index/ (vectors, parquet), text2ipc/ (the package, vendored), text2ipc.json (which index to serve).

Data: IPC scheme master files by WIPO; Portuguese titles from INPI Brazil's IPC Publication. Embedder: intfloat/multilingual-e5-base from the Hub. Accuracy on INPI-published applications is documented in the text2ipc repository.

Identity and Version

Repository
jaimenms/text2ipc-pt
Publisher
Jaime Neiva Miranda de Souza
Task
Text classification
Modality
Text
Library
Not stated by the source
Parameters
Not stated by the source
Languages
pt
Revision
e6aa7360a01e6599244d71a7d8f50a9cda690653
First published
2026-09-09
Last updated
2026-10-09

Files and Weights

49 files, 229.5 MB in total.

Configuration41 files · 119.9 KB
Documentation1 file · 1.7 KB
Other6 files · 229.4 MB
Repository1 file · 46 B
Every file
FileTypeSizeSHA-256
handler.pyConfiguration2.4 KB —
text2ipc.jsonConfiguration90 B —
text2ipc/__init__.pyConfiguration520 B —
text2ipc/chunking.pyConfiguration2.9 KB —
text2ipc/classifier.pyConfiguration8.6 KB —
text2ipc/cli.pyConfiguration15.2 KB —
text2ipc/config.pyConfiguration2.7 KB —
text2ipc/embeddings/__init__.pyConfiguration107 B —
text2ipc/embeddings/base.pyConfiguration2.6 KB —
text2ipc/embeddings/hashing.pyConfiguration1.5 KB —
text2ipc/embeddings/ollama.pyConfiguration1.9 KB —
text2ipc/embeddings/st.pyConfiguration2.9 KB —
text2ipc/eval/__init__.pyConfiguration333 B —
text2ipc/eval/cases.pyConfiguration2.3 KB —
text2ipc/eval/harness.pyConfiguration4.2 KB —
text2ipc/eval/rpi.pyConfiguration8.2 KB —
text2ipc/hf/__init__.pyConfiguration —
text2ipc/index/__init__.pyConfiguration353 B —
text2ipc/index/build.pyConfiguration3.9 KB —
text2ipc/index/migrate.pyConfiguration2.6 KB —
text2ipc/index/paths.pyConfiguration1.7 KB —
text2ipc/index/publish.pyConfiguration1.7 KB —
text2ipc/index/store.pyConfiguration4.9 KB —
text2ipc/rerank/__init__.pyConfiguration115 B —
text2ipc/rerank/base.pyConfiguration2.4 KB —
text2ipc/rerank/hashing.pyConfiguration775 B —
text2ipc/rerank/st.pyConfiguration1.7 KB —
text2ipc/scheme/__init__.pyConfiguration565 B —
text2ipc/scheme/download.pyConfiguration1.7 KB —
text2ipc/scheme/inpi.pyConfiguration5.9 KB —
text2ipc/scheme/model.pyConfiguration832 B —
text2ipc/scheme/overlay.pyConfiguration1.3 KB —
text2ipc/scheme/parse.pyConfiguration2.8 KB —
text2ipc/scheme/symbols.pyConfiguration1.9 KB —
text2ipc/scheme/table.pyConfiguration4.0 KB —
text2ipc/search/__init__.pyConfiguration129 B —
text2ipc/search/scorer.pyConfiguration9.3 KB —
text2ipc/textnorm.pyConfiguration1.1 KB —
text2ipc/versions.pyConfiguration2.8 KB —
text2ipc/web/__init__.pyConfiguration175 B —
text2ipc/web/export.pyConfiguration10.8 KB —
README.mdDocumentation1.7 KB —
index/ipc_20260101_pt_st-intfloat-multilingual-e5-base.parquetOther226.9 MB 053fa15cad45
requirements.txtOther74 B —
scheme/ipc_20260101_pt.parquetOther2.5 MB ed99093b76e6
text2ipc/web/static/app.jsOther24.4 KB —
text2ipc/web/static/index.htmlOther8.2 KB —
text2ipc/web/static/scorer.jsOther14.8 KB —
.gitattributesRepository46 B —

License and Download

License
mit
Access
Open weights, no gate
Download from Jaime Neiva Miranda de Souza

Released by Jaime Neiva Miranda de Souza through its official repository on Hugging Face. Read the license.

Built From

Questions About text2ipc-pt

Can I use text2ipc-pt commercially?

Yes. text2ipc-pt is released under MIT License. The MIT License is a short permissive license. It permits commercial use, modification and redistribution, provided the copyright notice and permission notice are included.

Similar Models

Model · Text classification

twitter-roberta-base-sentiment-latest

Cardiff NLP

This is a RoBERTa-base model trained on ~124M tweets from January 2018 to December 2021, and finetuned for sentiment analysis with the TweetEval benchmark. The original Twitter-based RoBERTa model can be found here and the original reference paper is TweetEval. This model is suitable for English. 0 -> Negative; 1 -> Neutral; 2 -> Positive This sentiment analysis model has been integrated into TweetNLP. You can access the demo here.

Open weights cc-by-4.0 514 tokens transformers

Model · Text classification

finbert-tone

Yi

FinBERT is a BERT model pre-trained on financial communication text. The purpose is to enhance financial NLP research and practice. It is trained on the following three financial communication corpus. The total corpora size is 4.9B tokens. More technical details on FinBERT: Click Link This released finbert-tone model is the FinBERT model fine-tuned on 10,000 manually annotated (positive, negative, neutral) sentences from analyst reports. This model achieves superior performance on financial tone analysis task. If you are simply interested in using FinBERT for financial tone analysis, give it a try. If you use the model in your academic work, please cite the following paper: Huang, Allen H.…

Open weights 512 tokens transformers

Model · Text classification

ms-marco-MiniLM-L-6-v2

Joshua

https://huggingface.co/cross-encoder/ms-marco-MiniLM-L-6-v2 with ONNX weights to be compatible with Transformers.js. If you haven't already, you can install the Transformers.js JavaScript library from NPM using: Note: Having a separate repo for ONNX weights is intended to be a temporary solution until WebML gains more traction. If you would like to make your models web-ready, we recommend converting to ONNX using Optimum and structuring your repo like this one (with ONNX weights located in a subfolder named onnx).

Open weights 512 tokens transformers.js

Model · Text classification

twitter-xlm-roberta-base-sentiment

Cardiff NLP

This is a multilingual XLM-roBERTa-base model trained on ~198M tweets and finetuned for sentiment analysis. The sentiment fine-tuning was done on 8 languages (Ar, En, Fr, De, Hi, It, Sp, Pt) but it can be used for more languages (see paper for details). This model has been integrated into the TweetNLP library.

Open weights 514 tokens transformers

Model · Text classification

unbiased-toxic-roberta

Unitary

The huggingface models currently give different results to the detoxify library (see issue here). For the most up to date models we recommend using the models from https://github.com/unitaryai/detoxify Trained models & code to predict toxic comments on 3 Jigsaw challenges: Toxic comment classification, Unintended Bias in Toxic comments, Multilingual toxic comment classification. Built by Laura Hanu at Unitary, where we are working to stop harmful content online by interpreting visual content in context. Score not directly comparable since it is obtained on the validation set provided and not on the test set. To update when the test labels are made available. It is also noteworthy to mention…

Open weights apache-2.0 514 tokens transformers

Model · Text classification

emotion-english-distilroberta-base

Hartmann

With this model, you can classify emotions in English text data. The model was trained on 6 diverse datasets (see Appendix below) and predicts Ekman's 6 basic emotions, plus a neutral class: 1) anger 2) disgust 3) fear 4) joy 5) neutral 6) sadness 7) surprise The model is a fine-tuned checkpoint of DistilRoBERTa-base. For a 'non-distilled' emotion model, please refer to the model card of the RoBERTa-large version. a) Run emotion model with 3 lines of code on single text example using Hugging Face's pipeline command on Google Colab: b) Run emotion model on multiple examples and full datasets (e.g.,.csv files) on Google Colab: Please reach out to [email protected] if you have any…

Open weights 514 tokens transformers