определить время в php - PullRequest
4 голосов
/ 03 августа 2009

Я ищу способ проанализировать строку текста и выяснить, в каком времени она была написана, например: «Я иду в магазин» == текущий, «Я купил машину» == Прошлое ЭСТ ..

Какие-нибудь советы, как я мог это сделать?

Ответы [ 6 ]

4 голосов
/ 04 августа 2009

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

Загрузите исходный код Wordnet 3.0 из Princeton , который имеет базу данных английских слов. Файл /dict/index.verb представляет собой список глаголов настоящего времени, которые вы сможете импортировать в свою базу данных как CSV без особых проблем. Оттуда вы сами и должны выяснить, как справиться со странностями английского языка.

3 голосов
/ 04 августа 2009

Это может быть довольно сложным процессом. Как подробно вы хотите получить? Вы хотите рассмотреть только прошлое, настоящее и будущее? Или вы хотите рассмотреть Простое настоящее, Настоящее прогрессивное, Простое прошлое и т. Д.

В любом случае вам также придется оценить утвердительные формы, отрицательные формы и формы вопросов. Отличный онлайн-график, который может помочь, можно найти по адресу http://www.ego4u.com/en/cram-up/grammar/tenses

Обратите внимание на правила и сигнальные слова.

2 голосов
/ 04 августа 2009

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

Либо вы не получите ничего хорошего от регулярных выражений, либо вы закончите с каким-то супер-монстр-регулярным выражением, которое даже вы не поймете и не сможете поддерживать ...

Это, вероятно, требует не только регулярных выражений ... Что-то вроде "лингвистического движка", я полагаю ...

2 голосов
/ 04 августа 2009

Токенизация / поиск слов действия из db / file (или, по крайней мере, предположение - * th = прошлые, например) / подсчет временных обращений?

1 голос
/ 04 августа 2009

Если вам это действительно нужно, а не просто играть, вы можете взглянуть на nltk . Разбор это сложный вопрос. Разбор естественных языков еще сложнее. И анализ очень нерегулярного языка, такого как английский, еще хуже. Если вы можете сузить область действия проблемы, у вас больше шансов найти решение.

Зачем тебе это нужно?

0 голосов
/ 01 сентября 2014

Вы можете найти базовую реализацию Brill Parser для PHP на сайте PHP / ir Иана Барбера.Алгоритм помечает ваши слова.

Если вы введете слова «Я думаю», результатом будет:

Я / НН думаю / VBP

НН = Существительное, VBP = глагол Present

...