Участник:AKA MBG/projects

Материал из Викисловаря

На этой странице перечислены краткие формулировки задач, которые будут решаться в ходе выполнения студентами квалификационных и курсовых работ (дипломных и магистерcких). Все эти работы объединены двумя целями:

  • показать многообразие задач компьютерной лингвистики, решаемых на основе данных, извлечённых из викисловарей;
  • массово планомерно и всесторонне улучшать качество словарных статей викисловарей.

Часть задач будет решаться на основе данных машиночитаемого Викисловаря, см. проект wikokit и курс v:Машиночитаемый Викисловарь.

Задачи[править]

Общие задачи[править]

Общий список задач компьютерной лингвистики, для решения которых будут использоваться данные Викисловаря:

  1. Автоматическое определение морфологических свойств неизвестных слов русского языка (на основе таблиц словоизменения русских слов в Викисловаре, построенных в соответствии с концепцией А. А. Зализняка)
    1. на входе параметры шаблонов словоизменения либо текст шаблонов (см. {{inflection сущ ru}}); на выходе парадигма слова (См. Викисловарь:Использование словаря Зализняка, схему по Зализняку можно проверить на сайте Вавилонская Башня);
    2. на входе слово, на выходе слово в нормальной форме + парадигма(ы) (глянуть, как это сделано в aot.ru)
  2. Оценка алгоритмов ранжирования семантически близких слов русского языка.
    • Для примера см. как это в английском языке: WordSimilarity-353 - в особенности работы Gabrilovich, Markovitch; пары синонимов от Rubenstein и Goodenough
  3. w:Контент-анализ
    • Анализ текстов Википедии с пометой w:Шаблон:Реклама и en:w:Template:Advert (на основе словарных помет и лексикона). Автоматическое определение "рекламного" стиля текста.
    • + на основе "возможных признаков текста", см. "Ю.В.Сидоров, Н.В.Смирнов, Вероятностные метода анализа неструктурированной информации: учеб. пособие. - Петрозаводск: Изд-во ПетрГУ, 2012." (стр. 50)
    • use корпус рекламы на русском языке: versusvoid/RuLanAdCor
  4. Автоматическая оценка качества (степени проработанности) словарной статьи.
    • Цель: соразмерная (уравновешенная) оценка.
    • Трудность: одномерная оценка. На каком основании давать веса разным разделам статьи? Ср. с метрикой Wikipedia article depth
    • Тестовый набор - оценить вручную качество пар статей.
    • Практические приложения: (1) построение словника для бумажной версии Викисловаря 1.0 (по языкам), (2) интеграция викисловарей.
  5. Полуавтоматическое построение тезауруса русского языка по русским текстам (WP, толкования словаря) (генерация рекомендаций — синонимов и гиперонимов).
  6. Автоматическая генерация рекомендаций по улучшению качества тезауруса.
    • Построить ранжированный список словарных статей (максимум ошибки - в начале списка), в которых найдены ошибки и противоречия в семантических отношениях. Сгенерировать объяснение - в чём именно ошибка.
    • Разработать шаблоны и эвристики для поиска ошибок.
  7. Поиск и построение базового словаря на основе толкований и внутренних ссылок Викисловаря
    1. вычислить функцию: число толкований Викисловаря на основе словаря дефиниций в зависимости от размера словаря дефиниций;
    2. сравнить эту функцию для данных Викисловаря за разные годы.
  8. Визуализация тезауруса. См. http://vslovar.org.ru, http://visuwords.com, см. статью о sloWTool
  9. Обучающие игры со словами, см. en:w:Word game.
    • Анализ и оценка усвоения игроками материала.
    • Android?
  10. Построение списка палиндромов по данным Викисловаря. См. http://www.poetandknowit.com/english-definitions/palindrome-examples.aspx , Приложение:Русские палиндромы
    • Оценка сложности алгоритма поиска палиндрома длины N по массиву текстов (или генерация палиндрома?).
    • Реализация такого алгоритма (по текстам Википедии).

