Как сгруппировать ключевые запросы с помощью кластеризации?

Генератор сценариев

Используя те же базовые принципы, на которых построен генератор имен, мы можем создать так называемый генератор сценариев. Такой генератор полезен в ролевых играх и в других ситуациях, где необходимо придумать псевдослучайный набор обстоятельств, который может использоваться для разыгрывания ролей, импровизации, написания сюжета и т.д. Одна из моих любимых игр, Paranoia, сопровождается пакетом GM Pack, в состав которого входит инструмент Mission Blender. Инструмент Mission Blender позволяет быстро скомпоновать полную миссию по результатам «кидания кубика». Давайте создадим свой собственный генератор сценариев.

За основу примем следующий сценарий: Вы просыпаетесь и обнаруживаете себя заблудившимся в лесу. Вы знаете, что вам необходимо добраться до Нью-Йорка, но не знаете почему. Неподалеку вы слышите лай собак и звуки враждебной погони. Вам холодно, вы дрожите, и у вас нет оружия. Каждое предложение в этом сценарии представляет его определенный аспект:

  • «Вы просыпаетесь и обнаруживаете себя заблудившимся в лесу» – установка исходного состояния.
  • «Вы знаете, что вам необходимо добраться до Нью-Йорка» – описание цели.
  • «Вы слышите лай собак» – представление противника.
  • «Вам холодно, вы дрожите, и у вас нет оружия» – добавление осложняющих факторов.

Точно так же, как мы создавали текстовые файлы для наших имен и фамилий, начните с создания отдельного текстового файла для каждого аспекта – исходного положения, цели, противников и осложнений. Соответствующие эталонные файлы включены в Архив. После того как мы будем располагать этими файлами, код для генерации сценария будет выглядеть почти так же, как код для генерации имен/фамилий (листинг 6).

Листинг 6. Генерация сценария
$settings = explode("\n", file_get_contents('scenario.settings.txt'));
$objectives = explode("\n", file_get_contents('scenario.objectives.txt'));
$antagonists = explode("\n", file_get_contents('scenario.antagonists.txt'));
$complications = explode("\n", file_get_contents('scenario.complications.txt'));

shuffle($settings);
shuffle($objectives);
shuffle($antagonists);
shuffle($complications);

echo $settings . ' ' . $objectives . ' ' . $antagonists . ' ' 
. $complications . "\n";

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

Переходим к более серьезному.

Теперь, когда мы научились писать простейшие скрипты, самое время перейти к серьезным вещам: написанию скрипта для резервного копирования.

Перво-наперво, необходимо определить – резервную копию чего мы будем делать. Поэтому наш скрипт должен уметь работать с командной строкой. Аргументы командной строки задаются после имени скрипта через пробел: somescript arg1 arg2 arg3. Скрипт воспринимает аргументы по номерам их следования, поэтому мы будем использовать конструкции вида $номер_аргумента, т.е. $1, $2, $3. $ — это символ подстановки, который нам понадобится и при работе с переменными. Переменные в скрипте задаются в виде имя_переменной=значение. Мы будем использовать переменные MAXPARAMS для определения максимального количества параметров командной строки, BACKUPFILE для задания имени архива, BACKUPDIR для папки, резервную копию которой мы будем делать и ARCHIVEDIR для папки, куды мы поместим архив. Самой главной частью скрипта будут команды поиска и архивации всех найденных файлов и папок в указанной:

find . -type f -print0 | xargs -0 tar rvf "$archive.tar" > /dev/nullgzip $archive.tar

Давайте разберемся, что же эти команды делают. find ищет в текущем каталоге (об этом говорит первый аргумент «.») все файлы и выдает полный путь к ним (print0). Эти пути перенаправляюся команде tar, которая собирает все файлы в один. Затем командой gzip мы архивируем получившийся tar-файл. Команда > /dev/null удобна, если вы архивируете большое количество файлов. В этом случае их имена и полный путь к ним не выводятся на консоль.

