Способ и система выбора потенциально ошибочно ранжированных документов с помощью алгоритма машинного обучения

Иллюстрации

Показать все

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

Реферат

ОБЛАСТЬ ТЕХНИКИ

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

УРОВЕНЬ ТЕХНИКИ

[2] Развитие вычислительной техники в купе с увеличением числа соответствующих мобильных электронных устройств, повышают интерес к развитию искусственного интеллекта и решению задач автоматизации, прогнозирования результатов, классификации информации и обучения на основе опыта, что относится к области машинного обучения. Машинное обучение, связанное со сбором данных (датамайнинг), вычислительной статистикой и оптимизацией, охватывает процесс обучения и создания алгоритмов, которые могут обучаться и делать прогнозы на основе данных.

[3] Область машинного обучения динамично развивается в последнее десятилетие, что приводит к появлению таких технологий как машины без водителя, распознавание голоса, распознавание изображений, эффективный веб-поиск, персонализация, расшифровка человеческого генома и так далее.

[4] Алгоритмы машинного обучения могут в общем случае быть разделены на такие большие категории как обучение с учителем, обучение без учителя и обучение с подкреплением. Обучение с учителем включает в себя алгоритм машинного обучения с помощью обучающих данных, состоящих из вводов и выводов, размеченных ассесорами, задача которых состоит в том, чтобы обучить алгоритм машинного обучения таким образом, чтобы алгоритм выучил общее правило для установления соответствия между вводом и выводом. Обучение без учителя включает в себя алгоритм машинного обучения с неразмеченными данными, и целью алгоритма машинного обучения является поиск структуры или неявного паттерна в данных. Обучение с подкреплением включает в себя алгоритм развития в динамической среде без алгоритма с размеченными данными или исправлений.

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

[6] Обучение ранжированию (LTR) или машинно-обученное ранжирование (MLR) является способом применения машинного обучения при создании моделей ранжирования для извлечения информации, обработки естественного языка и сбора данных. В общем случае, система может содержать коллекцию документов, в которой модель ранжирования может ранжировать документы в ответ на запрос и выдавать наиболее релевантные документы. Модель ранжирования может быть заранее обучена на образцах документов. Тем не менее, большое число документов, которое доступно в Интернете и продолжает расти, не только сложно размечать, это также требует больших вычислительных мощностей и материальных вложений, поскольку это часто осуществляется людьми-ассесорами.

[7] Американская патентная заявка No. 8,713,023, выданная 29 апреля 2014 автору Кормаку и др., описывает системы и способы классификации электронной информации или документов на несколько классов и подклассов с помощью активного алгоритма обучения. Подобные системы классификации документов можно легко экстраполировать на большие коллекции документов, что потребует меньших человеческих усилий и может выполняться на одном компьютере, что потребует меньше ресурсов. Кроме того, описанные системы и способы классификации могут быть использованы для любых целей распознавания или классификации в широком диапазоне применения, включая электронные поиски в судебных разбирательствах.

[8] Американская патентная заявка No. 7,844,567, выданная 30 ноября 2010 года автору Хи и др., описывает систему и способ выбора обучающей выборки из набора примеров. Способ включает в себя определение близости между всеми выборками данных в наборе выборок данных, формирование границ между выборками данных в виде функции близости, вычисление весовых коэффициентов для границ в виде функции близости, выбор множества выборок данных в виде функции весовых коэффициентов для формирования подмножества выборок данных, и сохранение подмножества выборок данных.

[9] Американская патентная заявка No. 2012/0109860 А1 авторства Kсy и др. описывает, что обучающие данные используются алгоритмом обучения ранжированию для формулирования алгоритмов ранжирования. Обучающие данные могут быть изначально предоставлены оценивающими людьми, и далее смоделированы с учетом данных о кликах для определения вероятных ошибок ранжирования. Вероятные ошибки ранжирования предоставляются оценивающим людям, которые могут уточнить обучающие данные с учетом этой информации.

[10] По нижеследующим причинам, существует необходимость в способах и системах для выбора потенциально ошибочно ранжированных документов с помощью алгоритма машинного обучения.

РАСКРЫТИЕ ТЕХНОЛОГИИ

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

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

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

[14] Следовательно, изобретатели разработали способ и системы выбора потенциально ошибочно ранжированных документов с помощью алгоритма машинного обучения.

