SiteSputnik News. Внешние функции для Рубрик
Дата выхода публикации: 18.02.13г.     
Последнее изменение: 09.03.21г.     



В версии 8.4.1 от 18.02.13 программы SiteSputnik реализованы новые возможности рубрикации материалов. Они получили название ВФ-технологии и доступны в вариантах SiteSputnik News, WebSpider и Station.

Назначение и суть ВФ-технологии "на пальцах"
Для того, чтобы выделить нужную информацию из потока, в программе SiteSputnik применяются Правила попадания в Рубрику. Упрощённо, с точки зрения Пользователя, Правило является последовательностью слов или фраз, которые должны присутствовать в контенте ссылки. С точки зрения математического обеспечения программы, Правило - это логическое выражение. Если оно принимает значение истина, то считается, что ссылка содержит нужную информацию и попадает в Рубрику.

В новой версии программы SiteSputnik в Правилах попадания в Рубрику можно прописывать обращения к внешним логическим функциям (сокращенно ВФ-функциям). Обращений может быть несколько, помещены они могут быть в разные части Правила, сами ВФ-функции могут быть тоже разные.

ВФ-функция
может быть написана на любом языке программирования. Она получает от программы SiteSputnik контент ссылки, производит свою работу и возвращает в Правило одно из двух значений: "Да" - критерий, который проверяет функция, выполнен или "Нет" - критерий не выполнен.

О главном.
Сообщение о результате работы ВФ-функции принимается в том и только в том месте Правила, из которого она была вызвана. Это важный момент технологии: ВФ-функции не просто "подвешены на ссылке" (такая технология применяется при реализации обычных плагинов), а "органически" встроены в Правила попадания в Рубрику, участвуют в его логической работе.

