Python 3.7 - Вывод индексных расстояний всех возможных словосочетаний в списке - PullRequest
0 голосов
/ 28 февраля 2020

Это мой первый вопрос здесь. Я создаю программу, которая считает ключевые термины из текстовых файлов и, следовательно, превратит их в карту узлов. Пока мой код очищает любые теги, стоп-слова и специальные символы из любого текста и выводит список наиболее повторяющихся слов в том же порядке, в котором они появляются в тексте, который выглядит следующим образом

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, поэтому я как бы стараюсь разбить эту проблему на мелкие кусочки, чтобы найти решение самому в данный момент. Я также могу указать что-нибудь еще, если это необходимо. Я был бы очень признателен за любые идеи или подходы. Большое вам спасибо.

...