28 июл. 2012 г.

Как построить запрос в поисковике. Часть 2

 
Начало тут "Как построить запрос в поисковике. Часть 1"
автор Нежданов Игорь
Продолжим – теперь рассмотрим наиболее часто возникающие задачи по поиску информации на просторах интернета. Изучение проводим всё так же на основе поисковых операторов Яндекса, как наиболее приспособленных под русский язык.
Если ищем информацию о человеке
Что является идентификатором человека
Или другими словами – по каким признакам мы можем определить, что это тот самый человек, которого мы ищем? Таких признаков достаточно много, но нужно помнить, что есть уникальные признаки, а есть не уникальные. Уникальные это те, которые однозначно указывают на искомый объект или те, которые могут принадлежать только одному человеку. Например это ИНН. А вот адрес прописки уже не может быть уникальным – ведь по этому адресу может быть прописано более одного человека. Или возьмем ФИО человека. Ведь всегда существует вероятность существования полного тезки, но чем необычнее эти самые Фамилия-Имя-Отчество, тем эта вероятность ниже. И в ряде случаев ею можно пренебречь. Но и не уникальные признаки нужны. Используя их в сочетании друг с другом можно также однозначно идентифицировать объект поиска. Например сочетание «ФИО» + «дата рождения» делает два не уникальных признака весьма близким к уникальному.
Что же может являться идентификаторами человека, в т.ч. и не уникальными?
ФИО;
Дата рождения;
Адрес проживания (прописки);
ИНН (уникальный);
Данные документов — номер и серия паспорта, водительского удостоверения, пенсионного свидетельства (уникальны);
Номер телефона (домашнего, мобильного);
e-mail (уникальный);
ник на форуме;
номер icq, ник в skype… (уникальны);
адрес блога, личного сайта….
Другими словами всё, что связано с человеком может выступать его идентификатором или поисковым признаком.
Как строится запрос
Теперь, понимая по каким признакам можно найти информацию о человеке в интернете, рассмотрим несколько вариантов поиска.
1 по уникальным признакам.
Это довольно просто – если мы знаем уникальный признак, то используя его в качестве условия поиска мы должны получить те странички в интернете, на которых этот признак фигурирует. А значит на этих страничках упоминается и искомое лицо. Но увы это не совсем так. Для примера возьмем «ИНН». Признак уникальный – один человек – один ИНН. Проблема заключается в том, что ИНН это набор цифр. А такой же набор цифр может быть и номере фотографии (коих много) или в icq… Получается много «информационного шума» — не нужной нам информации.
Значит нужно ограничить выдачу. Это дополнение – когда  вместе с самим поисковым признаком (в данном случае набором цифр) использовать и идентификатор этого поискового признака (в данном случае «ИНН»). Тогда запрос получиться таким:
["ИНН" /2 "1234567890"]
Оператор следования в данном случае нужен чтобы отсечь страницы, где «ИНН» находится за несколько предложений от «1234567890» — вряд ли это то, что нам нужно. При этом мы понимаем, что в некоторых случаях этот самый набор букв «ИНН» могут поставить и после самого номера и перед. Есть еще один способ — он основан на последовательном исключении из выдачи того, что нас не устраивает. Но он менее удобен и не так однозначен. Тем ни менее рассмотрим его – вполне возможно подойдет для решения других задач. Например задали мы запрос «1234567890» и получили в выдаче поисковика и номера телефонов, и номера фотографий, и еще что то…. Тогда начинаем добавлять исключения из выдачи. Напомню – это оператор «~~» двойная тильда. Она означает, что всё, что стоит после нее НЕ должно присутствовать в выдаче поисковика. В нашем случае это будет выглядеть примерно так:
["1234567890" ~~(телефон | фото | icq | номер)]  – думаю его недостаток для этой конкретной задачи очевиден. Ведь на целевой странице вполне может содержаться и искомый «1234567890» и одно из исключенных слов (телефон | фото | icq | номер). А значит вы такую страницу не увидите. В общем не рекомендую использовать этот метод для аналогичных случаев.
Поисковый запрос для поиска по skype, следуя той же логике, будет выглядеть так:
[(skype | скайп) /2 "ник в скайпе"] А по icq вот так [(icq | ася | аська | месенджер) /2 1234567]
Если же вы знаете несколько уникальных идентификаторов, то поисковый запрос будет выглядеть так: [«номер ИНН» | «номер страхового свидетельства»| «номер и серия паспорта» | «номер и серия водительского удостоверения»]
Отдельно нужно рассказать о таком идентификаторе как номер телефона. Во первых это набор цифр со всеми вытекающими отсюда сложностями. Во вторых этот набор могут писать по разному (слитно, с пробелами, через тире, через точку и т.п..). Всё это нужно учесть в составлении поискового запроса. Если это «семизнак» (что постепенно отходит в историю),  то здесь в качестве дополнительного идентификатора нужен или код города или указатель на то, что это телефон (тел, тлф и т.п.). Для таких случаев запрос может выглядеть так:
[(тел | тлф | телефон|) /(+1 +3) ("1234567" | "123 4567"| "123 45 67")]
Если же номер из числа «красивых», то нужно учитывать и эти «красивости». Например если номер 2340432 , то в варианты написании нужно добавить и «234-0-432″. Если же что то вроде «7272134″ то нужно учесть вариант написания «72-72-134″. Поскольку Яндекс все спецсиволы воспринимает как пробел, то достаточно написания одно варианта (например с пробелом или с тире), а остальные найдутся.
2 по не уникальным признакам
Теперь посмотрим как поступить, кода в нашем распоряжении есть не уникальные признаки. Например «ФИО» и город проживания. И тот и другой признак в отдельности может принадлежать более чем одному человеку. Вместе они уменьшают такую вероятность (но не исключают). Для начала нужно понять как написать в запросе ФИО. Ведь оно может быть написано по разному так «ФИО» или так «ИОФ». А если использовать сокращения (инициалы) то количество вариантов увеличивается. Итак «Нежданов Игорь Юрьевич» (потренируемся на мне для исключения кривотолков) – для Яндекса это будет выглядеть так:
[нежданов /1 "игорь юрьевич"]
Т.е. одим запросом мы собираем и «нежданов игорь юрьевич» и «игорь юрьевич нежданов». Теперь предположим, что объект проживает в Москве. Тогда запрос будет выглядеть так:
[+(нежданов /1 "игорь юрьевич") +москва]
Но у меня есть еще один идентификатор – профессиональная деятельность – «конкурентная разведка». Если использовать ее, то запрос будет выглядеть так:
[+(нежданов /1 "игорь юрьевич") +"конкурентная разведка"]
Можно задействовать несколько признаков тем самым сузив выдачу. Например помимо указанного про меня известно, что когда то был членом СПКР – тогда запрос приобретет такую форму:
[+(нежданов /1 "игорь юрьевич") +"конкурентная разведка" +СПКР +москва]
Если ищем информацию об организации
Что является идентификатором организации
Теперь точно так же попробуем понять как искать информацию о компании на просторах интернета. Для начала нужно понять что может являться поисковыми признаками организации.
Название организации – если оно уникально, а не набор общеупотребительных слов, то такой признак можно назвать уникальным.
ИНН организации – уникальный идентификатор как и ее ОГРН.
Бренд, торговая марка – также как и название, если они уникальны, а не являются набором общеупотребительных слов, то такой признак также является уникальным.
ФИО руководителя, ТОПов, учредителей – это тоже поисковый признак, но не уникальный. Если только ФИО не состоит из редких слов.
Контакты компании (телефон, факс, e-mail, сайт, skype, icq и т.п.) – к сожалению тоже могут быть уникальными с оговоркой т.к. и на одном телефоне может быть несколько компаний и одним e-mal могут пользоваться несколько юрлиц.
Домен (сайт) – скорее уникальный идентификатор.
Товар или услуга компании – не уникальный идентификатор, если только компания не является единственным в мире производителем товара.
Логика же построения запросов такая же как и при поиске информации о человеке.

