Skip to content

silvermannn/CDPlayer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CDPlayer

Обработка текста с использованием идей концептуальных зависимостей Р. Шенка

Основные идеи и компоненты:

  • Токенайзер - пока самый простой, разбиваем входное предложение по пробельным символам
  • Словарь слов OpenCorpora Dict
  • Таггер: HMM, тренированная на файлах CoNLLU, корпуса отсюда -- C++
  • Построение дерева зависимостей
    • статистика из CoNLLU файлов (3D matrix dependency head -> to -> dependency relation)
    • построение ориентированного графа из всех возможных зависимостей с весами из статистики
    • нахождение минимального остовного дерева из искуственного корня, (алгоритм двух китайцев, Chu Liu Edmonds -- C++
  • Дерево зависимостей (или построенное на его основе другое синтаксическое дерево) как запрос к базе данных концептуальных зависимостей -- Haskell

TODO:

  • Добавить в словарь основную форму слова, которая будет нужна для построения правил. Возможно это есть в xml варианте словаря OpenCorpora Dict и на WikiData
  • Добавить загрузку корпусов с OpenCorpora Dict.
  • Идея одновременного проставления тегов частей речи и построения дерев зависимостей:
    • каждому слову сопоставляется список всех возможных тегов
    • есть набор правил вида (направление поска, что является родителем, что является потомком, вес правила), которые, начиная с дерева с одним элементом "root", строят (несколько) деревьев зависимостей с одновременным тегорованием
    • сами правила, в теории, можно написать вручную, но можно использовать эволюционный алгоритм для их нахождения