DistilBERT Cross Segment Document Chunking
BlueOrangeDigital
Clasificación de texto
Este modelo es una versión afinada de distilbert-base-uncased para clasificar si dos oraciones subsecuentes son de la misma sección de un artículo de Wikipedia. El uso previsto es la segmentación de texto / fragmentación de documentos. Se basa en el artículo Text Segmentation by Cross Segment Attention por Michal Lukasik, Boris Dadachev, Gonçalo Simoes y Kishore Papineni.
Como usar
Una forma de usar este modelo es a través de la clase TextClassificationPipeline de HuggingFace transformers.
from transformers import (
AutoModelForSequenceClassification,
DistilBertTokenizer,
TextClassificationPipeline
)
model_name = "BlueOrangeDigital/distilbert-cross-segment-document-chunking"
id2label = {0: "SAME", 1: "DIFFERENT"}
label2id = {"SAME": 0, "DIFFERENT": 1}
tokenizer = DistilBertTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(
model_name,
num_labels=2,
id2label=id2label,
label2id=label2id
)
pairs = [
"Left context. [SEP] Right context.",
"They have 6 grandchildren. [SEP] Ane is currently coaching Crestwood High School's Boys Varsity Soccer."
]
pipe = TextClassificationPipeline(model=model, tokenizer=tokenizer, return_all_scores=True)
pipe(pairs)
[[{'label': 'SAME', 'score': 0.986},
{'label': 'DIFFERENT', 'score': 0.015}],
[{'label': 'SAME', 'score': 0.212},
{'label': 'DIFFERENT', 'score': 0.788}]]
Funcionalidades
- Clasificación de texto
- Transformadores
- Modo safetensors
- Segmentación de texto
- Fragmentación de documentos
- Puntos finales de inferencia
Casos de uso
- Segmentación de texto
- Fragmentación de documentos
- Clasificación de oraciones subsecuentes