Полчаса саморефлексии — о делах ИТ-шных

Мне тут на днях вот уже несколько человек, разных людей, и в разной форме говорят о том что я мало похож на интроверта ИТ-шника и куда больше на  экстраверта , сэйла, проджекта,  «идеолога» и так далее.

Иначе говоря — показываю сильно отличное от ИТ-шника поведение вроде желания и любви к выступлениям, легкость в общении с незнакомыми людьми и прочие нетипичные особенности.

Хорошо ли это или плохо? И так ли это? Я вот могу сказать что как бы много я не занимался публичной деятельностью, я никогда не считал что это именно то что мне было бы интересно. Да в принципе я много лет думал о том как организовывать собственный бизнес и общественной деятельностью занялся почти случайно и оттого что наболело.

Я видимо мало рассказываю в последнее время о разработке различных алгоритмов и адаптации технологий под конкретные задачи. Хотя и могу. Например, как я писал раньше, многие из моих публикаций и исследований были возможны по той причине что я какое-то время назад очень плотно занимался темой расшифровки кодов, извлечения скрытой информации и анализа полуструктурированных данных. Публично это выходило в виде проекта типа Скиур — по созданию RSS лент из веб-страниц или алгоритмов идентификации пола персоны используемом в проекте «Публичные доходы».

На самом деле наработок очень много. И моя ИТ-шная деятельность есть, но малопублична.

Что в неё входит? Довольно много всего, хотя и не все это используется сейчас.

Алгоритмы извлечения RSS лент из веб страниц

Это была большая работа которую я хотя и не могу назвать научным исследованием, но практическим исследованием могу. После анализа тысяч веб-сайтов и перебора сотен вариантов написания дат, способов формирования новостных лент — появился алгоритм который умеет находить на веб-страницах новостные блоки и выявлять в них заголовки, даты и текст (если он есть). Алгоритм этот весьма сложен и в первой версии был весьма ресурсоемок, однако сейчас он работает с завидной быстротой.  Около 3-х месяцев у меня ушло на то чтобы разработать этот алгоритм после множества попыток разных подходов и, несмотря на то что я считаю его несовершенным, он еще не раз мне пригодился в таких проектах как Официально и Гослюди.

Определенеи пола и этноса персон

Это довольно типовая задача и актуальная когда необходимо делать какие-либо гендерные исследования. Например, чтобы определять сколько есть женщин-депутатов или женщин-послов. Информация об этносе тоже важна, хотя и не всегда достоверна, особенно в случаях когда люди меняют фамилии к примеру. Вот на то чтобы решить эту задачу в свое время я потратил немало усилий создавая базу имен, отчеств и фамилий и прогоняя через неё сотни тысяч ФИО из находящихся в открытом доступе. Итоговый алгоритм умеет не только определять пол, но и идентифицировать форму написания ФИО — полное, с инициалами, имя-фамилия и еще около 15 типовых шаблонов.

Извлечение информации из веб-сайтов

Это технологии которые стояли за проектом «Государственная сеть» где для каждого сайта создавался технологический профиль и автоматически идентифицировать сервер, технологии, используемые библиотеки JS и CMS система, определялись счетчики, виджеты и масса других параметров. На практике это все было и есть реализовано в виде веб-сервиса которому скармливается название домена, а он в JSON возвращает о нем массу информации — идентифицированные характристики сайта, данные по DNS,  иную информацию. Реально там было запрограммировано несколько сотен характеристик из которых существенная часть приходилась на идентификацию CMS. Как ни удивительно это все появилось из моих многочисленных попыток сделать алгоритм формирования RSS лент. Одной из теорий у меня была в том что для сайтов на идентичных CMS могут использоваться типовые механизмы определения шаблонов страниц. Это отчасти верно, однако лишь немногие сайты пригодны к идентификации CMS что привело в итоге отказу от данного параметра. Ну и конечно извлечение информации из сайтов я неоднократно использовал и отчасти проектировал в целях анализа их ссылок, однако это было довольно давно и, к сожалению, часть материалов были мной утеряны в 2008 году с полетевшим жестким диском.

Автоматическая классификация закупок и организаций

Это все довольно старые задачи с вполне понятным применением. В ситуации когда нет доступа к ЕГРЮЛ через API приходится выкручиваться множеством способов структуризации организаций на основе их названий и сопроводительных кодов. Это включало и идентификацию местонахождения по кодам ИНН и КПП и определение организацинно-правовой формы по описанию организации. Применимость у этого весьма широкая — от выявления дубликатов, до аналитики в региональных разрезах. Другая задача — это классификация микро-текстов (до 50 слов) описаний закупок в реестрах контрактов. Задача простая и не очень. Простая потому как многие тексты типовые, а не очень поскольку в них огромное число опечаток. Это все было решено и активно использовалось в проекте РосГосЗатраты.

Расшифровка кодов

Я много писал про расшифровку кодов и вполне чувствую что накопил достаточно материалов для написания не статьи, но книги. По сути я какое-то время занимался тем что анализировал как извлекать информацию из таких кодов как ИНН, КПП, ОГРН, Почтовый индекс, адрес электронной почты, домен сайта, банковские счета, номера телефонов, коды IMSI и десятки других кодов. Часть этого была в той или иной форме закодирована использовалась в задачах обогащения данных в различных проектах.

Извлечение метаданных

Это одно из тех направлений которое мне так и не удалось простым образом превратить в код и которое весьма актуально и по сию пору. Я довольно долго занимался тем что искал способы извлечения максимума информации из различных файлов и иных объектов. Из файлов MS Office, из писем, из изображений, из аудио и видео и множества других форматов. Во многих из них содержится куда больше метаданных чем люди подозревают и часто даже больше чем могут почистить программы вычистки метаданных. Однако в этих задачах есть множество ограничений в инструментариях и далеко не все автоматизируемо, к сожалению.

Оптимизация и конверсия документов

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

Автоматизированные парсеры

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

Исправление опечаток

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

О многом из этого я писал ранее. А о многом не пишу и сейчас. Суть в том что всегда существует обилие технологических задач которые я всего лишь не считаю столь интересными чтобы повторно описывать у себя в блоге.

 

 

About This Author

Яндекс.Метрика