Поиск объектов, извлеченных другими узлами текстового анализа.
В PDL существует ряд функций, которые позволяют найти в тексте объекты, извлеченные на предыдущих этапах узлами текстового анализа. Соответствие узлов и функций, способных найти результаты их работы, приведено ниже.
Название узла |
Функция PDL |
Извлечение ключевых слов |
|
Извлечение сущностей |
|
Извлечение фактов |
|
Анализ тональности |
Для корректной работы этих функций необходимо сначала выполнить нужный узел, а затем присоединить к нему тот узел, в котором будут использоваться полученные результаты. К примеру, как показано ниже.
Использование ключевых слов
Для поиска ключевых слов и фраз, найденных узлом «Извлечение ключевых слов», используется функция keyword().
Ключевыми считаются значимые слова и фразы, часто употребляющиеся в тексте и позволяющие сделать вывод о тематике данного текста. Таким образом, их удобно использовать для классификации текстов. Подробнее о работе узла можно узнать в разделе «Узел "Извлечение ключевых слов"».
Синтаксис
Для корректной работы функции необходимо наличие выполненного родительского узла «Извлечение ключевых слов».
Аргументы
Для функции keyword() нет обязательных аргументов — при их отсутствии функция найдет все ключевые слова для каждого из текстов корпуса.
Аргумент часть_речи является опциональным и позволяет совершать поиск ключевых слов в рамках указанных частей речи. Можно указать произвольное число аргументов данного типа через вертикальную черту, к примеру, запрос keyword(noun | adjective) найдет все ключевые слова, являющиеся существительными или прилагательными. Если часть речи не указана, функция вернет ключевые слова независимо от части речи.
Допустимые значения аргумента часть_речи приведены в таблице ниже.
Часть речи |
Синоним |
Пояснение |
Пример |
noun |
существительное |
событие, событиям, конференций … |
|
verb |
глагол |
встречаться, обсудили … |
|
adjective |
adjc |
прилагательное |
общий, важного, простейшее … |
adverb |
advb |
наречие |
одновременно, ранее, резко … |
Опциональный аргумент принимает произвольное число ключевых слов или фраз в нормальной форме, перечисленных через запятую.
Например, чтобы найти все тексты, для которых слова «робототехника» или «инновации» являются ключевыми, необходимо составить запрос keyword(робототехника, инновация).
Важно, что запятая трактуется как «или», т.е. при желании найти тексты, где ключевыми словами будут являться и «робототехника», и «инновации», необходимо составить запрос
keyword(робототехника) and keyword(инновация)
Примеры
Пример задачи: фильтрация текстов по тематике
Использование функции keyword() позволяет выделить из корпуса текстов только те, основной темой которых является интересующий нас вопрос.
keyword("ослабление рубля", "укрепление рубля")
Данный запрос найдет тексты, посвященные динамике курса рубля. Можно создать подкорпус из этих текстов и в дальнейшем работать только с ними, что значительно уменьшит время выполнения запросов.
При необходимости найти тексты, посвященные конкретной тематике, можно составить список слов и фраз по теме, а затем найти пересечение элементов списка и ключевых слов.
Допустим, в словаре категории WordClasses существует словарный список «bankruptcy», содержащий слова и фразы, связанные с процедурой банкротства. Чтобы найти, какие из текстов корпуса связаны с темой банкротства, можно сформировать запрос:
keyword() & term(bankruptcy)
Использование именованных сущностей
Для поиска именованных сущностей, найденных узлом «Извлечение сущностей», используется функция entity().
Узел «Извлечение сущностей» находит объекты определенного класса, к примеру, имена людей, названия компаний и организаций, даты или телефонные номера. Извлеченные сущности удобно использовать в более сложных запросах, способных находить их свойства, отношения между ними или факты о них. Подробнее о работе узла можно узнать в разделе «Узел "Извлечение сущностей"»
Синтаксис
Для корректной работы функции необходим выполненный родительский узел «Извлечение сущностей».
Аргументы
Функция не имеет обязательных аргументов и при отсутствии опциональных вернет все сущности, найденные в тексте.
В качестве первого опционального аргумента функция принимает тип_сущности, т.е. название класса объектов, извлеченных узлом. Функция поддерживает как стандартные, так и пользовательские сущности. Если задан только тип_сущности, функция вернет все сущности данного типа.
При необходимости найти сущности указанного типа, которые содержат конкретные слова или фразы, можно задать второй опциональный аргумент. В таком случае производится поиск заданного аргумента по всем атрибутам сущностей указанного типа. К примеру, запрос entity(people, Денни) найдет людей, в имени или атрибутах которых фигурирует «Денни» — «Дик Денни», «актер Денни Кей», «Джон Грей, заместитель Денни Моррисона» и т.д.
Параметры
Чтобы найти сущности с определенными свойствами, можно указать произвольное число опциональных параметров_сущности. Названия параметров сущности отражают ее атрибуты и совпадают с названиями колонок в отчете узла «Извлечение сущностей». Пример отчета узла приведен ниже.
Значение параметра сущности может оставаться пустым. К примеру, entity(Post Addresses, "postalcode=") найдет все адреса без индексов. Обратный запрос entity(Post Addresses, "postalcode!=") вернет только те адреса, для которых поле «PostalCode» не является пустым.
При указании значений параметров и аргументов необходимо использовать именно ту форму, в которой он представлен в отчете. Например, если в отчете значится "Банк «Уралсиб»", запрос entity(Companies, Уралсиб) не вернет результатов. Правильным будет запрос entity(Companies, Банк «Уралсиб»), при этом будут найдены все способы написания, извлеченные узлом — «Уралсибу», «Уралсиб», «Уралсиб Кэпитал» и т.д.
Если значение аргумента или параметра сущности включает английские двойные кавычки («"»), их необходимо экранировать. Например, если нужно указать «Газета "РБК Daily"» в качестве значения параметра, запись будет выглядеть следующим образом: entity(Companies, "Name=Газета \"РБК Daily\"").
Для указания значений аргументов и параметров сущности можно также использовать регулярные выражения. К примеру, запрос entity(People, "FirstName=regex(Алекс.+)") найдет людей, чьи имена начинаются на «Алекс» – «Александр», «Александра», «Алексей». Подробнее об использовании регулярных выражений см. «Вводная информация о регулярных выражениях».
При указании аргументов, параметров и их значений регистр не учитывается, т.е. entity(people, "firstname=александр") = entity(People, "FirstName=Александр").
В таблицах ниже приведен список параметров сущностей для стандартных типов сущностей:
Тип сущности |
Люди |
|
Параметр |
Пояснение |
Пример |
Name |
Полное имя |
entity(people, "name=александр иванович куприн") найдет упоминания людей по имени Александр Иванович Куприн |
FirstName |
Имя |
entity(people, "firstname=александр") найдет людей по имени Александр |
MiddleName |
Отчество/Среднее имя |
entity(people, "middlename=васильевич") найдет людей с отчеством Васильевич |
LastName |
Фамилия |
entity(people, "lastname=куприн") найдет людей по фамилии Куприн |
Attribute |
Свойства (профессия, звание и пр.) |
entity(people, "attribute=писатель") найдет писателей |
Gender |
Пол |
entity(people, "gender=male") найдет мужчин |
Age |
Возраст |
entity(people, "age>25") найдет людей старше 25 лет |
Тип сущности |
Компании |
|
Параметр |
Пояснение |
Пример |
Name |
Название |
entity(companies, "name=российские железные дороги") найдет упоминания «Российских железных дорог» |
Type |
Тип |
entity(companies, "type=ооо|оао") найдет все компании типа «ООО» и «ОАО» |
Location |
Расположение (страна) |
entity(companies, "location=россия|германия") найдет российские и немецкие компании |
Industry |
Отрасль |
entity(companies, "industry=транспорт") найдет компании отрасли «Транспорт» |
Abbreviation |
Краткое имя |
entity(companies, "abbreviation=ржд") найдет компании с сокращенным названием «РЖД» |
Тип сущности |
Организации |
|
Параметр |
Пояснение |
Пример |
Name |
Название |
entity(organizations, "name=федеральная служба финансово-бюджетного надзора") найдет упоминания организации под названием «Федеральная служба финансово-бюджетного надзора» |
Type |
Тип |
entity(organizations, "type=федеральная служба") найдет организации типа «федеральная служба» |
Location |
Расположение (страна) |
entity(organizations, "location=россия") найдет российские организации |
Industry |
Отрасль |
entity(organizations, "industry=финансы") найдет организации финансовой отрасли |
Abbreviation |
Краткое имя |
entity(organizations, "abbreviation=росфиннадзор") найдет организации с аббревиатурой «Росфиннадзор» |
Тип сущности |
Геоадминистративные объекты |
|
Параметр |
Пояснение |
Пример |
Name |
Название |
entity(geoadministrative, "name=москва") найдет упоминания геоадминистративных объектов под названием «Москва» |
Category |
Категория |
entity(geoadministrative, "category=country|city") найдет города и страны |
WorldPart |
Часть света |
entity(geoadministrative, "worldpart=азия") найдет геоадминистративные объекты на территории Азии |
Country |
Страна |
entity(geoadministrative, "category=city", "country=германия|франция") найдет французские и немецкие города |
Region |
Регион |
entity(geoadministrative, "region!=татарстан") найдет геоадминистративные объекты за пределами Татарстана |
Тип сущности |
Природные объекты |
|
Параметр |
Пояснение |
Пример |
Name |
Название |
entity(landforms, "name=ла-манш") найдет природные объекты под названием «Ла-Манш» |
Type |
Тип |
entity(landforms, "type=пролив") найдет проливы |
Тип сущности |
Места |
|
Параметр |
Пояснение |
Пример |
Name |
Название |
entity(facilities, "name=аэропорт «внуково»") найдет упоминания аэропорта «Внуково» |
Type |
Тип |
entity(facilities, "type=аэропорт") найдет аэропорты |
Тип сущности |
Почтовые адреса |
|
Параметр |
Пояснение |
Пример |
Address |
Адрес |
entity(post addresses, "address=советская улица, д. 64, новосибирск, новосибирская область, россия 630091") найдет упоминания почтового адреса «Советская улица, д. 64, Новосибирск, Новосибирская область, Россия 630091» |
Country |
Страна |
entity(post addresses, "country=россия|германия") найдет российские и немецкие почтовые адреса |
State |
Регион |
entity(post addresses, "state=новосибирская область") найдет почтовые адреса в Новосибирской области |
City |
Город |
entity(post addresses, "city=новосибирск") найдет почтовые адреса в Новосибирске |
Street |
Улица |
entity(post addresses, "street=советская улица") найдет почтовые адреса на Советской улице |
House |
Номер дома |
entity(post addresses, "house>60") Найдет почтовые адреса с номером дома больше 60 |
Floor |
Номер этажа |
entity(post addresses, "floor=10") найдет почтовые адреса на десятом этаже |
Apartment |
Номер квартиры |
entity(post addresses, "apartment!=") найдет почтовые адреса, для которых указан номер квартиры |
PostalBox |
Номер почтового ящика |
entity(post addresses, "postalbox=") найдет почтовые адреса, для которых не указан номер почтового ящика |
PostalCode |
Индекс |
entity(post addresses, "postalcode=630091") найдет почтовые адреса с индексом 630091 |
Тип сущности |
Интернет-адреса |
|
Параметр |
Пояснение |
Пример |
URL |
URL |
entity(internet addresses, "url=http://www.youtube.com/watch?v=lkqj9gdc2us") найдет упоминания веб-страницы http://www.youtube.com/watch?v=lkqj9gdc2us |
Domain |
Домен сайта |
entity(internet addresses, "domain=youtube.com") найдет сайты с доменом «youtube.com» |
Тип сущности |
Электронные адреса |
|
Параметр |
Пояснение |
Пример |
entity(email addresses, "email=info@vesti.ru") найдет упоминания электронного адреса «info@vesti.ru» |
||
User |
Имя пользователя |
entity(email addresses, "user=info") найдет электронные адреса с именем пользователя «info» |
Server |
Домен |
entity(email addresses, "server=vesti.ru") найдет электронные адреса с доменом «vesti.ru» |
Тип сущности |
Телефонные номера |
|
Параметр |
Пояснение |
Пример |
Phone |
Телефон |
entity(phone numbers, "phone=(495) 380-4132") найдет все упоминания номера «(495) 380-4132» |
Extension |
Добавочный номер |
entity(phone numbers, "extension!=") найдет телефонные номера, для которых указан добавочный номер |
Тип сущности |
Даты |
|
Параметр |
Пояснение |
Пример |
DateTime |
Дата и время |
entity(dates, "datetime=март 13, 2007 - 05:55:00 PM") найдет упоминания даты и времени «март 13, 2007 - 17:55» |
Year |
Год |
entity(dates, "year=2007") найдет даты, включающие 2007 год |
Month |
Месяц |
entity(dates, "month=март|апрель") найдет даты, включающие март или апрель |
Day |
Число |
entity(dates, "day<13") найдет даты, если число меньше 13 |
WeekDay |
День |
entity(dates, "weekday=вторник|среда") найдет даты, если день является вторником или средой |
Time |
Время |
entity(dates, "time=05:55:00 PM") найдет даты, если время равно 17:55 |
Date |
Дата |
entity(dates, "date=13.03.2007 17:55:00") найдет все упоминания даты «13.03.2007 17:55» |
Тип сущности |
Валюты |
|
Параметр |
Пояснение |
Пример |
Value |
Сумма |
entity(currencies, "value=2,000 - 3,000 USD") найдет упоминания суммы «2000—3000 долларов США», например «от $2000 до $3000» |
Amount |
От |
entity(currencies, "amount=0.12") найдет упоминания суммы в 0,12 |
AmountTo |
До |
entity(currencies, "amountto=0.15") найдет диапазон суммы со второй границей в 0,15, т.е. «€0,10—0,15» или «с 0,50 до 0,15 евро» |
Currency |
Валюта |
entity(currencies, "currency=USD") найдет суммы в валюте «доллар США» |
Тип сущности |
Единицы измерения |
|
Параметр |
Пояснение |
Пример |
Value |
Значение |
entity(units, "value=14 - 15 тонн") найдет упоминания значения «14—15 тонн», например,«от 14 до 15 тонн» |
Amount |
От |
entity(units, "amount>14", "unit=килограмм") найдет значения более 14 килограмм |
AmountTo |
До |
entity(units, "amountto<15", "unit=тонна") найдет диапазоны со вторым значением менее 15 тонн, т.е. «9—10 тонн» или «с 10 до 9 тонн» |
Unit |
Единица измерения |
entity(units, "unit=грамм|килограмм") найдет значения в граммах и килограммах |
Area |
Область применения |
entity(units, "area=механика") найдет значения в единицах измерения раздела «Механика» |
Class |
Величина |
entity(units, "class=масса|объем|длина") найдет значения в единицах измерения массы, объема или длины |
Category |
Система мер |
entity(units, "class=масса", "category=метрические") найдет значения в единицах измерения массы согласно метрической системе |
Кроме параметров, уникальных для каждой сущности, существует общий для всех сущностей параметр field. В качестве аргумента он принимает название любого уникального параметра сущности указанного типа и осуществляет поиск значений данного параметра. К примеру, как видно в отчете представленном выше, для сущности GeoAdministrative можно осуществить поиск по следующим параметрам: Name, Category, City, Part, Country, Region, WorldPart, Area, Population. Так, для города Стокгольм запрос entity(geoadministrative, field:=country) вернет только значение параметра Country, т.е. «Швеция».
Для фильтрации результатов функции entity(), можно использовать функцию regex(). Например, запрос entity(People, Match:="regex(.*директор.*)") оставит в результатах те сущности People, где есть слово «директор», например, «PR-директор издательства Людмила Иванова».
Примеры
Пример задачи: Поиск даты проведения IPO
Чтобы найти информацию о дате проведения первичного размещения акций различными компаниями, необходимо найти последовательность, состоящую из даты, названия компании и «IPO». Так как даты являются сущностью типа Dates, а компании — сущностью типа Companies, мы можем составить следующий запрос:
phrase(10, entity(Dates), entity(Companies), IPO)
Использование фактов
Для поиска фактов, найденных узлом «Извлечение фактов», используется функция fact().
Узел «Извлечение фактов» находит факты об именованных сущностях. Фактом считается событие или отношение, в которых участвует сущность. Тип факта определяет допустимые типы участвующих в нем сущностей. В зависимости от типа факта, у каждого из его участников есть своя роль. Подробнее о работе узла можно узнать в разделе «Узел "Извлечение фактов"»
Синтаксис
Для корректной работы функции необходимо наличие родительского узла «Извлечение фактов».
Аргументы
Функция не имеет обязательных аргументов и при отсутствии опциональных вернет все факты, найденные в тексте.
В качестве первого опционального аргумента функция принимает тип_факта. Поддерживаются как стандартные, так и пользовательские типы фактов. Если указан только тип факта, функция вернет все упоминания фактов этого типа. При желании указать несколько типов, можно перечислить их через вертикальную черту |.
В качестве второго опционального аргумента функция принимает участника указанного типа факта и возвращает все факты с этим участником, независимо от его роли. К примеру, по запросу fact(Acquisition, Tele2) будут найдены случаи, где Tele2 является покупателем, продавцом или предметом сделки.
Параметры
Для поиска фактов о конкретных объектах можно указать параметр факта. Название параметра факта отражает роль объекта в указанном типе факта. К примеру, запрос fact(Acquisition, "Buyer=Tele2") найдет все упоминания покупок, в которых компания Tele2 выступила в качестве покупателя (Buyer).
Названия параметров факта определенного типа соответствуют названиям колонок в отчете узла «Извлечение фактов». Пример отчета приведен ниже.
Значение параметра факта может оставаться пустым. К примеру, fact(Acquisition, "Seller=") найдет все случаи покупки, для которых не указан продавец. Обратный запрос fact(Acquisition, "Seller!=") вернет только те случаи покупки, для которых поле «Seller» не является пустым.
При указании значения параметра необходимо использовать именно ту форму, в которой оно представлено в отчете. Например, если в отчете значится "ПАО «Газпром»", запрос fact(Acquisition, "Buyer=Газпром") не вернет результатов. Правильным будет запрос fact(Acquisition,"Buyer=ПАО «Газпром»"), при этом будут найдены все способы написания "ПАО «Газпром»", извлеченные узлом — «ПАО Газпром», «Газпром», «ОАО Газпром» и т.д.
Если значение аргумента или параметра факта включает английские двойные кавычки («"»), их необходимо экранировать. Например, при желании указать «Банк "Россия"» в качестве значения параметра Buyer, запись будет выглядеть следующим образом: fact(Acquisition, "Buyer=Банк \"Россия\"").
Значение аргумента или параметра факта также можно задать с помощью регулярного выражения. К примеру запрос fact(Acquisition, "Buyer=regex(.*Газпром.*)") вернет результаты для "ПАО «Газпром»", "ОАО «Газпром»", «Газпром-Медиа», «Газпром Нефть» и т.д. Подробнее об использовании регулярных выражений см. «Вводная информация о регулярных выражениях».
При указании аргументов, параметров и их значений регистр не учитывается, т.е. fact(Acquisition, "Buyer=Tele2") = fact(acquisition, "buyer=tele2").
В таблицах ниже приведен список параметров фактов для каждого из стандартных типов фактов:
Business
Personal Info
Legal Issues
Emergency
Тип факта |
||
Параметр |
Пояснение |
Пример |
Buyer |
Покупатель |
fact(acquisition, "buyer=regex(пао\s.+)") найдет все упоминания покупок, совершенных компаниями типа «ПАО» |
Object |
Предмет сделки |
fact(acquisition, "buyer=regex(пао\s.+)", "object=regex(рос.\+)") найдет все упоминания покупок компаний, начинающихся на «Рос», если они совершены компаниями типа «ПАО» |
Seller |
Продавец |
fact(acquisition, "seller=группа втб") найдет все упоминания покупок, в которых продавцом выступила группа ВТБ |
Date |
Дата Допустимые значения: Dates |
fact(acquisition, "date!=") найдет все упоминания покупок, для которых указана дата |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Company |
Компания |
fact(activity, "company=regex(roshen\s.+)") найдет упоминания начала или остановки деятельности компаний, название которых начинается с Roshen |
Location |
Территория |
fact(activity, "location=липецк") найдет упоминания предприятий, начавших или остановивших свою деятельность в Липецке |
Status |
Статус Допустимые значения: Начата/ Остановлена |
fact(activity, "location=липецк", "status=остановлена") найдет упоминания предприятий, остановивших свою деятельность в Липецке |
Time |
Период |
fact(activity, "time=на два дня") найдет упоминания предприятий, остановивших свою деятельность на два дня |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Company |
Компания |
fact(bankruptcy, "company=regex(застройщик\s.+)") найдет упоминания банкротных исков в отношении застройщиков |
Company Type |
Тип компании Допустимые значения: Companies/ Organizations |
fact(bankruptcy, "company type=organizations") найдет упоминания банкротных исков в отношении организаций |
Status |
Статус Допустимые значения: Подан иск/ Объявлено банкротство/ Иск отклонен |
fact(bankruptcy, "status=подан иск") найдет упоминания предприятий, в отношении которых был подан иск о банкротстве |
Date |
Дата |
fact(bankruptcy, "status=подан иск", "date=regex(.*2016)") найдет упоминания предприятий, в отношении которых был подан иск о банкротстве в 2016 году |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Sponsor |
Спонсор |
fact(charity, fact(charity, "sponsor=regex(правительство.*)")) найдет упоминания пожертвований, сделанных каким-либо правительством |
Beneficiary |
Бенефициар |
fact(charity, "beneficiary=regex(.*театр.*)") найдет упоминания пожертвований театрам |
Amount |
Сумма |
fact(charity, "amount=2 млн рублей") найдет упоминания пожертвований в 2 000 000 рублей |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Object1 |
Объект1 |
fact(conflicts, "object1=apple inc.") найдет упоминания конфликтов вокруг компании Apple Inc. |
Object2 |
Объект2 |
fact(conflicts, "object1=apple inc.|qualcomm", "object2=apple inc.|qualcomm") найдет упоминания конфликтов между компаниями Apple Inc. и Qualcomm |
Time |
Период |
fact(conflicts, "date=2018") найдет упоминания конфликтов, произошедших в 2018 году |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Company |
Компания |
fact(contacts, "company=regex(газета.+)") найдет упоминания контактов газет |
Contact |
Контакт |
fact(contacts, "contact=regex(.+@vesti.ru))") найдет упоминания электронных адресов с доменом «@vesti.ru» |
Contact Type |
Тип контакта Допустимые значения: Phone Numbers/ Post Addresses/ Email Addresses |
fact(contacts, "company=зао ид \"комсомольская правда\"", "contact type=phone numbers") найдет упоминания контактных телефонов «Комсомольской правды» |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Company |
Компания |
fact(contracts, "company=пао «газпром»") найдет упоминания контрактов, в которых участвует ПАО «Газпром» |
Company2 |
Компания2 |
fact(contracts, "company2=regex(.+область))") найдет упоминания контрактов, где вторым участником является какая-либо область |
Company3 |
Компания3 |
fact(contracts, "company3!=") найдет упоминания контрактов, где не менее трех участников |
Contract |
Контракт |
fact(contracts, "contract=аукцион") найдет упоминания о проведении аукционов |
Event |
Событие |
fact(contracts, "company=пао «газпром»", "contract=контракт", "event=расторжение") найдет упоминания контрактов расторгнутых ПАО «Газпром» |
Status |
Статус |
fact(contracts, "company=пао «газпром»", "status!=") найдет все упоминания контрактов ПАО «Газпром», для которых указан статус (потенциальный, совершённый) |
Date |
Дата |
fact(contracts, "company=пао «газпром»", "date!=") найдет все упоминания контрактов ПАО «Газпром», для которых указана дата |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Company |
Компания |
fact(dividends, "company=пао «уралхимпласт»") найдет упоминания выплаты дивидендов компанией ПАО «Уралхимпласт» |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Company |
Компания |
fact(expansion, "company=пао «газпром»") найдет упоминания расширения бизнеса компанией ПАО «Газпром» |
Expansion Form |
Форма расширения |
fact(expansion, "company=motorola", "expansion form=regex(.*производство.*)") найдет упоминания расширения производства компанией Motorola |
Phase |
Фаза Допустимые значения: Начата/Планируется |
fact(expansion, "company=пао «газпром»", "phase=планируется") найдет упоминания о планируемом расширении бизнеса ПАО «Газпром» |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Company |
Компания |
fact(financial statements, "company=microsoft corp.") найдет упоминания о финансовой отчетности компании Microsoft |
Dynamic |
Динамика Допустимые значения: повышение/ понижение |
fact(financial statements, "dynamic=понижение") найдет упоминания компаний, чьи доходы снизилась |
Indicator |
Показатель |
fact(financial statements, "company=inditex", "indicator=годовая продажа") найдет упоминания изменений годовых продаж компании Inditex |
Product |
Продукт |
fact(financial statements, "dynamic=повышение", "factor=продажа", "product=автомобиль") найдет упоминания компаний, увеличивших продажи автомобилей |
Percentage |
Процент изменения |
fact(financial statements, "dynamic=повышение", "factor=международная продажа", "percentage=54%") найдет упоминания компаний, чьи международные продажи выросли на 54% |
Monetary Rate |
Сумма изменения |
fact(financial statements, "dynamic=понижение", "monetary rate=4,000,000 RUB") найдет упоминания компаний, чьи продажи или финансовые показатели снизились на 4 000 000 рублей |
Gross Rate |
Объем изменения |
fact(financial statements, "dynamic=повышение", "factor=продажа", "gross rate=полмиллиона единиц") найдет упоминания компаний, увеличивших продажи на полмиллиона единиц |
Total Sum |
Итоговая сумма |
fact(financial statements, "total sum=244,000,000 usd", "period=2017") найдет упоминания компаний, чьи продажи в 2017 году составили 244 000 000 долларов США |
Total Amount |
Итоговый объем |
fact(financial statements, "dynamic=повышение", "factor=прозводство", "product=золото", "total amount=506,500 унций") найдет упоминания компаний, которые увеличили производство золота до 506 500 унций |
Date |
Период |
fact(financial statements, "dynamic=повышение", "date=в 2017 году") найдет упоминания компаний, чьи продажи или финансовые показатели выросли в 2017 год |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Company |
Компания |
fact(industry, "company=regex(.*втб.*)", "industry=страховые компании") найдет упоминания компаний группы ВТБ, связанных со страхованием |
Industry |
Отрасль |
fact(industry, "industry=оборона") найдет упоминания оборонных предприятий |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Investor |
Инвестор |
fact(investing, "company=regex(.*втб.*)") найдет упоминания компаний группы ВТБ, которые куда-либо инвестировали |
Investee |
Объект инвестиций |
fact(investing, "company=regex(.*втб.*)") найдет упоминания компаний группы ВТБ, в которые инвестировали |
Date |
Дата |
fact(investing, "date=2018") найдет упоминания инвестиций, которые произошли в 2018 году |
Amount |
Объём инвестиций |
fact(investing, "amount= 3 миллиарда рублей") найдет упоминания инвестиций, объём которых стоставил 3 миллиарда рублей |
Percent |
Процент |
fact(investing, "percent!=") найдет упоминания инвестиций, для которых известен процент |
Status |
Статус |
fact(investing, "status!=") найдет упоминания инвестиций, для которых известен статус |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Company1 |
Компания1 |
fact(joint venture, "company1=tele2") найдет упоминания совместных предприятий, первым участником которых является компания Tele2 |
Company2 |
Компания2 |
fact(joint venture, "company1=tele2", "company2=ростелеком") найдет упоминания совместных предприятий, созданных компаниями Tele2 и «Ростелеком» |
Company3 |
Компания3 |
fact(joint venture, "company1=tele2", "company2=ростелеком", "company3=мтс") найдет упоминания совместных предприятий, созданных компаниями Tele2, «Ростелеком» и МТС |
Joint Venture |
Совместное предприятие |
fact(joint venture, "joint venture=regex(inter.+)") найдет упоминания совместных предприятий, чье название начинается на «Inter» |
Other Companies |
Другие компании |
fact(joint venture, "other companies!=билайн") найдет упоминания совместных предприятий, в которых участвует компания "Билайн" |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Company |
Компания |
fact(liquidation, "company=regex(банк.*)") найдет упоминания отзыва лицензий у банков |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Company |
Компания |
fact(management change, "company=rambler") найдет упоминания перемен в руководящем составе компании Rambler |
Person |
Сотрудник |
fact(management change, "person=маттиас мюллер") найдет упоминания смены руководителя по имени Маттиас Мюллер |
Position |
Должность |
fact(management change, "position=генеральный директор", "company=volkswagen ag") найдет упоминания смены генерального директора компании Volkswagen |
Action |
Событие Допустимые значения: Приход/ Уход/ Смена/ Преследование |
fact(management change, "action=уход", "position=вице-президент") найдет упоминания ухода вице-президента из компании |
Date |
Дата |
fact(management change, "date=2020", "company=volkswagen ag") найдет упоминания смены генерального директора компании Volkswagen в 2020 году |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Company1 |
Компания1 |
fact(merger, "company1=fiat s.p.a.") найдет упоминания слияния с компанией Fiat S.p.A. |
Company2 |
Компания2 |
fact(merger, "company1=fiat s.p.a.", "company2=chrysler") найдет упоминания слияния компаний Fiat S.p.A. и Chrysler |
Formed Company |
Сформированная компания |
fact(merger, "formed company!=") найдет все упоминания компаний, полученных в результа слияний |
Other Companies |
Другие компании |
fact(merger, "other companies!=") найдет все упоминания компаний, участвовающих в слияниях |
Date |
Дата |
fact(merger, "date=2018") найдет все упоминания слияний, которые произошли в 2018 году |
Amount |
Сумма |
fact(merger, "amount!=") найдет все упоминания слияний, которые произошли в 2018 году |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Company1 |
Компания1 |
fact(partnership, "company1=авиакомпания \"белавиа\"|boeing company") найдет упоминания партнерств, где первым партнером является «Авиакомпания "Белавиа"» или компания «Boeing Company» |
Company2 |
Компания2 |
fact(partnership, "company1=авиакомпания \"белавиа\"|boeing company","company2=авиакомпания \"белавиа\"|boeing company", ) найдет упоминания партнерства между компаниями «Авиакомпания "Белавиа"» и «Boeing Company» |
Company3 |
Компания3 |
fact(partnership, "company1=авиакомпания \"белавиа\"|boeing company", "company3=авиакомпания \"белавиа\"|boeing company") найдет упоминания партнерства между компаниями «Авиакомпания "Белавиа"» и «Boeing Company» |
Company4 |
Компания4 |
fact(partnership, "company1=авиакомпания \"белавиа\"|boeing company", "company4=авиакомпания \"белавиа\"|boeing company") найдет упоминания партнерства между компаниями «Авиакомпания "Белавиа"» и «Boeing Company» |
Type |
Тип |
fact(partnership, "type=Совместное предприятие") найдет упоминания компаний, которые участвуют в совместном предприятии |
Status |
Статус |
fact(partnership, "status=потенциальное") найдет упоминания партнёрств, статус которых - "потенцальное" |
Contract Type |
Тип контракта |
fact(partnership, "contract type!=создание") найдет упоминания партнёрств, тип контракта которых - создание партнёрства |
Purpose |
Цель |
fact(partnership, "purpose!=разработка") найдет упоминания партнёрств, цель которых - разработка |
Joint Venture |
Совместное предприятие |
fact(partnership, "joint venture!=") найдет упоминания совместных партнёрств |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Rated |
Компания |
fact(ratings, "rated=tesla inc.") найдет упоминания рейтинга компании Tesla Inc. |
Agency |
Агентство |
fact(ratings, "rated=tesla inc.", "agency=moody’s") найдет упоминания рейтинга компании Tesla Inc., присвоенного агентством Moody’s |
Value |
Оценка |
fact(ratings, "agency=эксперт ра", "value=rub+") найдет упоминания компаний, которым агентство Эксперт РА присвоило рейтинг «ruВ+» |
Forecast |
Прогноз Допустимые значения: позитивный/ стабильный/ негативный/ положительный/ развивающийся |
fact(ratings, "forecast=стабильный") найдет упоминания компаний, прогноз по которым оценивается как стабильный |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Company |
Компания |
fact(reorganization, "company=regex(оао\s.+)") найдет упоминания реорганизации компаний типа ОАО |
New Name |
Новое название |
fact(reorganization, "new name!=") найдет упоминания компаний, которым в ходе реорганизации было присвоено новое название |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Company |
Компания |
fact(sales dynamics, "company=microsoft corp.") найдет упоминания о финансовой отчетности компании Microsoft |
Dynamic |
Динамика Допустимые значения: повышение/ понижение/ приостановление |
fact(sales dynamics, "company=h&m", "dynamic=понижение") найдет упоминания снижения финансовых показателей или продаж компании H&M |
Indicator |
Показатель |
fact(sales dynamics, "company=inditex", "indicator=годовая продажа") найдет упоминания изменений годовых продаж компании Inditex |
Product |
Продукт |
fact(sales dynamics, "dynamic=повышение", "factor=продажа", "product=автомобиль") найдет упоминания компаний, увеличивших продажи автомобилей |
Percentage |
Процент изменения |
fact(sales dynamics, "dynamic=повышение", "factor=международная продажа", "percentage=54%") найдет упоминания компаний, чьи международные продажи выросли на 54% |
Monetary Rate |
Сумма изменения |
fact(sales dynamics, "dynamic=понижение", "monetary rate=4,000,000 RUB") найдет упоминания компаний, чьи продажи или финансовые показатели снизились на 4 000 000 рублей |
Gross Rate |
Объем изменения |
fact(sales dynamics, "dynamic=повышение", "factor=продажа", "gross rate=полмиллиона единиц") найдет упоминания компаний, увеличивших продажи на полмиллиона единиц |
Total Sum |
Итоговая сумма |
fact(sales dynamics, "total sum=244,000,000 usd", "period=2017") найдет упоминания компаний, чьи продажи в 2017 году составили 244 000 000 долларов США |
Total Amount |
Итоговый объем |
fact(sales dynamics, "dynamic=повышение", "factor=прозводство", "product=золото", "total amount=506,500 унций") найдет упоминания компаний, которые увеличили производство золота до 506 500 унций |
Date |
Период |
fact(sales dynamics, "dynamic=повышение", "date=в 2017 году") найдет упоминания компаний, чьи продажи или финансовые показатели выросли в 2017 году |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Company |
Компания |
fact(securities, "company=rambler") найдет упоминания об операциях с ценными бумагами компании Rambler |
Company Type |
Тип компании Допустимые значения: Companies/ Organizations |
fact(securities, "company type=газета") найдет упоминания выпуска акций, совершенных газетами |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Person |
Имя |
fact(age, "person=сергей скрипаль") найдет упоминания возраста людей по имени «Сергей Скрипаль» |
Age |
Возраст Допустимые значения: положительные целые числа |
fact(age, "age>85") найдет упоминания людей старше 85 лет |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Person |
Имя |
fact(gender, "person=regex(алекс.+)", "gender=female") найдет упоминания женщин, чье имя начинается на «Алекс» |
Gender |
Пол Допустимые значения: male/female |
fact(gender, "gender=") найдет упоминания людей, чья половая принадлежность неизвестна |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Person |
Имя |
fact(contacts, "person=regex(алекс.+)") найдет контакты тех людей, чье имя начинается на «Алекс» |
Contact |
Контакт |
fact(contacts, "contact=regex(.+@mail.ru))") найдет упоминания электронных адресов с доменом «@mail.ru» |
Contact Type |
Тип контакта Допустимые значения: Phone Numbers/ Post Addresses/ Email Addresses |
fact(contacts, "contact type=phone numbers") найдет упоминания контактных телефонов |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Company |
Компания |
fact(employment, "company=ак «транснефть»") найдет упоминания сотрудников АК «Транснефть» |
Position |
Должность |
fact(employment, "company=microsoft corporation", "position=генеральный директор") найдет упоминания генерального директора Microsoft Corporation |
Status |
Статус Допустимые значения: Бывший/Будущий |
fact(employment, "company=верховная рада украины", "position=депутат", "status=бывший") найдет упоминания бывших депутатов Верховной Рады Украины |
Employee |
Сотрудник |
fact(employment, "company=Facebook Inc.", "employee=regex(марк\s.+)") найдет упоминания сотрудников компании Facebook по имени Марк |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Company |
Компания |
fact(formation, "company=ikea") найдет упоминания основателя компании IKEA |
Founder |
Учредитель |
fact(formation, "founder=ингвар кампрад") найдет упоминания компаний, основанных Ингваром Кампрадом |
Date |
Дата |
fact(formation, "date=1943") найдет упоминания компаний, основанных в 1943 году |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Owner |
Собственник |
fact(ownership, "owner=геннадий тимченко") найдет упоминания того, какими компаниями владеет Геннадий Тимченко |
Owner Type |
Тип собственника |
fact(ownership, "Owner Type=People") найдет всех владельцев-людей. |
Company |
Компания |
fact(ownership, "company=mail.ru group") найдет упоминания владельцев компании Mail.ru Group |
Company Type |
Тип компании |
fact(ownership, "Company Type=Organizations") найдет упоминания владельцев организаций. |
Status |
Статус |
fact(ownership, "status=Бывший") найдет упоминания бывших владельцев. |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Auditee |
Проверяемый |
fact(audit, "company=оао «мегафон»") найдет упоминания проверок компании «МегаАФон» Федеральной антимонопольной службой |
Auditor |
Проверяющий |
fact(audit, "auditor=прокуратура") найдет упоминания проверок, проведенных прокуратурой |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Suspect |
Подозреваемый |
fact(financial crime, "suspect=regex(администрация\s.+)") найдет упоминания администраций, подозреваемых в налоговых нарушениях |
Type |
Тип нарушения |
fact(financial crime, "type=хищение") найдет упоминания случаев хищения средств |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Defendant |
Ответчик |
fact(lawsuits, "defendant=авиахолдинг \"сухой\"", "claimant=минобороны") найдет упоминания исков Минобороны к авиахолдингу «Сухой» |
Claimant |
Истец |
fact(lawsuits, "claimant=regex(международная.+)", "claimant type=organizations") найдет упоминания исков, поданных международной организацией |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Company |
Компания |
fact(offshores, "company=regex(.*limited.*)") найдет упоминания оффшорных компаний, в состав названий которых входит слово "Limited" |
Location |
Локация |
fact(offshores, "location!=") найдет упоминания оффшоров, для которых известна локация |
Type |
Тип |
fact(offshores, "type=авиакомпании") найдет упоминания оффшорных авиакомпаний |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Pathogen |
Заболевание |
fact(epizooty, "pathogen=бешенство") найдет упоминания вспышек бешенства животных |
Location |
Территория |
fact(epizooty, "location=сибирская язва", "location=тюмень") найдет упоминания вспышек сибирской язвы среди животных в Тюмени |
Company |
Компания |
fact(epizooty, "company=пао \"группа черкизово\"") найдет упоминания заболеваний, обнаруженных на территории компании ПАО "Группа Черкизово" |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Yield |
Урожай |
fact(crop failure, "yield=озимый посев") найдет упоминания гибели озимых посевов |
Estimation |
Оценка ущерба |
fact(crop failure, "yield=урожай фундука", "estimation=70%") найдет упоминания гибели 70% урожая фундука |
Location |
Территория |
fact(crop failure, "location=краснодарский край") найдет упоминания неурожаев в Краснодарском крае |
Company |
Компания |
fact(crop failure, "company!=") найдет упоминания компаний, пострадавших от неурожаев |
Area |
Площадь |
fact(crop failure, "area=28,000 гектаров") найдет упоминания неурожаев, распространившихся на площадь в 28 000 гектаров |
Amount |
Объем |
fact(crop failure, "yield=зерно", "amount=200,000 тонн") найдет упоминания неурожаев зерна, где потери составили 200 000 тонн |
Loss |
Ущерб |
fact(crop failure, "loss=13,000,000,000 USD") найдет упоминания неурожаев, причинивших ущерб на сумму 13 000 000 000 долларов США |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Conflict |
Конфликт |
fact(warfare, "conflict=ракетный удар") найдет упоминания ракетных ударов |
Location |
Территория |
fact(warfare, "location=судан") найдет упоминания военных конфликтов на территории Судана |
Тип факта |
||
Параметр |
Пояснение |
Пример |
Accident |
Авария |
fact(technogenic accident, "accident=паводок") найдет упоминания паводков |
Company |
Компания |
fact(technogenic accident, "company=пао \"химпром\"") найдет упоминания аварий, связанных с компанией ПАО "Химпром" |
Facility |
Объект |
fact(technogenic accident, "accident=пожар", "facility=торгово-развлекательный центр \"вишня\"") найдет упоминания пожаров в ТРЦ «Вишня» |
Location |
Локация |
fact(technogenic accident, "location=москва") найдет упоминания аварий в Москве |
Для фильтрации результатов функции fact(), можно использовать функцию regex(). Например, fact(Activity, Match:="regex(.*Чехи.*)") оставит в результатах те факты Activity, где есть слово «Чехия» в разных падежах, например, «"Роснефть" и польская PKN Orlen заключили приложение к контракту на поставку нефти в Чехию».
Примеры
Пример задачи: Поиск дочерних предприятий компании
Чтобы найти упоминания всех дочерних компаний предприятия, можно передать название этого предприятия в качестве аргумента функции fact() и указать его роль, к примеру:
fact(Subsidiary, "Parent=ЗАО «Трансмашхолдинг»")
Пример задачи: Поиск информации о банкротстве дочерних предприятий компании
Чтобы найти информацию о банкротстве не только управляющей компании, но и ее дочерних предприятий, можно найти пересечение фактов типа Subsidiary и Bankruptcy, к примеру:
fact(Subsidiary, "Parent=ПАО «Авиакомпания «Ютэйр»") & fact(Bankruptcy)
or fact(Bankruptcy, "ПАО «Авиакомпания «Ютэйр»")
Данный запрос находит пересечение двух множеств: дочерних компаний ПАО «Авиакомпания «Ютэйр» и компаний-банкротов, т.е. случаи, где есть указание как на то, что компания является дочерней структурой ПАО «Авиакомпания «Ютэйр», так и на то, что она является банкротом. Кроме того запрос возвращает упоминания о банкротстве самой компании ПАО «Авиакомпания «Ютэйр».
Использование тональности
Для поиска конструкций, выражающих эмоциональную оценку (тональность), найденную узлом «Анализ тональности», используется функция sentiment().
Подробнее о работе узла можно узнать в разделе «Узел "Анализ тональности"»
Синтаксис
Для корректной работы функции необходимо наличие родительского узла «Анализ тональности».
Аргументы
Функция не имеет обязательных аргументов и при отсутствии опциональных вернет все тональности, найденные в тексте.
В качестве первого опционального аргумента функция принимает тип_тональности. Допустимо использование как стандартных, так и пользовательских типов тональностей. При отсутствии других аргументов функция вернет все тональности указанного типа.
Чтобы найти оценку конкретных объектов можно указать произвольное число опциональных аргументов через вертикальную черту («|»). К примеру, запрос sentiment(positive, сервис|обслуживание) вернет все случаи положительной оценки сервиса или обслуживания.
Параметры
Функция также поддерживает опциональные параметры тональности, позволяющие искать определенную оценку конкретных объектов. Набор параметров тональности универсален и не завсит от типа тональности. Названия параметров соответствуют названиям колонок в отчете узла «Анализ тональности». Пример отчета приведен ниже.
Значением аргумента или параметра тональности может быть слово или фраза в нормальной форме. Так, запрос sentiment(positive, сервисом) не вернет результатов, правильным будет запрос sentiment(positive, сервис).
Значение аргумента или параметра тональности также можно задать с помощью регулярного выражения. К примеру запрос sentiment(positive, "regex(серв.*)") вернет результаты для «сервисом», «сервисное обслуживание», «сервис-бригады» и т.д. Подробнее об использовании регулярных выражений см. «Вводная информация о регулярных выражениях»
При указании аргументов, параметров и их значений регистр не учитывается, т.е. sentiment(Positive, Сервис) = sentiment(positive, сервис).
Тип тональности |
Positive Положительная оценка |
|
Negative Отрицательная оценка |
||
Параметр |
Пояснение |
Пример |
Subject |
Субъект Автор оценки или объект эмоционально окрашенного действия |
sentiment(negative, "subject!=") найдет случаи, где указан субъект оценки |
Evaluation |
Оценка Слово или фраза, выражающие оценку |
sentiment(positive, "subject=владимир путин", "evaluation=довольный") найдет все объекты, которыми доволен Владимир Путин |
Object |
Объект Предмет оценки или объект производящий эмоционально окрашенное действие |
sentiment(negative, "object=ванная комната") найдет случаи негативной оценки ванных комнат |
HeadObject |
Вершина Значимая часть объекта оценки. К примеру, если «современный отель» – объект оценки, то вершиной будет «отель» |
sentiment(negative, "headobject=комната") найдет случаи негативной оценки комнат |
Degree |
Степень выраженности оценки Допустимые значения для типа Positive: целые числа от 1 до 5 (min_positive→max_positive) Допустимые значения для типа Negative: целые числа от -5 до -1 (max_negative→min_negative) |
sentiment(positive, "object=ванная комната", "degree>=3") найдет отзывы о ванных комнатах со степенью выраженности положительной оценки более 3 по пятибальной шкале |
Для фильтрации результатов функции sentiment(), можно использовать функцию regex(). Например, sentiment(Positive, "regex(.*хороший.*)") оставит в результатах те тональности Positive, где есть слово «хороший», например, «Иванов - очень хороший специалист», «я показала хороший результат».
Примеры
Пример задачи: Анализ качества гостиничного сервиса
Чтобы оценить качество гостиничного сервиса по заданному ряду параметров, можно передать их функции sentiment() и исследовать негативные отзывы клиентов по каждому из них. Для этого можно сформировать следующий запрос:
sentiment(negative, персонал|сотрудник|безопасность|расположение|дизайн|оформление|шумоизоляция|чистота|комфорт|завтрак|номер)