Следующий шаг должен предусмотреть подсказки пользователю как пользоваться скриптом, если он допустит какие-то ошибки.

Например, эта конструкция

if ;thenechoecho "Использование: sh `basename $0` имя_архива папка-источник папка-назначение"echoexit 0fi

подскажет, что пользователь указал недостаточное количество аргументов командной строки. If …fi задает условную конструкцию. $# -lt «$MAXPARAMS» проверяет введенное количество параметров и если это число окажется меньше MAXPARAMS, то пользователю будет выдано сообщение об ошибочном вводе. Exit 0 заставит скрипт прекратить работу без указания кода ошибки. Аналогично проверяется превышение допустимого числа параметров, только вместо ls (less then – меньше, чем), необходимо указать gt (greater then – больше, чем). Теперь, когда основные моменты скрипта разъяснены, можно переходить к полной его версии:

Надеюсь, основные моменты я прокомментировал достаточно подробно. Если у вас возникли какие-либо вопросы, то вы можете связаться со мной по адресу telenga@gmail.com Рекомендую также замечательную книгу Advanced Bash-Scripting Guide Менделя Купера (Mendel Cooper), которая очень помогла мне в свое время, когда я только знакомился со скриптами. Удачного программирования.

P.S. Большое спасибо mar за ее замечания и советы.

prompt()

Метод prompt() выводит диалоговое окно с сообщением и текстовым полем, куда пользователь вводит данные. Здесь тоже предусмотрены две кнопки «ОК» и «Отмена». По нажатию первой кнопки метод возвращает на сервер введенный текст, а по нажатию второй кнопки возвращает логическое значение false.

Синтаксис здесь такой:

prompt (сообщение, значение_поля_ввода_данных)

Значение поля ввода необязательно. Туда можно вписать текст, который изначально введен в поле для удобства пользователя.

Код:

html>    script>       prompt(«Передай привет Skillbox», «Привет»)   script> html>

Результат:

Возможности современного JavaScript выходят далеко за рамки примитивного ввода-вывода данных через формы. Эти методы мы привели только в качестве самых простых примеров. Кроме этого, JavaScript позволяет реагировать на действия пользователя. Например, на движения мышкой или нажатие определенных клавиш. JavaScript часто используется для обеспечения асинхронной работы (Технология AJAX), когда информация на странице обновляется без ее перезагрузки. В этом режиме данные отправляются на сервер и загружаются оттуда в интерактивном режиме. Кроме того, JavaScript способен манипулировать с HTML-элементами на странице (создавать и прятать теги и т.д.) и делать многое другое.

Как написать скрипт продаж: шаг 1-5 (видео)

Давайте рассмотрим основные шаги при написании скрипта.

1. Начни с сегментации

Этот шаг (к сожалению, незнакомый большинству) позволяет на начальном этапе разделить базу наших потенциальных клиентов на более перспективных и интересных для нас и на менее интересных

На этом шаге важно определить критерии сегментации для своей ситуации. Например, если я продаю тренинги продаж, то для меня клиент с наличием отдела продаж в компании и необученными сотрудниками будет гораздо интереснее, чем клиент вообще без отдела продаж

Таким образом мы для себя выделяем категории клиентов А, B, C и далее по необходимости для Вашего бизнеса. Более подробно этот важный шаг я разбирал на онлайн-тренинг Скрипты продаж, которые выстреливают (здесь можно посмотреть отчет с тренинга), но думаю логика сегментации Вам понятна.

2. Определи целевое действие

На этом шаге важно спланировать для каждого сегмента клиентов те целевые действия, которые будут нам выгодны. Например, с клиентами категории А мы готовы встречаться на территории клиента (т.к

они наиболее перспективные, интересные для нас. Мы готовы инвестировать свое время в таких клиентов), а с клиентами категории С, к примеру, можно ограничиться подпиской на рассылку.

3. Определи ЛПР 

ЛПР — лицо, принимающее решение. Кто в Вашем случае определяет решение о работе с Вами? Часто менеджеры напролом пробиваются к руководителю, не понимая, что решение по их вопросу в компании, вероятно принимает другой человек. Это важный шаг, который напрямую влияет на наполнение нашего скрипта эффективными речевыми оборотами.

4. Наполни таргет-лист

Таргет-лист — это список компаний для привлечения. Я рекомендую иметь небольшой список тех, кому Вы хотите позвонить уже в процессе составления скрипта.

5. Продумай выход на ЛПР

Что Вы скажете секретарю, чтобы он Вас соединил с руководителем. Мне обычно достаточно 2-3 техники чтобы обойти почти любого секретаря. В курсе 10 звонков — 10 продаж я о таких техниках рассказываю.

6. Определи идеальную линию разговора с ЛПР

Представьте, что Ваш разговор проходит идеально гладко. Клиент не возражает. Подумайте, с чего Вы начнете беседу, как утеплите контакт, как будете аргументировать свою позицию. Я обычно выделяю 4 составляющих в этом блоке, о которых расскажу в другой статье (техника «ВУУЗ»).

7. Добавь ветвистость

Скрипт продаж подразумевает разные варианты поведения клиентов. Он может согласиться с Вами сразу (в таком случае сработает Ваша идеальная линия разговора), либо будет отказывать и возражать

На 7 шаге важно предусмотреть возможные отказы и отговорки клиента. Я обычно выделяю возражения универсальные (они могут появиться на любом узле скрипта) и узловые (они могут появиться только на определенном узле

Например, во время установления контакта). Преодолеть любые возражения Вам поможет курс Хакер возражений. Там есть все необходимые приемы для обработки любых возражений.

8. Автоматизируй скрипт

На этом шаге я рекомендую автоматизировать скрипт продаж. Вы можете использовать заготовки для автоматизации (например, я использовал экселевский шаблон в курсе Конструктор скриптов продаж), либо специальные сервисы для автоматизации скриптов (мне нравится СкриптДизайнер).

9. Улучшай!

Следите за конверсией каждого узла, скрипта в целом, пробуйте разные ответы на возражения и способы аргументации. И у Вас получится убойный скрипт продаж!

P.s. Более подробно технологию создания скриптов я разобрал на онлайн-тренинге (точнее — воркшопе) Скрипты продаж, которые выстреливают. Посмотрите подробности о том, как прошло мероприятие, какие выводы я сделал для себя в ходе общения с участниками. Возможно, и для Вас и Вашей ситуации это будет полезным.

Полезные ссылки:

  • Посетите бесплатный вебинар 5 стратегий продаж по телефону, чтобы узнать о наиболее эффективных стратегиях телефонных продаж в Вашем бизнесе
  • Чек-лист продающего звонка из 14 шагов (скачайте бесплатно)
  • Подписывайтесь на канал Youtube «Пора расти» и будем развиваться и расти вместе
  • Прокачайте свои навыки продаж по системе “Суперпродавец”. Пожалуй, одно из лучших бюджетных решений в интернете, которое поможет Вам и Вашим сотрудникам увеличить продажи!

Что собой представляет Windows PowerShell?

PowerShell – интерпретатор командной строки CMD на основе .NET Framework, наделённый собственным языком сценариев.

Первое значит, что работает он в текстовом режиме: вводишь запускаешь команду, а на экране видишь результат её выполнения.

Как это было в MS-DOS и старых версиях UNIX’а.

Второе значительно упрощает, ускоряет и автоматизирует администрирование, обслуживание систем, приложений, процессов и связанных с ними сервисов администраторами и простыми юзерами.

Для Vista, XP и более старых редакций Windows, если их кто-то использует, PowerShell можно установить с пакета Windows Management Framework.

