Вычисление семантического расстояния между словами

Вы можете разобрать строку в число, проверить округление (десятичное число больше или меньше 0,5) и преобразовать ее обратно в строку

import math 

myList = ['-1.02', '-1.03', '-0.81', '-0.17', '-0.07', '0.22', '0.88', '0.88', '0.69']
result = [0] * len(myList)

for i in range (len(myList)):
    num = float(myList[i])
    if num - math.floor(num) < 0.5:
        result[i] = str(math.floor(num)) # round down
    else:
        result[i] = str(math.ceil(num)) # round up
print(result)
8
задан Community 23 May 2017 в 12:09
поделиться

2 ответа

Идея тезауруса имеет некоторую заслугу. Одна идея состояла бы в том, чтобы создать график на основе тезауруса с узлами, являющимися словами и краем, указывающим, что там они перечислены как синонимы в тезаурусе. Вы могли затем использовать алгоритм поиска кратчайшего пути, чтобы дать Вам расстояние между узлами как мера их подобия.

Одна трудность здесь состоит в том, что некоторые слова имеют различные значения в различных контекстах. Ваш алгоритм, возможно, должен принять это во внимание, и использование направило ссылки с весом исходящей ссылки, зависящей от перешедшей входящей ссылки (или проигнорируйте некоторые исходящие ссылки на основе входящей ссылки).

3
ответ дан 5 December 2019 в 22:21
поделиться

Возможный взлом: отправьте эти два слова в поиск Google и возвратите # найденных страниц.

0
ответ дан 5 December 2019 в 22:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: