Вот 2 текста, которые я хотел бы проверить на наличие дубликатов благодаря алгоритму SimHash (пакет jiebaR):
library(jiebaR)
coder <- "Simhash detects near duplicates and not exact duplicates"
codel <- "SimHash is a technique for quickly detect near duplicates"
Я создал работника под названием "simhasher":
simhasher = worker("simhash", topn = 5)
simhasher <= codel
Затем я вычислил расстояние:
distance(codel, coder, simhasher)
Вот результат:
$distance
[1] 22
$lhs
11.7392 11.7392 11.7392 11.7392 11.7392
"duplicates" "technique" "SimHash" "detect" "quickly"
$rhs
23.4784 11.7392 11.7392 11.7392
"duplicates" "Simhash" "detects" "exact"
Мне нужна ваша помощь по 3 вещам:
расстояние равно 22. Чем больше расстояние, тем больше 2 разных текста.Здесь тексты ДЕЙСТВИТЕЛЬНО близки, так что я ожидал, что дистанция будет меньше ... Не могли бы вы объяснить мне этот результат?
Какие цифры над словами в лх и рх?(например: 11.7392, 23.4784)
Я также проверил созданного мною работника:
simhasher <= codel </p>
И вот результат, который я обнаружил:
$simhash
[1] "12382334418040220206"
$keyword
11.7392 11.7392 11.7392 11.7392 11.7392
"duplicates" "technique" "SimHash" "detect" "quickly"
Что такое симхэш здесь и зачем мне нужно его создавать, прежде чем запускать функцию расстояния?Эта часть мне не совсем понятна и не объяснена в документации к пакету.
Не могли бы вы мне помочь?Этот пакет кажется действительно мощным, но я чувствую, что понимаю только 5%.