- Возьмите все свои тексты и составьте список слов.Простой способ: взять все слова.Трудный путь: возьмите только соответствующий (то есть: в английском языке «the» никогда не является подходящим словом, поскольку оно используется слишком часто).Допустим, в вашем словаре есть V слов.
- Для каждого текста постройте матрицу смежности A, размер которой равен V * V.Строка A (i) указывает, насколько близки слова в вашем словаре к i-му слову V (i).Например, если V (i) = «кататься на лыжах», то A (i, j) - насколько близко слово V (j) к слову «кататься на лыжах».Вы бы предпочли небольшой словарь!
Технические детали: Для словаря у вас есть несколько возможностей получить хороший словарь.К сожалению, я не могу вспомнить имена.Один из них состоит в удалении слов, которые присутствуют часто и везде.Напротив, вы должны хранить редкие слова, которые присутствуют в нескольких текстах.Однако нет смысла сохранять слова, присутствующие точно в одном тексте.
Для матрицы смежности измеряется смежность путем подсчета того, как далеко находятся слова, которые вы рассматриваете (подсчитывая количество слов, разделяющих их).Например, давайте используем ваш текст =)
Один метод сравнения стилей - это поиск похожих фраз.Если я нахожу в одной книге «Рыбалка, катание на лыжах и походы» пару раз, а в другой книге «Рыбалка, походы и катание на лыжах» сходство 1015 * по стилю указывает на одного автора.Я должен также быть в состоянии найти "рыбалку и даже катание на лыжах или походы", хотя.В идеале я бы также нашел "рыбалку, походы и катание на лыжах", но поскольку они не являются английскими текстами (Koine Greek ), синонимы сложнее учесть, и этот аспект не является жизненно важным.
Это полностью составленные значения:
A (метод, сравнение) + = 1,0
A (метод, сходство) + = 0,5
A (метод, греческий) + = 0,0
Вам в основном нужно «типичное расстояние».Например, вы можете сказать, что после 20 разделительных слов слова больше нельзя считать смежными.
После некоторой нормализации просто установите расстояние L2 между матрицей смежности двух текстов, чтобы увидеть, какблизко ониПосле этого вы можете делать более интересные вещи, но это должно привести к приемлемым результатам.Теперь, если у вас есть синонимы, вы можете обновить смежность хорошим способом.Например, если вы вводите «Beautiful Maiden», то
A (красивая, девичья) + = 1,0
A (великолепная, девичья) + = 0,9
A (прекрасная, девичья) + = 0,8
A (возвышенное, девичье) + = 0,8
...