Об этом проекте

HanLP (Han Language Processing) — это многоязычный набор инструментов для обработки естественного языка, предназначенный для производственной среды, на двух движках PyTorch и TensorFlow 2.x. Цель проекта — внедрение и популяризация передовых технологий NLP. Он отличается полнотой функциональности, точностью, высокой производительностью, актуальными корпусами, чёткой архитектурой и возможностью настройки. Возможности включают: - Сегментация слов (грубая и точная) - Частеречная разметка (стандарты CTB, PKU, 863 и др.) - Распознавание именованных сущностей (стандарты PKU, MSRA, OntoNotes и др.) - Синтаксический анализ зависимостей (SD, UD, PMT) - Составляющий синтаксический анализ (Chinese Tree Bank) - Семантический анализ зависимостей (CSDP) - Семантическая ролевая разметка (Chinese Proposition Bank) - Абстрактное смысловое представление (CAMR) - Разрешение анафоры (кореференции) - Семантическое сходство текстов - Преобразование стиля текста - Извлечение ключевых слов и фраз - Извлекающее и генеративное автоматическое реферирование - Грамматическая коррекция текста - Классификация текста и анализ тональности - Определение языка - Векторные представления слов и заполнение пропусков (cloze) - Конвертация упрощённого и традиционного китайского, пиньинь, обнаружение новых слов, кластеризация текстов (см. версию 1.x) Многоязычная поддержка: благодаря крупномасштабным многоязычным корпусам HanLP 2.1 поддерживает 10 совместных задач и множество отдельных задач на 130 языках, включая упрощённый и традиционный китайский, английский, японский, русский, французский, немецкий. Две формы API: 1. Лёгкий RESTful API: объём всего несколько КБ, подходит для гибкой разработки, мобильных приложений и т.п., не требует GPU, быстрая установка. Предоставляются клиенты на Python, Golang, Java и др. 2. Многофункциональный native API: опирается на технологии глубокого обучения PyTorch, TensorFlow и др., подходит для профессиональных NLP-инженеров, исследователей и сценариев с большими объёмами локальных данных. Требуется Python 3.6–3.10, поддерживается Windows, рекомендуются Unix-подобные системы, может работать на CPU, рекомендуется GPU/TPU. Типы моделей: - Многофункциональные модели: быстрые, экономят видеопамять, позволяют выполнять несколько задач за один вызов. - Однофункциональные модели: более точные и гибкие, могут собираться в конвейерном режиме. Возможности настройки: поддерживаются эффективные пользовательские словари на основе trie-дерева, а также три правила: принудительное, объединение и коррекция. Эффект правил может бесшовно применяться к последующим статистическим моделям, что позволяет быстро адаптироваться к новым областям. Формат вывода: независимо от API, языка разработки или естественного языка, вывод единообразно представлен в формате JSON — объект Document, совместимый с dict, содержащий поля: сегментация слов, части речи, именованные сущности, семантические роли, синтаксис зависимостей, семантические зависимости, составляющий синтаксис и др. RESTful и native API в Python также поддерживают визуализацию на основе моноширинного шрифта, позволяющую отображать лингвистические структуры прямо в консоли. Проект также предоставляет возможность обучения пользовательских моделей для конкретных областей и включает ссылку на статью EMNLP.