По сравнению с другими интерпретаторами, PS отличается:

  • интеграцией с .NET Framework – позволяет создавать мощные скрипты, внедряя в них программный код;
  • все возвращаемые данные являются объектами, а не данными текстового/строчного типа (string), что подразумевает их передачу другим скриптам и любую обработку.

Рис. 1 – Вид окна PowerShell

PowerShell второй версии обладает следующими возможностями, часть из которых рассмотрим подробнее:

  • Возможность представления команд в виде командлетов – их запуск осуществляется внутри интерпретатора, в ином случае команда выполняется в отдельном процессе.
  • Использование конвейеров – предназначены для передачи данных из одной команды в другую с сохранением их структуры и типа.
  • Интегрирована многопоточная передача данных по сети с установкой приоритетности и возобновлением соединения.
  • Поддержка позиционных и именованных параметров.
  • Фоновая работа – асинхронный вызов команд и запуск скриптов на удалённых машинах.
  • Установка ограниченных сессий с удалёнными клиентами и выполнение сценариев на них.
  • Модули – способ организации скриптов, когда они становятся самодостаточными и выполняются в собственном контейнере, не влияя на окружение модуля.
  • Наличие обработчика ошибок.
  • Графическая среда для языка: синтаксис, отладчик, подсветка, автоматическое завершение команд с поддержкой Юникод и закладок.
  • Добавление точек прерывания в строки, команды, операции и переменные для отладки сценария.
  • Блочные и подстрочные комментарии.
  • Поддержка создания алиасов для некоторых командлетов, преобразовывающихся в обычные команды в момент выполнения.
  • Создание ограниченных сессий, где можно выполнять строго заданный перечень команд и очень многое другое.

Исходный код PowerShell стал доступным каждому: любой участник сообщества может беспрепятственно создавать собственные расширения для увеличения функционала интерпретатора командной строки.

Приступать к освоению интегрированного скриптового языка, не имея навыков программирования, можно.

Создать сложный сценарий получится вряд ли, но выполнять последовательности примитивных действий получится едва ли не у каждого.

Хотя, не обладая знаниями об основных понятиях PowerShell, сделать в окне командного интерпретатора вряд ли что-либо получится. С них и начнём.

Создание скриптов для расширенных событийScript extended events

В этом разделе описывается, как создать скрипты для расширенных событий.This section covers how to script out extended events.

  1. Подключитесь к серверу SQL Server.Connect to a server that’s running SQL Server.

  2. Разверните узел Управление.Expand your Management node.

  3. Разверните узел Расширенные события.Expand your Extended Events node.

  4. Разверните узел Сеансы.Expand your Sessions node.

  5. Щелкните правой кнопкой мыши нужный расширенный сеанс и выберите пункты Создать скрипт для сеанса > СОЗДАТЬ в > Новое окно редактора запросов:Right-click the extended session you’re interested in > Script Session As > CREATE To > New Query Editor Window:

  6. В новом окне редактора запросов измените имя сеанса с system_health на system_health2.In the New Query Editor Window, modify the new name of the session from system_health to system_health2. Выберите команду Выполнить, чтобы выполнить запрос.Select Execute to execute the query.

  7. Щелкните правой кнопкой мыши Сеансы в обозревателе объектов.Right-click Sessions in Object Explorer. Выберите команду Обновить, чтобы увидеть новый сеанс расширенного события.Select Refresh to see your new extended event session. Зеленый значок рядом с сеансом означает, что сеанс выполняется.The green icon next to the session indicates the session is running. Красный значок указывает, что сеанс остановлен.The red icon indicates the session is stopped.

    Примечание

    Вы можете запустить сеанс, щелкнув его правой кнопкой мыши и выбрав команду Запустить.You can start the session by right-clicking it and selecting Start. Так как это копия уже запущенного сеанса system_health, этот шаг можно пропустить.However, this is a copy of the already running system_health session, so you can skip this step. Вы можете удалить копию расширенного сеанса события, щелкнув его правой кнопкой мыши и выбрав команду Удалить.You can delete the copy of the extended event session: right-click it and select Delete.