[15] Первым объектом настоящей технологии является способ выбора потенциально ошибочно ранжированного документа в наборе поисковых результатов, набор поисковых результатов был создан сервером поисковой системы, который выполняет алгоритм машинного обучения в ответ на запрос, способ выполняется на электронном устройстве, электронное устройство соединено с сервером поисковой системы, способ включает в себя: получение электронным устройством набора поисковых результатов от сервера поисковой системы, каждый документ из набора поисковых результатов обладает оценкой релевантности, созданной алгоритмом машинного обучения и вектором свойств, созданным алгоритмом машинного обучения, оценка релевантности была создана, по меньшей мере частично, на основе вектора свойств, вычисление электронным устройством для каждой возможной пары документов из набора поисковых результатов, пары документов, содержащих первый документ и второй документ: первый параметр, полученный путем первой бинарной операции над оценками релевантности первого документа и второго документа, первый параметр указывает на уровень разницы в оценках релевантности первого документа и второго документа, и второй параметр, полученный путем второй бинарной операции над векторами свойств первого документа и второго документа, второй параметр указывает на уровень разницы в векторах свойств первого документа и второго документа, вычисление электронным устройством результата проверки для каждой возможной пары документов документов из набора поисковых результатов, результат проверки основан на первом параметре и втором параметре, результат проверки указывает на уровень рассогласования между оценками релевантности первого документа и второго документа и векторами свойств первого документа и второго документа из пары документов, выбор электронным устройством по меньшей мере одной пары документов, связанных с экстремальным результатом проверки, экстремальный результат проверки указывает на высокий уровень рассогласования между оценками релевантности первого документа и второго документа и векторов свойств первого документа и второго документа из пары документов, высокий уровень рассогласования указывает на потенциально ошибочно ранжированный документ в паре документов, и разметку электронным устройством по меньшей мере одной выбранной пары документов, связанных с экстремальным результатом проверки для проверки сервером поисковой системы.

[16] В некоторых вариантах осуществления технологии, экстремальный результат проверки далее указывает на неспособность алгоритма машинного обучения с сервера поисковой системы адекватно различать первый документ и второй документ из пары документов.

[17] В некоторых вариантах осуществления технологии, результат проверки возрастает для пар документов, обладающих высоким первым параметром и низким вторым параметром, и в котором результат проверки снижается для пар документов, обладающих низким первым параметром и высоким вторым параметром.

[18] В некоторых вариантах осуществления технологии, высокий первый параметр указывает на высокий уровень разницы между оценками релевантности первого документа и второго документа, и в котором низкий первый параметр указывает на низкий уровень разницы в оценках релевантности первого документа и второго документа.

[19] В некоторых вариантах осуществления технологии, высокий второй параметр указывает на высокий уровень разницы между векторами свойств первого документа и второго документа, и в котором низкий второй параметр указывает на низкий уровень разницы в векторах свойств первого документа и второго документа.

[20] В некоторых вариантах осуществления технологии, каждый документ из набора поисковых результатов обладает позицией на странице результатов поиска (SERP), позиция была определена по меньшей мере частично на основе оценки релевантности, и в котором результат проверки далее основан на третьем параметре, третий параметр основан на позициях на SERP первого документа и второго документа из пары документов.

[21] В некоторых вариантах осуществления технологии, первая бинарная операция является вычитанием и вторая бинарная операция является вычитанием.

[22] В некоторых вариантах осуществления технологии, третий параметр является низшей позицией между позицией первого документа из пары и второго документа из пары.

[23] В некоторых вариантах осуществления технологии, экстремальный результат проверки является самым низким результатом проверки.

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

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

[26] В некоторых вариантах осуществления технологии, первый коэффициент, второй коэффициент и третий коэффициент определяются эвристическим путем.

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

[28] В некоторых вариантах осуществления технологии, способ далее включает в себя передачу по меньшей мере одной пары документов серверу поисковой системы и повтор этапов: получения набора поисковых результатов, вычисления первого параметра, второго параметра и третьего параметра, вычисления результата проверки, выбора по меньшей мере одной пары, связанной с низшим результатом проверки, и разметки по меньшей мере одной пары после заранее определенного периода времени.

[29] В некоторых вариантах осуществления технологии, результат проверки вычисляется на основе:

где

Pq(d1, d2) - результат проверки для пары документов;

d1 - первый документ из пары документов;