Задачи компьютерной лингвистики, решаемые на основе данных Википедии (ВП):

  1. Реферирование
    • Построить реферат по тексту статьи Википедии.
    • Сравнить два текста: автоматический реферат (предыдущий шаг) и преамбулу, написанную редакторами ВП вручную.
  2. Быстрое построение KWIC-листа по запросу пользователя с поддержкой символов-джокеров по данным Английской Википедии (= разработка поисковой системы).

Викитека и Викисловарь[править]

Стихотворения. Игра.
  1. Игра. Сделать веб-приложение или Adroid-приложение. Игрок выбирает текст, стих. Одно слово в стихе стёрто. Нужно угадать и ввести это слово.
  2. Анализ. Перебирается (программа стирает, пользователь угадывает) множество слов во множестве текстов многих пользователей. Строится статистика по всем словам и по каждому тексту:
    • какие слова самые трудные для угадывания,
    • в каких фрагментах стихов слова трудно угадываются,
    • слова в стихах каких поэтов хорошо и плохо угадываются.

Суть: стих это целостное жёсткое произведение.

Гипотеза: чем лучше и качественнее стих, тем точнее и однозначнее слушатели являются соавторами произведения и могут собрать недостающие звенья (слова). Цель работы ‒ проверить эту гипотезу численно.

Викиданные и Викисловарь[править]

первая часть (практическая)

См. на Викиданных элемент inception (год основания чего-либо), поле "Also known as". Задача:

  • обойти все элементы (P...) и обычные статьи (Q...) Викиданных;
  • извлечь все "Also known as" (назовём такие пары слов/фраз - почти-синонимы)
  • построить словарь таких почти-синонимов для нескольких языков.

Результат работы:

  1. программа построения словаря почти-синонимов для заданного языка;
  2. словарь почти-синонимов.

Обобщение задачи: извлечь данные для других отношений в Викиданных для построения тезауруса (instance of, has part, part of, ещё?).

вторая часть (научная)

Может быть много теоретических и практических приложений для такого словаря. Подумайте...

Примеры навскидку:

  • построение и анализ синонимических рядов из почти-синонимов,
  • сравнение свойств настоящих синонимических рядов (из Викисловаря) и синонимических рядов из почти-синонимов (см. Модель геометрической структуры синсета).

Словарные пометы[править]

Задачи, связанные со словарными пометами Викисловаря:

  1. Анализ совместной встречаемости помет (небольшая работа)
    • Подсчитать частоту совместной встречаемости разных словарных помет;
    • Сделать визуализацию графа: вершина - помета, ребро соединяет пометы, которые встречаются у одного значения, вес показывает - как часто они встречаются вместе;
    • Анализ свойств графа, сравнение графов, построенных по Русскому Викисловарю и Английскому Викисловарю.
  2. Автоматические указание словарных помет у значений слов
    • Построить тестовый набор значений и помет (проверить вручную);
    • Придумать алгоритм предсказания помет на основе прочих данных значения слова в словаре (текст определения, внутренние ссылки, синонимы, переводы); проверить качество алгоритма на тестовом наборе; сравниться с подходом "A graph-based method to improve wordnet domains" (стр. 6).
    • Плюшки от алгоритма:
    1. найти ошибочно поставленные пометы в викисловарях (выделить группу помет с высокой степенью достоверности);
    2. предложить пометы к значениям без помет.
  3. w:Анализ тональности текста
    • (взял задачу из рассылки [Wiki-research-l], спасибо Fabian): "for research/tools that give a complete (and fairly recent) overview about how much “sentiment” vocabulary is contained in *articles* of the English or any other Wikipedia. It could be just a simple matching of current sentiment dictionaries to article text. Just to get an idea how much (or better: little) vocabulary with a specific polarity Wikipedia contains recently and/or over time. Informal research welcome as well :) I found some older papers (like [2]), but mostly also just for a smaller subset of articles. Mostly, sentiment analysis is (understandably) just a means to an end in papers, so they don’t provide a comprehensive overview of the whole article set.
    • Анализ отзывов в интернет-магазине (на основе словарных помет).
    • Использовать и сравнить со словарём оценочной лексики в области товаров (NC, добавить первые пару сотен с пометами в ВС).
    • См. Using Verbs and Adjectives to Automatically Classify Blog Sentiment (о классификации полярных мнений - табл. 2, Английский Викисловарь)
    • См. A Bootstrapping Algorithm for Learning the Polarity of Words - алгоритм классификации полярности слов по данным словаря

