Этот пост о боли ученых и простых людей, которым нужно найти «сложную» информацию. Так уж сложилось, что лишь немногие умеют правильно формулировать вопросы к поисковикам. Очень громкое заявление, которое захотят оспорить тысячи Знающих, но я и сам понимаю, что оно может выглядеть неправильным. Не от того, что мысль неправильна, скорее я не совсем точно сформулировал ее. Так лучше:
«С ростом сложности предмета поиска возрастает трудность формулировки запроса» — это утверждение верно для каждого человека, независимо от его способностей.
Начинаете понимать? Вы, как программисты, с легкостью формулируете простые запросы вроде «рязань москва экспресс расписание », поэтому есть стереотип, что упрощать процесс поиска не нужно. Но что происходит, когда нам нужно узнать, может ли redis не только сохранять значения с TTL, но и автоматически удалять самые старые, чтобы не свопиться на диск? Возможно и эта проблема некоторым покажется легкой для рисерча, тогда обратите внимание на одну из моих:
«Какие формулы и какие данные разряда необходимо использовать, чтобы вычислить разброс по энергиям ионов, бомбардирующих катод?»
Теперь, надеюсь, вы понимаете, что проблема состоит в трудности формулировки сложных запросов, о которых мы знаем слишком мало, чтобы подобрать эту заветную пару ключевых фраз из того текста, который нам нужен.
Теперь, надеюсь, вы понимаете, что самую нужную нам информацию невероятно сложно искать. Кофейню на ул. Ленина — пожалуйста, а «какую программу выбрать для моделирования распыления ионными потоками из 2-х, чтобы с учетом рельефа, повреждений образца и понижения поверхностной энергии свзязи»? — сиди читай мануалы обоих и трать 2 дня, а не 1. Page Rank и ссылочное ранжирование вам не поможет.
Теперь, надеюсь, вы поняли, что для ответа на такие вопросы безусловно нужна эвристика и машинное обучение/нейронные сети.
Программировать начнем с интерфейса, не стоит пренебрегать Самым Главным Правилом. Взглянем на эти запросы, что их отличает?
- Они длинные
- Много уточняющих критериев и ключевых слов
- Тема нам неизвестна, поэтому критерии и ключевые слова могут быть неправильными
В течение многих тысяч лет мы задавали вопросы умнейшим с помощью речи, делая уточнения в ходе дискуссии. Почему при наличии почти в каждом компьютере микрофона до сих пор пользуемся клавиатурой? Это прошлый век. Представьте себе такой механизм голосового поиска:
- Задается тематика
- Вопрос уточняется дополнительными ключевыми словами
- При необходимости уточнение удаляется, делается другое.
Управление – с помощью простых специальных фраз вроде «убрать уточнение», «добавить смежную тематику», «искать» и т.д. Статьи пусть открываются в той же вкладке, обрезанные от остального контента (как Вконтакте) – так быстрее. Можно вообще показывать сперва аннотацию и все подзаголовки, а уже затем текст.
В первом приближении это может звучать так (курсивом управляющие слова):
— Информационный поиск // инициализация
— Тематика: Физика газового разряда
— Уточнение: энергия ионов
— Уточнение: разброс энергий
— Убрать уточнение
— Уточнение: длина свободного пробега
— Выдать все подзаголовки
Увидев необходимый подзаголовок после уточнения «энергия ионов», по нему будет найден источник.
Решение кажется слишком простым, но вспомним главное – трудность формулировки при сложном предмете поиска. Здесь такой интерфейс будет намного лучше обычного: речь это самый естественный и простой для нас интерфейс взаимодействия.
Прошу простить мне мою боль. Проведя весь день в поисках таких вопросов, я огорчился. Почему хомячкам «удобный интерфейс и самый быстрый в мире поиск по стенам», а воинам ума — хромая Google академия? Дайте хоть нормальную эвристику и интерфейс.
Автор: gooddaytoday