Научить подключаемый .js-файл понимать синонимизацию
Цена договорная
•
электронные деньги
Всем привет. У меня есть программка, к ней подключается .js файл, в котором реализуется определенная логика. Вот образец:
function getMsg(quotes) {
// заданное число цитат var chislo_ishod = quotes.getMessagesFromLocal().size(); // готовим рандом var chmin = 1, chmax = 2; var chrand = chmin - 0.5 + Math.random()*(chmax-chmin+1) chrand = Math.round(chrand); switch (chrand) //первая развилка, рандомно выбирает кейс из нужной области { case 1: //вторая развилка, выдает нужную цитату switch (chislo_ishod) { case 0: return "У всякого безумия есть своя логика."; case 1: return "Наши сомнения — это наши предатели. Они заставляют нас терять то, что мы, возможно, могли бы выиграть, если бы не боялись попробовать."; } case 2: switch (chislo_ishod) { case 0: return "Ничто так не выдает человека, как то, над чем он смеётся."; case 1: return "Иногда надо рассмешить людей, чтобы отвлечь их от намерения вас повесить."; } } return null; }
function getMsg(quotes) {
// заданное число цитат var chislo_ishod = quotes.getMessagesFromLocal().size(); // готовим рандом var chmin = 1, chmax = 2; var chrand = chmin - 0.5 + Math.random()*(chmax-chmin+1) chrand = Math.round(chrand); switch (chrand) //первая развилка, рандомно выбирает кейс из нужной области { case 1: //вторая развилка, выдает нужную цитату switch (chislo_ishod) { case 0: return "У всякого безумия есть своя логика."; case 1: return "Наши сомнения — это наши предатели. Они заставляют нас терять то, что мы, возможно, могли бы выиграть, если бы не боялись попробовать."; } case 2: switch (chislo_ishod) { case 0: return "Ничто так не выдает человека, как то, над чем он смеётся."; case 1: return "Иногда надо рассмешить людей, чтобы отвлечь их от намерения вас повесить."; } } return null; }
То есть как мы видим скрипт спускается по "дереву" развилок и выбирает случайную цитату. Вопрос не стоит в том, как это реализовано (были причины реализовать именно так).
Собственно задача
Нужно сделать так, чтобы конечная фраза, которую мы получим на выходе, могла быть синонимизирована.
Например, если у нас в скрипте указано:
У {всякого|каждого} {безумия|помешательства|отклонения} {есть|существует} {своя|собственная|персональная} логика.
То в результате работы (при условии, что выбрана именно эта фраза) функция должна возвращать рандомный вариант этой цитаты, например:
У всякого отклонения существует собственная логика.
Или
У каждого помешательства есть персональная логика.
То есть еще раз. Есть скрипт, он работает, нужно научить его понимать синтаксис синонимизации. Синтаксис может быть любым {1|2|3|4} или [1|2|3|4] или каким-то другим, понятным и доступным для воспроизведения.
Я не представляю, сколько это может стоить и как это делается.
Пишите, пожалуйста, в комментарии. Прошу сразу же указывать, как вы будете решать задачу (в общих чертах), сколько вам понадобится времени и сколько бы вы хотели получить за работающее решение.
Приоритет отдается простым и оптимальным решениям, потребляющим минимум ресурсов. Спасибо :)
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.