Integrations
Offers community support through Discord channel
References GitHub for project hosting, stars, forks, and issue tracking
Supports interaction with Hugging Face datasets, enabling evaluation of data quality for datasets hosted on the platform
Журнал изменений
- 2024/12/27: Инициализация проекта
Введение
Dingo — это инструмент оценки качества данных, который помогает вам автоматически обнаруживать проблемы с качеством данных в ваших наборах данных. Dingo предоставляет множество встроенных правил и методов оценки моделей, а также поддерживает пользовательские методы оценки. Dingo поддерживает часто используемые текстовые наборы данных и мультимодальные наборы данных, включая наборы данных предварительной подготовки, наборы данных тонкой настройки и наборы данных оценки. Кроме того, Dingo поддерживает несколько методов использования, включая локальный CLI и SDK, что упрощает интеграцию в различные платформы оценки, такие как OpenCompass .
Архитектурная схема
Быстрый старт
Установка
Примеры использования
1. Оценить локальный текстовый файл (открытый текст)
2. Оцените набор данных «Обнимающееся лицо»
3. Оцените формат JSON/JSONL
4. Использование LLM для оценки
Интерфейс командной строки
Оценка с помощью наборов правил
Оцените с помощью LLM (например, GPT-4o)
Пример config_gpt.json
:
Визуализация графического интерфейса
После оценки (с save_data=True
) будет автоматически сгенерирована страница frontend. Чтобы вручную запустить frontend:
Где output_directory
содержит результаты оценки с файлом summary.json
.
Онлайн-демонстрация
Попробуйте Dingo в нашей онлайн-демонстрации: (Обнимающее лицо)🤗
Показатели качества данных
Dingo классифицирует проблемы качества данных по 7 измерениям метрик качества. Каждое измерение можно оценить с помощью как методов на основе правил, так и подсказок LLM:
Метрика качества | Описание | Примеры правил | Примеры подсказок LLM |
---|---|---|---|
ПОЛНОТА | Проверяет, являются ли данные неполными или отсутствуют | RuleColonEnd , RuleContentNull | Проверяет, заканчивается ли текст двоеточием или многоточием, содержит ли он непарные скобки или отсутствуют ли в нем критические компоненты. |
ЭФФЕКТИВНОСТЬ | Проверяет, являются ли данные значимыми и правильно ли они отформатированы. | RuleAbnormalChar , RuleHtmlEntity , RuleSpecialCharacter | Обнаруживает искаженный текст, слова, слипшиеся без пробелов, и текст с отсутствующими знаками препинания. |
БЕГЛОСТЬ | Проверяет грамматическую правильность текста и его естественность при чтении | RuleAbnormalNumber , RuleNoPunc , RuleWordStuck | Определяет слишком длинные слова, фрагменты текста без знаков препинания или контент с хаотичным порядком чтения |
АКТУАЛЬНОСТЬ | Обнаруживает нерелевантный контент в данных | Варианты RuleHeadWord для разных языков | Проверяет на наличие нерелевантной информации, такой как сведения о цитатах, верхние/нижние колонтитулы, маркеры сущностей, HTML-теги |
БЕЗОПАСНОСТЬ | Выявляет конфиденциальную информацию или конфликты ценностей | RuleIDCard , RuleUnsafeWords | Проверяет персональные данные и контент, связанный с азартными играми, порнографией, политическими вопросами |
СХОДСТВО | Обнаруживает повторяющийся или очень похожий контент | RuleDocRepeat | Оценивает текст на предмет последовательно повторяющегося содержимого или многократного использования специальных символов. |
ПОНЯТНОСТЬ | Оценивает, насколько легко интерпретировать данные | RuleCapitalWords | Обеспечивает правильное форматирование формул LaTeX и Markdown с правильной сегментацией и переносами строк. |
Оценка качества LLM
Dingo предоставляет несколько методов оценки на основе LLM, определенных подсказками в каталоге dingo/model/prompt
. Эти подсказки регистрируются с помощью декоратора prompt_register
и могут быть объединены с моделями LLM для оценки качества:
Подсказки по оценке качества текста
Тип подсказки | Метрическая | Описание |
---|---|---|
TEXT_QUALITY_V2 , TEXT_QUALITY_V3 | Различные качественные параметры | Комплексная оценка качества текста, охватывающая эффективность, релевантность, полноту, понятность, схожесть, беглость и безопасность |
QUALITY_BAD_EFFECTIVENESS | Эффективность | Обнаруживает искаженный текст и антисканирующий контент |
QUALITY_BAD_SIMILARITY | Сходство | Выявляет проблемы повторения текста |
WORD_STICK | Беглость | Проверяет слова на наличие слипшихся слов без надлежащего интервала |
CODE_LIST_ISSUE | Полнота | Оценивает блоки кода и проблемы форматирования списков |
UNREAD_ISSUE | Эффективность | Обнаруживает нечитаемые символы из-за проблем с кодировкой |
Подсказки по оценке 3H (честные, полезные, безвредные)
Тип подсказки | Метрическая | Описание |
---|---|---|
QUALITY_HONEST | Честность | Оценивает, содержат ли ответы точную информацию без фальсификаций или обмана. |
QUALITY_HELPFUL | Полезность | Оценивает, отвечают ли ответы непосредственно на вопросы и следуют ли они соответствующим инструкциям |
QUALITY_HARMLESS | Безвредность | Проверяет, не содержат ли ответы вредоносного контента, дискриминационного языка и опасной помощи |
Подсказки для оценки предметной области
Тип подсказки | Метрическая | Описание |
---|---|---|
TEXT_QUALITY_KAOTI | Качество экзаменационных вопросов | Специализированная оценка качества экзаменационных вопросов, уделяющая особое внимание отображению формул, форматированию таблиц, структуре абзацев и форматированию ответов. |
Html_Abstract | Качество извлечения HTML | Сравнивает различные методы извлечения Markdown из HTML, оценивая полноту, точность форматирования и семантическую согласованность. |
Подсказки по классификации
Тип подсказки | Метрическая | Описание |
---|---|---|
CLASSIFY_TOPIC | Категоризация тем | Классифицирует текст по таким категориям, как языковая обработка, письмо, код, математика, ролевая игра или вопросы и ответы по знанию |
CLASSIFY_QR | Классификация изображений | Распознает изображения как CAPTCHA, QR-код или обычные изображения |
Подсказки по оценке изображения
Тип подсказки | Метрическая | Описание |
---|---|---|
IMAGE_RELEVANCE | Релевантность изображения | Оценивает, соответствует ли изображение эталонному изображению по количеству лиц, деталям и визуальным элементам. |
Использование оценки LLM при оценке
Чтобы использовать эти подсказки для оценки в своих оценках, укажите их в своей конфигурации:
Вы можете настроить эти подсказки, чтобы сосредоточиться на определенных измерениях качества или адаптироваться к определенным требованиям домена. В сочетании с соответствующими моделями LLM эти подсказки позволяют проводить комплексную оценку качества данных по нескольким измерениям.
Группы правил
Dingo предоставляет предварительно настроенные группы правил для различных типов наборов данных:
Группа | Вариант использования | Примеры правил |
---|---|---|
default | Общее качество текста | RuleColonEnd , RuleContentNull , RuleDocRepeat и т. д. |
sft | Тонкая настройка наборов данных | Правила по default плюс RuleLineStartWithBulletpoint |
pretrain | Наборы данных для предварительного обучения | Полный набор из более чем 20 правил, включая RuleAlphaWords , RuleCapitalWords и т. д. |
Чтобы использовать определенную группу правил:
Основные характеристики
Поддержка из разных источников и в разных режимах
- Источники данных : локальные файлы, наборы данных Hugging Face, хранилище S3
- Типы данных : наборы данных для предварительного обучения, тонкой настройки и оценки.
- Модальности данных : Текст и изображение
Оценка на основе правил и моделей
- Встроенные правила : более 20 общих эвристических правил оценки
- Интеграция LLM : OpenAI, Kimi и локальные модели (например, Llama3)
- Пользовательские правила : легко расширяйте свои собственные правила и модели.
- Оценка безопасности : интеграция API Perspective
Гибкое использование
- Интерфейсы : CLI и SDK-опции
- Интеграция : Простая интеграция с другими платформами
- Движки исполнения : локальные и Spark
Комплексная отчетность
- Метрики качества : 7-мерная оценка качества
- Прослеживаемость : подробные отчеты для отслеживания аномалий
Руководство пользователя
Пользовательские правила, подсказки и модели
Если встроенные правила не соответствуют вашим требованиям, вы можете создать собственные:
Пример пользовательского правила
Индивидуальная интеграция LLM
Больше примеров смотрите в:
Двигатели исполнения
Местное исполнение
Исполнение Искры
Отчеты об оценке
После оценки Dingo генерирует:
- Сводный отчет (
summary.json
): общие показатели и оценки - Подробные отчеты : конкретные проблемы по каждому нарушению правил
Пример резюме:
Планы на будущее
- [ ] Более богатые графические и текстовые оценочные индикаторы
- [ ] Оценка модальности аудио и видео данных
- [ ] Оценка небольшой модели (fasttext, Qurating)
- [ ] Оценка разнообразия данных
Ограничения
Текущие встроенные правила обнаружения и методы модели фокусируются на общих проблемах качества данных. Для специализированных потребностей оценки мы рекомендуем настраивать правила обнаружения.
Благодарности
Вклад
Мы ценим всех участников за их усилия по улучшению и совершенствованию Dingo
. Пожалуйста, обратитесь к Руководству по внесению вклада для получения рекомендаций по внесению вклада в проект.
Лицензия
В этом проекте используется лицензия Apache 2.0 Open Source .
Цитата
Если вы считаете этот проект полезным, пожалуйста, рассмотрите возможность цитирования нашего инструмента: