Купить промокод FixPrice/Каско ТБанк можно в нашем боте по ссылке ниже:
⚠️ Перед покупкой внимательно читайте описание товара
📲 Подключайся и начинай экономить прямо сейчас!
👉 Бот со скидками Kuponia (кликабельно)
Нужно дать понять скрипту что словосочетание "Клавиатура" примерно одно и то же что и "Игровые клавиатуры".
Например: (совпадения я выдумал сам)
"Клавиатура" vs "Игровые клавиатуры" (совпадение 45%)
"Обои" vs "Обои на рабочий стол" (совпадение 90%)
"Красивое фото" vs "Красивы фотографии" (совпадение 95%)
"Записать в блокнот" vs "блокнот" (совпадение 50%)
Возможно кто-то уже сталкивался с этим и тестировал на каких-то модулях npm или сторонними методами?
Просто поиск точного вхождения это к сожалению не совсем то, что нужно(
Вот нашел примитивный сайт который по символам делает сравнение, хватило бы и такого, только понять бы как это работает

@venom777 Модуль string-similarity выдает довольно неплохие результаты.
Вот простенький скрипт
var stringSimilarity = require('string-similarity');
var words =
[
["Клавиатура","Игровые клавиатуры"],
["Обои", "Обои на рабочий стол"],
["Красивое фото", "Красивы фотографии"],
["Записать в блокнот", "блокнот"]
]
words.forEach((w)=>{
console.log(`Compare ${w[0]} and ${w[1]} ${stringSimilarity.compareTwoStrings(w[0], w[1])}`)
})
Вот результаты:
[983794920] [03:31:11] Поток №1 : Compare Клавиатура and Игровые клавиатуры 0.6666666666666666
[983794920] [03:31:11] Поток №1 : Compare Обои and Обои на рабочий стол 0.375
[983794920] [03:31:11] Поток №1 : Compare Красивое фото and Красивы фотографии 0.64
[983794920] [03:31:11] Поток №1 : Compare Записать в блокнот and блокнот 0.631578947368421