Разрешение лексической многозначности[править]

w:Разрешение лексической многозначности (WSD).

    • Собрать дорожку (типа РОМИПовской) по WSD-задаче. Данные извлечены из Викисловаря. По каждой словарной статьи известны:
    1. N текстов толкований
    2. M цитат, в которых с помощью шаблона {{выдел}} ясно указано решаемое слово.
    3. Задача — соотнести цитату и толкование. Точное решение известно — т.к. данные Викисловаря забиваются вручную редакторами.
    • Решить дорожку: придумать WSD-алгоритм или применить известный (например адаптировать w:Метод Леска)
    1. Пример вычисления полноты и точности на стр. 8, формулы (3) статьи Extracting Semantic Concept Relations from Wikipedia
    • Определение похожих текстов толкований в синонимичных рядах
    1. См. A tool for extracting parallel sentences from comparable corpora: Yalign, github
    • Написать подраздел в статье w:Викисловарь: #Решение WSD задачи внутри Викисловарей (+выравнивание их с другими словарями на уровне значений слов). Литература:
    1. 2013. Multilingual Knowledge in Aligned Wiktionary and OmegaWiki for Translation Applications стр.13-18
    2. 2013. Automatic Idiom Identification in Wiktionary стр.1419 (очень внятно написано, лучше чем у Гуревич)
    • Автоматическое выравнивание значений словарей. Анализ и сравнение значений слов на основе данных тезауруса, словарных помет и переводов. Литература:
    1. Matuschek M., Gurevych I. Dijkstra-WSA: A Graph-Based Approach to Word Sense Alignment. 2013.
    2. Multilingual Knowledge in Aligned Wiktionary and OmegaWiki for Translation Applications, стр. 13-18
    3. FrameNet on the Way to Babel: Creating a Bilingual FrameNet Using Wiktionary as Interlingual Connection

Извлечение терминологии и/или фраз из корпусов, пополнение Викисловаря[править]

См. статью (Identifying missing dictionary entries with frequency-conserving context models) об извлечении фраз из корпусов (в том числе из ВП), авторы построили список фраз для пополнения Английского Викисловаря.

Попробовать на основе идеи этой статьи написать алгоритм для пополнения фраз в Русском Викисловаре. Сформулировать подзадачи вместо затенённого текста ниже.

  1. Извлечение терминологии (w:en:Terminology extraction) и фраз (MWE) из Русской Википедии, преобразование и загрузка в Викисловарь с помощью редактора.
    • Будет извлекаться название словарной статьи и текст толкований (первое предложение преамбулы).
    • С помощью категорий статьи в рувики определяется словарная помета Викисловаря.
    • Насколько реально извлечь перевод с помощью интервики?
    • Возможно ли извлечь синонимы? (см. следующее задание по "построению тезауруса")
    • В результате нужно сделать страничку сайта, где редактору предлагается вариант, сгенерированный на основе данных Википедии. Этот вариант редактор может скопировать в Викисловарь.

Частотный словарь[править]

  1. Построить частотные словари по:
    • текстам толкований Викисловаря;
    • корпусу текстов Википедии.
      • Подзадача: строим частотный словарь по текстам Википедии, принадлежащим какой-либо отрасли знаний. Например, строим "Частотный словарь по экономике".

Понадобится лемматизатор.

Цель: найти частоупотребимые слова, отсутствующие в словаре.

Создание словарей[править]

  1. Создание обратных двуязычных словарей для исчезающих и малых языков.
  2. Создание переводных (двуязычных) словарей

