Один из наших постоянных подписчиков, уважаемый Дей, написал нам исключительно интересное письмо, в котором изложил захватывающую идею создания программы-сервиса умного мэйл-форвардера. Он также разрешил нам опубликовать его письмо в нашей рассылке, что мы с удовольствием и делаем. Мы также решились взяться за написание этой программы. Каждый подписчик, который пришлет нам свои конструктивные соображения или советы по создаваемой программе сейчас, и таким образом поучаствует в ее создании, получит ее в бесплатное пользование.
Ниже приводится текст письма (черным) и наши комментарии (синим), а также вопросы к читателю (красным).
Здравствуйте, Уважаемые!
В выпуске от 8 сентября Вы предложили высказать идеи и поделится наработками, чтобы сделать The Bat действенным инструментом онлайнового предпринимательства.
У Вас акцент на автоответах и использовании шаблонов. Это действительно нужный и выгодный инструмент. Но, позвольте обратить Ваше внимание ещё на одну сферу применения такой почтовой программы как The Bat.
Речь идёт о пересылке почты в интересах человека, у которого множество периодических рассылок и блогов. А также в интересах очень занятого читателя множества почтовых рассылок...
Занятно? Тогда, продолжаю...
Существующие программы, работающие с "электронной почтой", в принципе, способны выполнить почти все задачи, возникающие у их пользователя. Однако, для отсева писем, изменения их содержания, выборочной пересылки писем на другой адрес и решения в автоматическом режиме ряда других задач, возникающих у интернет-издателя приходится задействовать несколько программ. Причём, функционала даже нескольких программ недостаточно для решения многих задач с желательным качеством. Отсюда, возникает потребность в специальном web-приложении либо плагина к почтовой программе - моему любимому The Bat, например. Назовём это приложение "умный мэйлфорвардер".
*Кому нужен умный мэйлфорвардер*
Web-мастеру, публикующему материалы на множестве интернет-ресурсов. Web-мастеру, заимствующему материалы, транслируемых в виде писем "электронной почты".
Web-мастеру, который желает избирательно публиковать такие материалы, смешивать их, добавлять к ним свои... И всё это в автоматическом (полуавтоматическом режиме).
Продвинутому mail-читателю множества рассылок и лент. Да и консультанту работающему по email с широкой аудиторией
*Каковы задачи умного мэйлфорвардера*
Принимать письма периодических и серийных рассылок, дискуссионно-новостных групп (usenet и не только), превращённые в email-сообщения rss- и atom-потоки. Обрабатывать их и пересылать на указанные почтовые ящики.
Ведь это не столько умный фильтратор почты, сколько гибкий инструмент републикации сторонних издателей и кросс-постинга своих изданий.
*Что именно должен уметь умный мэйлфорвардер*
1. Распознавать в тексте и в теме письма кодовые слова (сочетания знаков) подобно добротному почтовому клиенту.
Распознавание сочетаний знаков (кодовых слов), на наш взгляд, необходимо для смыслового анализа писем. Это нужно, например, для организации сервиса ответов на вопросы, касательно вашего продукта/услуги. Многие вопросы постоянно повторяются, и далеко не всегда посетитель будет перечитывать FAQ, особенно если они большие. Кроме того, персональный расширенный ответ по е-почте, это, согласитесь, говорит о качестве обслуживания и, кроме того, собирает для вас е-мэйлы потенциальных клиентов. Анализируя ключевые слова, можно не только автоматически составлять ответ, а даже сделать платную автоматическую консультацию, или он-лайн курсы, где вместе с материалом очередного урока будут автоматически составляться ответы на вопросы учащихся.
Остается добавить, что анализ слов и словосочетаний должен быть «мягким», т.е. учитывать, что люди в письмах часто ошибаются, из-за чего ключевое слово может быть набрано с ошибками. А также должен быть реализован анализ синонимов. Ну и на конец, для действительно осмысленных ответов именно на те вопросы, которые задаются пользователем, мейлфорвардер должен анализировать смысл вопроса, а не просто ключевые слова. Мы отдаем себе отчет в том, что это реализовать весьма непросто, но у нас уже есть некоторые идеи по поводу того, как реализовать простейший анализ смысла, а даже простейший смысловой анализ – это по качеству на порядок выше анализа простого наличия ключевых слов.
Придумайте, пожалуйста, и напишите нам для чего еще может использоваться распознавание слов и взаимосвязей между словами (смысловой анализ). Какие вы видите простые пути анализа смысла фраз?
2. Перенаправлять письма с разными кодовыми знакосочетаниями (словосочетаниями) на различные, предписанные заранее "почтовые ящики".
Такое перенаправление может быть полезным как для классификации писем по тематике, так и для распределения нагрузки по сотрудникам (типа мини-АТС, которая подключает наименее загруженного оператора к очередному клиенту). Сюда также относятся все наши соображения по поводу мягкого анализа ключевых слов и смысла. Добавим сюда только возможность перенаправлять сообщения не только на разные ящики (ибо в таком случае их может потребоваться очень много), а также возможность распределять письма внутри одного ящика по разным папкам, каждая из которых соответствует определенной тематике вопросов. В свою очередь такие папки могут содержать вложенные папки, соответствующие более узким вопросам в пределах тематики родительской папки.
Кроме перенаправления писем в зависимости от их содержания мы считаем нужным умение перенаправлять также только файлы, прикрепленные к письмам, при чем не только в папки почтовых ящиков, а и в директории сайтов с разными правами доступа. А также изъятие объектов, находящихся по ссылкам, расположенным в письмах после определенных знакосочетаний и перенаправлять по одному или нескольким описанным выше ресурсам. А также переходить по ссылкам и искать на тех ресурсах документы и файлы, подходящие под описание и перенаправлять их по нужному адресу, а если объекты не найдены в документе по указанному адресу, то идти по ссылкам с этого документа и искать дальше в пределах домена и так делать до заданной глубины поиска. При этом адресаты, как и объекты передачи кодируются строгими символьными последовательностями.
Предложите, пожалуйста, для каких еще целей может быть использовано перенаправление писем и файлов.
Итак, мы пришли к необходимости создания хотя бы простейшего языка сценариев (скрипта для мэйлфорвардинга). Такой язык пригодится для расширения возможностей автоматических он-лайн сервисов. Так, пользователь, набрав текст письма с определенными знаковыми последовательностями, может в ответ получить письмо с прикрепленным файлом (программой, рисунком, документом, определенным набором заданных файлов…), соответствующим запросу, или со ссылкой на файл, а в тексте письма разъяснения по использованию файла. При этом файл может генерироваться динамически исходя из запроса пользователя. Скрипт также может содержать кодовую последовательность, означающую, что следующий за ней адрес, это адрес документа, который сам является скриптом и сейчас его нужно выполнить. Такие ссылки могут содержаться не только в письмах, а и в локальных скриптах мэйлфорвардера. И каждый раз перед продолжением выполнения каждого запроса мэйлфорвардер будет обращаться к такому документу и выполнять его содержимое как подпрограмму. Изменение одного слова в таком документе может означать перенаправление или изменение способов обработки огромных потоков почты, или даже начало целой рекламной компании. А поскольку этот документ лежит в Интернете, то для инициализации таких изменений нужно только зайти на определенный сайт и получить доступ к нужной страничке чтобы ввести это слово, а это можно сделать откуда угодно, где есть Интернет. Да, а поскольку текст на такой страничке сам является скриптом, то он также может внутри кода содержать ссылку на еще один скрипт, а тот в свою очередь еще и т.д… Правда, если глубина вложенности таких скриптов будет большой, то время обработки кода скрипта сильно затянется, но у нас уже есть идея, как этого избежать.
Предложите, пожалуйста, для каких еще целей может использоваться язык сценариев мэйлфорвардера.
Как вы считаете, скрипты должны выполняться на сервере в Интернете, или на локальном ПК?
Если Вы считаете, что оба способа должны использоваться комбинировано, напишите в каких случаях где должен выполняться скрипт.
Как по вашему наличие языка сценариев по манипуляции содержимым документов и организации движения файлов и писем может помочь в создании он-лайн сервисов?
3. Вырезать текст письма (код html-письма) до, между и после определённых знакосочетаний.
Такая способность несет в себе большой потенциал и странно, что она не была реализована прямо в HTML, поскольку дала бы возможность включать в документ нужные части из других документов. Так, между пользовательскими тегами, можно включать в документ текст, который могут использовать другие документы, изымая его из текста. Это может быть последняя актуальная информация по какому-то поводу. Выкладывая ее в каком-то одном документе между специальными тегами мы можем быть уверены, что все другие документы (в т.ч. и письма) будут экспортировать самую последнюю ее версию на данный момент.
Между такими тегами можно вставлять аннотации к статьям, тогда простой скрипт сможет вытаскивать аннотации из документов и составлять список из названий статей и их аннотаций. Это может понадобится, например, для автоматизации создания выпусков рассылок, или для создания тематических подборок статей.
Наконец, весь текст отдельной статьи можно разбить на такие цитируемые блоки, каждый из которых посвящен какому-то вопросу, рассматриваемому в определенном контексте, информация о котором включается в базу данных мэйлфорвардера. Тогда, если у посетителя возникнет такой вопрос в таком контексте, то мэйлфорвардер сам экспортирует нужный ответ, взяв его из статьи и, при необходимости, добавив ссылку на саму статью в текст ответа.
Предложите свои варианты использования функции вырезания текста, расположенного между пользовательскими тегами.
4. Отрезать часть текста письма (код html-письма) после определённого числа знаков от начала письма или от конца письма.
Реализовать просто, хотя не понятно зачем? Отсеять фразы приветствия и прощания? Для чего еще можно использовать «обрезание» писем именно по числу символов?
5. Вставлять в текст письма кодовые знакосочетания после определённых сочетаний знаков (один раз в или каждый раз, когда встретятся).
При наличии языка сценариев реализуется очень просто. Ну в самом деле, зачем иметь 100 опций в менюшках (вставка после символов и т.п.…), все равно ведь все функции не реализуешь? Не лучше ли иметь 10-20 операторов языка сценариев, с помощью которых можно реализовать все что угодно. Вставлять текст при появлении кодовых последовательностей это ведь часть «технологического процесса» обработки корреспонденции. Например, одна функция читает письмо и находит ключевые слова, другая на основе их создает последовательность ссылок на абзацы ответы (или кодовых слов, соответствующих ответам), третья – по ссылками или кодовым словам формирует ответ, учитывая необходимость смысловой связи между абзацами ответа.
Например, если нужно оформить письмо как ответ на несколько вопросов, тогда можно после каждого абзаца письма-вопроса вставлять текст ответа, но при этом нужно быть уверенным, что мы вставляем ответ именно после окончания вопроса, а не в его середине и что это именно тот ответ, который соответствует вопросу. Короче, если такое делать автоматом без глубокого анализа смысла текста, то ответы будут не соответствовать вопросам. Гораздо лучше, если предложить в качестве ответа цельное законченное письмо, поскольку даже если человек найдет там ответы не на все свои вопросы, то, по крайней мере, текст письма будет осмысленным и корректным. Потому как если человек поймет, что с ним общается машина, то у него быстро отпадет желание продолжать. Между тем, абсолютное большинство Интернет-сервисов ориентированно на массовую аудиторию, а вручную отвечать каждому, да еще и обстоятельно - никаких сил ни времени не хватит.
6. Вставлять в текст письма кодовые знакосочетания после определённого числа знаков от начала письма или перед окончанием письма.
7. Вставлять различные шаблонные тексты (код) до, между и после определённых знакосочетаний, в зависимости от того, какое знакосочетание использовано.
8. Заменять некоторые знаки в тексте письма, может даже очищать код письма от некоторых знаков (сочетаний знаков).
Это может оказаться полезной функцией для отсеивания смыслового мусора и рекламы и для выделения основного смысла письма.
Всего автор письма предложил нам 16 пунктов и остальные 8 мы проанализируем в следующем выпуске рассылки.
Результатом нашего анализа предложенной автором идеи стало понимание необходимости создания языка сценариев, ориентированного на работу с текстами, почтовыми сообщениями и файлами, который должен уметь пользоваться для решения своих задач ресурсами локального ПК издателя, Интернет-сервера, а также локального ПК читателя электронных писем (поскольку немало может делать и его компьютер для разгрузки ПК издателя и Интернет-сервера). По-началу этот язык будет иметь небольшое количество операторов, но это значит, что освоить его будет очень просто, а реализация даже приведенного небольшого числа функций даст возможность очень избирательно и целенаправленно управлять большими потоками корреспонденции с малыми затратами времени и усилий.
Итак, приступаем к описанию набора операторов языка сценариев. Понятно, что там должны присутствовать математические и строковые операции, операторы для работы с файлами и письмами, стандартный набор циклических и условных операторов... Вы скажете, что слишком сложно создавать полноценный язык сценариев. Согласен. Но мы можем взять за основу JavaScript и сделать для него соответствующие надстройки в виде небольшого числа дополнительных функций и процедур, которые обеспечат потоковую обработку корреспонденции. Т.е. наш язык скриптов получится надстройкой более высокого уровня над JavaScript. Или можно взять за основу полноценную Java, ведь даже если виртуальная машина Java не установлена в браузере по умолчанию, то она без проблем и автоматом устанавливается. А наш мэйлфорвардер будет оболочкой, обеспечивающей корректную работу функций надстройки. Тогда с одной стороны пользователь мэйлфорвардера будет иметь доступ к полному арсеналу средств объектно-ориентированного языка программирования высокого уровня, а с другой ему не придется на этом языке самому писать и тестировать длинные специфические функции по обработке корреспонденции. Т.е. он не ограничен только предложенным набором таких функций, но и не обязан использовать все другие средства языка, а разработчику не нужно создавать целый язык, а только узкоспециализированную надстройку.
Итак, каковы Ваши предложения относительно реализации умного мэйлфорвардера? Пишите нам! на info.the.bat(АТ)gmail.com, где вместо (АТ) нужно подставить собачку.
Комментарии Вы также можете оставлять ниже, только для этого нужно быть залогиненым (пройдя простейшую регистрацию, если Вы не были зарегистрированы на сайте раньше).
Продолжение следует…