ailev.ru

1 июня 2012 · Комментарий

Без заголовка

Вы очень точно определили ахиллесову пяту всех этих программ: не столько код важен, сколько данные и справочные данные для этих данных. Важно наличие корпусов текстов и настроечные данные к ним. В NLTK, кстати, с этим получше: там довольно много корпусов текстов поставляется прямо с этой библиотекой. Но фишка-то в том, что нужна настройка на конкретную предметную область. Это (насколько я знаю) в среднем от трёх до пяти тысяч слов и хитрых жаргонных словоупотреблений с ними, и вот эти-то доработки обычно полностью недоступны для широкой публики. Но этот аргумент верен и по отношению к "тусовочной" разработке, и по отношению к коммерческой разработке. Настройки на предметные области мы не найдём ни у пользователей NLTK (ибо это закрытые данные коммерческих фирм), ни у пользователей Compreno (по той же причине). Дальше весь вопрос в гибкости системы описания правил разбора (предел гибкости тут -- правила пишутся на мультипарадигмальном языке программирования, на котором и сам пакет написан, но не факт что эта гибкость означает также и лёгкость модификации и последующей отладки). Так что я пока не понимаю, как все эти платформы лингвистического программирования сравнивать для конкретных задач. Думаю, для разных задач нужны разные платформы. А идеальный случай -- это проход двумя-тремя-четырьмя разными программами, как это сделано у IBM Watson :-)

К записи · К обсуждению