Сходство[править]

  1. Построение этимологической карты на основе Викисловарей
    • См. Викисловарь:Этимология, en:Wiktionary:Etymology.
    • Подсчёт и классификация единиц этимологической информации в Викисловарях.
    • Визуализация и вычисление "силы" связей между языками на основе данных раздела "Этимология" словарных статей.
  2. Вычислить w:лексическое сходство между парами языков. Построить таблицу, сравнить с данными от Ethnologue. Построить граф взаимосвязи языков (см. w:Graphviz)

Иллюстрации[править]

  1. Найти соответствие подписи иллюстрации и значения в списке значений (English Wiktionary), аналог WSD задачи внутри Викисловаря, см. пример en:line
    • Есть большая тестовая база для проверки алгоритма - это подписи и значения в Русском Викисловаре (т.к. в подписи указан номер (номера) значений).
    • Нужно дописать wikokit-парсер (Java) для извлечения подписей, названия файлов-иллюстраций, извлечь файлы из Викисклада, расширить структуру БД словаря для хранения иллюстраций.
  2. Проверить гипотезу, что наличие иллюстрации увеличивает коррелирует с большим количеством переводов для проиллюстрированного значения. Выяснить насколько. См. {{илл}}.

Ударения и слогоделение[править]

  1. Извлечь информацию об ударениях. Сравнить со "Словарём ударений русского языка" или "Орфографическим словарём" (там и здесь). Сравнить покрытие, найти расхождения, ошибки.
  2. Извлечь разбиение на слоги (или переносы?). Построить и потестировать алгоритм, предсказывающий разбиение на слоги. См. w:en:Hyphenation algorithm и правила в w:Перенос (типографика)#Места разрешённых переносов, + Алгоритм слогоделения в СРЛЯ подробно описан в монографии С. В. Князев Структура фонетического слова в русском языке: синхрония и диахрония. — М. : Макс-пресс, 2006.
  3. См. обсуждение слогоделения в разделе "Словоформы как отдельные словарные статьи (редиректы)" на странице Викисловарь:Технические вопросы

Переносы в словах[править]

  1. Автоматическое извлечение из Викисловаря, построение базы данных.
  2. Разработка обучающегося алгоритма для новых слов (см. w:en:Hyphenation algorithm).
  3. Собрать и решить дорожку по задаче переносов.
  4. См. обсуждение слогоделения в разделе "Словоформы как отдельные словарные статьи (редиректы)" на странице Викисловарь:Технические вопросы,
  5. Cм. шаблон {{перенос}} по алгоритму П. Христова в модификации Дымченко и Варсанофьева (см. "Переносы вместо слогов" на странице Викисловарь:Организационные вопросы).

Родственные слова[править]

  1. Поиск стилистически некорректных фраз на основе списков однокоренных слов. Пример плохого стиля: "красиво украшал" - плохо, т.к. два однокоренных слова, "масло масленное". Сделать плагин к LibreOffice с проверкой стиля (для разных языков). (К этой задаче пока не придумалась необходимая научная составляющая (алгоритм, модель, эксперимент.))

Категории[править]

  1. Анализ, поиск и рекомендация отсутствующих категорий для словарной статьи. См. Perez, B., Feo, C., West, A. G., & Lee, I. A graph-based algorithm for categorizing Wikipedia articles.

Лексические упрощения[править]

  1. На основе текстов (правок) в Русской Википедии построить список упрощений, см. статью: For the sake of simplicity: Unsupervised extraction of lexical simplifications from Wikipedia.
  2. Найти входы в тезаурусе Викисловаря.
  3. Предложить расширение (синонимы) для тезауруса Викисловаря.

Технические (небольшие) задания[править]

  1. построить список всех слов, отсутствующих в Викисловаре
  2. построить список всех слов, имеющих словарные статьи в Викисловаре, но хотя бы для одного значения не имеющего примеров употребления

В работе[править]

  • Пока нет...
Завершено
  1. Ткач С.С. 2014-2015. Разрешение лексической многозначности внутри словаря на основе разнородной лексикографической информации

См. также[править]