Макрос [SYN][/SYN]

Тема в разделе "Шаблон вывода", создана пользователем Александр 941, 17 дек 2013.

  1. Александр 941

    Александр 941 New Member Пользователи

    Регистрация:
    17 дек 2013
    Сообщения:
    5
    Отредактировал файл Data.txt - добавил новые синонимы к словам через запятую. В шаблоне вывода указал : [SYN]<CD_GRAN_1!>[/SYN], запустил парсинг - выводит всегда только первый синоним. Помогите разобраться пож.
     
  2. nikolas1612

    nikolas1612 Member Пользователи

    Регистрация:
    27 ноя 2011
    Сообщения:
    439
    а вы разве где-то видели там, чтобы синонимы для одного слова через запятую шли? там принцип 1/1, алгоритм синонимайзинга линеен (к сожалению).

    в принципе, эту ситуацию, как и всегда, реально обмануть. вот идея сходу (за работоспособность не ручаюсь, не проверял) - в базе пишете все три синонима вместе, разделив их очень редким буквенным символом. чтобы программа думала что это одно большое слово. а после синонимайзинга ставите комплексный фильтр (поиск-замена + макрос случайного выбора текста и т.д.) уже на такие варианты слов, которые содержат этот символ - т.е. делите такие слова на части по спец-символу, обеспечиваете случайный выбор, удаляете лишнее.

    p.s. а вообще в этой части программа нуждается в доработке. думал когда-то предложить, да забыл
     
    Последнее редактирование: 17 дек 2013
  3. Александр 941

    Александр 941 New Member Пользователи

    Регистрация:
    17 дек 2013
    Сообщения:
    5
    Спасибо за оперативность! я здесь Ссылки недоступны для гостей прочел: "База синонимов лежит в папке с программой (файл data.txt) и может быть заменена на другую с аналогичным форматом (слово,синоним1,синоним2,синоним3,…,синоним9)."

    Но не работает :)
     
  4. nikolas1612

    nikolas1612 Member Пользователи

    Регистрация:
    27 ноя 2011
    Сообщения:
    439
    ого, а вот это уже я не заметил. странно. эта фраза противоречит тому, что я написал.
    хотя писал я на основании своего неудачного опыта. просто в свое время тоже пытался слова дописать - уж не помню что ставил в разделители, может, и запятые - но помню точно, что результата ноль.
     
  5. Александр 941

    Александр 941 New Member Пользователи

    Регистрация:
    17 дек 2013
    Сообщения:
    5
    Если в data.txt сделать строку:
    audi,ауди|автомобиль ауди|хорошая машина ауди
    затем, в шаблоне вывода:
    У меня есть : [SYN]audi[/SYN] - получим :
    У меня есть : ауди|автомобиль ауди|хорошая машина ауди
    сохраняем, парсим второй раз используя макрос {...|...} вот так:
    У меня есть : {audi|<CD_GRAN_1!>}
    все ок! подставляются разные синонимы.
    Есть мысли как за один проход сделать ?
     
  6. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Средствами программы пока никак.
    Подумаю над добавлением нужной опции.
    Спасибо! :bow::bow::bow:
     
  7. nikolas1612

    nikolas1612 Member Пользователи

    Регистрация:
    27 ноя 2011
    Сообщения:
    439
    я бы сделал последовательными 2-мя проектами в планировщике
    только как-то сложно у вас
    в базе datа.txt сразу пропишите
    Код:
    абсолютно,{полностью|совершенно}
    в шаблоне первого проекта будет
    Код:
    [SYN][DOCSOURCE][/SYN]
    а в шаблоне второго просто [DOCSOURCE]
    по идее все должно получиться. после первого проекта у вас уже будет готовый текст с прописанным макросом случайной замены. его останется технически прогнать через прогу.

    в один прогон не получится. последовательность срабатывания макросов такова:
    [DOCSOURCE]-->{..|..}-->[SYN] т.е. случайный выбор срабатывает перед синонимизацией. если бы срабатывал после - надо было бы 1 прогон. а так - два.

    P.S. Root, там не нужна дополнительная опция. надо, чтобы работа с базой синонимов соответствовала схеме, заявленной в хелпе.
    . в таком случае, хватит обычного макроса [SYN]
     
    Последнее редактирование: 17 дек 2013
  8. Александр 941

    Александр 941 New Member Пользователи

    Регистрация:
    17 дек 2013
    Сообщения:
    5
    Да, так проще :) и работает! Спасибо !
     
  9. catol

    catol New Member Пользователи

    Регистрация:
    8 сен 2013
    Сообщения:
    32
    Где можно найти расширенную базу синонимов?
     
  10. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    гугл великая штука.
    Вот 3-я ссылка по вашему запросу
    словарь русских синонимов и сходных по смыслу выражений Н. Абрамова (18151 слово и 68729 синонимов) Ссылки недоступны для гостей
    и ещё одна (отличающаяся) база синонимов, чей источник мне к сожалению не известен (5371 слово и 20296 синонимов). Ссылки недоступны для гостей

    Если отображается кракозяброй, поменяйте кодировку страницы на utf-8
     
  11. rezhisser

    rezhisser New Member Пользователи

    Регистрация:
    12 дек 2014
    Сообщения:
    22
    Не появилось ли решение в один прогон расставлять синонимы?

    А если подключить какой-то рандомайзер?

    Например, если в тексте найдено слово из data.txt, оно заменяется на {rand:val1,val2,...}, где val - это синонимы, а потом случайным образом выбирается любое значение val
     
  12. alamina.moon

    alamina.moon Модератор Команда форума Модератор

    Регистрация:
    14 янв 2013
    Сообщения:
    214
    А чем Вас не устраивает то что описано в этой теме?
     

Поделиться этой страницей