21 июл. 2012 г.

Проблемы автоопределения негатива в текстах

 Картинка 2 из 154602
Проблемы автоопределения негатива в текстах
автор Нежданов Игорь

Для чего нужно выявление негатива в текстах
Выявление в текстах негатива по отношению к объекту это один из элементов более глобальной задачи – автоматизировать работу со смыслом текстов. А работа с негативом это лишь часть этой большой проблемы.
По большому счету автоматическое определение негатива в текстах нужно для следующего:
- для своевременного выявления появления негативных высказываний или оценок по отношению к объекту (будь то бренд, физическое лицо, организация, тема…);
- для отслеживания изменений информационного фона вокруг объекта (увеличение или уменьшение негатива по отношению к объекту).
Отслеживание общих изменения информационного шума необходимо, например для понимания отношения клиентов к товару, для понимания изменения этого отношения – тенденций. Это своего рода барометр того каков общий тон обсуждений продукта (опубликованных материалов). Тут как в маркетинге – важно увидеть общую картину, общее направление движения. При этом, если сравнивать например объем негатива между несколькими конкурентами, погрешность не важна – ведь система координат единая, а значит и ошибка при измерениях одинаковая. Следовательно соотношение не пострадает. А «плюс-минус» уже не важно – общий тренд виден.
Своевременное выявление негативных высказываний нужно для «сигнальной системы», которая вовремя обнаружит появление этого самого негатива, дав возможность (время) на реагирование. Это уже больше похоже на противоугонную сигнализацию. И здесь становиться важно не пропустить ту самую публикацию (материал, высказывание и т.п.) которое окажется «спусковым крючком» или «последней каплей». И погрешность может стать роковой для заказчика.
Задачи достаточно близкие, но тем ни менее разные. Если использовать аллегорию коллег, то в первом случае, наблюдая за поведением толпы готовой начать «массовые беспорядки», мы обращаем внимание на направление движения основной массы участвующих. А перемещения отдельных субъектов (спонтанные, хаотичные или целенаправленные) нам не интересны. Ведь важно увидеть общую тенденцию – куда направиться эта толпа.  Но вот во втором случае, при наблюдении за той же толпой, нам становятся важны и действия отдельных личностей. Ведь это может быть провокатор, подогревающий агрессивные настроения участников беспорядков, или некто, готовящий теракт. И видя их перемещения можно спрогнозировать дальнейшее изменение ситуации, а значит появляется возможность их предотвратить.

