1

Что я хочу сделать, так это разобрать необработанный естественный текст и найти все фразы, описывающие даты.Как найти ссылки на даты в естественном тексте?

У меня довольно большой корпус со всеми ссылками на даты размеченных:

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> 

Я не хочу, чтобы интерпретировать даты фразы, просто найти их. Тот факт, что они являются датами, не имеет значения (в реальной жизни они даже не датируются, но я не хочу рассказывать вам подробности), в основном это просто набор возможных значений. Грамматика самих значений может быть аппроксимирована как контекстно-свободная, однако ее сложнее создавать вручную, и с возрастающей сложностью становится все труднее избегать ложных срабатываний.

Я знаю, что это немного длинный снимок, поэтому я не ожидаю наличия готового решения, но какие технологии или исследования я могу использовать?

+0

См. Вопрос http://stackoverflow.com/questions/9294926/how-does-apple-find-dates-times-and-addresses-in-emails. Это называется Named Entity Extraction, как подзадача в извлечения информации. @reseter предоставил ссылку. Как машинное обучение, так и грамматические подходы работают хорошо. –

+0

взгляните на https://duckling.wit.ai/ – sdream

+0

@sdream Спасибо, это выглядит многообещающе, я собираюсь попробовать. – biziclop

ответ

6

Один из общих подходов, используемых в академических кругах и в промышленности, основан на условных случайных полях. В принципе, это специальная вероятностная модель, которую вы сначала обучаете своими отмеченными данными, а затем можете помечать определенные типы объектов в заданном тексте.

Вы даже можете попробовать одну из систем из Стэнфордского Natural Language Processing Группа: Stanford Named Entity Recognizer

При загрузке инструмента, обратите внимание, есть несколько режимов, вам нужно последнее одно:

Включенный с Stanford NER - это модель 4 класса, подготовленная для CoNLL, модель 7 классов, подготовленная для MUC, и модель 3 класса, прошедшая обучение как для наборов данных для пересечения этих наборов классов.

3 класс Место, Person, Организация

4 класс Место, лицо, организация, Разное

7 класс Время, место, организация, лицо, деньги, проценты, дата

Обновление. Вы можете попробовать этот инструмент online here. Выберите классификатор muc.7class.distsim.crf.ser.gz и попробуйте текст с датами. Он, похоже, не признает «вчера», но, например, признает «20-й век». В конце концов, это вопрос обучения CRF.


Stanford NER screenshot

+0

Спасибо, это выглядит очень многообещающе. – biziclop

4

Имейте в виду ИРК довольно медленно обучать и требовать данные человека аннотированный, поэтому делать это самостоятельно не так просто. Прочтите ответы на вопрос this для другого примера того, как люди часто делают это на практике - не так много общего с текущими академическими исследованиями.

+0

Для каждого алгоритма потребуются некоторые аннотированные данные человека, чтобы начать с ... если бы компьютеры могли классифицировать себя, не было бы необходимости в любом из этих алгоритмов =) –

+0

Но разные альготы имеют разные характеристики в отношении эффективности обучения, а также применимости , форматы данных и частоты ошибок, поэтому +1 для хорошего варианта. –

+0

Это определенно то, что я попробую, к счастью, у меня есть тысячи аннотированных вручную файлов, поэтому есть много данных для игры. Частоты ошибок, вероятно, будут решаться между различными методами. – biziclop