токенов). Следует в тексте выделить важные части. Условно абзацы или предложение подчеркнуть (highlighting). Так сказать, почистить документ от не важной информации. Я думаю в трех направлениях:
1. Взять Т5 и зафайнтюнить ее. Как суммаризатор.
2. Свести это к задаче QA или token-classification.
3. Классификатор подобен BERT-Sum
Возможно, кто-то сталкивался с таким и может поделиться советами или идеями?
Я делал суммаризации , что extractive , что abstractive (также есть еще задача text simplification) - у вас по описанию похоже на extractive summarization , поэтому полная t5 где и декодер есть , имхо несильно подойдет , она не будет «подчеркивать» , она будет генерировать текст (возможно это и нужно , я не знаю) , можно действительно использовать модели с подчеркиванием нужных/ненужных спанов аля token classification, если задача стоит на уровне слов или фраз . А если обычная extractive summarization , то я делал просто хороший энкодер предложений и ранжировал предложения (алгоритмов как это сделать на самом деле много, но суть примерно одна , грубо говоря выделить такие top k предложений , относительно которых остальные близки/лежат рядом с ними в кластере )
вот пример из sentence-transformers последнего что я описал, где используется lexrank (connected components) https://github.com/UKPLab/sentence-transformers/blob/master/examples/applications/text-summarization/text-summarization.py
или вот , довольно старый пакет. который я признаюсь честно не использовал никогда (в отличие от sentence-transformers) https://github.com/dmmiller612/bert-extractive-summarizer но там как раз также делается , судя по коду
да у меня задача extractive summarization. А как можно на таком датасете зафайнтюнить свой энкодер. Возможно уже есть готовые пайплайны?
ну я думаю можно использовать как раз вариант упомянутого bertsum(либо похожий вариант), а именно натренировать encoder по сути + какой-нибудь classifier layer, который классифицирует релевантность(или не релевантность) конкретного предложения, относительно репрезентации всего текста (которую мы например по предложениям стекаем через тот же encoder) пытался сейчас какой-то готовый pipeline найти для этого, но не нашел. но пожалуй вот здесь можно посмотреть https://github.com/HHousen/TransformerSum/blob/master/src/extractive.py либо можно посмотреть у тех же bertsum - https://github.com/nlpyang/BertSum/blob/master/src/models/model_builder.py#L58 подход с классификацией , но если мне память не изменяет, у меня были траблы на практике с подобных подходом (я давно правда их смотрел, по моему там проблема с ограничением у бертов, там мало предложений можно ему запихнуть)
я когда-то писал, https://github.com/IlyaGusev/summarus/blob/master/external/hf_scripts/train_extractive.py https://github.com/IlyaGusev/summarus/blob/master/external/hf_scripts/extractive_model.py
Обсуждают сегодня