Я работаю в области НЛП уже несколько лет, и я полностью согласен с теми, кто предоставил ответы / комментарии.Это действительно крепкий орешек!Но позвольте мне все же привести несколько указателей:
(1) Лексическое сходство: вместо того, чтобы пытаться обобщить расстояние Джаро-Винклера до уровня предложения, вероятно, будет гораздо более плодотворным, если вы разработаете уровень персонажа илиязыковая модель на уровне слов и вычисление логарифмической вероятности.Позвольте мне объяснить далее: тренировать вашу языковую модель, основанную на корпусе.Затем возьмите множество предложений-кандидатов, которые были аннотированы как похожие / не похожие на предложения в корпусе.Вычислите логарифмическую правдоподобие для каждого из этих тестовых предложений и установите предельное значение для определения сходства.
(2) Синтаксическое сходство: до настоящего времени только стилометрические сходства могли уловить это.Для этого вам нужно будет использовать деревья синтаксического анализа PCFG (или деревья синтаксического анализа TAG. TAG = грамматика, примыкающая к дереву, обобщение CFG).
(3) Семантическое сходство: с головы до головы я могуПодумайте только об использовании таких ресурсов, как Wordnet, и об определении сходства между синтаксисами.Но это тоже не просто.Ваша первая проблема будет состоять в том, чтобы определить, какие слова из двух (или более) предложений являются «соответствующими словами», прежде чем вы сможете приступить к проверке их семантики.