С#: механизм правил грамматики для английского языка?
Я ищу что-то, что может или не может существовать. Есть ли такая вещь, как "механизм правил грамматики английского языка", доступный на платформе Windows (специально для чего-то вроде .NET или С#)?
В частности, Я ищу что-то, что сможет принять предложение в "будущем времени" и изменить его на "прошедшее время" (на основе английских правил грамматики).. like:
Работайте с программным обеспечением виджета, а затем встретитесь с Рикардо
:
Работала над программным обеспечением виджета, а затем встретилась с Рикардо
Есть ли движок правил, который делает это уже?
Ответы
Ответ 1
Поговорите с этим парнем, у него могут быть некоторые идеи для вас. В общем, английский слишком двусмыслен для такого типа вещей. Например:
Отрежьте половину бумаги.
Является ли это обязательной командой или фрагментом прошедшего времени? И мой личный фаворит:
Время летит как стрела; плод мухи, как банан.
Любой человек может разобрать это, но только из-за большого количества семантического знания.
Как говорится, есть некоторые вещи, на которые стоит обратить внимание, например SharpNLP
Ответ 2
Как заявили другие, это очень трудная проблема и не решена в общем случае. Тем не менее, есть некоторые системы, которые хорошо справляются. Принстон WordNet является одним из них. Он может с определенной степенью точности идентифицировать части речи, синонимы и т.д. (Возможно, включая время). Я думаю, вы можете быть заинтересованы в этих функциях, которые, как представляется, найдут корень слова с учетом конкретного сопряжения и могут также найти конкретное сопряжение с учетом корня (но эта страница не содержит примеров, поэтому я не могу быть уверен, что правильно интерпретирую документы).
Ответ 3
Короткий ответ: нет, общие механизмы синтаксического анализа НЛП не существуют.
Длительный ответ - "любопытный", но есть 50 лет исследований, показывающих, что это очень трудная проблема, в общем случае. Может быть, кто-то делает определенные преобразования времени. Несмотря на это, С#, вероятно, не будет.
Ответ 4
Отметьте этот, он называется Grammatica. Возможно, это не совсем то, что вам нужно, но это, безусловно, хорошее начало анализа английских грамматических правил на С#.