Веб-резиденция профессионального дизайна 12.01.2010
Jabberwacky — проект группы английских ученых под руководством Ролло Карпентера (Rollo Carpenter) по созданию робота, способного имитировать естественное человеческое общение. На сегодняшний день Jabberwacky – один из лучших роботов подобного типа в Мире. Он дважды получал премию Лебнера (the Loebner Prize), что говорит о высокой степени реалистичности общения. Идея использования технологии Jabberwacky в процессе обучения английскому языку возникла на кафедре информационно-управляющих и мультимедиа систем Санкт-Петербургского университета культуры и искусств. С одним из сотрудников кафедры, «папой» робота-учителя — Ильей Зайцевым, защитившем кандидатскую работу по теме, мы и поговорим сегодня.
Ролло Карпентер, Лондон, Великобритания. Руководитель Existor ltd. UK
Александр Линецкий: Илья, почему робот? С самого начала, когда я узнал об этом проекте, мне показалось, что слово «робот» в данном контексте звучит несколько нарочито. Почему робот? Не лингвистическая система, не компьютерная программа, не он-лайн преподаватель, не лингво-тренажер, не говорящий аватар, в конце концов, а именно робот?
Илья Зайцев: Да, много слов интересных есть в русском языке. Но фактически выбор сводится к двум вариантам: система или робот. Система – как-то безжизненна, а робот, только не в Чапековском, а скорее в гуманизированном Азимовском смысле, мне кажется, очень позитивный термин.
А.Л.: Если уж продолжать тему роботов, но абстрагироваться от облака ассоциаций с этим словом — повизгиванию сервомоторов, «стробоскопической» походки, восстания машин и прочей фантастической клюквы, а вспомнить Три Закона робототехники для роботов от Айзека Азимова:
Робот не может причинить вред человеку или своим бездействием допустить, чтобы человеку был причинен вред.
Робот должен повиноваться всем приказам, которые отдает человек, кроме тех случаев, когда эти приказы противоречат Первому закону.
Робот должен заботиться о своей безопасности в той мере, в какой это не противоречит Первому и Второму законам.
Ваш Джордж соответствует канонам?
И.З.: Я думаю, что нет... Азимов придумывал эти законы совсем в другое время, как я понимаю в 1940-х годах, когда фантасты разрабатывали большей частью только один сценарий... Я имею в виду вопросы захват мира, восстание роботов... И Азимов пытался убрать этот стереотип в представлении о роботах, и, мне кажется, ему это удалось.
А наши роботы живут в совершенно иной реальности, в мире информации... А там действуют другие силы, нужно переформулировать эти законы. Самое главное, что сделать это очень сложно... Мы просто не знаем, чем является эта другая информационная реальность, и при помощи наших роботов просто пытаемся чуть больше узнать о ней. Странно опасаться того, что микроскоп или, например, научно-исследовательский спутник может захватить мир :)
А.Л.: Будем считать, что с «роботами» мы разобрались. Теперь еще одна, не менее яркая приманка для падких на сенсации журналистов — искусственный интеллект. Можно ли Джорджа назвать носителем искусственного разума?
И.З.: Мне более привычен термин искусственный интеллект... И если мы условимся в рамках нашей беседы считать эти два понятия синонимами, то мой ответ будет положительным.
Зайцев Илья Евгеньевич, Санкт-Петербург, Россия. Руководитель ООО «МЕТАБУРГ», к.филол.н., преподаватель факультета информационных технологий и медиадизайна (ФИТиМ) Санкт-Петербургского университета культуры и искусств
А.Л.: Просматривая материалы СМИ по Вашему проекту, я наткнулся на высказывание Дениса Рунова (автора методики обучения иностранным языкам. Ред.): «Разработки искусственного интеллекта настолько далеки от совершенства, что даже в нобелевском конкурсе разыгрываются только бронзовые награды». Исходя из этого, насколько для процесса обучения важна эта пресловутая «искусственная интеллектуальность» Джорджа?
И.З.: Да, но даже бронзовые награды премии Лёбнера стоят очень многого... И на примере полугода работы нашей виртуальной школы LiveEnglish.ru мы видим, что многие пользователи одушевляют нашего робота... Общаясь с Джорджем, пользователи рассказывают нам, что ведут длинные связные диалоги... Единственной причиной считать Джорджа «далеким от совершенства» может быть непонимание собеседников друг друга... Но непонимание встречается и в нашей повседневной жизни, при общении человека с человеком. А попробуйте пообщаться еще и с иностранцем на другом языке...
А на Ваш вопрос Денис Рунов сам дал ответ. После своей тирады о несовершенстве искусственного интеллекта он сказал, что-то вроде: «…но данные технологии безусловно полезны». Или как-то так…
А.Л.: Мы тут с Вами попали на минное поле смыслов и терминов: что есть учитель, какова миссия преподавания — как бы не застрять тут :--)) Тем не менее, пословица «Повторение — мать учения» — это про что? Про определенное натаскивание ученика, про выработку рефлексов, не так ли? Не кажется ли Вам, что именно здесь и может проявиться преимущество робота перед человеком?
И.З.: Да, безусловно, нашего Джорджа можно рассматривать как тренажер разговорного английского языка... В мировом Интернете это первый специализированный проект такого рода. Ролло Карпентер неоднократно говорил, что благодаря нашей совместной работе русскоязычные пользователи первыми в мире смогут использовать образовательные технологии такого уровня. Сфера применения нашей образовательной технологии очень велика, и мы только начинаем исследование этого направления...
А.Л.: У Вас же совместный проект с британцами? А ведь именно в Британии развит институт тьюторства (тьюторинга). Джордж к какому полюсу ближе к тьютору или к Учителю?
И.З.: Джордж ближе к собеседнику, другу... Другие наши проекты – к учителю.
Илья был первым главным героем интервью, запись которого состоялась в помещении редакции на Мойке, 8
А.Л.: Илья, где-то я вычитал, что Вы назвали Джорджа цифровым зеркалом. Но ведь, как известно, зеркало возвращает изображение тому, кто перед ним предстал. В данном же случае, слово, фраза, шутка, оборот речи, поступившие от одного человека могут вернуться (и возвращаются) другому (другим). Да еще и в видоизмененном виде, в другом контексте. Что порождает новые смыслы. Сдается мне, что Джордж бы не обрадовался, узнай он, что «папа» сравнил его с зеркалом… Как минимум — магическое зеркало. Нет?
И.З.: Если дословно, то я назвал его «Умным цифровым зеркалом». Эта формулировка возникла на вопрос о технологии, а не о самом Джордже… Фактически мы создали технологию «вербальной реальности», т.е. есть виртуальная реальность, а у нас вербальная... Мы только что закончили разработку и приступили к тестированию нового «компонента» нашей системы: «Вербаккумулятора» - технология позволяющая создавать эти вербальные реальности... Это очень интересная, но другая тема...
А.Л.: Тут мы с Вами докатились уже до проблемы интерфейса. Мне когда-то понравилось высказывание одного философа — Арсения Гулыги, что, мол, произведение искусства — это не только сам предмет, но и глаза зрителя (цитирую по памяти, но смысл верен). Очень упрощая: посади перед Джорджем дурака — и он дураком обернется, посади умного – и Джордж за профессора сойдет! Насколько в этой системе человек-машина ведущая (или ведомая) роль за человеком?
И.З.: В наших субъективных реальностях ведущая роль всегда за субъектом, за человеком... Хотя есть и другие точки зрения, ведь реальности у всех разные...
А.Л.: Продолжая про интерфейс, не могу не затронуть еще одну больную тему, напрямую связанную с искусственным интеллектом — распознавание голоса. Сейчас общаться с Джорджем можно только при помощи тайпинга. А когда с ним можно будет нормально поболтать?
И.З.: Технологии распознавания отстают от синтеза речи, но мы пытаемся работать и в этом направлении. Хотя пока четких договоренностей с какими-либо группами, занимающимися этой проблематикой, у нас нет...
А.Л.: Я как-то сам на прикладном уровне занимался вопросом распознавания голоса. В этом смысле, английский язык в более выигрышном положении: даже стандартные средства Виндовоза более-менее пригодны для распознавания голосовых команд на английском. Чего нельзя сказать про русский язык. А ведь у Джорджа появился братишка — Иван. Неужто голосовое общение с ним запоздает относительно старшего брата?
И.З.: Распознавание голосовых команд намного проще, чем распознавание связной речи. С распознаванием русской речи дело обстоит плохо... Хотя я не специалист в этих вопросах...
А.Л.: Теперь про GUI: графическая оболочка Джорджа очень аскетична. Мало того, что 2D, так еще и очень условная. Ни тебе артикуляции, ни эмоций. Только моргает в shuffle режиме. Сейчас, когда по всем странам и континентам победной поступью идет камероновский Аватар — персонаж, рожденный воображением художника и расчетом инженера, не могу не спросить: есть ли планы «выдавить» Джорджа из 2D в 3D?
И.З.: Нашему научно-исследовательскому начинанию сложно спорить с многомиллионными бюджетами голливудских проектов... Взяли то, что было у наших английских коллег уже готового, специально Джорджа под наш проект со школой английского языка никто не готовил...
Хотя сейчас аватар Джорджа – это уже достаточно хорошо узнаваемый образ, и мы, и наши пользователи, и журналисты к нему очень привыкли. Скоро появятся другие наши проекты, там будут другие роботы, отвечающие своим задачам, а Джордж мне кажется со своими справляется хорошо... т.е. Джорджа переделывать/перерисовывать пока не будем.
А.Л.: Не думал, что мы разойдемся по этому вопросу :--)) Тем не менее, еще про интерфейс: с уровнем нынешних технологий легко представить, что с системой вскоре можно будет запросто общаться и без клавиатуры, что пол и возраст, тембр голоса и одежду тьютора выбирает сам пользователь, что наследники Джорджа переедут на сенсорные панели и будут реагировать не только на голос, но также и на жесты. Скажем, шлепок ладонью — наказание, поглаживание — поощрение, ну и более примитивные — слежение за пальцем юзера влево-вправо/вверх-вниз. Все эти телодвижения имеют обратную связь в виде эмоций. Зачем это нужно? Представьте, что кто-то участвует в самодеятельности и готовит роль на английском. Шекспир, Гамлет, to be — or not to be?! Произнесение этой фразы ровным голосом — суть ошибка. А так, шлепнул тьютора легонько — и он уже орет классический текст с классическим же выражением :--)) Наследники Джорджа перекочуют на разного рода мобильные устройства с сенсорными экранами и не будут покидать своих учеников теперь нигде и никогда. И сдается мне, что этим ребятам найдется еще работенка — не только учить английскому…
И.З.: Да, перспектив использования нашей технологии действительно достаточно много. Пытаемся формулировать эти направления... Находим партнеров/единомышленников, например, сейчас с командой профессиональных психологов (студией hi-hume проектов Ёрд) готовим проект робота-психолога... и много еще всего... Да, и мы всегда открыты для новых знакомств, идей, направлений.
А.Л.: Хоть и с неохотой, но оторвемся от интерфейса и поговорим о технике дела. Не покушаясь на военные тайны, можно ли узнать — как работает этот славный малый в зеленых очках? Кластерный хостинг с серверами в разных странах? Как обрабатываются запросы? Где находится БД? Какой софт используется? Какие пиковые нагрузки? Что с безопасностью? Короче, все, что сочтете возможным — расскажите.
И.З.: Сейчас у нас три хостинговых плащадки. Две из них находятся у нас в Санкт-Петербурге, одна – в Лондоне. Веб-интерфейс, синтез речи и проверка орфографии расположены на российских серверах, искусственный интеллект Джорджа – на серверах Ролло Карпентера в Великобритании. Для синтеза речи используем Festival, проверка орфографии – pspell, а ИИ – Jabberwacky Ролло Карпентера… Большие трудности были в решении инфраструктурных вопросов. Но мы справились!
А.Л.: Человек, созданный по образу и подобию Божьему, не только выглядит, но и старается действовать как Господь, что вполне логично. Человечество создало искусственную среду обитания, искусственные аналоги природных материалов, искусственные моря и искусственные молнии и много чего еще, повторяя Создателя. И все ближе подбирается к самому главному номеру программы — репликации живых существ. Как бы это ни называли: клоны, репликанты, роботы, аватары, биоморфы — вот и Джордж одна из маленьких ступенек на пути к этой великой цели. Я прав?
И.З.: Честно говоря, мне не нравится вся эта подражательская психология. Да и вообще у меня как-то отношения с Создателем сложились весьма своеобразным образом... Мы в нашем проекте не пытаемся сделать умную машину, которая будет умней человека... Мы ищем способы совершенствования самого человека, использую при этом потенциал современных информационных технологий. Хотя вроде у того же Айзека Азимова был рассказ про роботов-учителей, учившихся у своих учеников-людей…
Папа Джорджа со своим виртуальным отпрыском.
А.Л.: Илья, что дальше?
И.З.: Сейчас открывает бесплатный доступ для школ Санкт-Петербурга к нашему Джорджу. Таким образом, наши дети смогут первыми в мире использовать подобные технологии в учебном процессе!!! Согласовываем этот вопрос с нашим городским комитетом по образованию.
Приступили к созданию русского робота Ивана для мегапроекта Имидж России, готовим робота-психолога, придумываем новые форматы оцифровки знаний, развиваем технологию вербальной реальности… да много всего еще:)...
А.Л.: Илья, огромное спасибо за беседу! Было очень приятно пообщаться!
И.З.: Спасибо Вам! Да, и отдельное спасибо за создание и развитие Вашей уникальной Интернет-площадки для дизайнеров. Очень интересный и перспективный проект! Спасибо!
SELECT b.id
FROMa41xo_usergroupsAS a
LEFTJOINa41xo_usergroupsAS b ON b.lft <= a.lft AND b.rgt >= a.rgt
WHERE a.id = 1
SELECT id, rules
FROM `a41xo_viewlevels`
SELECT m.id, m.menutype, m.title, m.alias, m.note, m.path AS route, m.link, m.type, m.level, m.language,m.browserNav, m.access, m.params, m.home, m.img, m.template_style_id, m.component_id, m.parent_id,e.element as component
FROMa41xo_menuAS m
LEFTJOINa41xo_extensionsAS e ON m.component_id = e.extension_id
WHERE m.published = 1 AND m.parent_id > 0 AND m.client_id = 0
ORDERBY m.lft
SELECT `component`
FROM `a41xo_tortags_components`
SELECT c.*, CASEWHENCHAR_LENGTH(c.alias) THENCONCAT_WS(':', c.id, c.alias) ELSE c.id END as slug
FROMa41xo_categories as c
LEFTJOINa41xo_categoriesAS s ON (s.lft <= c.lft AND s.rgt >= c.rgt) OR (s.lft > c.lft AND s.rgt < c.rgt)
LEFTJOIN (SELECT cat.id as id FROMa41xo_categoriesAS cat JOINa41xo_categoriesAS parent ON cat.lft BETWEEN parent.lft AND parent.rgt WHERE parent.extension = 'com_content' AND parent.published != 1 GROUPBY cat.id) AS badcats ON badcats.id = c.id
WHERE (c.extension='com_content' OR c.extension='system') AND c.access IN (1,1) AND c.published = 1 AND s.id=484 AND badcats.id is null
GROUPBY c.id, c.asset_id, c.access, c.alias, c.checked_out, c.checked_out_time,
c.created_time, c.created_user_id, c.description, c.extension, c.hits, c.language, c.level,
c.lft, c.metadata, c.metadesc, c.metakey, c.modified_time, c.note, c.params, c.parent_id,
c.path, c.published, c.rgt, c.title, c.modified_user_id
ORDERBY c.lft
SELECT alias, catid FROMa41xo_content WHERE id = 484
SELECT a.rules
FROMa41xo_assetsAS a
WHERE (a.id = 1)
GROUPBY a.id, a.rules, a.lft
SELECT b.rules
FROMa41xo_assetsAS a
LEFTJOINa41xo_assetsAS b ON b.lft <= a.lft AND b.rgt >= a.rgt
WHERE (a.name = 'com_content')
GROUPBY b.id, b.rules, b.lft
ORDERBY b.lft
SELECT a.id, a.asset_id, a.title, a.alias, a.title_alias, a.introtext, a.fulltext, CASEWHEN badcats.id is null THEN a.state ELSE 0 ENDAS state, a.mask, a.catid, a.created, a.created_by, a.created_by_alias, CASEWHEN a.modified = 0 THEN a.created ELSE a.modified END as modified, a.modified_by, a.checked_out, a.checked_out_time, a.publish_up, a.publish_down, a.images, a.urls, a.attribs, a.version, a.parentid, a.ordering, a.metakey, a.metadesc, a.access, a.hits, a.metadata, a.featured, a.language, a.xreference,c.title AS category_title, c.alias AS category_alias, c.access AS category_access,u.name AS author,(
SELECTMAX(contact.id) AS id
FROMa41xo_contact_detailsAS contact
WHERE contact.published = 1 AND contact.user_id = a.created_by) as contactid,parent.title as parent_title, parent.id as parent_id, parent.path as parent_route, parent.alias as parent_alias,ROUND(v.rating_sum / v.rating_count, 0) AS rating, v.rating_count as rating_count
FROMa41xo_contentAS a
LEFTJOINa41xo_categoriesAS c on c.id = a.catid
LEFTJOINa41xo_usersAS u on u.id = a.created_by
LEFTJOINa41xo_categories as parent ON parent.id = c.parent_id
LEFTJOINa41xo_content_ratingAS v ON a.id = v.content_id
LEFT OUTERJOIN (SELECT cat.id as id FROMa41xo_categoriesAS cat JOINa41xo_categoriesAS parent ON cat.lft BETWEEN parent.lft AND parent.rgt WHERE parent.extension = 'com_content' AND parent.published <= 0 GROUPBY cat.id) AS badcats ON badcats.id = c.id
WHERE a.id = 484 AND (a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2024-04-24 18:31:20') AND (a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2024-04-24 18:31:20') AND (a.state = 1 OR a.state =2)
SELECT c.*, CASEWHENCHAR_LENGTH(c.alias) THENCONCAT_WS(':', c.id, c.alias) ELSE c.id END as slug
FROMa41xo_categories as c
LEFTJOINa41xo_categoriesAS s ON (s.lft <= c.lft AND s.rgt >= c.rgt) OR (s.lft > c.lft AND s.rgt < c.rgt)
LEFTJOIN (SELECT cat.id as id FROMa41xo_categoriesAS cat JOINa41xo_categoriesAS parent ON cat.lft BETWEEN parent.lft AND parent.rgt WHERE parent.extension = 'com_content' AND parent.published != 1 GROUPBY cat.id) AS badcats ON badcats.id = c.id
WHERE (c.extension='com_content' OR c.extension='system') AND c.access IN (1,1) AND c.published = 1 AND s.id=188922 AND badcats.id is null
GROUPBY c.id, c.asset_id, c.access, c.alias, c.checked_out, c.checked_out_time,
c.created_time, c.created_user_id, c.description, c.extension, c.hits, c.language, c.level,
c.lft, c.metadata, c.metadesc, c.metakey, c.modified_time, c.note, c.params, c.parent_id,
c.path, c.published, c.rgt, c.title, c.modified_user_id
ORDERBY c.lft
SELECT* FROM `a41xo_sitelinkx_config`
SELECT* FROM `a41xo_sitelinkx` ORDERBY wort
SELECTTIMEVALUE FROM `a41xo_jlcacklepro_timer`
SELECT max(comment_id) as maxcom FROM `a41xo_jlcacklepro_comment`
UPDATE `a41xo_jlcacklepro_timer` SET `timevalue`='1713983480' WHERE `time_id`=1
SELECT* FROM `a41xo_jlcacklepro_comment` where `post_id` ='http://design-union-spb.ru/portalnew/noosphera/interview/484-george-father' and `status` = '1'
SELECT `component`
FROM `a41xo_tortags_components`
SELECT `id`
FROM `a41xo_tortags_components`
WHERE `component`='com_content'
SELECT `t`.* FROM `a41xo_tortags_tags` AS `t`
INNERJOIN `a41xo_tortags` AS `m` ON `m`.`tid`=`t`.`id`
WHERE `m`.`item_id`=484 AND `m`.`oid`=1
ORDERBY `t`.`title` ASC
SELECT* FROM `a41xo_sitelinkx_config`
SELECT* FROM `a41xo_sitelinkx` ORDERBY wort
SELECT `component`
FROM `a41xo_tortags_components`
SELECT `component`
FROM `a41xo_tortags_components`
WHERE `id`='1'
SELECT `t`.* FROM `a41xo_tortags_tags` AS `t`
INNERJOIN `a41xo_tortags` AS `m` ON `m`.`tid`=`t`.`id`
WHERE `m`.`item_id`=484 AND `m`.`oid`=1
ORDERBY `t`.`title` ASC
UPDATEa41xo_content SET hits = hits + 1 WHERE id = 484
SELECT m.id, m.title, m.module, m.position, m.content, m.showtitle, m.params, mm.menuid
FROMa41xo_modulesAS m
LEFTJOINa41xo_modules_menuAS mm ON mm.moduleid = m.id
LEFTJOINa41xo_extensionsAS e ON e.element = m.module AND e.client_id = m.client_id
WHERE m.published = 1 AND e.enabled = 1 AND (m.publish_up = '0000-00-00 00:00:00' OR m.publish_up <= '2024-04-24 18:31:20') AND (m.publish_down = '0000-00-00 00:00:00' OR m.publish_down >= '2024-04-24 18:31:20') AND m.access IN (1,1) AND m.client_id = 0 AND (mm.menuid = 930 OR mm.menuid <= 0)
ORDERBY m.position, m.ordering
SELECT alias, catid FROMa41xo_content WHERE id = 484
SELECT alias, catid FROMa41xo_content WHERE id = 484
SELECT alias, catid FROMa41xo_content WHERE id = 484
SELECT html FROMa41xo_odude_profile_field WHERE name='design';
SELECT* FROMa41xo_users as u LEFTJOINa41xo_user_usergroup_map as ug on u.id = ug.user_id WHERE u.id=0
SELECT count(*) as v FROMa41xo_vflow_data
SELECT count(*) as v FROMa41xo_joomgallery
SELECT count(*) as v FROMa41xo_content
SELECT `a41xo_vflow_data`.* FROM ( SELECT id FROM `a41xo_vflow_data` ORDERBYRAND() LIMIT 2) as ids JOIN `a41xo_vflow_data` ON `a41xo_vflow_data`.id = ids.id
SELECT* from
( SELECT id FROM `a41xo_joomgallery` WHERE published = 1 ORDERBYRAND() LIMIT 2) as j
join `a41xo_joomgallery` on a41xo_joomgallery.id = j.id
JOIN `a41xo_joomgallery_catg` ON catid = cid;
SELECT `a41xo_content`.* FROM ( SELECT id FROM `a41xo_content` ORDERBYRAND() LIMIT 2) as ids JOIN `a41xo_content` ON `a41xo_content`.id = ids.id where state = 1
SELECT c.*, CASEWHENCHAR_LENGTH(c.alias) THENCONCAT_WS(':', c.id, c.alias) ELSE c.id END as slug
FROMa41xo_categories as c
LEFTJOINa41xo_categoriesAS s ON (s.lft <= c.lft AND s.rgt >= c.rgt) OR (s.lft > c.lft AND s.rgt < c.rgt)
LEFTJOIN (SELECT cat.id as id FROMa41xo_categoriesAS cat JOINa41xo_categoriesAS parent ON cat.lft BETWEEN parent.lft AND parent.rgt WHERE parent.extension = 'com_content' AND parent.published != 1 GROUPBY cat.id) AS badcats ON badcats.id = c.id
WHERE (c.extension='com_content' OR c.extension='system') AND c.access IN (1,1) AND c.published = 1 AND s.id=132 AND badcats.id is null
GROUPBY c.id, c.asset_id, c.access, c.alias, c.checked_out, c.checked_out_time,
c.created_time, c.created_user_id, c.description, c.extension, c.hits, c.language, c.level,
c.lft, c.metadata, c.metadesc, c.metakey, c.modified_time, c.note, c.params, c.parent_id,
c.path, c.published, c.rgt, c.title, c.modified_user_id
ORDERBY c.lft
SELECT c.*, CASEWHENCHAR_LENGTH(c.alias) THENCONCAT_WS(':', c.id, c.alias) ELSE c.id END as slug
FROMa41xo_categories as c
LEFTJOINa41xo_categoriesAS s ON (s.lft <= c.lft AND s.rgt >= c.rgt) OR (s.lft > c.lft AND s.rgt < c.rgt)
LEFTJOIN (SELECT cat.id as id FROMa41xo_categoriesAS cat JOINa41xo_categoriesAS parent ON cat.lft BETWEEN parent.lft AND parent.rgt WHERE parent.extension = 'com_content' AND parent.published != 1 GROUPBY cat.id) AS badcats ON badcats.id = c.id
WHERE (c.extension='com_content' OR c.extension='system') AND c.access IN (1,1) AND c.published = 1 AND s.id=117 AND badcats.id is null
GROUPBY c.id, c.asset_id, c.access, c.alias, c.checked_out, c.checked_out_time,
c.created_time, c.created_user_id, c.description, c.extension, c.hits, c.language, c.level,
c.lft, c.metadata, c.metadesc, c.metakey, c.modified_time, c.note, c.params, c.parent_id,
c.path, c.published, c.rgt, c.title, c.modified_user_id
ORDERBY c.lft
UPDATE `a41xo_flexbanners` SET finished=1, state=0
WHERE (enddate < '2024-04-24 21:31:20' and enddate != '0000-00-00 00:00:00' and state!=2 and state!=-2)
OR (impmade >= maximpressions AND maximpressions != 0 )
OR (clicks >= maxclicks AND maxclicks != 0)
UPDATE `a41xo_flexbanners` SET state=1
WHERE startdate<= '2024-04-24 21:31:20' and finished=0 and startdate != '0000-00-00 00:00:00' and state!=2 and state!=-2
UPDATE `a41xo_flexbanners` SET dailyimpressions=0, lastreset='2024-04-24'
WHERE lastreset< '2024-04-24' or lastreset ISNULL
SHOWFULLCOLUMNS FROM `a41xo_content`
SELECT* FROMa41xo_content WHERE `id` = '484'
SELECT `a41xo_flexbanners`.`id`,
`a41xo_flexbannerslocations`.`locationname`,
`a41xo_flexbannerslocations`.`locationid`,
`a41xo_flexbanners`.`imageurl`,
`a41xo_flexbanners`.`imagealt`,
`a41xo_flexbanners`.`type`,
`a41xo_flexbanners`.`customcode`,
`a41xo_flexbanners`.`startdate`,
`a41xo_flexbanners`.`enddate`,
`a41xo_flexbanners`.`lastreset`,
`a41xo_flexbanners`.`impmade`,
`a41xo_flexbanners`.`clicks`,
`a41xo_flexbanners`.`maximpressions`,
`a41xo_flexbanners`.`maxclicks`,
`a41xo_flexbanners`.`linkid`,
`a41xo_flexbanners`.`language`,
`a41xo_flexbanners`.`newwin`,
`a41xo_flexbannerssize`.`width`,
`a41xo_flexbannerssize`.`height`,
`a41xo_flexbanners`.`restrictbyid`,
`a41xo_flexbanners`.`dailyimpressions`
FROM `a41xo_flexbanners`
Inner Join `a41xo_flexbannerslocations` ON (`a41xo_flexbanners`.`locationid` = `a41xo_flexbannerslocations`.`locationid`
AND `a41xo_flexbannerslocations`.`state` = 1)
Inner Join `a41xo_flexbannersclient` ON (`a41xo_flexbanners`.`clientid` = `a41xo_flexbannersclient`.`clientid`
AND `a41xo_flexbannersclient`.`state` = 1)
Inner Join `a41xo_flexbannerssize` ON (`a41xo_flexbanners`.`sizeid` = `a41xo_flexbannerssize`.`sizeid`
AND `a41xo_flexbannerssize`.`state` = 1)
WHERE `a41xo_flexbannerslocations`.`locationid` = 1
AND `a41xo_flexbanners`.`state` = 1
AND `a41xo_flexbanners`.`finished` = 0
AND (`a41xo_flexbanners`.`language` = "ru-RU" or `a41xo_flexbanners`.`language` = '*')
ORDERBY `restrictbyid` desc, `dailyimpressions`
SELECT b.title as cattitle, CASEWHENCHAR_LENGTH(a.alias) THENCONCAT_WS(':', a.id, a.alias) ELSE a.id END as slug, CASEWHENCHAR_LENGTH(b.alias) THENCONCAT_WS(':', a.catid, b.alias) ELSE a.catid END as catslug FROMa41xo_contentAS a LEFTJOINa41xo_categoriesAS b ON b.id = a.catid WHERE a.id = 484
SELECT `component`
FROM `a41xo_tortags_components`
SELECT* FROM `a41xo_tortags_components`
WHERE `component`='com_content'
SELECT `id`
FROM `a41xo_tortags_components`
WHERE `component`='com_content'
SELECT `t`.* FROM `a41xo_tortags_tags` AS `t`
INNERJOIN `a41xo_tortags` AS `m` ON `m`.`tid`=`t`.`id`
WHERE `m`.`item_id`=484 AND `m`.`oid`=1
SELECT `t`.`title`
FROM `a41xo_tortags_tags` AS `t`
ORDERBY `t`.`hits` DESC LIMIT 0, 300
SELECT b.rules
FROMa41xo_assetsAS a
LEFTJOINa41xo_assetsAS b ON b.lft <= a.lft AND b.rgt >= a.rgt
WHERE (a.name = 'com_tortags')
GROUPBY b.id, b.rules, b.lft
ORDERBY b.lft
SELECT m.* FROMa41xo_modulesAS m
LEFTJOINa41xo_extensionsAS e ON e.element = m.module AND e.client_id = m.client_id
WHERE m.client_id = 0 AND m.id = 10186 AND m.access IN (1,1) AND m.published = 1 AND e.enabled = 1
ORDERBY m.ordering
SELECT m.* FROMa41xo_modulesAS m
LEFTJOINa41xo_extensionsAS e ON e.element = m.module AND e.client_id = m.client_id
WHERE m.client_id = 0 AND m.id = 10187 AND m.access IN (1,1) AND m.published = 1 AND e.enabled = 1
ORDERBY m.ordering
SELECT m.* FROMa41xo_modulesAS m
LEFTJOINa41xo_extensionsAS e ON e.element = m.module AND e.client_id = m.client_id
WHERE m.client_id = 0 AND m.id = 10168 AND m.access IN (1,1) AND m.published = 1 AND e.enabled = 1
ORDERBY m.ordering
SELECT m.* FROMa41xo_modulesAS m
LEFTJOINa41xo_extensionsAS e ON e.element = m.module AND e.client_id = m.client_id
WHERE m.client_id = 0 AND m.id = 81 AND m.access IN (1,1) AND m.published = 1 AND e.enabled = 1
ORDERBY m.ordering
SELECT m.* FROMa41xo_modulesAS m
LEFTJOINa41xo_extensionsAS e ON e.element = m.module AND e.client_id = m.client_id
WHERE m.client_id = 0 AND m.id = 10166 AND m.access IN (1,1) AND m.published = 1 AND e.enabled = 1
ORDERBY m.ordering
SELECT m.* FROMa41xo_modulesAS m
LEFTJOINa41xo_extensionsAS e ON e.element = m.module AND e.client_id = m.client_id
WHERE m.client_id = 0 AND m.id = 16 AND m.access IN (1,1) AND m.published = 1 AND e.enabled = 1
ORDERBY m.ordering
SELECT alias, catid FROMa41xo_content WHERE id = 484
SELECT social_id FROMa41xo_bt_connections WHERE social_type ="facebook" AND user_id ="0"
42 типов SQL-запросов зафиксировано, отсортировано по вхождениям
Запросы типа SELECT:
6 × SELECT m.* FROMa41xo_modulesAS m LEFTJOINa41xo_extensionsAS e ON e.element = m.module AND e.client_id = m.client_id
5 × SELECT alias, catid FROMa41xo_content
4 × SELECT c.*, CASEWHENCHAR_LENGTH(c.alias) THENCONCAT_WS(':', c.id, c.alias) ELSE c.id END as slug FROMa41xo_categories as c LEFTJOINa41xo_categoriesAS s ON (s.lft <= c.lft AND s.rgt >= c.rgt) OR (s.lft > c.lft AND s.rgt < c.rgt) LEFTJOIN (SELECT cat.id as id FROMa41xo_categoriesAS cat JOINa41xo_categoriesAS parent ON cat.lft BETWEEN parent.lft AND parent.rgt
4 × SELECT `component` FROM `a41xo_tortags_components
3 × SELECT `t`.* FROM `a41xo_tortags_tags` AS `t` INNERJOIN `a41xo_tortags` AS `m` ON `m`.`tid`=`t`.`id`
2 × SELECT b.rules FROMa41xo_assetsAS a LEFTJOINa41xo_assetsAS b ON b.lft <= a.lft AND b.rgt >= a.rgt
2 × SELECT* FROM `a41xo_sitelinkx`
2 × SELECT* FROM `a41xo_sitelinkx_config
2 × SELECT `id` FROM `a41xo_tortags_components`
1 × SELECT `a41xo_content`.* FROM ( SELECT id FROM `a41xo_content` ORDERBYRAND() LIMIT 2) as ids JOIN `a41xo_content` ON `a41xo_content`.id = ids.id
1 × SELECT* FROMa41xo_content
1 × SELECT* from ( SELECT id FROM `a41xo_joomgallery`
1 × SELECT count(*) as v FROMa41xo_conten
1 × SELECT `a41xo_vflow_data`.* FROM ( SELECT id FROM `a41xo_vflow_data`
1 × SELECT* FROM `a41xo_tortags_components`
1 × SELECT b.id FROMa41xo_usergroupsAS a LEFTJOINa41xo_usergroupsAS b ON b.lft <= a.lft AND b.rgt >= a.rgt
1 × SELECT social_id FROMa41xo_bt_connections
1 × SELECT `t`.`title` FROM `a41xo_tortags_tags` AS `t`
1 × SELECT count(*) as v FROMa41xo_joomgaller
1 × SELECT b.title as cattitle, CASEWHENCHAR_LENGTH(a.alias) THENCONCAT_WS(':', a.id, a.alias) ELSE a.id END as slug, CASEWHENCHAR_LENGTH(b.alias) THENCONCAT_WS(':', a.catid, b.alias) ELSE a.catid END as catslug FROMa41xo_contentAS a LEFTJOINa41xo_categoriesAS b ON b.id = a.catid
1 × SELECT `a41xo_flexbanners`.`id`,
`a41xo_flexbannerslocations`.`locationname`,
`a41xo_flexbannerslocations`.`locationid`,
`a41xo_flexbanners`.`imageurl`,
`a41xo_flexbanners`.`imagealt`,
`a41xo_flexbanners`.`type`,
`a41xo_flexbanners`.`customcode`,
`a41xo_flexbanners`.`startdate`,
`a41xo_flexbanners`.`enddate`,
`a41xo_flexbanners`.`lastreset`,
`a41xo_flexbanners`.`impmade`,
`a41xo_flexbanners`.`clicks`,
`a41xo_flexbanners`.`maximpressions`,
`a41xo_flexbanners`.`maxclicks`,
`a41xo_flexbanners`.`linkid`,
`a41xo_flexbanners`.`language`,
`a41xo_flexbanners`.`newwin`,
`a41xo_flexbannerssize`.`width`,
`a41xo_flexbannerssize`.`height`,
`a41xo_flexbanners`.`restrictbyid`,
`a41xo_flexbanners`.`dailyimpressions`
FROM `a41xo_flexbanners`
Inner Join `a41xo_flexbannerslocations` ON (`a41xo_flexbanners`.`locationid` = `a41xo_flexbannerslocations`.`locationid`
AND `a41xo_flexbannerslocations`.`state` = 1)
Inner Join `a41xo_flexbannersclient` ON (`a41xo_flexbanners`.`clientid` = `a41xo_flexbannersclient`.`clientid`
AND `a41xo_flexbannersclient`.`state` = 1)
Inner Join `a41xo_flexbannerssize` ON (`a41xo_flexbanners`.`sizeid` = `a41xo_flexbannerssize`.`sizeid`
AND `a41xo_flexbannerssize`.`state` = 1)
1 × SELECT html FROMa41xo_odude_profile_field
1 × SELECTTIMEVALUE FROM `a41xo_jlcacklepro_timer
1 × SELECT max(comment_id) as maxcom FROM `a41xo_jlcacklepro_comment
1 × SELECT a.id, a.asset_id, a.title, a.alias, a.title_alias, a.introtext, a.fulltext, CASEWHEN badcats.id is null THEN a.state ELSE 0 ENDAS state, a.mask, a.catid, a.created, a.created_by, a.created_by_alias, CASEWHEN a.modified = 0 THEN a.created ELSE a.modified END as modified, a.modified_by, a.checked_out, a.checked_out_time, a.publish_up, a.publish_down, a.images, a.urls, a.attribs, a.version, a.parentid, a.ordering, a.metakey, a.metadesc, a.access, a.hits, a.metadata, a.featured, a.language, a.xreference,c.title AS category_title, c.alias AS category_alias, c.access AS category_access,u.name AS author,( SELECTMAX(contact.id) AS id FROMa41xo_contact_detailsAS contact
1 × SELECT a.rules FROMa41xo_assetsAS a
1 × SELECT id, rules FROM `a41xo_viewlevels
1 × SELECT* FROM `a41xo_jlcacklepro_comment`
1 × SELECT `session_id` FROM `a41xo_session`
1 × SELECT* FROMa41xo_users as u LEFTJOINa41xo_user_usergroup_map as ug on u.id = ug.user_id
1 × SELECT m.id, m.menutype, m.title, m.alias, m.note, m.path AS route, m.link, m.type, m.level, m.language,m.browserNav, m.access, m.params, m.home, m.img, m.template_style_id, m.component_id, m.parent_id,e.element as component FROMa41xo_menuAS m LEFTJOINa41xo_extensionsAS e ON m.component_id = e.extension_id
1 × SELECT m.id, m.title, m.module, m.position, m.content, m.showtitle, m.params, mm.menuid FROMa41xo_modulesAS m LEFTJOINa41xo_modules_menuAS mm ON mm.moduleid = m.id LEFTJOINa41xo_extensionsAS e ON e.element = m.module AND e.client_id = m.client_id
1 × SELECT `component` FROM `a41xo_tortags_components`
1 × SELECT count(*) as v FROMa41xo_vflow_dat
Прочие SQL-запросы:
1 × UPDATE `a41xo_flexbanners` SET state=1
1 × UPDATE `a41xo_flexbanners` SET dailyimpressions=0, lastreset='2024-04-24'
1 × SHOWFULLCOLUMNS FROM `a41xo_content
1 × UPDATE `a41xo_flexbanners` SET finished=1, state=0