d2 - второй документ из пары документов;

Relev(d1) - Relev(d2) - первый параметр;

Feats(d1) - Feats(d2) - второй параметр;

min(Pos(d1)(d2)) - третий параметр;

β - первый коэффициент;

γ - второй коэффициент; и

α - третий коэффициент.

[30] Вторым объектом настоящей технологии является система для выбора потенциально ошибочно ранжированного документа в наборе поисковых результатов, набор поисковых результатов был создан сервером поисковой системы, который выполняет алгоритм машинного обучения в ответ на запрос, система соединена с сервером поисковой системы, система включает в себя: процессор, постоянный машиночитаемый носитель, содержащий инструкции, процессор, при выполнении инструкций выполнен с возможностью осуществлять: получение набора поисковых результатов от сервера поисковой системы, каждый документ из набора поисковых результатов обладает оценкой релевантности, созданной алгоритмом машинного обучения и вектором свойств, созданным алгоритмом машинного обучения, оценка релевантности была создана, по меньшей мере частично, на основе вектора свойств, вычисление для каждой возможной пары документов из набора поисковых результатов, пары документов, содержащих первый документ и второй документ: первый параметр, полученный путем первой бинарной операции над оценками релевантности первого документа и второго документа, первый параметр указывает на уровень разницы в оценках релевантности первого документа и второго документа, и второй параметр, полученный путем второй бинарной операции над векторами свойств первого документа и второго документа, второй параметр указывает на уровень разницы в векторах свойств первого документа и второго документа, вычисление результата проверки для каждой возможной пары документов документов из набора поисковых результатов, результат проверки основан на первом параметре и втором параметре, результат проверки указывает на уровень рассогласования между оценками релевантности первого документа и второго документа и векторами свойств первого документа и второго документа из пары документов, выбор по меньшей мере одной пары документов, связанных с экстремальным результатов проверки, экстремальный результат проверки указывает на высокий уровень рассогласования между оценками релевантности первого документа и второго документа и векторов свойств первого документа и второго документа из пары документов, высокий уровень рассогласования указывает на потенциально ошибочно ранжированный документ в паре документов, и разметку по меньшей мере одной выбранной пары документов, связанных с экстремальным результатом проверки для проверки сервером поисковой системы.

[31] В некоторых вариантах осуществления технологии, экстремальный результат проверки далее указывает на неспособность алгоритма машинного обучения с сервера поисковой системы различать первый документ и второй документ из пары документов.

[32] В некоторых вариантах осуществления технологии, результат проверки возрастает для пар документов, обладающих высоким первым параметром и низким вторым параметром, и в котором результат проверки снижается для пар документов, обладающих низким первым параметром и высоким вторым параметром.

[33] В некоторых вариантах осуществления технологии, высокий первый параметр указывает на высокий уровень разницы между оценками релевантности первого документа и второго документа, и в котором низкий первый параметр указывает на низкий уровень разницы в оценках релевантности первого документа и второго документа.

[34] В некоторых вариантах осуществления технологии, высокий второй параметр указывает на высокий уровень разницы между векторами свойств первого документа и второго документа, и в котором низкий второй параметр указывает на низкий уровень разницы в векторах свойств первого документа и второго документа.

[35] В некоторых вариантах осуществления технологии, каждый документ из набора поисковых результатов обладает позицией на странице результатов поиска (SERP), позиция была определена по меньшей мере частично на основе оценки релевантности, и в котором результат проверки далее основан на третьем параметре, третий параметр основан на позициях на SERP первого документа и второго документа из пары документов.

[36] В некоторых вариантах осуществления технологии, первая бинарная операция является вычитанием и вторая бинарная операция является вычитанием.

[37] В некоторых вариантах осуществления технологии, третий параметр является низшей позицией между позицией первого документа из пары и второго документа из пары.

[38] В некоторых вариантах осуществления технологии, экстремальный результат проверки является самым низким результатом проверки.

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

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

[41] В некоторых вариантах осуществления технологии, первый коэффициент, второй коэффициент и третий коэффициент определяются эвристическим путем.

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

[43] В некоторых вариантах осуществления технологии, способ далее включает в себя передачу по меньшей мере одной пары документов серверу поисковой системы и повтор этапов: получения набора поисковых результатов, вычисления первого параметра, второго параметра и третьего параметра, вычисления результата проверки, выбора по меньшей мере одной пары, связанной с низшим результатом проверки, и разметки по меньшей мере одной пары после заранее определенного периода времени.