Почему важна точность в таких оценках
Если без теоретических изысканий («так отвлекающих от практики»), то при НЕ точном определении негативно ли высказывание по отношению к объекту наблюдения, всегда есть вероятность пропустить то самое высказывание, с которого всё и начнется. Если по аналогии с наблюдением за толпой – пропустить перемещение «дирижера» радикальных настроений, изменение направления его усилий. Или вероятность принять за негативное высказывание совсем и не негативное, и посчитать это поводом для начала «войны на уничтожение». Причем слово «вероятность» в данном контексте имеет до не приличия низкий уровень для систем работающих без семантического, синтаксического и морфологического анализа текста – по общим оценкам от 60 до 90%. Т.е. в самом лучшем случае каждое десятое негативное высказывание будет пропущено (!) системой, а каждое десятое НЕ негативное будет признано системой как негатив. Причем с ложным отнесением к негативу еще можно бороться – оператор (человек) может банально просматривать всё, что отнесено к негативу и подтверждать это. Если текст негативным не является, то оператор его отклонит. А вот как быть с пропущенным не понятно – такие сообщения оператор просто не увидит, а значит они будут выведены из дальнейшей оценки событий.
В ситуации, когда нужно увидеть общую тенденцию (без особой конкретизации) вполне можно не обращать внимание на точность замеров. «Ведь погрешность получается одинаковой для всех объектов замера…» Когда нужно наблюдать за ситуацией со стороны и при этом ее развитие не сильно отразится на состоянии наблюдателя, то также можно пренебречь точностью.
И совсем по другому начинаешь относиться к точности системы, когда от результатов ее замеров на прямую зависит благосостояние исследователя. Когда от своевременности обнаружения негативной публикации зависит не столько колебания прибыли, сколько существование бизнеса.
Но к сожалению, в большинстве случаев Заказчик замеров и Исполнитель это разные люди, мало того Заказчик не понимает всех тонкостей и ограничений такой системы. А Исполнитель не особо распространяется на эту тему, зато предлагает посмотреть красочные графики, диаграммы так магически действующие на менеджмент компаний. В результате Заказчик и не подозревает, что вероятность обнаружения именно той негативной публикации (а не вообще какой то) лежит где то между «наверное» и «с большой долей вероятности». Но ни как не «гарантирую вам».

