Утилита для чистки корпуса от дубликатов (проект)

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
Ментор Шестаков Андрей
Учебный семестр Весна 2015
Учебный курс 1-й курс


Внимание! Данный проект находится в архиве и реализован не будет.

Что это за проект?

SketchEngine - это сервис обработки текстовых корпусов, который показывает наиболее типичные перепредставленные и недопредставленные пары слов, синтаксически связанных в предложении. Для того, чтобы сервис выдавал осмысленные и приемлемые результаты, к исходному корпусу языка предъявляется ряд требований.

В частности, корпус должен быть сбалансирован, то есть не содержать текстов-дубликатов. Это необходимо, например, для более точной оценки представленности речевых оборотов.

Чему вы научитесь?

  1. Алгоритм шинглирования
  2. Методы обработки текстов
    1. Удаление стоп-слов
    2. Лемматизация (приведение слова к начальной форме)
    3. Морфологическая разметка (определение части речи слова)

Какие начальные требования?

  • Знание python
  • Умение работать с *nix (желательно)

Какие будут использоваться технологии?

  • python
  • NLTK
  • gensim
  • binascii
  • pymorphy2 / mystem
  • MongoDB (возможно)

Темы вводных занятий

  1. Алгоритм шинглирования
  2. Способы представления графов (матрица /список смежности)
  3. Поиск компонент связности

Направления развития

Реализованный прототип может быть использован как компонент вышеуказанного web-сервиса.

Критерии оценки

4-5: оценка степени сходства двух документов
6-7: + построение графа сходства на множестве документов и наивный алгоритм удаления дубликатов
8-10: + усложненный алгоритм удаления дубликатов