Определить время в php

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

Любые советы о том, как я мог это сделать?

6 ответов

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

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

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

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

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

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

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

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

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

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

Для чего тебе это?

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

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

Я / НН думаю / VBP

NN = существительное, VBP= глагол присутствует

Другие вопросы по тегам