Почему компьютеру сложно определить негатив об объекте
Негатив как таковой, чаще всего (но не всегда) определить не сложно. Для этого достаточно заложить возможность определения слов, несущих негатив, составить несколько словарей. Несколько по причине того, что есть слова прямо несущие негатив, а есть слова, которые становяться негативом при определенном «окружении», а есть слова с позитивным смыслом, которые при инверсии становяться негативными. Мало того, такие словари уже созданы и программы их использующие есть, в том числе и бесплатные. Тот же ВААЛ (http://www.vaal.ru/ ) или сервис анализа тональности Х-file (http://x-file.su/tm/Default.aspx)  или интересный сервис «Анализ тошноты текста» http://www.tekto.biz/sick/ns.php
А вот негатив по отношению к конкретному объекту выделить бывает довольно не просто. Ведь в тексте могут присутствовать упоминания других объектов, а ваш объект интереса будет обозначен своим названием только один раз в начале текста. А далее для его обозначения будут использоваться местоимения, которые программно сложно четко связать с конкретным объектом. Есть и другие сложности в плане автоматизации определения в тексте негатива по отношению к объекту.
Ложные признаки негатива
Сложности работы с эмоциями в тексте связаны с многовариантностью языка. Ниже приведены наиболее часто встречающиеся «препятствия» на пути автоматизации выявления негатива в текстах.
Сарказм, юмор, намеки — одно из самых сложных проявлений негатива. Пример: «Какая отличная у них служба поддержки, через четыре дня перезвонили». Или: «Прекрасное изделие – всё так удобно и практично, что начинаю сомневаться – нужно ли оно мне».
Неоднозначные негативные слова: их смысл зависит от того, в «окружении» какого находиться фраза. Например: «Какой прыжок, с ума сойти!» можно истолковать как негатив или позитив в зависимости от окружающего текста. «Какой прыжок, с ума сойти! Как всё красиво, как весело – обязательно повторю.» или «Какой прыжок, с ума сойти! Тот что в оранжевом костюме вряд ли захочет повторить, а того что в синем до сих пор ищут.»
Сравнение — не прямой негатив, но вполне  может иметь отрицательный окрас. Пример: «Я предпочитаю Андроид», что хорошо для Google, но не для MS или Apple.
Смешение негатива и позитива или многомерные настроения: присутствие позитива и негатива в одном предложении (фразе). Пример: «Мне нравится астрономия, но меня раздражают слабые преподаватели».
Будущий негатив: это связано с действиями, которые могут произойти в будущем, а могут и не произойти. Пример: клиент не раздражен в данный момент, но говорит, что будет недоволен, если приобретенный товар выйдет из строя через несколько месяцев.
Разница в проявлении эмоций у разных народов: у разных национальностей проявление эмоций могут сильно различаться, поэтому такие тексты надо интепретировать с «поправкой на ветер».
Вот и получается, что впервые столкнувшись с проблемой автоопределения негатива по отношению к объекту в тексте, исследователи полагают, что это не сложно. И делают примерно одинаковые ошибки – ниже несколько наиболее распространенных приемов, которые применяют на ранней стадии понимания проблемы.

Наличие негатива в тексте
Наличие в исследуемом тексте негативно окрашенного слова. Самый простой способ определения негативности текста. Но увы и самый не точный. Определить негативный текст или не негативный при такой схеме оценки еще можно с какой то вероятностью. Но вот определить относится этот негатив к какому то конкретному объекту в тексте или нет уже практически не возможно. Особенно если упоминание объекта и негатив разнесены между собой на несколько предложений.
Например «Есть такой Бар – «ККК», а убогое место под названием «ООО» по сравнению с ним полный отстой» используя в качестве признака словарь негатива, вряд ли удастся определить по отношению к какому из объектов автор настроен негативно.

Близкое расположение негатива
Основным критерием в такой схеме является то, что негативно окрашенное слово стоит рядом или не далеко от идентификатора объекта интереса. Или несколько видоизмененный признак – негативное слово и объект должны находиться в одном предложении. Безусловно, часто негативное слово располагается рядом с обозначением объекта, по отношению к которому применяется. Возьмем тот же пример «Есть такой Бар – «ККК», а убогое место под названием «ООО» по сравнению с ним полный отстой» здесь объект «ККК» расположен в тексте ну очень рядом  с негативным словом «убогое». Тем ни менее негатив проявлен по отношению к другому объекту.
Не редки также тексты, в который объект обозначается в начале текста, а негатив (например в виде вывода) находиться в конце. Особенно это характерно для обзорных статей, аналитических работ, обзоров рынка или его сегмента и т.п. И такие тексты выпадают из выборки, а ведь они формируют мнение людей в основном опираясь на логику, т.е. формируют более устойчивое мнение у читателя (потребителя), чем эмоциональные выкрики в Твиттере.
К стати о Твиттере – вот на таких текстах (на коротких текстах) принцип близкого расположения негатива работает не плохо. Тут даже подойдет принцип наличия в тексте идентификатора объекта и негативного слова. И есть вполне себе работоспособные системы такие как Sentiment140 http://www.sentiment140.com/

Неопределенность ситуации
Еще одна важная проблема с автовыявления негатива это эффект неопределенности. Связан он с тем, что заранее не известно как могут назвать Объект, какие клички, прозвища, характеристики ему дадут-припишут. И по тому способ «посмотрите как называли раньше и используйте эти слова» мягко говоря не поможет выявить новые приемы обливания грязью. Ведь новых вы еще не знаете и по тому в словарь не внесли. Значит они будут пропущены системой. А часто именно выявление новых способов является важным.

Виды примеры проявления негатива
Теперь систематизируем знания о проявлении негатива в текстах по отношению к определенному объекту. Вот признаки, на которые нужно ориентироваться в самом общем случае при работе с негативом.
Негативное слово или фраза
Присутствие в тексте слова, несущего негативный оттенок и характеризующего объект в любой форме. Это самый простой признак негативного текста. Главное не забывать о его ограничениях.
Сравнения
Фраза «Отель 1 лучше чем Отель 2» вроде бы не несет негатива для «Отеля 2», но  раз уж «Отель 1» лучше, значит «Отель 2» хуже. А это уже негатив для «Отеля 2».

Инверсия
Отрицание позитива, т.е. указание, что позитива нет по отношению к объекту. Например  «Отель 2 не хороший» или чуть более сложный случай «Отель 2 самый комфортабельный? – Ага, конечно…». Здесь слово «НЕ» и словообразование «АГА, КОНЕЧНО» являются инверсионными – меняющими смысл на противоположный.

Шкалы и рейтинги
Использование в характеристике объекта низкие показатели разнообразных рейтингов и шкал сравнения. Например «Уровень Отеля 2 максимум пол звезды» или «Отель 2 находиться за пределами ТОП-100».

Сарказм, юмор, намеки
«Отель 2 самый классный отель! Правда теперь я предпочитаю останавливаться в других отелях, на всякий случай» или «Менеджер Отеля 2  молодец – всё сделал правильно. Только вот где теперь мои деньги?» или «Вы видели задний двор Отеля 2? И как вам это зрелище?».

Как можно автоматизировать определение негатива
Теперь, понимая проблемы автоопределения негатива, можно попробовать разобрать наиболее известные варианты решений. Понять их ограничения и соответственно сферу применения.

Словари
Составляется словарь негативных слов – слов, которые несут в себе негатив. И при наличии в тексте слова из такого словаря текст относится к негативному. Самый простой и самый малооэффективный способ. Его ограничения описаны выше, в связи с чем сфера применения весьма узкая.
Чуть более сложный вариант составить словари «негатива», словари слов производящих инверсию и словари слов, которые при инверсии приобретают негативный оттенок. Еще один «словарный» вариант это составление словаря выражений, а не только отдельных слов. Этот подход «покрывает» гораздо большую часть возможных вариантов, но увы тоже не всю.
Варианты со словарями можно без особых усилий реализовать в таких программах как СайтСпутник. Его Рубрики позволяют создавать очень сложные условия и работать с внешними словарями. А вместе с возможностью ведения статистики Рубрик, этот инструмент становиться приемлимой пользовательской альтернативой дорогим сетевым решениям.

Шаблоны
Эта технология похожа на составление словарей с тем отличием, что составляется не набор слов, а набор возможных словосочетаний, словообразований и устойчивых выражений. Делается это так — на большом количестве негативных текстов выявляются схемы (шаблоны) построения негативных высказываний. Именно схемы типа «Объект Словарь1 Словарь2» , где «Объект» это возможные варианты именования объекта, «Словарь1» это словарь прилагательных, а «Словарь2» словарь существительных. Затем используя словари синонимов и каждый новый текст проверяется на наличие таких конструкций (шаблонов). И при наличии таковых помечается как негативный.
Такой подход значительно сложнее, но и значительно эффективнее предыдущих. А при некоторых усилиях его вполне можно реализовать и в программах использующих рубрикацию материала. Например на том же СайтСпутнике.

Фильтр Байеса
Он же статистический метод. При таком подходе каждому слову присваивается его негативный вес. «Негативный вес» слова это вероятность того, что слово является негативным. По сумме слов вычисляется «средний вес текста» — средний вес всех его слов и если он выше какой то условной отметки, то это негативный текст. Например если выше 60%, то текст признается негативным. Правда не понятно негативным к какому объекту. По тому самостоятельно вряд ли применим.

Метод, основанный на словарях, правилах, и на морфологическом и синтаксическом анализе теста (rule-based)
В данном случае заранее составляются словари эмоциональной лексики – словари негатива и позитива (а так же потенциально эмоциональной, зависящей от окружения), словари инверсионных слов, составляются правила определения тональности словосочетаний на основании тональности слов, тональности простых предложений на основе тональности словосочетаний и тональности текстов по взаимосвязи предложений. И определяются способы отождествления негатива и объекта. Этот метод может использовать как списки шаблонов, так и правила соединения тональной лексики внутри предложения и внутри текстов, основанные на грамматическом и синтаксическом разборе.
Данный метод наиболее эффективный, но и наиболее сложный в реализации. Разбор предложений и текстов на основные и подчиненные структуры требует серьезных познаний в лингвистике. Кроме того система должна быть самообучаемая – ведь язык не статичен. Он постоянно меняется, приобретает новые слова, обороты, устойчивые выражения…

14 июл. 2012 г.

Как построить запрос в поисковике

Как построить запрос в поисковике

автор Нежданов Игорь
Разбираться с темой будем на примере Яндекса. Почему? – да по тому, что у него есть оператор следования, чего нет у других «больших» поисковиков и он лучше работает с русским языком. Точнее Яндекс единственный из крупных, кто вообще работает с русской морфологией.
Для начала нужно запомнить, что поисковики периодически меняют  правила поиска (алгоритм поиска, значение операторов, принцип построения весовых значений) и Яндекс не исключение. Они же предоставляют сервис бесплатно и на условии «как есть», а по тому не обязаны что то соблюдать с его стабильностью.
Теперь пара слов о самих поисковых операторах. Для Яндекса они хорошо расписаны в «Помощи» к Яндексу вот здесь http://help.yandex.ru/search/?id=1111313 Там же найдете и примеры их применения и еще массу полезной информации, а «на соседней странице» можно увидеть полезные документальные операторы http://help.yandex.ru/search/?id=1111369  . Поэтому исходим из того, что пользоваться поисковыми операторами вы умеете и не тратим время на эту тему, а сразу переходим к самому формированию запросов.
И для окончания вступления – уверен, что для многих эта тема давно пройденный этап. Но почему то ко мне достаточно часто обращаются с просьбой рассказать как правильно составлять запросы для поисковых систем. Видимо появляются новые поклонники «Больших» поисковых систем :)