Как сделать скриншот экрана

Иногда нужно сделать скрин (screen, скриншот) для наглядного изображения за происходящим на вашем компьютере. Например, показать как устанавливать программу или как настраивать главное меню.

Сделать такой снимок очень просто без специальных программ.

Для начала определите, что вы хотите «сфотографировать». Рассмотрим на примере обычного меню «Пуск». Для того чтобы сделать скрин «Пуска», нужно для начала нажать на клавиатуре клавишу «Windows» или кликнуть левой кнопкой мыши по кнопке «Пуск».

Теперь, пока меню «Пуск» раскрыто, нужно нажать на клавиатуре клавишу «Prt Sc»:

Таким образом мы «сфотографируем» весь экран в буфер обмена.

Чтобы сохранить наш снимок откроем программу «Paint», она есть на каждом компьютере:

Пуск => Программы => Стандартные => Paint

В рабочем окне программы Paint нажмите закладку Правка, затем Вставить или просто нажмите сочетание клавиш Ctrl + V (вставить).

Теперь выбираем инструмент Выделение (штриховая рамка) и выделяем область, которую нам нужно (окно Пуск).

Копируем выделенный фрагмент в Буфер обмена Правка => Копировать или сочетанием клавиш Ctrl + C

Создаём новый документ Файл => Создать или Ctrl + N. Старый документ можно закрыть.

Вставляем из Буфера скопированный рисунок Правка => Вставить или Ctrl + V

Рисунок вставлен. Если нужно на нём что-то подчеркнуть или подписать, то можно воспользоваться Карандашом или Кистью из панели инструментов.

Осталось сохранить рисунок Файл => Сохранить как…

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

Вот результат работы:

Таким образом можно вырезать любые детали с рабочего стола, кстати все картинки к этому уроку сделаны по такому принципу.

Как быстро сделать скриншот рабочего стола с помощью программы Screen Shoot-It

“Роботы” вместо людей?

Скрипты продаж вызывают много споров в профессиональной среде. Нужны они или нет? Главным аргументом против является чрезмерная автоматизация процесса, его “роботизированность”. С одной стороны, это может почувствовать клиент, с другой — сами сотрудники привыкают к шаблонным действиям, становятся менее изобретательными и даже говорят всегда одни и те же фразы.

Сторонники такого подхода приводят довод, связанный с повышением уровня продаж, а также качеством обслуживания клиентов. Разволновавшийся новичок-продажник может упустить из вида важные моменты. В итоге сделка сорвется или клиент останется недовольным вашим сервисом. Наличие алгоритма поможет разумно ответить на все вопросы и возражения

Теперь понимаем, что правило придерживаться золотой середины как нельзя лучше подходит для этой ситуации. Скрипт — алгоритм, который будет служить опорой для продажников. Однако не стоит полагаться только на него. Поняв, чего именно хочет конкретный клиент, можно пойти ва-банк и сделать такое предложение, от которого он уже не сможет отказаться.

Скрипт — это шаблон, по которому действует продажник. Имея такое подспорье, он будет чувствовать себя гораздо увереннее как в телефонном разговоре, так и при личном общении с клиентом.

Создание алгоритма — это своего рода формирование базы знаний, которая будет постоянно пополняться. Одним из главных преимуществ их использования является ускоренное введение в работу новых сотрудников. Однако не стоит заставлять продажников использовать скрипт от и до.

И руководителями, и самими менеджерами по продажам он скорее должен восприниматься как подспорье, а не директива. Никто не ограничивает свободу общения с клиентом, это лишь помощь, которая так часто бывает необходима.

Как написать продающий скрипт

Процесс делится на три основных этапа:

  • исследование
  • написание
  • тестинг

