FreeLing — мультиязычная библиотека для обработки текстов

5 сентября 2011 г.

Пожалуй, пропущу развернутое описание истории создания продукта, отмечу лишь, что создан он в начале 2004 года, в Исследовательском Центре политехнического университета в Каталонии. С тех пор претерпел множественные изменения и дорос до версии 3.0. Теперь более подробно по технической части:

Основные возможности FreeLing:
  • Разметка текста (токенизация)
  • Выделение предложений
  • Морфологический анализ
  • Определение составных слов
  • Вероятностное определение части речи, в том числе — неизвестного слова
  • Обнаружение и определение именной группы
  • Классификация именной группы
  • Построение дерева зависимостей (слов в предложении)
  • Определение местоимений (местоименных словоформ)
  • Нормализация и определение дат, чисел, процентных соотношений, валюты и физических величин (скорость, вес, температура, плотность и т.д.)
О вышеперечисленном более содержательно:
  • Разметка текста (токенизация): Представляет функционал по разделению предложения на составляющие: слова, знаки препинания.
  • Выделение предложений: Разбивает текст на предложения, учитывая знаки препинания, использующиеся для сокращений (например имен, отчеств, слов-сокращений), все необходимые параметры находятся и легко конфигурируются из файла настроек.
  • Морфологический анализ : Позволяет определить нормальную форму слова (или формы если их несколько), словарь содержит около 140 000 слов и постоянно пополняется и редактируется.
  • Определение составных слов:
  • Вероятностное определение части речи, в том числе — неизвестного слова: В системе существует два вида функционала, для вероятностного распознавания части речи в заданном предложении — это известные всем цепи того самого Маркова и relax tagger, который представляет из себя смесь статистического и рукописного (hand-made правила) анализаторов, сильно и в худшую сторону отличается от марковского — скоростью работы. Ошибка в определении «простой» части речи (род-падеж) составляет не более 4.7% и «полной» (вся информация о слове) не более 12%. Обучающий корпус постоянно пополняется, что заставляет верить в то, что, ошибки со временем будут уменьшаться.
  • Обнаружение и определение именной группы: Выделение таких обьектов как: названия городов, фирм, персоны. (русская часть — в стадии тестирования)
  • Нормализация дат, чисел, физ. величин: Не секрет, что записать чисто или дату можно сто одним способом или даже 102-мя, для нормализации подобных случаев написания и существует данный функционал.
Сборка и инсталляция:

Основная сборка и тестирование производится под Linux, но существует экспериментальная сборка под msvc, которую я тоже стараюсь поддерживать в актуальном состоянии.

На этом пока все. Более расширенная документация, исходные коды и файлы с данными находятся на сайте проекта.

FreeLing

Теги: рубрика Программирование
  • Похожие статьи
  • Предыдущие из рубрики