[44] В некоторых вариантах осуществления технологии, результат проверки вычисляется на основе:

где

Pq(d1, d2) - результат проверки для пары документов;

d1 - первый документ из пары документов;

d2 - второй документ из пары документов;

Relev(d1) - Relev(d2) - первый параметр;

Feats(d1) - Feats(d2) - второй параметр;

min(Pos(d1), Pos(d2)) - третий параметр;

β - первый коэффициент;

γ - второй коэффициент; и

α - третий коэффициент.

[45] В контексте настоящего описания «сервер» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один компьютер или одну компьютерную систему, однако ни одно, ни другое не является обязательным в отношении предлагаемой технологии. В контексте настоящего технического решения использование выражения «сервер» не означает, что каждая задача (например,полученные команды или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами, оба варианта включены в выражение «по меньшей мере один сервер».

[46] В контексте настоящего описания «клиентское устройство» подразумевает под собой аппаратное устройство, способное работать с программным обеспечением, подходящим к решению соответствующей задачи. В контексте настоящего описания, термин "электронное устройство" указывает на то, что устройство может функционировать как сервер для других электронным устройств и электронных устройство, хотя это не является необходимым для настоящей технологии. Таким образом, примерами электронных устройств (среди прочего) могут служить персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.) смартфоны, планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Важно иметь в виду, что в контексте настоящего описания факт того, что устройство функционирует как электронное устройство не означает того, что оно не может функционировать как сервер для других электронных устройств. Использование выражения «электронное устройство» не исключает возможности использования множества электронных устройств для получения/отправки, выполнения или инициирования выполнения любой задачи или запроса, или же последствий любой задачи или запроса, или же этапов любого вышеописанного метода.

[47] В контексте настоящего описания «информация» включает в себя информацию любую информацию, которая может храниться в базе данных. Таким образом, информация включает в себя, среди прочего, аудиовизуальные произведения (изображения, видео, звукозаписи, презентации и т.д.), данные (данные о местоположении, цифровые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, таблицы и т.д.

[48] В контексте настоящего описания «программный компонент» подразумевает под собой программное обеспечение (соответствующее конкретному аппаратному контексту), которое является необходимым и достаточным для выполнения конкретной(ых) указанной(ых) функции(й).

[49] В контексте настоящего описания, термин "документ" может широко интерпретироваться как включающий в себя любой машиночитаемый продукт или продукт, который может храниться на машине. Документ может включать в себя электронное сообщение, веб-сайт, файл, комбинацию файлов, один или несколько файлов со встроенными ссылками на другие файлы, групповое размещение новостей, блог, веб-рекламу и т.д. В контексте Интернета, обычный документ представляет собой веб-страницу. Веб-страницы часто включают в себя текстовую информацию и могут включать в себя встроенную информацию (например, мета-информацию, изображения, гиперссылки и т.д.) и/или встроенные инструкции (например, Javascript и т.д.). Страница может соответствовать документу или части документа. Следовательно, слова "страница" и "документа" могут быть взаимозаменяемы в некоторых случаях. В других случаях, термин "страница" может относиться к части документа, например, субдокументу. Также возможно, что страница будет соответствовать более чем одному документу.

[50] В контексте настоящего описания «носитель компьютерной информации» (также упоминаемый как носитель информации) подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д. Множество компонентов может быть объединено в носитель компьютерной информации, включая два или более мультимедийных компонента одного типа и/или два или более компонента разных типов.

[51] В контексте настоящего описания «база данных» подразумевает под собой любой структурированный набор данных, не зависящий от конкретной структуры, программного обеспечения по управлению базой данных, аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом оказываются доступны для использования. База данных может находиться на том же оборудовании, выполняющем процесс, на котором хранится или используется информация, хранящаяся в базе данных, или же база данных может находиться на отдельном оборудовании, например, выделенном сервере или множестве серверов.

[52] В контексте настоящего описания слова «первый», «второй», «третий» и и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной взаимосвязи между этими существительными. Так, например, следует иметь в виду, что использование терминов "первая база данных" и "третий сервер" не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) серверов/между серверами, равно как и их использование (само по себе) не предполагает, что некий "второй сервер" обязательно должен существовать в той или иной ситуации. В дальнейшем, как указано здесь в других контекстах, упоминание «первого» элемента и «второго» элемента не исключает возможности того, что это один и тот же фактический реальный элемент. Так, например, в некоторых случаях, «первый» сервер и «второй» сервер могут являться одним и тем же программным и/или компонентами аппаратного обеспечения, а в других случаях они могут являться разными компонентами программного и/или аппаратного обеспечения.

