Китайская метафора
Общая задача CCL 2018 — распознавание китайских метафор и анализ настроений
Описание задачи
- Подробности миссии: http://ir.dlut.edu.cn/news/detail/508.
- Обновление: подзадача 1 представляет собой задачу двух категорий. Вам нужно только определить, является ли это глагольной метафорой.
- Время: Крайний срок в 9.30. Каждая команда может подавать результаты 9 сентября, 16 сентября, 23 сентября и 30 сентября, начиная с 22:00 каждое воскресенье. Каждая команда может подавать результаты не более трех раз в неделю и рассчитывать результат в соответствии с последними отправленными результатами; рейтинг. Об этом будет объявлено на сайте (http://ir.dlut.edu.cn/) до 17:00 10, 17, 24 сентября и 1 октября.
- Данные обучения: http://ir.dlut.edu.cn/File/Download?cid=3 «Данные оценки распознавания китайских метафор и анализа настроений CCL 2018».
- Данные теста (без маркировки): http://ir.dlut.edu.cn/File/Download?cid=3 «Данные испытаний распознавания китайских метафор и анализа тональности CCL 2018»
- Напоминание: согласно требованиям организатора, этот набор данных можно использовать только для этой оценочной задачи. Для других целей обращайтесь к организатору.
Структура репо
- /Corpus: хранит корпус китайских метафор Penn StateUCMC (пока не используется).
- /data: данные обучения и тестирования.
- /dicts: реляционные словари двух подзадач, а также словарь
- /memo: протокол встречи
- /model_structure: Структурная диаграмма модели nn.
- /paper: соответствующая литература
- /pretrained_emb: предварительно обученное встраивание слов, загруженное из Интернета (на основе Википедии), отфильтрованное.
- /источник: код
- /results: результаты оценки модели и созданные тестовые метки.
- /models: вам необходимо создать этот путь самостоятельно. Ниже приведены два подпути: /verb и /emo, которые используются для хранения обученных моделей.
- /submission: отправленные файлы результатов, сохраненные по дате.
Структура кода
- Основной код:
- conf.py: установка различных параметров
- multi_cgru_keras.py: структура модели
- train.py: обучить модель на 90% обучающих данных
- eva_model.py: оценка производительности модели по 10% обучающих данных.
- генерировать_test_labels.py: прогнозировать метки на тестовом наборе
- Вспомогательный код:
- Split_data.py: разделите обучающий набор на 90 % (для обучения) и 10 % (для оценки производительности модели).
- back_translate.py: используйте Google Translate API для добавления обучающих данных.
- Convert_data.py: конвертируйте данные из XML в TXT и преобразуйте числовые метки в понятные текстовые метки.
- data_provider.py: чтение данных и подготовка к обучению.
- filter_wordemb.py: фильтровать предварительно обученные векторы слов на основе обучающих и тестовых данных, сохраняя только слова, которые появляются в данных (текущие векторы слов вики были отфильтрованы).
Как запустить код
- Установите соответствующие параметры в conf.py
- Запустите train.py, чтобы обучить модель.
- Запустите eva_model.py, чтобы оценить производительность модели.
- На основе результатов оценки на третьем этапе выберите модель с более высокой производительностью и используйтеgenerate_test_labels для создания меток тестовых данных.
Сделанный
- Базовый уровень NN: по данным CGRU, наилучшая производительность (точность) составляет около 70 % для задачи 1 и около 39 % для задачи 2.
- Сравнение: базовый показатель большинства, задача 2 37%
- Сравнение: Наивный базовый уровень, основанный на эмоциональной лексике, без машинного обучения, задача 2 51%
- На основе NN Bseline попробуйте следующие функции:
- Оптимизировать слой внедрения
- Используйте предварительно обученное внедрение для замены внедрения, изученного самой моделью. Лучшая производительность задачи 2 составляет около 50%.
- Сращивание вектора слова: в сочетании с уменьшением параметра сглаживания макрос Task2 f - 39,6%
- Обратный перевод
- Google Translate 6 языков, протестировано несколько методов фильтрации, у Task2 лучшая производительность - около 53%.
- Другие структуры модели
- Непосредственное использование встраивания в качестве признаков классификации.
- LSTM+полное подключение: макрос задачи 2 f — 40 %
- Небольшой анализ ошибок:
- Было замечено, что переоснащение было серьезным, поэтому я попробовал настроить l2(↑), dropout(↑), Smooth(↓), но больших изменений не обнаружено. В то же время было обнаружено, что производительность той же модели. работал нестабильно (разница между несколькими запусками задачи2 могла достигать 10%)
- Некоторые из плохих падежей представляют собой предложения с переходами (например, они содержат такие слова, как «как не могло быть», «не может», «поскольку» и т. д.).
- Было обнаружено, что некоторые аннотации в данных были сомнительными.
- Получите корпус китайских метафор штата Пенсильвания, который можно использовать для самообучения встраивания слов.
- Дополнительный корпус обучения: используйте другой корпус английского языка, чтобы перевести его обратно и дополнить корпус обучения.
- Настройте параметры
Список задач
- Попробуйте дополнительные функции на основе базовой версии NN:
- Продолжайте оптимизировать слой внедрения.
- Используйте другие предварительно обученные внедрения: например, внедрение, обученное на корпусе метафор Penn State, ELMo Embedding и т. д.
- Добавьте эмоциональный словарь к nn:
- Встраивание меток: существующий метод используется только для меток с прогрессивными отношениями (очень отрицательный, отрицательный, нейтральный, положительный, очень положительный).
- подкатегория глаголов и существительных
- Отношение зависимости
- Наблюдая за данными, изучите роль функциональных слов в двух подзадачах, а затем решите, какую информацию о функциональных словах добавить в модель. Функциональные слова: какая информация полезна?
- Попробуйте другие структуры модели:
- (См. статью «Базовый уровень требует большего внимания: о простых моделях на основе встраивания слов и связанных с ними механизмах объединения»).
- Используйте Transformer в качестве кодировщика предложений (см. статью «Внимание — это все, что вам нужно»)
Ресурсы
- Корпус китайских метафор штата Пенсильвания (http://www.personal.psu.edu/xxl13/download.html)
- Библиотека онтологии словаря эмоций Даляньского технологического университета (http://ir.dlut.edu.cn/EmotionOntologyDownload)
Организатор
Научно-исследовательская лаборатория информационного поиска Даляньского технологического университета