Форум Сообщества Практиков Конкурентной разведки (СПКР) » Приемы работы с программой СайтСпутник (SiteSputnik) » Регулярные выражения в Рубриках программы SiteSputnik |
<<Назад Вперед>> | Страницы: 1 * 2 | Печать |
Алексей Мыльников
Долгожитель форума
Откуда: Волгоград Всего сообщений: 877 Рейтинг пользователя: 6 Ссылка Дата регистрации на форуме: 22 июня 2009 |
Профиль | Игнорировать
NEW! Сообщение отправлено: 11 сентября 2014 11:36 Сообщение отредактировано: 11 сентября 2014 11:39 tungus1973 написал: '24 марта' /1 {\s201[0-4]\s} В первом топике я написал, что "логическое НЕ" есть, использовать в одной строке одновременно регулярное выражение и простой запрос можно, но расстояние в словах пока не реализовано. В Вашем случае можно получить нужный результат, используя возможности самих РВ. Будет это выглядеть так: {\s24\sмарта\s[1800-2009]\s} - проще, но не учтены даты ранее 1800 года или так: '24 марта' ~{\s24\sмарта\s[201[0-4]\s} - посложнее, учтены даты до 1800 года, но если год в контенте не указап, то правило сработает, тогда: {/s24\sмарта\s([0-9]} ~{\s24\sмарта\s[201[0-4]\s} - практически учтет всё, вплоть до 24 марта 533 года до н. э. Мусор останется, если, например: "24 марта 1500 самураев перешли границу вдоль реки", - но они не так часто это делали. Но и Ваше Правило здесь принесет мусор. |
Игорь Нежданов
Модератор форума
Прагматик Откуда: Советский Союз Всего сообщений: 1025 Рейтинг пользователя: 13 Ссылка Дата регистрации на форуме: 7 июня 2009 |
Очень хороший инструмент. Можно тонко настроится на довольно сложные конструкции. Спасибо! ---
Есть вопрос - спрашивайте. На прямой вопрос будет прямой ответ... Лаборатория Перспективных Разработок |
Игорь Нежданов
Модератор форума
Прагматик Откуда: Советский Союз Всего сообщений: 1025 Рейтинг пользователя: 13 Ссылка Дата регистрации на форуме: 7 июня 2009 |
Коллеги, вчера спешил, а сегодня готов чуть шире высказаться по поводу регулярных выражений (как мы их используем). Самое очевидное - выявление сущностей. Самых разных. От упоминания людей или организаций, до всевозможных дат, адресов, телефонов, цен и т.п.. Например, вы наблюдаете некоего человека (организацию) и хотите, не просто быть в курсе всего происходящего вокруг наблюдаемого, но и знать КТО появился рядом с ним. Настраиваете регулярные выражения для выявления имен собственных и получаете каждый день перечень упоминаемых. Далее сравниваете его с предыдущими (это легко автоматизируется) и получаете список НОВЫХ. Этот список можно подгружать в БД. А можно сложнее задачку решить - выявлять новые события вокруг объекта. Например приобретение имущества (в т.ч. акции, доли). В рубрике с упоминанием Объекта настраиваете ряд регулярных выражений, предназначенных для выявления конструкций, описывающих именно приобретение (покупку). Понимаю, что нужно "попотеть". вначале выявляя устойчивые конструкции, а затем их описывая. Зато в результате получаете оповещалку. которая вас информирует об интересующем вас событии. ---
Есть вопрос - спрашивайте. На прямой вопрос будет прямой ответ... Лаборатория Перспективных Разработок |
tungus1973
Модератор форума
Откуда: г. Санкт-Петербург Всего сообщений: 795 Рейтинг пользователя: 11 Ссылка Дата регистрации на форуме: 3 июля 2009 |
Для: Игорь Нежданов А можно привести какой-нибудь несложный пример? |
Vinni
Администратор
Всего сообщений: 2136 Рейтинг пользователя: 22 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Алексей Мыльников написал: Шаблоны бывают простые и сложные. угу. а еще есть утилиты для контроля - например мне нравится RegexCoach. задаешь строку, РВ и его опции и смотришь - находит ли РВ то, что нужно. при необходимости корректируешь РВ... кстати. а какой стандарт РВ поддерживается PCRE или классический?. далее буду в PCRE писать. Игорь Нежданов написал: Настраиваете регулярные выражения для выявления имен собственных ну это-то понятно - собственные имена начинаются с большой буквы - то есть фраза "Иванов встретился с Петровым", а не фраза "Иванов пошел домой" можно описать так Иванов\s+(\S+\s+){1,5}([А-Я]\S+) |
Vinni
Администратор
Всего сообщений: 2136 Рейтинг пользователя: 22 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Другое дело, что я использовал еще одну возможность РВ - не только проверки соответствия строки шаблону, а и выделения нужной подстроки из строки - круглые скобки. если в СС поддерживается и это (как переменная, которую можно вставить в отчет или как-то так), то можно сразу узнать, о ком речь и как-то автоматизировать сохранение этйо информации, а не смотреть вручную, с кем он там взаимодействовал |
Алексей Мыльников
Долгожитель форума
Откуда: Волгоград Всего сообщений: 877 Рейтинг пользователя: 6 Ссылка Дата регистрации на форуме: 22 июня 2009 |
Vinni написал: угу. а еще есть утилиты для контроля - например мне нравится RegexCoach. задаешь строку, РВ и его опции и смотришь - находит ли РВ то, что нужно. при необходимости корректируешь РВ... Утилиты просто не искал, мне они в данном случае не нужны: задать строку, отдать её на РВ и посмотреть что оно вернет - это один оператор в программе. Но посмотреть - находит ли РВ то что нужно, это только, грубо говоря, одна десятая часть дела, даже меньшая, надо ещё определить находит ли РВ то, что не нужно. Поэтому если есть нормальный инстумент для отладки РВ, то подскажите Пользователям, если нет, то, со временем, при реальной необходимости сделаю сам и встрою с СайтСпутник. Но думаю, что уже есть готовые решения. Vinni написал: какой стандарт РВ поддерживается PCRE или классический?. PCRE Vinni написал: Другое дело, что я использовал еще одну возможность РВ - не только проверки соответствия строки шаблону, а и выделения нужной подстроки из строки - круглые скобки. Да, поддерживается, плюс нужные подстроки выделяются цветом. |
Игорь Нежданов
Модератор форума
Прагматик Откуда: Советский Союз Всего сообщений: 1025 Рейтинг пользователя: 13 Ссылка Дата регистрации на форуме: 7 июня 2009 |
tungus1973 написал: Для: Игорь Нежданов Можно, но он вряд ли поможет в случае с СайтСпутником - мы используем другой семантический движок. А пример правила вот: Для выявления указаний на человека (ФИО, ФИ, Ф, И, ИО) с использованием (или без) разного рода обращений ProperName -> Word<h-reg1>+; Person -> ProperName | 'человек'; FormOfAddress -> 'товарищ' | 'мистер' | 'господин' | 'сэр' | 'сударь' | 'госпожа' | 'мадам' | 'сударыня'; // тут целый словарь вариантов обращений, в том числе сокращенных, неуважительных и т.п.. AdjCoord -> Adj; AdjCoord -> AdjCoord<gnc-agr[1]> ',' Adj<gnc-agr[1]>; AdjCoord -> AdjCoord<gnc-agr[1]> 'и' Adj<gnc-agr[1]>; S -> Adj+ (FormOfAddress) Person; S -> AdjCoord (FormOfAddress) Person; ---
Есть вопрос - спрашивайте. На прямой вопрос будет прямой ответ... Лаборатория Перспективных Разработок |
Алексей Мыльников
Долгожитель форума
Откуда: Волгоград Всего сообщений: 877 Рейтинг пользователя: 6 Ссылка Дата регистрации на форуме: 22 июня 2009 |
Физическое лицо и только физическое лицо регулярным выражением из текста не выделишь. Как фильтр грубой очисти РВ для этого пригодно, но не более того. |
Vinni
Администратор
Всего сообщений: 2136 Рейтинг пользователя: 22 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Алексей Мыльников написал: Поэтому если есть нормальный инстумент для отладки РВ, то подскажите Пользователям, Хм. Я как раз рекомендовал инструмент для отладки РВ. Вы его сначала посмотрите, а потом уж делайте выводы |
<<Назад Вперед>> | Страницы: 1 * 2 | Печать |
Форум Сообщества Практиков Конкурентной разведки (СПКР) » Приемы работы с программой СайтСпутник (SiteSputnik) » Регулярные выражения в Рубриках программы SiteSputnik |
Самые активные 20 тем | |