В версии 8.4.1 от 18.02.13 программы SiteSputnik реализованы новые возможности рубрикации материалов. Они получили название ВФ-технологии и доступны в вариантах SiteSputnik News, WebSpider и Station.
Назначение и суть ВФ-технологии "на пальцах"Для того, чтобы выделить нужную информацию из потока, в программе SiteSputnik применяются Правила попадания в Рубрику. Упрощённо, с точки зрения Пользователя, Правило является последовательностью слов или фраз, которые должны присутствовать в контенте ссылки. С точки зрения математического обеспечения программы, Правило - это логическое выражение. Если оно принимает значение истина, то считается, что ссылка содержит нужную информацию и попадает в Рубрику.
В новой версии программы SiteSputnik в Правилах попадания в Рубрику можно прописывать обращения к внешним логическим функциям (сокращенно ВФ-функциям). Обращений может быть несколько, помещены они могут быть в разные части Правила, сами ВФ-функции могут быть тоже разные.
ВФ-функция
может быть написана на любом языке программирования. Она получает от программы SiteSputnik контент ссылки, производит свою работу и возвращает в Правило одно из двух значений: "Да" - критерий, который проверяет функция, выполнен или "Нет" - критерий не выполнен.
О главном.
Сообщение о результате работы ВФ-функции принимается в том и только в том месте Правила, из которого она была вызвана. Это важный момент технологии: ВФ-функции не просто "подвешены на ссылке" (такая технология применяется при реализации обычных плагинов), а "органически" встроены в Правила попадания в Рубрику, участвуют в его логической работе.
Что это дает.
Можно расширить Правила попадания в Рубрики своими Правилами, под свои потребности. В этом процессе участие разработчика программы не является необходимым, достаточно обратиться к программисту. При этом функциональное расширение может осуществлять сложную, произвольную работу: от анализа контента ссылки на негатив, до работы с базами данных и выхода в интернет за информацией. При этом в синтакис Правил не вносится большое количество синтаксических конструкций. Достаточно только одной конструкции - синтаксического определения ВФ-функции.
Перечень ВФ-функций на момент публикацииВ данном разделе представлены двенадцать ВФ-функций, разработанных автором программы. На их примере продемонстрированы возможности ВФ-технологии. Функции осуществляют достаточно сложную символьную обработку, есть функции, которые выполняют сравнения чисел и дат, встречающихся внутри контента ссылок.
- Поиск 10-значного номера телефона - функция TelephoneNumber10
Эта функция возвращает значение "Да", говоря на языке Пользователя, находит ссылки, в которых присутствует хотя бы один любой 10-значный номер телефона, в том числе не только в стандартном виде, но и в зашифрованном. Пример зашифрованного номера телефона: "9о7-1Ч4 два 8-семерка 6". В расшифрованном виде это - 9071442876.
Прописав в Правиле: (Госзакупки | государственные /1 закупки) fun(TelephoneNumber10)
мы получим ссылки, на которых упоминаются госзакупки и присутствует телефон (зашифрованный или незашифрованный). Это наглядная демонстрация упомянутой выше "встроенности" ВФ-функции в Правило: функция работает совместно с другими его конструкциями. Параметров у этой функции нет.
- Поиск конкретного номера телефона - функция TelephoneNumber10Search
Находятся ссылки, в которых присутствует конкретный 10-значный номер телефона, в том числе не только в стандартном виде, но и в зашифрованном. Искомый номер телефона передается функции как параметр. Он прописывается как 10-значное число (в незашифрованном виде). Например:
fun(TelephoneNumber10Search,9071442876)
- Любые символы вместо знака вопроса - AnyOfCharacters
Например, если в качестве параметра этой функции прописать А???МР, то будут найдены ссылки, на которых упомянут хотя бы один VIP-номер автомобиля. Диапазон удовлетворяющих поиску номеров от A001MP до А999МР. Чтобы учесть и эту форму записи номера и другую с пробелами: A 001 MP, - нужно прописать два обращения к функции через логическое "ИЛИ":
( fun(AnyOfCharacters,А???МР) | fun(AnyOfCharacters,А?????МР) )
- Адрес федеральной почты России - PostAddress
Находятся ссылки, в которых упомянут хотя бы один адрес федеральной почты России.
Учитываются практически все варианты записи адресов.
Например: "... происшествие произошло в г. Волгограде, на ул. Космонавтов рядом с домом 8 ..."
- Российский номер автомобиля - RussiaCarNumber
Находятся ссылки, в которых упомянут хотя бы один российский номер автомобиля.
Это следующие два варианта: БЦЦЦББ или Б ЦЦЦ ББ, где Б - буква: пересечение латинских и русских букв (учитываются их набор и на кириллице, и на латинице, и на верхнем, и на нижнем регистре), Ц - цифра любая из десяти.
- Слово с учетом регистра - SensitiveSearch
Чувствительный к регистру поиск: РФ, ОРТ, КамАЗ, СайтСпутник. Искомое слово передается в качестве параметра.
- Число рядом со словом - NumberNearWord
Реализована для маркетологов по заявке Игоря Нежданова.
Рядом с "нужным" словом (первый параметр) расположено любое число на расстоянии не более фиксированного количества символов (второй параметр). Функция "реагирует" на нормальные числа, числа записанные прописью и жаргон: червонец, четвертак, лимон, ... .
- Сравнение с числом, размещенным рядом со словом - CompareWithNumber (!)
Позволяет находить ссылки, внутри контентов которых есть числа, удовлетворяющие критериям.
Например, если в Правиле есть обращение к этой функции со следующими параметрами: сумма, >, 8млн ,
то критерию поиска удовлетворит ссылка, в контенте которой содержится, например, следующий текст:
"... сумма долга - 10 миллионов рублей ...".
Пояснение:
в контенте ссылки есть слово "сумма" и стоящее рядом с ним число "10 миллионов", которое больше, чем 8 миллионов. По этой причине ссылка будет удовлетворять критерию поиска.
Если в Правиле кроме этой функции прописано конкретное предприятие, то останутся только те ссылки, в которых оно упомянуто.
- Длина контента ссылки - LongOfNew
Можно различать ссылки по длине их значимого контента (по количеству символов в контенте), например, отбрасывать очень длинные и/или очень короткие ссылки. Для того, чтобы указать диапазон значений, в Правиле следует прописать два обращения к этой функции через логическое "И". Длина и знак сравнения прописываются как параметры этой функции.
- Количество конкретных слов в контенте ссылки - CountOfWords
Можно указать, что Пользователя интересуют только те ссылки, в которых, например, Путин упомянут более 7 раз, а Медведев не менее 5 раз. У функции три параметра: слово, знак сравнения и число. Прописав в Правиле оба условия:
fun(CountOfWords,Путин,>,7) fun(CountOfWords,Медведев,>=,5)
будем получать ссылки, на которых одновременно много и Путина, и Медведева.
- Сравнение дат - 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 года", - распознаются и анализируются.
Если после месяца нет года, то подразумевается текущий год.
Даты на английском и других языках в данной реализации функции не рассматриваются.
Параметров два: знак сравнения и дата.
- Сравнение дат публикации - DateOfEvent
Эта ВФ-функция во многом аналогична предыдущей. Отличие в том, что действия производятся над датами публикации ссылки, а не над всеми датами, употребляемыми внутри контента ссылок. Параметры те же: знак сравнения и дата.
- Ещё логические внешние функции - на форуме
Создание и применение собственных ВФ-функцийИнструкция программисту по разработке ВФ-функций - в стадии написания.
Инструкция Пользователя по применению ВФ-функций.
Параметры прописываются через запятую сразу после имени ВФ-функции. Например: fun(IncludesDate,>,16.02.13) Обновитесь до версии 8.4.1. Скачайте архив ВФ-функций отсюда и перепишите хранящиеся в нем функции в папку Exe (буквы латинские).
Далее, в зависимости от обратной связи от Пользователей, ВФ-функции будут включены в дистрибутив SiteSputnik News, WebSpider и Station, или Пользователи самостоятельно будут подгружать нужные ВФ-функции.
Обсуждение ВФ-технологииОбсуждение данной темы открыто на форуме СПКР.
Подробнее о программе FileForFiles & SiteSputnik.
Полный список публикаций о программе собран на странице.
Скачать программу можно здесь.