[53] Каждый вариант осуществления настоящей технологии преследует по меньшей мере одну из вышеупомянутых целей и/или объектов, но наличие всех не является обязательным. Следует иметь в виду, что некоторые объекты данной технологии, полученные в результате попыток достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или могут удовлетворять другим целям, отдельно не указанным здесь.

[54] Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления настоящего технического решения станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы изобретения.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[55] Эти и другие аспекты, свойства и преимущества настоящей технологии будут лучше понятны с учетом следующего описания, прилагаемой формулы изобретения и чертежей, где

[56] на Фиг. 1 представлены компоненты и свойства электронного устройств, выполненного в соответствии с вариантом осуществления настоящей технологии;

[57] на Фиг. 2 представлена система, которая включает в себя электронное устройство, показанное на Фиг. 1, реализованное в соответствии с вариантом осуществления настоящей технологии;

[58] на Фиг. 3 представлена структура машинно-обученного ранжирования, реализованная в соответствии с вариантом осуществления настоящей технологии;

[59] на Фиг. 4 представлена структура результата проверки, выполненная в соответствии с вариантом осуществления настоящей технологии;

[60] на Фиг. 5 представлена блок-схема способа, выполняемого электронным устройством, для выбора потенциально ошибочно ранжированных документов, реализованного в соответствии с неограничивающими вариантами осуществления настоящей технологии.

ОСУЩЕСТВЛЕНИЕ

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

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

[63] Некоторые полезные примеры модификаций настоящей технологии также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ настоящей технологии. Эти модификации не представляют собой исчерпывающего списка, и специалисты в данной области техники могут создавать другие модификации, остающиеся в границах объема настоящей технологии. Кроме того, те случаи, где не были представлены примеры модификаций, не должны интерпретироваться как то, что никакие модификации невозможны, и/или что то, что было описано, является единственным вариантом осуществления этого элемента настоящей технологии.

[64] Более того, все заявленные здесь принципы, аспекты и варианты осуществления настоящей технологии, равно как и конкретные их примеры, предназначены для обозначения их структурных и функциональных основ, вне зависимости от того, известны ли они на данный момент или будут разработаны в будущем. Таким образом, например, специалистами в данной области техники будет очевидно, что представленные здесь блок-схемы представляют собой концептуальные иллюстративные схемы, отражающие принципы настоящей технологии. Аналогично, любые блок-схемы, диаграммы, псевдокоды и т.п. представляют собой различные процессы, которые могут быть представлены на машиночитаемом носителе и, таким образом, использоваться компьютером или процессором, вне зависимости от того, показан явно подобный компьютер или процессор, или нет.

[65] Функции различных элементов, показанных на фигурах, включая функциональный блок, обозначенный как «процессор» или «графический процессор», могут быть обеспечены с помощью специализированного аппаратного обеспечения или же аппаратного обеспечения, способного использовать подходящее программное обеспечение. Когда речь идет о процессоре, функции могут обеспечиваться одним специализированным процессором, одним общим процессором или множеством индивидуальных процессоров, причем некоторые из них могут являться общими. В некоторых вариантах осуществления настоящей технологии, процессор может являться универсальным процессором, например, центральным процессором (CPU) или специализированным для конкретной цели процессором, например, графическим процессором (GPU). Более того, использование термина «процессор» или «контроллер» не должно подразумевать исключительно аппаратное обеспечение, способное поддерживать работу программного обеспечения, и может включать в себя, без установления ограничений, цифровой сигнальный процессор (DSP), сетевой процессор, интегральную схему специального назначения (ASIC), программируемую пользователем вентильную матрицу (FPGA), постоянное запоминающее устройство (ПЗУ) для хранения программного обеспечения, оперативное запоминающее устройство (ОЗУ) и энергонезависимое запоминающее устройство. Также в это может быть включено другое аппаратное обеспечение, обычное и/или специальное.

