Как найти ссылки на даты в естественном тексте?
Вопрос
Что я хочу сделать, это анализировать необработанный естественный текст и найти все фразы, которые описывают даты.
У меня довольно большой корпус со всеми ссылками на даты, отмеченные вверх:
I met him <date>yesterday</date>.
Roger Zelazny was born <date>in 1937</date>
He'll have a hell of a hangover <date>tomorrow morning</date>
.
Я не хочу интерпретировать фразы даты, просто найти их.Тот факт, что они даты не имеют значения (в реальной жизни, они даже не даты даты, но я не хочу, чтобы я не хочу оторвать вас с деталями), в основном это просто открытый набор возможных значений.Грамматика самих ценностей может быть аппроксимирована как без контекста, однако это вполне сложно строить вручную и с увеличением сложности становится все более трудно избежать ложных позитивов.
Я знаю, что это немного длинного выстрела, поэтому я не ожидаю, что не входящее решение существовать там, но какие технологии или исследования я могу использовать?
Решение
Один из общих подходов, используемых в академии и в промышленности, основан на условных случайных полях. По сути, это специальная вероятностная модель, вы сначала тренируете ее с помощью своих отмеченных данных, а затем он может ознакомиться с определенными типами объектов в данном тексте.
Вы можете даже попробовать одну из систем из системы обработки натурального языка Стэнфорда: Стэнфорд по имени Установка сущности
Когда вы загружаете инструмент, обратите внимание, что есть несколько моделей, вам нужен последний:
включены в STANFORD NER - модель 4 класса, обученной для CONLL, модель 7 класс, обученная для MUC, а модель 3 класса, обученной на обоих Наборы данных для пересечения этих классов.
3 Расположение класса, человек, организация
4 Расположение класса, Лицо, Организация, Разное
7 класс времени, местоположение, организация, лицо, деньги, проценты, дата
muc.7class.distsim.crf.ser.gz
и попробуйте несколько текста с датами. Похоже, не распознает «вчера», но он признает «20-го века», например. В конце концов, это вопрос обучения CRF.
Другие советы
Имейте в виду CRFS довольно медленно, чтобы тренироваться и требовать от человеческих аннотированных данных, поэтому делать это самостоятельно нелегко.Прочитайте ответы на Это для другого примерао том, как люди часто делают это на практике - не так много общего с текущими академическими исследованиями.