Исследование

Вы, конечно, уже все знаете о своей сфере деятельности, клиентах и конкурентах. Но создание скрипта продаж как раз станет отличным поводом эти знания углубить или может найти что-то новое.
На этом этапе вам предстоит влезть в шкуру клиента, чтобы понять, что может его интересовать в вашем продукте/услуге, какие действия с вашей стороны его раздражают. Углубиться в психологию клиентов здорово помогла бы запись телефонных разговоров. Так что если вы планируете создание скрипта, уже сейчас можете эту запись организовать. Только одно это совместное с командой прослушивание и последующий анализ услышанного помогут здорово продвинуться в технологии продаж.

Особое внимание обратите на сомнения и возражения, обход которых нужно обязательно включить в будущий материал. Продумайте, что, исходя из особенностей своего продукта/ услуги, скажет менеджер на “Дорого”, “Я пока только присматриваюсь”, “Еще подумаю” и т.д.. Отдельно распишите все преимущества продукта/услуги, разработайте новые формы для их позиционирования

Отдельно распишите все преимущества продукта/услуги, разработайте новые формы для их позиционирования.

Написание

Структура скрипта диктуется привычным ходом разговора с клиентом.

  • Представление
  • Выяснение потребности
  • Презентация товара/услуги
  • Работа с возражениями
  • Сделка

Если речь идет о телефонном разговоре, то перед представлением и приветствием добавляется блок обхода секретаря. От его качества напрямую зависит, сможете ли вы подступиться к клиенту или он будет вечно “занят”.

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

Набрасывая текст, помните, что это не диалог из какой-нибудь повести или романа. Здесь не место литературе, это пространство для живого языка.

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

Многие менеджеры составляют для себя план разговора. Делается это в ежедневнике или записной книжке. После обсуждения с командой у вас появится много бумажек со схемами. Оставлять все в таком виде, конечно, нельзя. Он только тогда и превратится в алгоритм, когда будет четко структурирован, понятен и удобен.

Часто для написания скрипта используются таблицы в Word или Excel. Это оправданно в том случае, если вы оперируете не слишком объемными фразами. Если же вы видите, что алгоритм получится объемным, лучше всего воспользоваться специализированным сервисом для его создания. Минус таких ресурсов в том, что для их применения потребуется заплатить.

Кроме того, существуют специализированные конструкторы, где заложено множество шаблонов вопросов и ответов. Вот здесь действительно за вас все делает робот. Сеть пестрит объявлениями типа “Создай продающий скрипт за столько-то минут”. Такие скриптогенераторы могут стать выходом, если вам немедленно потребовался алгоритм.

Но если вы действительно хотите прокачать команду, лучше пойти классическим путем и делать все самостоятельно, основываясь на имеющемся опыте.

Тестинг

Вы все написали и рветесь в бой. Не спешите. Предстоит еще процесс шлифовки. Сначала проверьте свое творение на менеджерах, других сотрудниках компании, затем пообщайтесь в прописанном формате с небольшими клиентами.

Момент отработки скрипта в игре очень важен не только для того, чтобы с ним освоились менеджеры, но и для того, чтобы выявить слабые звенья в вашей логической цепочке. Попросите других сотрудников сыграть вредных клиентов. Изучите, в какую сторону может уходить разговор. Дополните скрипт “антикризисными” ответами.

Правки и уточнения после тестирования однозначно появятся. И вот тут вспоминаем о сервисах, где можно все удобно записать Если вы ими воспользуетесь, то процесс редактирования алгоритма станет гораздо более удобным, а результаты сразу доступными всем менеджерам.

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

По каким критериям оценивать написанное?

Насколько менеджерам комфортно разговаривать, используя написанные фразы
Удается ли удержать внимание клиента
Характер разговора, нет ли движения по кругу
Что вызвало негативную реакцию у клиента

Ссылка на основную публикацию