Это мой первый вопрос здесь. Я создаю программу, которая считает ключевые термины из текстовых файлов и, следовательно, превратит их в карту узлов. Пока мой код очищает любые теги, стоп-слова и специальные символы из любого текста и выводит список наиболее повторяющихся слов в том же порядке, в котором они появляются в тексте, который выглядит следующим образом
words = ('sun', 'solar', 'sun', 'space', 'solar', 'galaxy', 'moon', 'sun', 'galaxy'...)
Я хочу отобразить среднюю близость этих отдельных ключевых слов на диаграмме узла позже. Моя идея состоит в том, чтобы вычислить среднее расстояние каждой возможной пары слов в списке, чтобы определить длину узла.
идеальный вывод будет выглядеть примерно так:
prox = {'sun-solar': 2.83, 'sun-space': 2.67, 'sun-galaxy': 4.17, 'sun-moon': 3.67, 'solar-space': 1.5, 'solar-galaxy': 4.0, 'solar-moon': 3.5, 'space-galaxy': 3.5, 'space-moon': 3.0, galaxy-moon: 1.5...}
, чтобы позже я мог установить длины узлов со списком (prox.values). Надеюсь, что мое описание имеет смысл.
В идеале оно будет игнорировать сопряжение одних и тех же слов:
'sun-sun'
, а также избегать сравнений vica versa, таких как
'sun-solar', 'solar-sun'
Я очень новичок в python, поэтому я как бы стараюсь разбить эту проблему на мелкие кусочки, чтобы найти решение самому в данный момент. Я также могу указать что-нибудь еще, если это необходимо. Я был бы очень признателен за любые идеи или подходы. Большое вам спасибо.