Задача: Построить частотный словарь по корпусу текстов.
-
Реализовать морфологический анализ (лемматизацию, определение части речи и морф. признаков)
- можно использовать существующие ресурсы (
oDict
, разметкуOpenCorpora
и др.) - нельзя использовать существующие морфологические анализаторы (
mystem
,pymorphy
и т.п.)
Вход: корпус текстов.
Выход: отсортированный по частоте словарь вида
<лемма, ЧР, Num1>
- можно использовать существующие ресурсы (
-
Сопроводить решение документацией
- Графематический парсер текста
- Лемматизация слова
- Предоставление информации о морф. признаках слова
- Разрешение лексической неоднозначности
- Сбор статистики встречаемости (частота и текстовая частота)
- Оценка качества работы морфоанализатора
- Анализ ошибок морфоанализатора
- Исследование особенностей лексики заданного корпуса
Задача: Реализовать метод построения конкордансов и вычисление частот совместной встречаемости.
-
Конкорданс строится для произвольной текстовой последовательности
-
Все слова вначале нормализуются (если слово не найдено, оно считается нормализованным)
-
Обеспечить сортировку по частоте левого и правого контекста
Вход: корпус текстов (+словарь), фраза, размер окна (
n
), частотный порог (необ.).Выход: отсортированные по частоте контексты (длины не более
n
) фразы вначале левые, затем правые<л|п, норм_контекст, частота>
Задача: Реализовать методы извлечения N-грамм.
-
Использовать свой морфоанализатор
-
Извлечь все повторяющиеся более одного раза цепочки (нормализовать)
-
Отфильтровать на основе оценки устойчивости
Вход: корпус
Выход: отсортированный словарь устойчивых N-грамм
<N-грамма, Частота, Текстовая частота, TF-IDF>
-
Сопроводить решение документацией.
Задача: Реализовать метод семантико-синтаксического анализа на основе моделей (10-20шт.).
-
Разработать модели для анализа текста. Записать на формальном языке (
JSON
/XML
/TXT
) -
Реализовать методы поиска в корпусе ЕЯ-фрагментов, удовлетворяющих моделям
Вход: корпус, файл с моделями
Выход: списки найденных фрагментов
<N модели, Кол-во вхождений, Фрагменты (каждый с новой строки)>
-
Оценить полноту / точность / F-меру
-
Сопроводить решение документацией
Задача: Разработать поисковую систему на основе тезауруса специализированной области знаний.
-
Использовать свой корпус и словарь (включая N-граммы)
-
Создать тезаурус: разметить наиболее значимые термины словаря (~50 шт.: синонимы + общее-частное + ассоц.)
-
Реализовать метод поиска в корпусе на основе словаря используя отношения между терминами
Вход: поисковые запрос на ЕЯ
Выход: отсортированные по релевантности тексты (фрагменты текста)
<N текста, Pos в тексте, Оценка>
-
Создать корпус запросов: не менее 20 запросов, с распределением ключевых терминов от 2-х до 6-ти в каждом запросе
-
Посчитать полноту / точность / F-меру поиска
-
Сопроводить решение документацией:
- Описание решение
- Описание эксперимента
- Описание способа оценки (принятые ограничения)
- Описание результатов, включая выявленные закономерности
- Анализ ошибок