@WhiteBusiness You created your topic in a section where users usually publish their ready-made applications and solutions for the community.
Since the solution itself was not published in your topic, we moved your topic to another section.
Нужно дать понять скрипту что словосочетание "Клавиатура" примерно одно и то же что и "Игровые клавиатуры".
Например: (совпадения я выдумал сам)
"Клавиатура" 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