Что это дает.
  • Можно расширить Правила попадания в Рубрики своими Правилами, под свои потребности.
  • В этом процессе участие разработчика программы не является необходимым, достаточно обратиться к программисту.
  • При этом функциональное расширение может осуществлять сложную, произвольную работу: от анализа контента ссылки на негатив, до работы с базами данных и выхода в интернет за информацией.
  • При этом в синтакис Правил не вносится большое количество синтаксических конструкций. Достаточно только одной конструкции - синтаксического определения ВФ-функции.


  • Перечень ВФ-функций на момент публикации
    В данном разделе представлены двенадцать ВФ-функций, разработанных автором программы. На их примере продемонстрированы возможности ВФ-технологии. Функции осуществляют достаточно сложную символьную обработку, есть функции, которые выполняют сравнения чисел и дат, встречающихся внутри контента ссылок.
    1. Поиск 10-значного номера телефона - функция TelephoneNumber10

      Эта функция возвращает значение "Да", говоря на языке Пользователя, находит ссылки, в которых присутствует хотя бы один любой 10-значный номер телефона, в том числе не только в стандартном виде, но и в зашифрованном. Пример зашифрованного номера телефона: "9о7-1Ч4 два 8-семерка 6". В расшифрованном виде это - 9071442876.

      Прописав в Правиле: (Госзакупки | государственные /1 закупки) fun(TelephoneNumber10)

      мы получим ссылки, на которых упоминаются госзакупки и присутствует телефон (зашифрованный или незашифрованный). Это наглядная демонстрация упомянутой выше "встроенности" ВФ-функции в Правило: функция работает совместно с другими его конструкциями. Параметров у этой функции нет.

    2. Поиск конкретного номера телефона - функция TelephoneNumber10Search

      Находятся ссылки, в которых присутствует конкретный 10-значный номер телефона, в том числе не только в стандартном виде, но и в зашифрованном. Искомый номер телефона передается функции как параметр. Он прописывается как 10-значное число (в незашифрованном виде). Например:

      fun(TelephoneNumber10Search,9071442876)

    3. Любые символы вместо знака вопроса - AnyOfCharacters

      Например, если в качестве параметра этой функции прописать А???МР, то будут найдены ссылки, на которых упомянут хотя бы один VIP-номер автомобиля. Диапазон удовлетворяющих поиску номеров от A001MP до А999МР. Чтобы учесть и эту форму записи номера и другую с пробелами: A 001 MP, - нужно прописать два обращения к функции через логическое "ИЛИ":

      ( fun(AnyOfCharacters,А???МР) | fun(AnyOfCharacters,А?????МР) )

    4. Адрес федеральной почты России - PostAddress

      Находятся ссылки, в которых упомянут хотя бы один адрес федеральной почты России.
      Учитываются практически все варианты записи адресов.
      Например: "... происшествие произошло в г. Волгограде, на ул. Космонавтов рядом с домом 8 ..."

    5. Российский номер автомобиля - RussiaCarNumber

      Находятся ссылки, в которых упомянут хотя бы один российский номер автомобиля.
      Это следующие два варианта: БЦЦЦББ или Б ЦЦЦ ББ, где Б - буква: пересечение латинских и русских букв (учитываются их набор и на кириллице, и на латинице, и на верхнем, и на нижнем регистре), Ц - цифра любая из десяти.

    6. Слово с учетом регистра - SensitiveSearch

      Чувствительный к регистру поиск: РФ, ОРТ, КамАЗ, СайтСпутник. Искомое слово передается в качестве параметра.

    7. Число рядом со словом - NumberNearWord

      Реализована для маркетологов по заявке Игоря Нежданова.

      Рядом с "нужным" словом (первый параметр) расположено любое число на расстоянии не более фиксированного количества символов (второй параметр). Функция "реагирует" на нормальные числа, числа записанные прописью и жаргон: червонец, четвертак, лимон, ... .

    8. Сравнение с числом, размещенным рядом со словом - CompareWithNumber (!)

      Позволяет находить ссылки, внутри контентов которых есть числа, удовлетворяющие критериям.

      Например, если в Правиле есть обращение к этой функции со следующими параметрами: сумма, >, 8млн ,
      то критерию поиска удовлетворит ссылка, в контенте которой содержится, например, следующий текст:

      "... сумма долга - 10 миллионов рублей ...".

      Пояснение:
      в контенте ссылки есть слово "сумма" и стоящее рядом с ним число "10 миллионов", которое больше, чем 8 миллионов. По этой причине ссылка будет удовлетворять критерию поиска.

      Если в Правиле кроме этой функции прописано конкретное предприятие, то останутся только те ссылки, в которых оно упомянуто.

    9. Длина контента ссылки - LongOfNew

      Можно различать ссылки по длине их значимого контента (по количеству символов в контенте), например, отбрасывать очень длинные и/или очень короткие ссылки. Для того, чтобы указать диапазон значений, в Правиле следует прописать два обращения к этой функции через логическое "И". Длина и знак сравнения прописываются как параметры этой функции.

    10. Количество конкретных слов в контенте ссылки - CountOfWords

      Можно указать, что Пользователя интересуют только те ссылки, в которых, например, Путин упомянут более 7 раз, а Медведев не менее 5 раз. У функции три параметра: слово, знак сравнения и число. Прописав в Правиле оба условия:

      fun(CountOfWords,Путин,>,7) fun(CountOfWords,Медведев,>=,5)

      будем получать ссылки, на которых одновременно много и Путина, и Медведева.

    11. Сравнение дат - IncludesDate (!)

      Позволяет находить ссылки, внутри контентов которых есть даты, удовлетворяющие критериям.

      Например:
      >=14.02.13 (в контенте ссылки есть дата 14 февраля 2013г. или более поздняя),
      <22.01.2013 (ранее, чем 22 января 2013г), =26.03.13 (именно 26 марта 2013г),
      =сегодня (имеется ввиду не слово "сегодня", а присутствие в контенте текушей даты), =вчера,
      >=неделя (неделю назад и позднее), >месяц (позднее, чем месяц назад),
      =завтра, >завтра (послезавтра и позднее), >=-7 - через неделю и позднее (будущее время),
      >-365 - через год с лишним, =-14 ровно через 2 недели,
      <=14 - раньше, чем 2 недели назад (в прошлом), <год (ранее, чем год назад),
      =понедельник - в любой понедельник из прошлого или будущего,
      <=36525 - ранее, чем 100 лет назад.

      В контенте ссылки даты вида: "16 февраля 2013 года", - распознаются и анализируются.
      Если после месяца нет года, то подразумевается текущий год.
      Даты на английском и других языках в данной реализации функции не рассматриваются.
      Параметров два: знак сравнения и дата.

    12. Сравнение дат публикации - DateOfEvent

      Эта ВФ-функция во многом аналогична предыдущей. Отличие в том, что действия производятся над датами публикации ссылки, а не над всеми датами, употребляемыми внутри контента ссылок. Параметры те же: знак сравнения и дата.

    13. Ещё логические внешние функции - на форуме


    Создание и применение собственных ВФ-функций
    Инструкция программисту по разработке ВФ-функций - в стадии написания.

    Инструкция Пользователя по применению ВФ-функций.

  • Параметры прописываются через запятую сразу после имени ВФ-функции. Например: fun(IncludesDate,>,16.02.13)
  • Обновитесь до версии 8.4.1.
  • Скачайте архив ВФ-функций отсюда и перепишите хранящиеся в нем функции в папку Exe (буквы латинские).

    Далее, в зависимости от обратной связи от Пользователей, ВФ-функции будут включены в дистрибутив SiteSputnik News, WebSpider и Station, или Пользователи самостоятельно будут подгружать нужные ВФ-функции.

  • Обсуждение ВФ-технологии
    Обсуждение данной темы открыто на форуме СПКР.

    Подробнее о программе FileForFiles & SiteSputnik.
    Полный список публикаций о программе собран на странице.
    Скачать программу можно здесь.

    Copyright © 2003-2024 ИП Мыльников Алексей Борисович. Все права защищены. E-mail: 1a@sitesputnik.ru, +7(8442) 73 71 23, +7(905) 3 92 97 92