C #: грамматика правил двигателя для английского языка? [закрыто]

StackOverflow https://stackoverflow.com/questions/612962

  •  03-07-2019
  •  | 
  •  

Вопрос

Я ищу что-то, что может существовать или не существовать. Есть ли такая вещь, как «механизм правил английской грамматики», доступный на платформе Windows (специально для чего-то вроде .NET или C #)?

В частности, я ищу что-нибудь, что могло бы взять предложение в «будущем времени» и заменить его на «прошедшее время» (на основе правил грамматики английского языка) .. . как:

Работайте над программным обеспечением для виджетов, а затем встречайтесь с Рикардо

на это:

Работал над программным обеспечением для виджетов, а затем встретился с Рикардо

Есть ли механизм правил, который это уже делает?

Это было полезно?

Решение

Поговорите с этим парнем , у него могут быть некоторые идеи для вас. В общем, английский язык слишком неоднозначен для такого рода вещей. Например:

  

Разрежьте бумагу пополам.

Это обязательная команда или фрагмент предложения прошедшего времени? И мой личный фаворит:

  

Время летит как стрела; плод летит как банан.

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

При этом есть некоторые вещи, на которые стоит обратить внимание, например, SharpNLP

Другие советы

Как уже говорили другие, это очень сложная проблема, которая не была решена в общем случае. Тем не менее, есть некоторые системы, которые работают довольно хорошо. WordNet Принстона является одним из них. Он может идентифицировать части речи, синонимы и т. Д. (Возможно, включая временные) с некоторой степенью точности. Я думаю, что вас могут заинтересовать эти функции , которые, похоже, находят корень слова, заданного определенным сопряжением, и может также быть в состоянии найти конкретное сопряжение по заданному корню (но на этой странице нет примеров, поэтому я не уверен, что правильно интерпретирую документы).

Короткий ответ - нет, общие механизмы синтаксического анализа НЛП не существуют.

Длинный ответ - "своего рода", но 50 лет исследований показывают, что это очень сложная проблема, в общем случае . Может быть кто-то, кто делает определенные временные преобразования. Несмотря на это, C #, вероятно, не будет иметь.

Проверьте это , оно называется Grammatica. Возможно, это не совсем то, что вам нужно, но это определенно хорошее начало для анализа правил грамматики английского языка в C #.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top