Как строиться запрос

Мы регулярно что то ищем. От значения не знакомого слова до адресов, инструкций, людей. Но чаще всего мы ищем вполне определенные объекты – объекты, которые понятны и относительно просты в своем описании. Например мы ищем конкретного человека зная как его зовут, примерный возраст и город проживания. Вполне себе определенная информация.  Гораздо реже пользователю нужны абстрактные понятия.
Когда нужно найти что то конкретное – то именно это (обозначение, название, имя…) и вносим в поисковую строку. Все просто – поисковики приучили нас к простоте. А вот что делать, когда нужно найти нечто абстактное? Не такое конкретное как название компании или книги. Вот тут то и начинаются сложности с формированием поискового запроса.

Шаг 1 Фиксируем проблему
Для начала нужно хоть как то сформулировать проблему. Просто необходимо превратить мысль в слова. Иначе поисковик вас не поймет – он работает только со словами. Итак, записываем вашу проблему на бумагу (так будет проще работать с ней). Записываем так как она «вас посетила». Затем приводим ее к удобоваримой форме.
Шаг 2 Уточняем формулировку
Переформулируем  проблему по возможности кратко и в то же время достаточно однозначно. Например из «как бы мне узнать что может меня ожидать из плохого при путешествии пешком по горному Алтаю…» путем сжатия формулировки получаем «проблемы пешего путешествия по горному Алтаю». Получилось более кратко и в то же время не потеряло смысл.
Такое «сжатие» осуществляется путем сначала понимания сути проблемы, а затем формулирования этой сути по новой. Но даже если не получается сжать, не отчаивайтесь – переходите к Шагу 3. Этот шаг также позволяет взглянуть на проблему с другой стороны и в конце концов перефразировать ее.
Шаг 3 Выбираем ключевые слова
Это ни что иное как отбор тех слов из формулировки проблемы, без которых теряется ее смысл. Возьмем ту же тему, что обозначена выше «проблемы пешего путешествия по горному Алтаю». Какие слова определяют смысл? Видимо слова и словообразования «проблемы», «пешее путешествие» и «горный Алтай». Даже их простое перечисление позволяет понять, о чем идет речь.
Шаг 4 «Расширяем» запрос
Данный шаг обусловлен многообразием и многовариантностью русского языка. Да и любого языка. Дело в том, что одну и ту же мысль можно выразить разными словами и по тому полезная для вас информация может оказаться не с тем набором ключевых слов, что вы использовали. А поисковики ищут именно по словам. В результате будет упущена полезная информация. Чтобы избежать такого развития нужно «расширить» ваш запрос. «Расширение» в нашем случае это нахождение дополнительных понятий, которые могут быть использованы другими людьми для описания интересующей вас проблемы. Например синонимы для слова «переход» это слова путь, ходьба, движение и т.д..
«Проблемы»
Как люди могут еще назвать проблему? – «сложность», «трудность», «опасность». Возможны еще варианты, но оставлю их для развития вашей фантазии.
«Пешее путешествие»
«Переход», «ходьба», возможно «туризм»…
«Горный Алтай»
Поскольку речь о горах, а они и бывают весьма похожи, то это слова обозначающие горы – «горы» и , при необходимости, названия разных гор «Урал», «Кавказ», «Памир», «Альпы», «Анды»…  Ведь там скорее всего те же трудности и опасности подстерегают путешественника.
Направления «расширения» понятий
Для выявления всего возможного материала запрос необходимо расширять за счет использования слов и выражений ассоциированных с искомыми. Некоторые примеры (но не все) приведены ниже.
Синонимы (полные и частичные)
самолет – аэроплан; налог – подать – сбор;
кушать – есть – питаться  или получить – принять
Однокоренные слова
поставить – доставить – подставить – проставить
Иные части речи
стройка – строительство – строить – построенный
Слэнг, жаргон, вульгаризм, просторечие
шарман, гёрла, юзер, доллар – бакс, голова – башка, сегодня – сёдня
Иностранные эквиваленты
налог – tax, taxes
Простые сокращения
страница – стр, статья – ст,
Аббревиатура и сокращения
СПС – союз правых сил, профком – профессиональный союз
Иные варианты написания слов
1 – I – один – первый

