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