Об этом проекте
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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.