![]() |
![]() |
![]() |
![]() |
Найти смысл в тексте |
|
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2022-11-01 15:00 ![]() Для человека, залезающего в интернет, чтобы купить билет на поезд или посмотреть, за кем замужем актриса N, сеть — предмет повседневного удобства. Но для идеологических и силовых структур, для политиков и крупных корпораций информационный поток одновременно и поле боя, и орудие конкурентной борьбы. Поток всё время растёт пропорционально количеству вовлечённых в производство информации людей, поэтому компьютерные лингвисты говорят о перспективе информационного хаоса примерно с теми же интонациями, с какими экологи — о глобальном потеплении. Однако, в отличие от глобального потепления, проблема информационного хаоса сама содержит в себе своё решение: если оцифрованного текста стало слишком много, почему бы не делегировать наведение порядка компьютерам? Ведь оцифрованный — значит, доступный для автоматической обработки. Поисковики решают проблему только отчасти. Любой пользователь знает, сколько времени занимает поиск по ключевому слову. Хорошо, если мы ищем что-то, что нам хотят продать: в этом случае задачу «найтись» берёт на себя продавец. А если нам нужно что-то не имеющее коммерческого смысла? А если не «что-то» — а всё по некоторой теме, потому что предстоит принимать решение с очень высокой ценой? Дело за малым: надо научить программу не просто реагировать на ключевое слово, как это делают поисковики, а извлекать из сказанного смысл. Кто хоть раз сдавал какой-нибудь международный экзамен по иностранному языку, знает, что информация устроена сложно и нелинейно, а прочитать текст (в человеческом смысле слова) далеко не то же самое, что извлечь из него смысл. Тексты, предлагаемые на таких экзаменах, часто заведомо слишком объёмны, чтобы успеть и дочитать их до конца, и ответить на вопросы. Западная школа, осознавая, с каким колоссальным информационным потоком приходится иметь дело профессионалу, довольно рано начинает учить школьника трём типам чтения: не только обычному — подробному, ничего не упускающему, но и сканирующему (scanning) и суммирующему (skimming) — тем, что в русской традиции называется «читать по диагонали». Задача сканирующего чтения — найти в тексте именно те «места», которые актуальны для текущей задачи; суммирующего — быстро, в один взгляд, понять суть сказанного в статье, главе или разделе в целом. От машинной обработки сырого информационного потока специалисты хотят добиться примерно такого же — функционального результата. Но если учиться «суммировать» — извлекать и обобщать суть сказанного — понятная постановка задачи (это и не каждый человек умеет), то простой поиск нужного, например документа в корпоративной сети, кажется не таким уж актуальным. Неужели при наличии сегодняшних поисковиков трудно найти нужную бумажку на сервере? — Это огромная проблема, — убеждена Татьяна Даниэлян, заместитель директора по разработке технологий компании ABBYY, известной своими интеллектуальными системами распознавания и обработки текста и беспрецедентной для коммерческой компании вовлечённостью в теоретическую лингвистику на всех российских площадках, где ею занимаются всерьёз. — Быстрый поиск — одна из актуальнейших задач. По всем исследованиям и в США и в мире сотрудники компаний тратят на поиски нужных документов более 50% времени. Человек помнит, что отсылал какой-то документ, или предполагает, что должен был его получить, или, зная свою компанию, понимает, что такой документ обязательно уже существует, — но как сформулировать поисковый запрос? Этого никто толком не знает, поэтому люди тратят много времени, чтобы придумать, как составить запрос, чтобы удалось найти именно этот документ (полнота поиска) и не получить при этом слишком много ненужных документов (точность). В худшем случае сотрудник отчаивается и начинает создавать искомый документ сам: дублирует уже кем-то сделанное. Казалось бы — мелочь, но если суммировать этот фактически выброшенный в корзину человеческий ресурс, масштаб потерь получится индустриальным. Чтобы искать быстрее и точнее, необходимо внести в поиск элемент «ума». — Стандартная задача, которую сейчас пытаются все решать, даже за пределами компьютерной лингвистики, называется Named Entity Recognition, распознавание, или извлечение именованных сущностей, — объясняет Татьяна Даниэлян. — Примеры именованных сущностей — это персоны, организации, географические места, деньги, даты, время и так далее. Эта задача более или менее решена. Однако, конечно, никому не интересно извлекать сущности просто так. Чаще всего нам нужно знать: а что с этой сущностью происходит, например: «Кто, где, когда, с кем что делал и что планирует делать дальше?». Все хотят извлекать из огромного потока текстов события и связи, которые соотнесены с сущностями. Одного «извлечения сущностей» достаточно, чтобы почувствовать себя на симпозиуме лапутянских мудрецов, а считалка из детской игры «в чепуху» (кто, с кем, где, когда...) это ощущение усиливает. Значительная доля обаяния компьютерной лингвистики в том, что она рождена на стыке, с одной стороны, предельной прагматики, а с другой — гуманитарной науки, то есть наименее строгой области человеческого знания. «Извлекаемые сущности» не единственный пример того, как умозрительная, интроспективная, практически невалидируемая сетка «философских категорий» превращается в руках компьютерной лингвистики в работающий инструмент. Если для этого надо кое-что подправить и упростить, так тому и быть, главное, чтобы работало. — Факты, события, связи — это любая информация, которая характеризует сущности и имеет протяжённость во времени и пространстве, — объясняет Татьяна. — Например, наличие или отсутствие, рождение или смерть. Более сложные факты (события) — встреча между двумя лицами, или когда один купил, а другой продал, или противоправное действие и судебное решение; а также кто кому кем приходится (связи). Всё это не так просто извлечь, потому что одна и та же ситуация может описываться разными текстами: например, «Вася украл у Пети кошелёк», «Василий вытащил у Петра Иваныча бумажник» и «Деньги пропали из кармана П. Иванова». Задача в том, чтобы программа увидела в этом случае одно событие, а не три разных. Инженерия и наука приучили нас к тому, что машины во многих отношениях «умнее» нас: безошибочнее считают, лучше моделируют, информативнее «показывают» (если это, например, компьютерный томограф или хорошая цифровая фотокамера), быстрее обмениваются информацией, лучше извлекают закономерности... В компьютерной лингвистике дело обстоит пока наоборот: тому, что мы понимаем сразу, без обдумывания, машину приходится обучать — изощрёнными способами и с далёким от 100% результатом. «Я вызвал доктора на дом, и он пришёл» — для человека очевидно, что пришёл не дом, а доктор, а как должна об этом узнать машина? «Маша заказала мороженое, Марина — кофе». Что произошло между Мариной и кофе? Лингвисты любовно коллекционируют примеры лингвистической неоднозначности и демонстрируют их друг другу на профессиональных конференциях: Эти типы стали есть в литейном цехе — какие-то типы достали в цехе бутерброды, или речь идёт о промышленном ресурсе? Он видел их семью своими глазами — семиглазый наблюдатель? Интересно писать просто — где граница между тем, о чём говорится, и тем, что говорится: писать просто — это интересная задача или писать интересно под силу любому? С неоднозначностью вроде «типы стали есть…» или «видел семью…» современные машинные переводчики, «обременённые» кое-какими знаниями о мире, уже неплохо справляются. Но о многочисленные «это» и «свои» машина, как правило, мучительно спотыкается: с чем из упомянутого ранее их соотнести? К компьютеру слово «понимание» применимо условно. Машинное «чтение» — это способность с некоторой степенью точности «понять смысл»: идёт в тексте речь об одном и том же или о разных вещах? Если о разных, то о похожих или нет? Если похожих, то до какой степени? Что говорится в текстах о конкретном лице или марке — вызывает ли она у людей эмоции (а в идеале ещё и какие)? Хорошо или плохо относятся к ней создатели текстов и в каких долях? Как меняется динамика этого спектра отношений от недели к неделе, от места к месту, от одной возрастной группы к другой? Держать армию людей, мониторящих, что в интернете говорят об X в реальном времени, очень затратно, к тому же весь интернет не промониторишь. Репрезентативное социологическое исследование — дело не быстрое и имеет свои погрешности. А знать хочется; как шутят некоторые разработчики, ещё и с адресами недовольных (для рассылки рекламных предложений, разумеется, потому что Х — это коммерческий бренд — а вы что подумали?). Это любопытство можно удовлетворять быстрее и надёжнее, если формализовать смысл так, чтобы он стал «видимым» для машины: разложить его на регулярные компоненты и обучить систему их распознавать. — У нас в ABBYY есть три единицы смысла, связанного с конкретным значением, — объясняет Татьяна Даниэлян. — Первая — общее понятие, к которому мы подключаем конкретное значение. Мы создали универсальную семантическую иерархию — своего рода ветвящееся «дерево», на котором происходит наследование значений от смысловых «родителей» к «потомкам»: от общих категорий к более детальным. «Листочком» этого дерева может быть, например, «стол», а «веткой», узлом, от которого значение «стол» наследует смысловые признаки, — «мебель», она в свою очередь будет входить в более общую категорию «предмет», «объект» и так далее. Мы называем свою иерархию универсальной, потому что «дерево» сделано общим для всех языков, а его «ветки» и конечные «листочки» могут наполняться словами любого конкретного языка. Вторая единица — у нас она называется семантема — это дополнительная характеристика, например, съедобное — несъедобное, искусственное — природное и им подобные. Это характеристика, которая для данного значения дополняет информацию чем-то важным для понимания смысла. — Зачем нужна отдельная категория «съедобное»? Разве это не часть самого значения? — Иногда одно и то же значение может быть и «съедобным» и «несъедобным». Например, слово «печёный» может относиться и к торту — и тогда оно «съедобное», и к технологии производства кирпича. И наконец, третье — основное — это семантическая связь между значениями, она же — глубинная позиция. Субъект — предикат — объект; локативы («где?»), темпоралы («когда?») и так далее. Кошка съела колбасу и Колбаса съедена кошкой — синтаксически разные структуры, а семантически — одна, и система должна это понимать. А есть ещё отдельный уровень формализации смысла — онтология. Когда онтоинженеры пишут правила извлечения информации, они как раз объясняют, как то, что мы видим в реальном мире, связано с семантикой. Фактически они создают модель мира для некоторой конкретной области, используя в качестве основы те пять сущностей, о которых мы говорили выше, и добавляя новые. В общем смысле онтология — инструмент философии, реестр основных отвлечённых категорий (структура и свойства, материальное и идеальное и им подобные), предназначенный для описания всего сущего. В компьютерной лингвистике и других прикладных областях онтология становится проще и ближе к людям: моделирует не всё сущее, а только тот его кусочек, который связан с конкретной задачей или конкретной предметной областью. — Чтобы что-то запрограммировать, — объясняет Анатолий Старостин, руководитель группы семантического анализа в ABBYY и преподаватель компьютерной лингвистики в МФТИ, — это «что-то» нужно формализовать. Лингвист-теоретик может предложить формализацию даже с огрехами — с недоразрешёнными вопросами, и на выходе всё равно будет статья. В компьютерной лингвистике иначе: если в формализации есть огрех, то программа просто не будет работать. Поэтому модели в ней могут использоваться очень простые, но всегда работающие. Вообще, теоретическая лингвистика смотрит на методы формализации смысла по-разному. Не все строят универсальную семантическую иерархию; можно ли организовать в иерархию вообще всё — это большой теоретический вопрос. Мы это сделали, и оно работает. Лично мне интересно, возможен ли гибрид такой иерархии, как наша, и онтологии, которая идёт от задачи? Ведь, вообще-то говоря, они где-то должны сойтись. Мне кажется, у человека в голове это организовано ещё красивее: у него там с самого начала — большая онтология, сложно и не очень понятно устроенная, да ещё и динамичная: мы всё время что-то узнаём, что-то забываем, и под эти концепты в нашем сознании постоянно «подшиваются» слова... — А что будет, когда множество предметных онтологий, созданных для решения прикладных задач, сольются в этакий семантический Солярис, способный описывать абсолютно всё? — Получится практически живой робот, — улыбается Старостин, — который будет концептуализировать всю окружающую реальность. Но мы этим не занимаемся. — Прежде всего, это не имело бы смысла, — объясняет Татьяна Даниэлян. — Чтобы решить задачу, её сужают. «Всемогуторы» никому не нужны. Такой сдержанной компьютерная лингвистика была не всегда. Её юные годы отмечены как приступами эйфории, так и острыми разочарованиями. — Тяга к структуризации, к описанию естественного языка формальными средствами присуща лингвистической науке, — рассказывает Старостин, — с середины XX века теоретики только этим и занимаются. Когда в пятидесятые годы появились первые компьютеры, люди сразу начали фантазировать, как бы с их помощью решать задачи обработки естественного языка. Тогда вся лингвистика была теоретической: пыталась строить модели языка и получала довольно интересные результаты. Казалось бы, просто: модели у лингвистов есть, давайте их кодировать и через два года получим, например, машинный переводчик. Этого, конечно, не случилось. Модели развивались, на их основе появлялись алгоритмы, начинали работать, но... каменная чаша не выходила: получалось не очень хорошо. Хорошее лингвистическое описание «из головы» оказалось задачей не то чтобы не решаемой, но слишком объёмной, чтобы справиться с ней в обозримое время. Е. Вешняковская Продолжение следует Источник: vk.com Комментарии: |
|