Шаг 5 Составляем используя операторы
Посредством лексики поисковой системы описывается взаимное положение поисковых блоков и их взаимная зависимость и составляется сам запрос с использованием операторов эксплуатируемой поисковой системы.
Берем ту же тему «проблемы пешего путешествия по горному Алтаю». Для слова «проблемы» мы выявили синонимы и синонимические выражения «сложность», «трудность», «опасность». Предположим, что больше нет вариантов. Значит данный блок запроса будет выглядеть так [(проблема | сложность | трудность | опасность)] Здесь и далее квадратные скобки в самом запросе не нужны – они нужны для визуального отделения тела запроса от остального текста.
Также поступаем с «пешим путешествием» и «горным Алтаем» и получаем [(путешествие | переход | туризм)] и  [(алтай | горы | урал | памир | альпы | анды)] Теперь пробуем составить первый полноценный запрос [+(проблема | сложность | трудность | опасность) +(путешествие | переход | туризм) +(алтай | горы | урал | памир | альпы | анды)]  и пробуем его в работе. Он выдает неимоверное количество ответов, прочитать которые не хватит и полжизни. Значит нужно уточнять запрос.
Уточнение может идти несколькими путями. Во-первых смотрим какое слово «приносит» больше всего «информационного мусора» — информации не по теме. В нашем случае это слово «туризм». Оно и понятно – ведь туризм на три четверти не связан с экстримом и опасностями…  Значит убираем это слово из запроса. И так проделываем пока не сведем выборку до приемлемых результатов.
Во-вторых нужно задействовать дополнительные операторы поисковика. Например, поставив себя на место человека публикующего информацию о сложностях альпинизма (к стати еще одно слово для поиска), попробуйте понять как он может сформулировать свои мысли в части обозначения трудностей путешествия. В частности, скорее всего, слова «трудность» и «путешествие» будут стоять рядом или не далеко друг от друга. Например возможны такие конструкции как «трудности путешествия» или «трудности в ходе путешествия» или «трудности, с которыми мы столкнулись путешествуя по…». В общем эти слова будут точно в одном предложении. Вот и задействуем это правило в запросе, используя соответствующий оператор. И получаем вот такую конструкцию [((проблема | сложность | трудность | опасность) & (путешествие | переход)) +(алтай | горы | урал | памир | альпы | анды)]
При необходимости далее уточняем запрос до получения приемлемых результатов.

И еще
В силу наличия человеческого фактора, в документах достаточно часто встречаются ошибки. А ошибка в искомом документе (тексте) приводит к тому, что этот документ не будет найден. Поэтому при составлении запросов необходимо учитывать и ошибочное написание слов. Такие варианты задействуются как синонимы основных понятий запроса.
Безусловно, количество возможных ошибочных написаний одного слова огромны, поэтому в первую очередь необходимо учитывать наиболее распространенные ошибочные написания искомого слова.
Причины появления таких ошибок разные:
1- случайная опечатка при вводе информации;
2- безграмотность автора или того кто вводил информацию;
3- намеренные ошибки для облегчения обнаружения сайта пользователями, которые неверно вводят искомое слово в поисковую строку сервера-поисковика;
4- намеренные ошибки для усложнения обнаружения сайта пользователями, которые не в теме (своего рода маскировка);
5- принадлежность автора к некой субкультуре использующей соответствующий  сленг (сюда же относятся и сетевые традиции написания слова.