[66] Программные модули или простые модули, представляющие собой программное обеспечение, могут быть использованы здесь в комбинации с элементами блок-схемы или другими элементами, которые указывают на выполнение этапов процесса и/или текстовое описание. Подобные модели могут быть выполнены на аппаратном обеспечении, показанном напрямую или косвенно.

[67] С учетом этих примечаний, далее будут рассмотрены некоторые не ограничивающие варианты осуществления аспектов настоящей технологии.

[68] На Фиг. 1 представлена схема электронного устройства 100, которое подходит для некоторых вариантов осуществления настоящей технологии, причем электронное устройство 100 включает в себя различные аппаратные компоненты, включая один или несколько одно- или многоядерных процессоров, которые представлены процессором 110, графический процессор (GPU) 111, твердотельный накопитель 120, ОЗУ 130, интерфейс 140 монитора, и интерфейс 150 ввода/вывода.

[69] Связь между различными компонентами электронного устройства 100 может осуществляться с помощью одной или нескольких внутренних и/или внешних шин 160 (например, шины PCI, универсальной последовательной шины, высокоскоростной шины IEEE 1394, шины SCSI, шины Serial ATA и так далее), с которыми электронными средствами соединены различные аппаратные компоненты.

[70] Интерфейс 150 ввода/вывода может быть соединен с сенсорным экраном 190 и/или одной или несколькими внутренними и/или внешними шинами 160. Сенсорный экран 190 может быть частью экрана. В некоторых вариантах осуществления настоящей технологии сенсорный экран 190 является монитором. Сенсорный экран 190 может также упоминаться как экран 190. В вариантах осуществления технологии, изображенных на Фиг. 1 сенсорный экран 190 включает в себя сенсорное устройство 194 (например, чувствительные к давлению ячейки, встроенные в слой монитора, что позволяет обнаруживать физическое взаимодействие между пользователем и монитором) и сенсорный контроллер 192 ввода/вывода, позволяющий взаимодействовать интерфейсу 140 монитора и/или одной или нескольким внешним и/или внутренним шинам 160. В некоторых вариантах осуществления настоящей технологии, интерфейс 150 ввода/вывода может быть связан с клавиатурой (не показано), мышью (не показано) или трекпадом (не показано), что позволяет пользователю взаимодействовать с электронным устройством 100 дополнительно к сенсорному экрану 190 или вместо него.

[71] В соответствии с вариантами осуществления настоящей технологии твердотельный накопитель 120 хранит программные команды, подходящие для загрузки в ОЗУ 130, и использующиеся процессором 110 и/или графическим процессором GPU 111. Например, программные команды могут представлять собой часть библиотеки или приложение.

[72] Электронное устройство 100 может быть сервером, настольным компьютером, ноутбуком, планшетом, смартфоном, персональным цифровым органайзером (PDA) или другим устройством, которое может быть выполнено с возможностью реализовать настоящую технологию, как должно быть понятно специалисту в данной области техники. Электронное устройство 100 может осуществлять производственную фазу настоящей технологии.

[73] Возвращаясь к Фиг. 2, электронное устройство 100 соединено с сетью 210 передачи данных через линию 205 передачи данных. В некоторых вариантах осуществления настоящей технологии, не ограничивающих ее объем, сеть 210 передачи данных может представлять собой Интернет. В других вариантах осуществления настоящей технологии сеть 210 передачи данных может быть реализована иначе - в виде глобальной сети передачи данных, локальной сети передачи данных, частной сети передачи данных и т.п.

[74] Реализация линии 205 передачи данных никак конкретно не ограничена, и будет зависеть от того, какое электронное устройство 100 используется. В качестве примера, но не ограничения, в данных вариантах осуществления настоящего технического решения, когда электронное устройство 100 представляет собой беспроводное устройство связи (например, смартфон), линия связи 205 представляет собой беспроводную сеть связи (например, среди прочего, линия связи сети 3G, линия связи сети 4G, беспроводной интернет Wireless Fidelity или коротко WiFi®, Bluetooth® и т.п.). В тех примерах, где электронное устройство 100 представляет собой портативный компьютер, линия 205 передачи данных может быть как беспроводной (беспроводной интернет Wireless Fidelity или коротко WiFi®, Bluetooth® и т.п) так и проводной (соединение на основе сети Ethernet).

[75] Важно иметь в виду, что варианты осуществления электронного устройства 100, линии 205 передачи данных и сети 210 передачи данных даны и