RU2365984C2 - Поиск произвольного текста и поиск по атрибутам в данных электронного руководства по программам - Google Patents

Поиск произвольного текста и поиск по атрибутам в данных электронного руководства по программам Download PDF

Info

Publication number
RU2365984C2
RU2365984C2 RU2004108667/09A RU2004108667A RU2365984C2 RU 2365984 C2 RU2365984 C2 RU 2365984C2 RU 2004108667/09 A RU2004108667/09 A RU 2004108667/09A RU 2004108667 A RU2004108667 A RU 2004108667A RU 2365984 C2 RU2365984 C2 RU 2365984C2
Authority
RU
Russia
Prior art keywords
search
elements
text
attribute
results
Prior art date
Application number
RU2004108667/09A
Other languages
English (en)
Other versions
RU2004108667A (ru
Inventor
Скотт Д. САНДЕРС (US)
Скотт Д. САНДЕРС
Original Assignee
Майкрософт Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн
Publication of RU2004108667A publication Critical patent/RU2004108667A/ru
Application granted granted Critical
Publication of RU2365984C2 publication Critical patent/RU2365984C2/ru

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B21MECHANICAL METAL-WORKING WITHOUT ESSENTIALLY REMOVING MATERIAL; PUNCHING METAL
    • B21DWORKING OR PROCESSING OF SHEET METAL OR METAL TUBES, RODS OR PROFILES WITHOUT ESSENTIALLY REMOVING MATERIAL; PUNCHING METAL
    • B21D17/00Forming single grooves in sheet metal or tubular or hollow articles
    • B21D17/04Forming single grooves in sheet metal or tubular or hollow articles by rolling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4828End-user interface for program selection for searching program descriptors

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Library & Information Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Mechanical Engineering (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Изобретение относится к поиску произвольного текста и атрибутов данных электронного руководства по программам. Изобретение позволяет упростить поиск в электронном руководстве по программам. Объект изобретения включает в себя машину поиска данных электронного руководства по программам (ЭРП) и связанные с ним способы. Текстовая поисковая цепочка может быть нормализована в доступные для поиска элементы и элементы, интерпретируемые или как текстовые элементы поиска, или как элементы поиска по атрибутам. Создают один или более запросов, имеющие условия поиска различной степени сложности, в соответствии с интерпретацией элементов поисковой цепочки. Одну или более операций поиска в базах данных ЭРП и/или ресурсах сети выполняют на основании интерпретации элементов текста и атрибутов и результатам присваивают значение ранжирования результатов согласно интерпретации. Объединенные результаты поиска могут быть сгруппированы, ранжированы и фильтрованы для отображения пользователю. Результаты могут также быть отображены прогрессивно, по мере того как каждый символ поисковой цепочки вводится пользователем. 5 н. и 30 з.п. ф-лы, 7 ил.

Description

Листинг компьютерной программы
Набор распечаток текстового XML-файла, используемых в соответствии с изобретением, приведен в приложении после реферата и включен посредством ссылки в описание. Листинг текстового XML-файла является примером списка атрибутов (например, блок 310 на Фиг.3).
Область техники
Настоящее изобретение в целом относится к передаче мультимедийных данных, конкретно - к поиску произвольного текста и атрибутов данных электронного руководства по программам (EPG).
Предшествующий уровень техники
В цифровой телевизионной системе пользователи обычно осуществляют поиск информации о просмотре программ в электронном руководстве по программам (ЭРП, EPG). ЭРП представляет собой набор данных программы и метаданных программы, которые относятся к программам, доступным из пользовательского локального головного узла (канальных настроек поставщика программ) в течение интервала времени, например в течение одной недели. Пользователь отыскивает программы посредством указания ключевых слов для выполнения текстового поиска заголовков программ. Результат поиска, обычно заголовок программы, который удовлетворяет критериям поиска, называют "ответом".
Телевизионные программы могут также быть найдены посредством поиска по атрибутам программ, а не только ключевых слов из заголовка программы. Хотя заголовок программы может быть просмотрен в качестве одного из атрибутов программы, элемент "атрибут" используется в "более техническом" смысле в области мультимедиа для описания многих характеристик программы, не относящихся к заголовку. Как таковые, атрибуты включают в себя неограниченное количество характеристик программы и ее представления. Программа и ее атрибуты обычно вносятся в обширную иерархию информации ЭРП. Некоторые атрибуты, такие как "категории", могут описывать широкий набор программ, в котором разыскиваемая программа является элементом, то есть атрибут "категория" описывает иерархический уровень, включающий в себя разыскиваемую программу, так что пользовательский поиск атрибута "категория" приводит к "ответам" для каждой программы в категории. Поиск "вестернов", например, может приводить ко многим ответам, принадлежащим к кинематографическому и телевизионному жанру "вестерн".
Атрибуты могут также описывать такие характеристики, которые являются корректными для заголовка программы, то есть атрибуты могут описывать параметры, которые приводят к тому, что две версии одной и той же программы отличаются друг от друга. Этот более узкий тип атрибута описывает элементы ЭРП-иерархии "ниже" конкретной программы, то есть приводит к тому, что одна и та же программа имеет различные признаки. Например, одна версия фильма "Гора" с Спенсером Трэйси в главной роли может иметь атрибуты "черно-белый" и "монофонический", в то время как другая версия имеет атрибуты "цветной", "DOLBY® Digital", "субтитры" и "не рекомендуется детям". Текстовый поиск, ограниченный элементами ключевого слова заголовка, приведет к извлечению обеих версий в качестве "ответа", в то время как текстовый поиск элементов ключевого слова заголовка, объединенного с поиском атрибута "Dolby", извлечет только версии DOLBY® Digital и DOLBY® Stereo sound system.
Обычный текстовый поиск по элементу - ключевому слову заголовка выполняется посредством ввода текста ключевого слова в поле поиска пользовательского интерфейса (ПИ, UI), и обычный поиск по атрибуту выполняется посредством ввода атрибута-критерия (например, в позицию для отметки) отдельно от ключевых слов текстового поиска в отдельной части ПИ, или полностью в отдельном ПИ. "Ответы" от отдельного текстового поиска и отдельного поиска по атрибутам логически объединяются только в конце обоих способов поиска для получения списка "ответов".
Фиг.1 показывает обычный текстовый поиск 100 и обычный поиск 102 по атрибутам, в котором критерии в виде текстовых ключевых слов и атрибутов вводятся отдельно, например, в поле поиска, отдельном от позиций для отметки атрибутов, которые отображены на одном или более ПИ.
На этапе 104 вводят текстовое(ые) ключевое(ые) слово(а). На этапе 106 атрибуты-критерии вводят отдельно от ввода ключевого(ых) слова(слов). Текстовый поиск выполняют 108 обычно в заголовке программы, используя введенное текстовое(ые) ключевое (ые) слово(а), и поиск по атрибутам выполняют 110, используя введенные критерии поиска по атрибутам. Каждая отдельная операция поиска выдает отдельные результаты 112, 114. Логическая схема 116 фильтрации может сравнивать результаты 112, 114 и выдавать список "ответов", который обычно удовлетворяет и текстовому поиску 100, и поиску 102 по атрибутам.
Так как пользователю обычно требуется выполнять поиск по атрибутам в отдельной части ПИ, многие ограничивают свой ввод данных поиска только запросами стиля ключевого слова из слов заголовка программы, в то время как другие неправильно вводят атрибуты в качестве ключевых слов для текстового поиска заголовков программы без понимания того, что цифровая телевизионная система интерпретирует атрибуты, введенные таким образом, как обычные элементы поиска заголовка программы.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Изобретение включает в себя машину поиска для поиска данных электронного руководства по программам (ЭРП) и соответствующие способы. В приведенном в качестве примера способе текстовая поисковая цепочка может быть нормализована в доступные для поиска элементы и элементы, интерпретируемые или как элементы текстового поиска, или как элементы поиска по атрибутам. Создаются запросы, использующие логику поиска изменяющейся сложности, согласно интерпретации элементов (терминов) в поисковой цепочке (строке поиска). Один или более поисков (операций поиска) в базах данных ЭРП и/или web-ресурсах ЭРП выполняют для каждого текстового элемента и каждого элемента-атрибута, и результаты ранжируются по релевантности согласно интерпретации поисковой цепочки. Объединенные результаты поиска могут быть ранжированы, отфильтрованы и сгруппированы для отображения пользователю. Результаты могут также отображаться прогрессивно при вводе пользователем каждого символа поисковой цепочки.
В одном варианте осуществления список атрибутов может использоваться для отделения текстовых элементов от элементов-атрибутов. Примерный список атрибутов может дополнительно содержать индексы или метаданные для каждого атрибута, которые задают направление поисков, выполняемых для каждого элемента-атрибута в поисковой цепочке.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 является графическим представлением текстового поиска и поиска по атрибутам согласно предшествующему уровню техники.
Фиг.2 является графическим представлением примера поиска согласно изобретению.
Фиг.3 иллюстрирует блок-схему приведенной в качестве примера машины поиска.
Фиг.4 является графическим представлением примера поиска, выполненного приведенной в качестве примера машиной поиска согласно Фиг.3.
Фиг.5 является графическим представлением примера прогрессивного поиска, выполненного приведенной в качестве примера машиной поиска согласно Фиг.3.
Фиг.6 иллюстрирует блок-схему примера способа согласно изобретению.
Фиг.7 иллюстрирует блок-схему образцовой среды вычислительных устройств для реализации изобретения.
ПОДРОБНОЕ ОПИСАНИЕ
Краткий обзор
Быстрый, интуитивный и точный поиск данных электронного руководства по программам (ЭРП) важен для конечных пользователей цифровых телевизионных систем, включая и системы телевизионных приставок, присоединяемых к телевизионным системам, и системы персональных компьютеров (PC), способных принимать и записывать телевизионные передачи. Пример выполнения изобретения описывает машину поиска и связанные с ней способы ввода и интерпретации запросов пользовательского текста и атрибутов в цифровой телевизионной системе. Этот быстрый и точный механизм поиска интерпретирует, например, одиночный ввод пользователем текстовой строки и делает вывод о вероятном намерении пользователя, отображая набор результатов "ответа", который пытается согласовать интерпретацию того, что пользователь ищет. Такие возможности расширенного поиска важны, когда рынки цифровых видеомагнитофонов на основе ПК (DVR) и телевизионных приставок расширяется с большой скоростью.
Фиг.2 дает краткий обзор примера поиска 200 в базах данных ЭРП или других ресурсах. Примерный поиск 200 начинается с поисковой цепочки 202, вводимой или принимаемой от пользователя или извлекаемой из памяти. Приведенная в качестве примера машина 204 поиска принимает поисковую цепочку 202, выполняя несколько преобразований над элементами строки, чтобы сгенерировать возможные команды запроса различных уровней сложности.
Одиночная поисковая цепочка 202 может порождать один или более независимых поисков в зависимости от сложности и неопределенностей поисковой цепочки 202, и таким образом в соответствии с одним вариантом выполнения изобретения интерпретатор 214 строки пытается составить столько запросов (один, если можно) и столько ограничительных запросов, насколько возможно, на основании конкретной поисковой цепочки 202. Например, в одном варианте осуществления интерпретатор 214 строки получает минимальное количество кратких и/или ограничительных запросов посредством определения, какие элементы в поисковой цепочке 202 являются известными атрибутами, которые должны быть отысканы в качестве элементов поиска по атрибутам. Оставшиеся элементы в поисковой цепочке 202 могут быть возможными элементами-атрибутами или возможными текстовыми элементами, но определение известных атрибутов (например, использование базы данных или списка известных атрибутов) часто значительно сужает запрос. Таким образом, интерпретатор 214 строки "рассматривает" ряд поисков 206 текста, поисков 208 по атрибутам, условных поисков 210 текста и условных поисков 212 по атрибутам, используя различные способы и ресурсы, как раскрыто более подробно ниже со ссылками на Фиг.3.
В одном варианте осуществления грубое определение вероятного значения поисковой цепочки 202 выполняют посредством выполнения предварительного поиска по каждому нормализованному элементу в поисковой цепочке 202 или в базе данных ЭРП, и/или в словаре, доступном в оперативном режиме, и ранжирования результатов. Например, если "Ryan" является элементом поиска, то "Saving Private Ryan" может быть выдан вдобавок к "Ryan O'Neal" как вероятной интерпретации поиска, если это является более обычным в базе данных или словаре. В другом варианте осуществления интерпретатор 214 строки проверяет различные комбинации элементов поиска, пока не будет найдена или логически облегчен поиск одной из комбинаций в ресурсах ЭРП. Следовательно, элементы поиска "луна" и "бумага", встречающиеся случайно, но в качестве одиночных текстовых элементов в числе множества элементов-атрибутов в поисковой цепочке 202 вероятно могут привести к интерпретации "Бумажная Луна", которая будет высоко ранжирована, если фактически будет найдена в качестве "ответа" в результате запроса.
Интерпретатор 214 строки, таким образом, приходит к одной или более интерпретациям, которые приводят к запросу 216 (или запросам). Запрос 216 используется для выполнения одного или более поисков, приводящих к объединенному, отфильтрованному и/или ранжированному списку "ответов", который отображается пользователю. Этот приведенный в качестве примера поиск 200 является только одним примером того, как один или более поисков, чувствительных к тексту и атрибутам, могут возникать только из одной поисковой цепочки 202. Поисковая цепочка 202 подвергается синтаксическому анализу, преобразуется и анализируется, например, интерпретатором 214 строки для получения интерпретации элементов, осведомленной о тексте и атрибутах в поисковой цепочке 202.
В одном варианте осуществления объединенный, отфильтрованный и/или ранжированный список "ответов" обновляется, когда различные пути поиска возвращают результаты. Альтернативно, результаты могут прогрессивно появляться в объединенном, отфильтрованном и/или ранжированном списке "ответов", когда вводится поисковая цепочка 202, то есть, когда каждый символ добавляется к поисковой цепочке 202, инициализируется новый и/или измененный поиск.
Пример машины поиска
Фиг.3 более подробно иллюстрирует приведенную в качестве примера машину поиска 204 из фиг.2. Примерная машина 204 поиска соединена с возможностью обмена с одной или более базой(ами) 300 данных ЭРП. Некоторые особенности и процессы, выполняемые примерной машиной поиска 204, описаны ниже, но конечно, примерная машина 204 поиска может иметь признаки и выполнять обработку, которые являются дополнительными к тем, что показаны, например, индексацией содержимого базы данных. Различные реализации примерной машины 204 поиска будут, конечно, работать с различными языками общения людей. Таким образом, некоторые признаки примерной машины 204 поиска могут не применяться или могут быть не необходимы для некоторых языков.
Вообще, примерная машина 204 поиска выполняет поиск(и) ЭРП в базе данных посредством отображения сначала приемника 301 поисковой цепочки, например интерфейса прикладной программы (API), который принимает выражения для поиска и обращается к набору ограничений, сгенерированных или запрограммированных пользователем. После формирования запросов, частично основанных на ограничениях, примерная машина 204 поиска возвращает набор результатов.
Приемник 301 поисковой цепочки может принимать поисковую цепочку 202 через один или более UI (интерфейсов пользователя, ИП). ИП для поиска данных ЭРП может быть оптимизирован для или "двухфутовой" или "десятифутовой" системы. Двухфутовая система является цифровой телевизионной системой, в которой пользователь имеет возможность ввода информации, типичную для систем на основе ПК. Например, двухфутовая система может использовать полную клавиатуру, мышь и монитор. Десятифутовая система, с другой стороны, является цифровой телевизионной системой, в которой пользователь имеет ограниченную возможность ввода по сравнению с двухфутовой системой. Десятифутовая система может быть ПИ, сгенерированным телевизионной приставкой, и поисковой цепочкой 202, введенной с использованием дистанционного управления с относительно малым количеством клавиш для активации.
Поскольку ввод данных и навигация по ПИ обычно являются более трудными для десятифутовой системы, полезно сокращать (минимизировать) количество данных, необходимых для фиксации (захвата) намерения пользователя при вводе данных поиска в десятифутовую систему, в то же время максимизируя точность и мощность поиска.
Приемник 301 поисковой цепочки может, конечно, принимать пользовательские вводимые данные из любого числа полей для ввода, позиций для ввода (кнопок-флажков), выключателей и/или устройств. Если вводимыми данными являются только одиночная поисковая цепочка 202, примерная машина 204 поиска может, однако, "декодировать" поисковую цепочку для разделения информации поиска текста и по атрибутам и конструирования соответствующих запросов. Блок 302 нормализации, связанный с возможностью обмена с приемником 301 поисковой цепочки, преобразует нарушения порядка (т.е. преобразует формат "не-стандартизированных" элементов) в поисковой цепочке 202 в элементы, которые могут последовательно применяться в различных запросах. Нестандартные введенные данные являются элементом или частью поисковой цепочки 202, которые имеют текстовые, символьные, языковые особенности (формальности) и/или особенности пунктуации, которые не соответствуют особенностям баз(ы) 300 данных ЭРП, в которых(ой) осуществляется поиск. Нестандартные вводимые данные вносят в интерпретатор 304 строки риск частичного или полного непонимания и могут приводить к отсутствию "ответов", когда их особенности не соответствуют просматриваемой(ым) базе(ам) 300 данных ЭРП.
В качестве части запроса на поиск приемник 301 поисковой цепочки часто принимает строку символов, введенных пользователем, например "The West Wing". Блок 302 нормализации или другой модуль примерной машины 204 поиска может использовать разделение на элементы, чтобы попытаться разбить фразу на каждое из слов, которые составляют его, выполняя текстовый поиск для каждого слова в отдельности. Это разделение на отдельные слова имеет преимущество, заключающееся в обнаружения совпадений, когда пользователь пропустил или перестроил слова в известном заголовке, но может также генерировать большее количество "ответов", чем предполагалось пользователем. Элементы поиска отдельных слов часто отделяются штриховой и штрихпунктирной граничной линией. Блок 302 нормализации может также удалять дополнительные пробелы между словами цитируемой фразы. Пользователи не всегда вводят поисковую цепочку 202, используя правильный регистр ввода символов. Например, "The West Wing" может быть напечатано как "the west wing". Дополнительно, информация базы данных ЭРП иногда имеет необычный регистр ввода во фразах, например "ВОСКРЕСНЫЙ БИЛЕТ" вместо "Воскресный Билет" или "воскресный билет". Блок 302 нормализации может выполнять нормализацию регистра ввода символов, преобразуя каждый элемент поиска и также текст просматриваемой базы данных ЭРП к общему регистру ввода (или верхний или нижний), например, следуя правилам текущего региона.
Блок 302 нормализации может также нормализовать некоторые символы и метки. Диакритическим знаком является объединяющий символ, например ударение или умляут, которые могут появляться во многих алфавитах иностранных языков, обычно сопровождая гласные. В одном варианте осуществления изобретения элементы поиска и текст просматриваемой базы данных сравнивают так, как будто диакритические знаки отсутствуют. Символы и специальные символы алфавита могут также быть перезаписаны и/или добавлены к элементам поиска блоком 302 нормализации, чтобы облегчить точный поиск. Например, символы, например, немецкого "β" могут быть перезаписаны как "ss", так что поиск, содержащий немецкое "β", будет приводить к "ответу", если или форма "Р", или форма "ss" присутствуют в разыскиваемом тексте.
Нормализация символов включает в себя удаление или преобразование символов, таких как пунктуация, и из элемента (ов) поиска и просматриваемого текста при поиске более точного соответствия. Например, точки в сокращениях, например "F.B.I.", и звездочки в "M*A*S*H" должны быть удалены. Символы, такие как "&" и "@", могут быть преобразованы в их словесную форму "and" ("и") и "at" ("в"). Символы, замененные буквами, могут быть преобразованы, например, знак "$" в "Vega$". Эта нормализация символов может приводить к дополнительным поискам. Например, примерная машина 204 поиска может искать и "Vegas" и "Vega$" после того, как блок 302 нормализации обработал поисковую цепочку 202, вместо использования только одной формы посредством соглашения и нормализации как элемента поиска, так и текста, являющихся предметом поиска, к одной обычной форме.
Артикли речи, также как и повсеместно используемые, но не очень описательные, слова, например, "a", "the", "is", "are", "el", "la", "los", "les" и т.д., могут быть удалены из элементов поиска блоком 302 нормализации, чтобы ускорить обработку. В некоторых вариантах осуществления артикли и повсеместно используемые слова не удаляются или отыскиваются условно, если они являются единственными словами, присутствующими в поиске, или если первый проход поиска не выдает никаких результатов.
Примерная машина 204 поиска может просматривать поисковую цепочку заранее в поисках лексем, которые изменяют значение поиска некоторым образом. Например, предшествование слову знака "минус" ("-") может указывать, что слово не должно появиться в совпадении. Группировка элементов вместе в кавычках может указывать, что группа должна рассматриваться только когда элементы в группе появляются в данном порядке и вместе. Слова "AND" ("И"), "OR" ("ИЛИ") и "NOT" ("HE") могут использоваться специальным образом, чтобы влиять на операторы поиска. Это предоставляет пользователю большую степень управления поиском.
В одном варианте осуществления блок 302 нормализации, или другие компоненты машины 204 поиска, может применять проверку правильности написания к поисковой цепочке 202 после ее ввода. Используются несколько стратегий, чтобы помочь пользователю избежать ошибок при вводе поисковой цепочки 202. Пользователь может быть предупрежден о возможном присутствии слов с орфографической ошибкой в тексте поиска, прежде чем будет выполнен поиск, или через диалоговое окно записи по буквам или посредством другого текстового индикатора, например, подсветкой INTELLISENSE® "волнистой строкой". Альтернативно, проверка правильности написания может быть задержана до конца выполнения поиска и выполнена, только если никакие точные результаты не найдены. Наконец, проверка правильности написания может быть выполнена прозрачным образом. Исправленные формы слов, интерпретируемых блоком 302 нормализации как имеющих орфографическую ошибку, могут быть автоматически добавлены в конец к поисковой цепочке 202 и запрошены в качестве операций условного поиска. Ранжирование уместности (описано ниже) может использоваться затем, чтобы понизить ранг этих условных элементов поиска, если поиски выдают "ответы", которые действительно содержат элементы поиска с орфографической ошибкой.
Блок 302 нормализации может также использовать автокоррекцию, которая является упрощенной формой проверки правильности написания. Вместо сравнения каждого элемента поиска со словарем слова исправляют во время их ввода, используя простую поисковую таблицу слов с традиционно допускаемыми орфографическими ошибками. В редких случаях, в которых автокоррекция дает неправильное решение (исправление слова, в котором пользователь преднамеренно хотел сделать орфографические ошибки), пользователь может однократно выполнить отмену автоматического исправления. Когда пользователь набирает (вводит) текст, блоком 302 нормализации также может быть представлен ниспадающий список с возможными завершениями слова на основании заранее существующего полнотекстового индекса. Это позволяет пользователю более быстро вводить критерии поиска.
Интерпретатор 304 строки соединен с возможностью обмена с блоком 302 нормализации. В одном варианте осуществления интерпретатор 304 строки включает в себя преобразователь 306 строки и идентификатор 308 атрибутов, соединенный с возможностью обмена со списком 310 атрибутов. Интерпретатор 304 строки может также быть соединен с возможностью обмена с таблицей ограничений 312 поиска.
Преобразователь 306 строки может проверять элементы поиска в поисковой цепочке 202 или отдельно, или в комбинации, чтобы получить интерпретацию для поисковой цепочки 202 и определять, была ли строка перестроена. Преобразователь 306 строки может использовать схему перестановки и/или перемежения, чтобы попробовать комбинации различных элементов в пределах поисковой цепочки 202 и в различном порядке, чтобы идентифицировать возможные атрибуты, которые пользователь пробовал искать. Таким образом, "dolby the closed mile green captioning" может выдать элементы-кандидаты поиска, включающие в себя "dolby", "the green Mile", и "closed captioning". Если окажется, что два или более элементов должны быть сгруппированы вместе, преобразователь строки может перемещать элементы и/или прозрачным образом добавлять положенную в основу группу к элементам поиска в поисковой цепочке 202. Чтобы выполнить это, преобразователь 306 строки может проверять элементы поиска по списку 310 атрибутов и/или таблице ограничений 312 поиска.
Преобразователь 306 строки может положить в основу элемент поиска, чтобы расширить возможности поиска. "Морфологический поиск" является процессом удаления префиксов и/или суффиксов из элемента поиска, чтобы обеспечить корню элемента поиска представлять первоначальный элемент поиска. Это обеспечивает большее количество "ответов", захватывая большее количество вариантов первоначального элемента поиска. Например, слово "divine" ("божественный") может быть урезано до "divin", так чтобы оно обеспечивало соответствие для "divinity" (богословие), "divination", "diviner" и т.д. Преобразователь 306 строки может использовать известный алгоритм морфологического поиска, например алгоритм "Porter" (проводник). Морфологический поиск имеет преимущество, заключающееся в генерации "ответов", которые могут быть пропущены, если элемент поиска был запрошен точно, но имеет недостаток, заключающийся в том, что часто генерирует не относящиеся к теме "ответы". Этот эффект может быть уменьшен, используя блок ранжирования уместности или в преобразователе 306 строки, или в другой части примерной машины 204 поиска, например компиляторе результатов (описан ниже). В некоторых вариантах осуществления морфологический поиск требует этапа предварительной обработки данных, который может привести к уменьшению быстроты поиска. Поэтому в некоторых вариантах осуществления морфологический поиск ограничивается специальными словами, например редкими словами, которые определены индексом (показателем) частоты появления.
Преобразователь 306 строки может выполнять дополнительные преобразования элемента и строки. Разветвление на основе слова использует генерацию набора элементов поиска из одиночного элемента. Может использоваться список связанных слов. Например, элемент поиска "NFL" может привести к элементу "футбол", добавляемому к поисковой цепочке 202, и таким образом "NFL" может порождать дополнительный поиск для слова "футбол". Элемент "тридцать" может быть добавлен к поисковой цепочке 202, если элемент "30" появляется в поисковой цепочке 202, и т.д. Связанные элементы могут возникать из списка исключений, относящегося к данным, и/или списка исключений, сохраненного в определяемой пользователем или программно определенной таблице 312 ограничений. Разветвление на основе слова может также замедлять поиск и может генерировать не относящиеся к теме результаты, но он также генерирует "ответы" в некоторых случаях, когда ни один не был бы найден. Блок ранжирования уместности может использоваться для того, чтобы разместить менее уместные результаты внизу списка 222 "ответов".
Также может использоваться "размножение". "Размножение" - это простая форма морфологического поиска слова, который генерирует дополнительные элементы поиска, основанные на сингулярной или множественной форме первоначального слова. Например, если элементом поиска является "младенец", то может быть включен дополнительный элемент поиска "младенцев".
Необязательно, интерпретатор 304 строки или другой компонент машины 204 поиска может добавлять синтаксический анализ естественного языка к другим особенностям и процессам интерпретации строки. Этот тип синтаксического анализа включает в себя преобразование фразы поиска, например "Когда Звездные Войны показываются в Dolby Digital?", в осуществимые элементы поиска, которые удовлетворяют пользовательскому запросу на поиск. Хотя синтаксический анализ естественного языка является очень мощным, грамматика обычно ограничивается пользовательским выбором значений существительного/глагола. Дополнительно, учитывая увеличенное число слов в поисковой цепочке 202 на естественном языке (относительно логического поиска элементов), поиск на естественном языке не может быть оптимальным выбором для десятифутовой системы, в которую элементы поиска должны быть введены, используя вспомогательную клавиатуру для удаленного управления. Наконец, синтаксический анализ естественного языка может требовать большей мощности обработки для осуществления.
Особенности и процессы, выполняемые преобразователем 306 строки и другими модулями примерной машины 204 поиска, описаны в некотором порядке, но порядок, в котором эти особенности и процессы представлены, не предназначен для указания предложенного порядка использования в конвейере обработки. Во многих случаях упорядочение и/или эффективность каждой из этих особенностей и процессов важны для сгенерированных результатов. Идентификатор (блок идентификации) 308 атрибутов отделяет текстовые элементы поиска от элементов-атрибутов поиска различными способами, например сравнением кандидата или потенциальных элементов поиска с атрибутами в списке 310 атрибутов. Идентификатор 308 атрибутов может также получать информацию обратной связи от результатов поиска текста и применять процесс удаления элементов в поисковой цепочке 202, чтобы таким образом найти атрибуты. В этом случае идентификатор 308 атрибутов может постулировать различные булевые соотношения между элементами поиска. Например, элементы поиска "green mile dolby" могут интерпретироваться как "'green' ИЛИ 'mile' И dolby" или "'зеленая миля' И dolby", но может порождать поиск, который возвращает только экземпляры "The Green Mile" в DOLBY® Digital или DOLBY* Sound Stereo из-за второго набора постулированных булевых отношений.
Список 310 атрибутов, конечно, может быть сохранен в памяти компьютера для быстрой интерпретации строки. Если в списке 310 атрибутов используется список из приблизительно двух сотен атрибутов программ телевидения, тогда, возможно, фактически все атрибуты, релевантные к программам телевидения, которые могут быть введены пользователем, могут быть идентифицированы идентификатором 308 атрибутов и отделены от текстовых элементов поиска.
Представление примерного списка 310 атрибутов приведено в качестве примерной структуры данных расширяемого языка разметки (XML) в Приложении А: "Примерный список атрибутов". Это представление содержит только типовой выбор телевизионных программ, атрибутов, элементов и значений. Соответственно типичный список 310 атрибутов может содержать большее или меньшее количество записей, чем те, что показаны, и/или отличные элементы, атрибуты и/или значения.
Как демонстрируется XML-версией примерного списка 310 атрибутов в Приложении А, список 310 атрибутов не должен ограничиваться последовательным массивом элементов-атрибутов, который обеспечивает только значения истина/ложь или соответствие "существует/не существует", когда представлен с элементом-кандидатом для поиска атрибута. Список 310 атрибутов может содержать метаданные 311 для, по меньшей мере, некоторых из атрибутов, причем метаданные атрибута связывают атрибут с ресурсами поиска и со значениями для использования в поиске. Метаданные 311 могут также связывать атрибут с набором логических условий поиска в таблице 312 ограничений. Кроме того, список 310 атрибутов может содержать индекс(ы) 313, чтобы связать атрибут в списке 310 атрибутов с другими связанными атрибутами и значениями, поиск которых может быть разумно осуществлен для получения "ответов", соответствующих поисковой цепочке 202.
В некоторых вариантах осуществления индекс(ы) 313 и/или метаданные 311 могут содержать относительно сложные ветвления логической и/или древовидной структуры логических условий поиска, которые могут генерировать "ответы", соответствующие намерению пользователя при построении поисковой цепочки 202. Например, если идентификатор 308 атрибутов проверяет список 310 атрибутов в поисках элемента "стерео", соответствие может быть найдено посредством обозначения истинного наименования атрибута и/или обозначения, что поля поиска в информации ЭРП, вероятно, содержат атрибуты "стерео" программ; например, программы "стерео" могут быть найдены, просматривая поля "ScheduleEntryAttribute" записей в базе данных. Далее, найдя, что элемент-кандидат поиска удовлетворяет критериям атрибута и задавая поля поиска в данных ЭРП, список 310 атрибутов может также выдавать одно или более точных значений, например "MSEPGA_STEREO", которые могут представлять элемент поиска, ключ или категорию, с которой (или в которой) нужно найти стереопрограммы.
Возможность индексации списка 310 атрибутов может быть сильно разветвленной. Например, если идентификатор 308 атрибутов проверяет список 310 атрибутов на наличие элемента-кандидата для поиска "спортивные состязания", список 310 атрибутов может идентифицировать "спортивные состязания" в качестве атрибута, далее идентифицировать его как тип "категория" атрибута, и выдавать команду идентификатору 308 атрибутов выполнить перекрестную проверку трех других категорий для относящихся программ: "новости", "частности" и "MSEPGC_SPORTS".
Применяя особенности и процессы, описанные выше, для преобразователя 306 строки и идентифицируя атрибуты и связанные метаданные посредством списка 310 атрибутов, интерпретатор 304 строки получает набор элементов поиска, который пытается аппроксимировать намерение пользователя при построении поисковой цепочки 202. Другими словами, интерпретатор 304 строки получает набор текстовых элементов поиска и элементов поиска атрибута, которые имеют высокую вероятность "ответов", что соответствуют тому, что большинство пользователей искало бы, если они конструировали поисковую цепочку 202. Например, если пользователь создает поисковую цепочку "scifi dolby letterbox", примерная машина 204 поиска может возвращать список "ответов" в качестве показов научной фантастики, показываемых в DOLBY® Stereo Sound в почтовом ящике. Если пользователь создает поисковую цепочку "primetime network comedies", примерная машина 204 поиска может возвращать список 222 "ответов" показов комедий в лучшее время телепередач на сетевых станциях. Если пользователь конструирует поисковую цепочку "drama rated pg", примерная машина 204 поиска может возвращать список 222 "ответов" показов драмы с оценкой "не рекомендуется смотреть детям". Если пользователь конструирует поисковую цепочку "Discovery" (Открытие), примерная машина 204 поиска может возвращать список 222 "ответов" показов со словом "открытие" в заголовке и каналов со словом "открытие" в названии канала, например "DISCOVERY CHANNEL®".
Генератор 314 запросов соединен с возможностью обмена с интерпретатором 304 строки. Генератор 314 запросов может включать в себя формирователь 316 текстового запроса и формирователь 318 запроса атрибута. В одном варианте осуществления формирователь 316 текстового запроса и формирователь 318 запроса атрибута составляют настолько (часто только один) и такой ограничительный запрос или запросы, насколько это возможно для поиска в базе(ах) 300 данных ЭРП и доступных через сеть ресурсах 334 ЭРП. Если составлено множество запросов, то результаты могут быть объединены.
Для каждого элемента поиска, который принят от интерпретатора 304 строки, генератор 314 запросов может применять оператор, который воздействует на способ, которым найдено соответствие во время запроса базы(баз) данных 300 ЭРП или web-доступных ресурсов 334 ЭРП. В одном варианте осуществления каждый оператор определяет позицию или конфигурацию, в которых элемент поиска должен (или не должен) быть найден в тексте, в котором осуществляют поиск. Несколько примерных операторов описаны ниже. "Точный" оператор указывает, что элемент поиска должен точно соответствовать данной части текста, в котором осуществляют поиск, то есть, если генератор 314 запросов осуществляет поиск некоторого типа поля, элемент поиска должен точно соответствовать полю. Оператор "Начиная с (фраза)" указывает, что элемент поиска должен быть найден в начале поля текста, в котором осуществляют поиск. Оператор "Начиная с (слово)" указывает, что элемент поиска должен быть началом слова в пределах поля текста, в котором осуществляют поиск. Оператор "содержит" указывает, что элемент поиска может быть найден в любом месте в поле текста, в котором осуществляют поиск.
Для каждого из описанных выше операторов может использоваться "противоположный оператор" (форма НЕ) для указания, что "ответ" не должен быть сгенерирован машиной 204 поиска, если соответствующее условие истинно. Операторы поиска "AND" (И) и "OR" (ИЛИ) также могут использоваться для указания, должны ли быть найдены все элементы поиска в поле текста, в котором осуществляют поиск, или если должны соответствовать только некоторые из элементов поиска.
Администратор 319 данных использует различные элементы поиска, сформированные генератором 314 запроса, для выполнения поиска в базе(ах) 300 данных ЭРП. В некоторых вариантах осуществления изобретения администратор 319 данных может быть или может использовать SQL (язык структурированных запросов) процессор базы данных или процессор базы данных JET, и если это так, то может комбинировать некоторые из функций компилятора 320 результатов. Поэтому администратор 319 данных может внутренним образом выполнять множество способов поиска файлов и комбинировать их. Соответственно в базе(ах) 300 данных ЭРП может применяться ряд различных форматов (например, XML, двоичный, JET, SQL и т.д.), несколько более подходящих для хранения и несколько более подходящих для передачи по сетям. В зависимости от ограничений среды передачи оптимальный формат для передачи может отличаться от оптимального формата для хранения и/или поиска. Несколько из этих вариантов выборов формата и их относительные сильные и слабые стороны описаны ниже.
Некоторые услуги по предоставлению руководства (по программам) передают клиентам многодневные руководства, используя XML, который отформатирован так, чтобы соответствовать определенной схеме. XML является удобным форматом для работы из-за легкости его понимания, удобочитаемости и наличия большого количества существующих инструментальных средств. XML, однако, не является очень компактным форматом. По этой причине руководство eHome сжимают в файл в формате "CAB" перед передачей и затем декомпрессируют после того, как прием закончен.
В больших XML-файлах нелегко осуществлять поиск. Например, десятидневные ЭРП данные могут быть записаны в файл размером 6.6 мегабайт. Загрузка XML файла такого размера в объектную модель документа (DOM) требует почти девяноста мегабайт оперативной памяти. Просмотр такого большого файла в течение каждого поиска непрактичен. По этим причинам формат XML может использоваться главным образом для передачи и постоянного хранения. Когда много клиентов загружает файл данных ЭРП, нетекстовые данные сохраняют в памяти, и все основанные на тексте данные записывают в отображенный в память файл для поиска. Некоторые API данных ЭРП могут иметь заказную базу данных для приспособления изменений в данных и/или образцах поиска.
Другим выбором для базы(баз) данных 300 ЭРП является двоичный формат. Хотя двоичные форматы часто очень компактны, они обычно полагаются на заказные инструментальные средства для их генерации и просмотра. Подобно XML файлам двоичные файлы обычно не оптимальны для поиска и могут требовать альтернативного промежуточного формата хранения для этой цели.
Машина 204 поиска может также использовать процессор базы данных JET, который поддерживается инструментальными средствами базы данных для осуществления запросов к базе(базам) 300 данных ЭРП. Повторно распространяемый интерфейс API, называемый MDAC, обеспечивает многофункциональные интерфейсы API для создания и запроса баз данных JET, используя SQL, ADO или OLE базы данных. Одно из преимуществ использования базы данных JET для базы(баз) 300 данных ЭРП - простой поиск, использующий промышленный стандарт SQL команд и простой просмотр с использованием стандартного программного обеспечения. Производительность поиска с использованием JET обычно больше, чем для многих других способов (одним из исключений является SQL-сервер) до тех пор, пока индексы соответственно сгенерированы и сохранены. Базы данных JET также хранят в одиночном файле, облегчающем манипуляции с полной базой(ами) 300 данных ЭРП.
Подобно процессору базы данных JET SQL представляет хорошо поддержанную платформу базы данных для базы(баз) 300 данных ЭРП с большой библиотекой инструментальных средств и интерфейсов API. Хотя хорошо известная современная версия SQL-сервера выполняется только на серверных компьютерах, версия SQL-сервера, называемая MSDE (или SQL Desktop Edition), может быть установлена на многих современных версиях программного обеспечения операционной системы. Поиск в хорошо индексированной базе данных SQL, вероятно, является более быстрым и более гибким, чем другие известные методы поиска данных. Базы данных SQL, однако, не легко передаются по сети. Может потребоваться этап пост-обработки загрузки данных ЭРП в базу данных SQL из другого формата, чтобы использовать MSDE. Также в отличие от серверной версии MSDE не может всегда поддерживать поиск на естественном языке или полнотекстовую индексацию (хотя оба могут быть эмулированы, используя другие способы).
Следует отметить, что во многих случаях собственный формат базы(баз) 300 данных ЭРП может не быть представлен в конечной форме, требуемой примерной машиной 204 поиска. Например, может быть необходимо сгенерировать индексы данных или может быть необходимо считывать данные в альтернативную базу данных, которая оптимизирована для поиска, но трудно передается по сети. В одном варианте осуществления примерная машина 204 поиска даже отклоняет нежелательные данные и объединяют определенные пользователем данные для более быстрого поиска.
Если используются индексы данных, машина 204 поиска может осуществлять полнотекстовую индексацию. Это включает в себя генерацию инвертированного (обратного) индекса в каждый элемент основанных на тексте данных ЭРП. Полнотекстовая индексация значительно увеличивает эффективность поиска за счет большей базы(баз) 300 данных ЭРП и увеличенного времени для генерации индексов.
Машина 204 поиска может также использовать индексацию сигнатуры. Подобно полнотекстовой индексации индексация сигнатуры является способом быстрой идентификации возможных совпадений поиска. В базе(ах) 300 данных ЭРП каждая строка данных (программа, канал, и т.д.) имеет двоичную сигнатуру, подобную хэш-функции, которая указывает, какие символы имеют место в каждом слове. Выполнение аналогичных вычислений над элементом поиска и словом из текста, в котором осуществляют поиск, а затем сопоставление результатов, используя двоичную арифметику, позволяет получить быструю аппроксимацию того, соответствует ли слово элементу поиска. Во вторых, более интенсивный поиск с использованием процессора может быть затем необходим, чтобы определить, должна ли строка, содержащая совпадающее слово, генерировать "ответ".
Как упомянуто выше, изобретение не ограничивается способностью машины 204 поиска получать текстовые элементы поиска и элементы-атрибуты поиска из одиночной поисковой цепочки 202. Примерная машина 204 поиска может выводить (получать) элементы поиска из множества источников, например различных полей ввода в ПИ в дополнение к выводу (получению) текстовых элементов поиска и элементов-атрибутов поиска из одиночной поисковой цепочки 202. Например, в некоторых продуктах атрибуты, такие как "Stereo", "closed capturing", "start time" (начальное время) и "year of release" (год выпуска), являются часто доступными в качестве элементов поиска, но вводятся в некоторые ПИ посредством позиций для отметки, "радио-кнопок" и т.д. Они могут также быть адаптированы примерной машиной 204 поиска посредством передачи в API поиска в качестве элементов поиска. Эта адаптация не ограничивает машину 204 поиска от получения других элементов-атрибутов поиска и текстовых элементов поиска из одиночной поисковой цепочки 202.
Примерная машина 204 поиска может запрашивать пользователя выбирать поля, по которым пользователь желает осуществлять поиск. Так, в дополнение к автоматическому поиску по всем областям (например, заголовку, описанию, каналам, составу исполнителей и т.д.) и ранжированию "ответов" по их предсказанной уместности примерная машина 204 поиска может также позволять пользователю вручную сужать области и/или поля поиска.
Примерная машина 204 поиска также включает в себя компилятор 320 результатов, соединенный с возможностью обмена с администратором 319 данных и интерпретатором 304 строки. Приемник 322 "ответов" в компиляторе 320 результатов собирает "ответы" от различных модальностей (особенностей) поиска или от одиночной модальности поиска, осуществляющей поиск во множестве баз данных. Поскольку множество операций поиска могут происходить одновременно, приемник "ответов" может содержать накопитель приема или буфер, который может хранить "ответы", временно ожидающие дальнейшей компиляции.
В примерной машине 204 поиска компаратор/фильтр 324 поиска соединен с возможностью обмена с приемником 322 "ответов" и с интерпретатором 304 строки. Компаратор/фильтр 324 поиска сверяет "ответы" с интерпретацией строки, установленной интерпретатором 304 строки. Как описано выше, интерпретатор 304 строки получает рабочую гипотезу, или интерпретацию, о намерении пользователя в построении поисковой цепочки 202 посредством преобразователя 306 строки и идентификатора 308 атрибутов. Если в компиляторе 320 результатов "ответ" не согласуется с интерпретацией, "ответ" может быть отфильтрован, то есть удален из отображенного списка 222 "ответов" или понижен в ранге с целью ранжирования в отображенном списке 222 "ответов". В одном варианте осуществления компаратор/фильтр 324 поиска просматривает результирующий набор "один-к-одному", чтобы определить, является ли каждый результат действительно "ответом". Это более вероятно в случае, если запрос не может быть "разложен" до достаточно мелкого уровня, чтобы исключить все промахи и в то же время все еще включать в себя все "ответы". В качестве примера интерпретации, если первоначальной поисковой цепочкой 202 является "duck dolby" и интерпретатор 304 строки поддерживает интерпретацию "Howard the Duck, by Thomas Dolby" сверх интерпретации "Donald Duck in Dolby Digital", то "ответ" "Donald Duck" может быть полностью удален из списка 222 "ответов" или, по меньшей мере, ему может быть присвоен более низкий ранг.
Блок 326 ранжирования результатов может переупорядочить "ответы" для отображения по уместности или другим критериям, или когда все операции поиска закончены, или в некоторых вариантах осуществления, когда результаты приняты приемником 322 "ответов" по частям и переданы через компаратор/фильтр 324 поиска. "Ответы", сгенерированные машиной 204 поиска, могут часто быть ранжированы так, что результаты "ответов" могут быть отсортированы для отображения таким образом, чтобы представить наиболее вероятные результаты первыми, то есть те "ответы", которые являются самыми близкими к интерпретации намерения пользователя при построении поисковой цепочки 202 (как предполагается интерпретатором 304 строки). Точные совпадения каждого элемента поиска, например, могут быть предоставлены с ранжированием уместности 100% и заданным высшим приоритетом. "Ответам", которые только совпадают с текстом, в котором должен быть осуществлен поиск, после некоторого преобразования, например, морфологического поиска или коррекции произношения, обычно задают более низкую уместность.
Фильтр 328 включений может быть соединен с возможностью обмена с блоком 326 ранжирования результатов. В некоторых вариантах осуществления фильтр 328 включений может быть программно установлен для выполнения фильтрации некоторым образом, в то время как в других вариантах осуществления фильтр 328 включений может быть настроен пользователем. Например, фильтр 328 включений может быть установлен или настроен так, чтобы полностью исключить любые результаты "ответов", которые являются уместными менее чем на 100%, когда найден, по меньшей мере, один "ответ", уместный на 100%. В других случаях фильтр 328 включений может быть установлен или настроен так, чтобы отсекать длинный список результатов, отображая только некоторое число наивысших результатов, несмотря на то, что некоторые из результатов имеют уместность 100%. В других случаях фильтр 328 включений может только позволять отображать результаты "ответов", которые имеют ранг, назначенный выше некоторого процентиля. Поэтому, если поиск осуществляют для кинофильма "Where the Red Fern Grows" ("Там, где растет красный папоротник") и единственным "ответом" является "The Red Skelton Hour" с уместностью, ранжированной только 15%, то фильтр 328 включений может отображать сообщение "никаких результатов не найдено".
Фильтр 328 включений может также ограничить число результатов определенным значением и/или ограничивать результаты в зависимости от управления-источника и/или пользователя, проводящего поиск. В контексте записи фильтр 328 включений может устранять результаты, которые не будут иметь отображения в будущем.
Блок 330 обновления отображения включен в компилятор 320 результатов, чтобы управлять дисплеем 332, на котором представляется пользователю список "ответов". Имеется много возможных способов представить список "ответов" результатов поиска. "Ответы" могут быть отображены в алфавитном порядке или хронологически. Результаты могут также быть сгруппированы и ранжированы по уместности. В некоторых вариантах осуществления блок 330 обновления отображения может быть "центром обмена информацией" для результатов, то есть блок 330 обновления отображения может сохранять количество того, что отображается. Если результаты "ответов" принимаются постепенно, то блок 330 обновления отображения может выполнять интегрирующую функцию объединения старых результатов с новыми результатами и принятием решения, какие результаты отображать. В течение поиска по частям блок 330 обновления отображения может разделить изображение, чтобы показывать порядок, в котором принимаются группы результатов поиска, и/или может также разделить изображение, чтобы показывать, какие "ответы" относятся к каким элементам поиска. Во время прогрессивного поиска (описан более подробно ниже) блок 330 обновления отображения может отказывать в отображении всех или большинства результатов, каждый раз когда пользователь добавляет (например, печатает и/или вводит) в поисковую цепочку 202 новый алфавитно-цифровой символ. Таким образом, при прогрессивном поиске блок 330 обновления отображения реконфигурирует результаты поиска, поскольку значение вводимой поисковой цепочки 202 изменяется.
Конечно, в некоторых вариантах осуществления различные модули компилятора 320 результатов могут быть объединены вместе или упорядочены по-другому. В вариантах осуществления некоторые из модулей могут быть удалены или могут быть добавлены другие обычные модули базы данных.
Варианты осуществления примерной машины 204 поиска могут быть адаптированы, чтобы удовлетворить быстродействию и мощности обработки доступных аппаратных средств и/или программной среды, используемой в варианте выполнения. Поиск может занимать больше времени для выполнения, чем приемлемо для пользователя. Машина 204 поиска может асинхронно возвращать "ответы", когда они найдены, в то время как поиск(и) все еще выполняется. Альтернативно, примерная машина 204 поиска может интеллектуально делить поиск на части, периодически обновляя набор результатов до тех пор, пока поиск не будет завершен. Например, может быть выполнен текстовый поиск для точного соответствия слова (и результаты возвращены) перед тем, как будут применены функции морфологического поиска и нормализации и возвращены результаты при последующем проходе. Операции поиска могут также быть разбиты во времени, осуществляя поиск программ в группах, разделенных согласно намеченным в эфире периодам временам.
В другом возможном варианте, если дополнительные хранилища данных доступны приведенной в качестве примера машине 204 поиска, область поиска может быть расширена. Машина 204 поиска может выполнять операции поиска в каждом хранилище данных, объединяя результаты перед завершением результирующего набора. Это может быть использовано, например, для объединения поиска в локальной базе(базах) 300 данных ЭРП с поиском доступных через сеть ЭРП ресурсов 334. Дополнительно, программы, предварительно записанные на локальном носителе, также могут быть добавлены к области поиска. Такие операции поиска могут быть выполнены через множество API и объединены перед отображением.
Примерная машина 204 поиска может также сохранять критерии поиска для более позднего и/или фонового выполнения. Пользователи могут быть заинтересованы в создании поиска, который может быть повторно выбран без повторного ввода поисковой цепочки 202. Также полезно отслеживать, какие "ответы" пользователь уже рассмотрел, так что в некоторых вариантах осуществления некоторые результаты могут быть скрыты, отделены или сделаны "недоступными" для более простого прочтения. Постоянные операции поиска могут быть выполнены каждый раз, когда информация базы(баз) 300 данных ЭРП модифицируется, так что пользователь может быть информирован относительно наступающих событий, в которых он заинтересован.
Критерии поиска могут быть преобразованы в последовательную форму, например в макрокоманды, и действовать как механизм преобразования в последовательную форму для определения автоматических записей, то есть хронологических списков поисков. Маркеры также могут быть назначены каждому преобразованию элементов поиска в последовательную форму, так чтобы пользователь мог выбирать преобразование в последовательную форму посредством выбора маркера. Преобразованный в последовательную форму поиск может быть передан другим пользователям посредством электронной почты сетевому соединению и/или внедрен в телевизионную передачу для выполнения связи посредством "щелчка, чтобы сделать запись". Примерная машина 204 поиска может также определять один или более форматов преобразования в последовательную форму. Результаты поиска и/или преобразования в последовательную форму могут быть сохранены в двоичной форме для компактного хранения или приведены в форму ASCII для простой передачи посредством электронной почты. Преобразование в последовательную форму может использоваться отдельно или вместе с автоматической записью, в которой пользователь задает поиск и указывает, что все будущие отображения (минус дублированные экземпляры), которые соответствуют критериям поиска, должны быть записаны.
Пример поиска
Фиг.4 иллюстрирует пример поиска 400 согласно изобретению, который может быть выполнен машиной поиска, например, приведенной в качестве примера машиной 204 поиска. Относительно неопределенная поисковая цепочка 202, например, "doLBy WEST-rated 'g'" принимается от пользователя или от постоянного хранилища посредством примерной машины 204 поиска. Эта поисковая цепочка 202 не может быть ограничена до одиночного краткого запроса. Примерная машина 204 поиска, однако, обладает большой многосторонностью для выполнения множества операций поиска, чтобы найти вероятные "ответы". Приведенный в качестве примера блок 302 нормализации преобразовывает строку в образцовую стандартизированную форму, например в нормализованную поисковую цепочку 402: "DOLBY WEST-RATED G". В этом случае блок 302 нормализации заменил регистр символа некоторых из символов в "doLBy", чтобы получить текстовый элемент поиска, который будет соответствовать случаю текста, в котором должен быть проведен поиск, например, в базе(ах) 300 данных ЭРП. Блок 302 нормализации разделил элементы поиска, используя незаполненные промежутки между словами и черточку между "WEST" и "rated" в качестве границ. Блок 302 нормализации удалил кавычки вокруг "д" и изменил регистр полной строки элементов поиска, то есть сделал буквы заглавными.
Нормализованную поисковую цепочку 402 передают в приведенный в качестве примера интерпретатор 304 строки, который может выполнить довольно убедительную (обоснованную) интерпретацию намерения пользователя при построении поисковой цепочки 202. Довольно обоснованная интерпретация может быть получена, если элементы-атрибуты поиска, введенные пользователем, являются ясно выделяемыми (устанавливаемыми) из текстовых элементов поиска, например, посредством списка 310 атрибутов. Интерпретатор 304 строки может быть неспособен получить обоснованное разделение между элементами текста и атрибутами, однако в этих случаях интерпретатор 304 строки может передавать элементы поиска на генератор 314 запросов для выполнения операций дополнительного и/или условного поиска. То есть, если имеется неоднозначность относительно некоторого элемента, этот элемент может использоваться в текстовом поиске и также в поиске по атрибутам, чтобы увидеть, например, сколько "ответов" следуют из каждого типа поиска. Так, элемент поиска "DOLBY" может быть словом в заголовке программы, например "Dolby Digital Experience;" это может быть атрибут создателя программы, например "Thomas Dolby;" и это может быть атрибут качества программы, например "DOLBY® Digital". Приведенный в качестве примера генератор 314 запросов может проверять каждую из этих возможностей: как два поиска 406 по атрибутам (DOLBY® Digital и DOLBY® Stereo Sound), как альтернативный текстовый поиск 410 ("dolby" как элемент в заголовке программы) и как альтернативный поиск по атрибутам (состав исполнителей и команда с названием Dolby"). Генератор 314 запросов может решить не искать "DOLBY" в качестве первичного текстового поиска 406, так как ранжирование уместности "DOLBY" в качестве атрибута очень высоко. Однако, если "DOLBY" может быть найден в текстовом поиске, тогда это будет обнаружено альтернативным текстовым поиском 410. Следовательно, альтернативные или условные операции поиска могут использоваться в качестве резерва в случае, если никакие "ответы" не возвращены операциями поиска с более высоким приоритетом, и/или альтернативные процедуры 410, 412 поиска могут использоваться в качестве пробы или модификатора, чтобы получить подробную информацию относительно поисковой цепочки 202, например, чтобы усилить интерпретацию поисковой цепочки 202 или найти новые направления поиска.
Элемент поиска "WEST" из нормализованной поисковой цепочки 402 может также использоваться в альтернативном текстовом поиске 412, поскольку "WEST" может быть словом из заголовка программы или в некоторых схемах может быть атрибутом человека, связанного с программой. Если "WEST" не найден при просмотре списка 310 атрибутов интерпретатором 304 строки, тем не менее интерпретатор 304 строки может сформировать хорошо обоснованное предположение, что "WEST" должен быть первичным текстовым элементом для поиска заголовков программы.
Интерпретатор 304 строки определяет, что элемент поиска "RATED" предшествует поиску элемента "G", так что два элемента, вероятно, интерпретируются как "RATED G" и соответственно ищутся. Хотя одиночный элемент "RATED" может быть запрошен при альтернативном текстовом поиске 410 (то есть программа со словом "RATED" в заголовке), такой дополнительный поиск, вероятно, даст низкое значение ранжирования уместности, когда "RATED" и "G" найдены вместе в поисковой цепочке 202 в надлежащем порядке хорошо известного атрибута.
Генератор 314 запросов и/или машина 204 поиска продолжает выполнять различные процедуры текстового поиска 406, поиска 408 по атрибутам, альтернативного текстового поиска 410 и альтернативного поиска 412 по атрибутам. Число вариантов поиска, которые могут быть выполнены одновременно или в логическом порядке, продиктованном длиной и значением поисковой цепочки 202, не ограничено. В некоторых случаях приведенная в качестве примера машина 204 поиска выполняет все операции поиска и перечисляет результаты согласно уместности после "первого прохода" по всем операциям поиска. В других случаях примерная машина 204 поиска следует по дереву логических условий, установленных интерпретатором 304 строки или генератором 314 запроса. Например, логические условия могут быть вида: "если текстовый поиск 406 дает А, то продолжите поиск 408 по атрибуту, используя элемент 410 поиска X, но если текстовый поиск 406 дает В, то продолжите поиск 412 по трем дополнительным атрибутам". Логика может также предусмотреть, что А - это количество "ответов", и В является конкретным "ответом", содержащим специфическое текстовое соответствие.
Каждый тип поиска может возвращать промежуточный список "ответов", имеющий результаты этого специфического поиска. Списки 414 "ответов" текстового поиска по элементу поиска "WEST" могут содержать заголовки программ, например, "How The West was Won," "West Side Story", "the Wild Wild West", "The West Wing" и т.д. Для относительно неопределенного одиночного элемента поиска, такого как "WEST", генератор 314 запросов наиболее вероятно будет использовать общий оператор "в строке", чтобы найти любые заголовки программ, содержащие слово "WEST".
Списки 415 "ответов" поисков по атрибутам могут содержать или пытаться возвращать большое количество заголовков программ, имеющих атрибуты "DOLBY® Stereo Sound", "DOLBY® Digital" и "Rated G." Зная, что эти атрибуты являются используемыми почти повсеместно, генератор 314 запросов может функционировать перед такими поисками 408 по атрибуту относительно общих атрибутов и вместо их выполнения включать атрибуты в качестве условий и/или фильтров во время текстового поиска 406. Другими словами, "ответ" текстового поиска (406), которое содержит элемент поиска "WEST", может быть не разрешен, если он также не связан по меньшей мере с одним атрибутом Dolby и оценкой "G".
Так как текстовый поиск 406 для "WEST" приводит к большому количеству разнообразных "ответов", машина 204 поиска, вероятно, будет выполнять альтернативный текстовый поиск 410 по "DOLBY", "RATED" и "G" и возможно выполнять подсчет "ответов" для каждого для сбора дополнительной информации. Возможно, если бы имелись программы, озаглавленные "Dolby WEST", машина 204 поиска изменила бы свою начальную интерпретацию в свете точного соответствия заголовку - на смежные элементы поиска, которые, как первоначально полагала машина 204 поиска, были смесью элементов поиска текста и по атрибутам.
Альтернативный поиск 412 по атрибутам может выдавать дополнительные результаты, например, в схемах, которые используют список исполнителей и названия команды в качестве атрибутов. Так, альтернативный поиск по атрибутам "DOLBY" и "WEST" выдаст четыре категории: фильмы Томаса Долби (Thomas Dolby), фильмы Стива Долби (Steve Dolby), фильмы Доминика Веста (Dominic West) и фильмы Шейн Вест (Shane West). Элемент "G" альтернативного поиска по атрибутам также дает большое количество заголовков программы, связанных с оценкой "G", но это может быть отфильтровано из-за его размера или потому, что этот поиск уже охвачен в первичных процедурах поиска 408 по атрибутам.
Наконец, все списки 416, 418, 420 "ответов" после различных операций 406, 408, 410, 412 поиска обрабатывают компилятором 320 результатов. Компаратор/фильтр 324 поиска может сравнивать "ответы", принятые для интерпретации поисковой цепочки 202, установленной интерпретатором 304 строки. Блок 326 ранжирования результатов может придавать каждому "ответу" ранжирование уместности. Фильтр 328 включений может устранять накопленные низко ранжированные и/или излишние "ответы" (их слишком много), также как и те "ответы", которые не соответствуют интерпретации поисковой цепочки 202. В проиллюстрированном отфильтрованном списке "ответов", если интерпретатор 304 строки предварительно определил булевые отношения между элементами поиска, то получена интерпретация поисковой цепочки 202, такая что: заголовок программы должен включить в себя элемент "WEST" и что программа должна быть в DOLBY® Digital и должна быть оценена "G" - только "How the West was Won", и относительно мало других заголовков программы будут отображены. Конечно, если интерпретация, полученная примерной машиной 204 поиска, не является близкой к намерению пользователя (как очевидно из-за недостатка полезных результатов, как определяется пользователем), пользователь может всегда изменить поиск, тем более что во многих вариантах выполнения весь процесс может выполняться почти немедленно.
Пример прогрессивного поиска
Фиг.5 иллюстрирует прогрессивный поиск согласно изобретению. Поскольку аппаратные средства и/или программное обеспечение, доступное для формирования модулей машины поиска, например примерной машины 204 поиска, являются достаточно мощными, чтобы обеспечить высокую скорость поиска, то в одном варианте осуществления примерной машины 204 поиска возможно исполнить операции прогрессивного поиска.
При прогрессивном поиске результаты поиска динамически обновляются с такой скоростью, с какой могут быть сгенерированы результаты, когда пользователь набирает или вводит символы в ПИ. Новый "пакет" поисков начинается после того, как вводится (или удаляется) каждый символ. При непрогрессивном поиске пользователь запрашивается для того, чтобы запустить поиск вручную нажатием клавиши "Enter" (Ввод) и/или указанием, выполняемым некоторым другим способом, что поисковая цепочка 202 завершена. Фиг.5 изображает пять кадров в поисковой цепочке 202 "The West Wing Election" во время ее ввода для поиска в базе(ах) 300 данных ЭРП, которая(ые) имеет(ют) заслуживающую внимания ЭРП информацию за несколько недель и коллекцию локально записанных программ на локальном жестком диске цифровой системы видеозаписи. На этапе 502 вводят слово "The", и примерная машина 204 поиска регистрирует нулевые результаты 504. Это может быть результатом того, что блок 302 нормализации распознал "The" в качестве артикля речи и подавил операции поиска, которые основаны только на артикле. Однако, когда было введено "Т" из "The", очень быстрая система может возвратить программы с отдельно стоящим "Т" в заголовке программы, например "Mr. Т".
На этапе 506 были введены слова "The West", и примерная машина 204 поиска возвращает пятьдесят результатов 508, включая такие заголовки, как "The West Wing", "How the West was Won" и т.д.
На этапе 510 были введены слова "The West Wing", сужая количество "ответов" от пятидесяти до десяти результатов 512. В этот момент вероятно определен заголовок программы, и десять результатов вероятно состоят из эпизодов телефильма или кинофильма "The West Wing", каждый имеющий свой собственный идентификационный номер ID программы.
На этапе 514 были введены слова "The West Wing Dolby", и квалифицирующие "ответы" далее сводятся к пяти результатам 516. Те эпизоды из предыдущих десяти, которые не являются в формате DOLBY® Digital или имеют некоторый другой атрибут Dolby, удаляются. На этапе 518 были введены слова "The West Wing Dolby Election". Это дает только два результата 520. Два "ответа" состоят из тех эпизодов "The West Wing", которые имеют атрибут "Dolby" и которые имеют атрибут "Election", возможно в качестве слова в поле описания для эпизода.
Так как различные результаты "ответов" отображаются тогда, когда вводится поисковая цепочка 202, возможно желательный эпизод "The West Wing" появится на дисплее 332 раньше в процессе, например, когда будут введены только слова "The West" на этапе 506, и пользователь будет способен немедленно выделять и выбирать требуемый эпизод.
Примеры способов
Фиг.6 иллюстрирует примерный способ 600 выполнения поиска произвольного текста и по атрибутам согласно изобретению. Этот способ 600 может быть выполнен модулем, например, примерной машиной 204 поиска, показанной на фиг.2, 3, и 5. В блок-схеме алгоритма операции объединены в отдельные блоки. Операции могут быть выполнены аппаратными средствами и/или в качестве машинно-читаемых команд (программного обеспечения или программируемого оборудования), которые могут быть выполнены процессором.
На этапе 602 принимают поисковую цепочку. Строка может быть принята от пользователя через один или более ПИ, или может быть получена из памяти в качестве сохраненной макрокоманды или преобразованного в последовательную форму поиска. Поисковая цепочка может также быть принята по одному символу за раз, и новый набор операций поиска выполняется прогрессивно каждый раз, когда новый символ принимается и добавляется к увеличивающейся поисковой цепочке. Принятая поисковая цепочка, как ожидается, будет текстовой строкой с атрибутами, разъясненными в текстовой форме. Однако, так как принятая поисковая цепочка будет нормализована так, что нетекстовые элементы преобразуются в стандартизированный текст или стандартизированные символы поиска, принятая поисковая цепочка может быть любой комбинацией алфавитно-цифровых символов, символов, назначенных набору ASCII, маркерами и/или символами иностранного алфавита. В некоторых вариантах осуществления поисковая цепочка может также содержать ввод в позицию для отметки входной программируемой клавиши, нажатых значков и т.д.
На этапе 604 поисковую цепочку нормализуют. Нормализация состоит из преобразования принятой строки в доступные для поиска элементы, которые являются понятными для поиска в конкретных информационных источниках ЭРП, то есть которые имеют формат, соответствующий формату данных в информации ЭРП, в котором осуществляют поиск. Цель состоит в том, чтобы устранить простые различия в тексте, регистре и формализме символов для предотвращения получения соответствия между элементами поиска и информацией ЭРП, которая иначе дала бы "ответ", но для различий в формализме. Следовательно, нормализация является целым комплектом инструментальных средств проверки правильности написания, авто-исправления, разделения элементов, стандартизации регистра ввода символов, нормализации символов, устранения артиклей речи, удаления пунктуации и т.д. как в элементах поиска, так и, возможно, в информации целевой базы данных. Например, "mash" и "M*A*S*H*" будут всегда совпадать независимо от того, найдена ли или форма в элементе поиска, в целевой части искомой информации, или в обоих.
На этапе 606 поисковая цепочка разделяется на текстовые элементы и элементы-атрибуты. Это разделение реализует и сопровождает интерпретацию поисковой цепочки. Разделение на текстовые элементы и элементы-атрибуты приводит к некоторой интерпретации, также как и к некоторому преобразованию и перемещению доступных для поиска элементов, обеспеченных нормализацией. Так как средняя поисковая цепочка обычно составляет только пять или шесть элементов поиска или меньше, схема может сопровождаться попытками группировки всех возможных комбинаций элементов поиска различных размеров и во всех возможных порядках. Следовательно, поисковая цепочка может быть переставлена, чтобы проверить различные группировки и комбинации элементов поиска.
Когда получены различные элементы-кандидаты поиска и фразы (группировки) поиска, они могут быть проверены или интерпретированы в соответствии со списком уже существующих атрибутов, чтобы определить, какие из элементов поиска и фраз являются известными атрибутами. Элементы-кандидаты поиска могут быть также сопоставлены с любыми результатами поиска, которые, возможно, уже были выполнены над поисковой цепочкой, так как иногда различные операции поиска, выполненные над поисковой цепочкой, выполняют не одновременно, а последовательно или итерационно согласно логике условного поиска, которая может быть задана в качестве ограничений поиска во время интерпретации поисковой цепочки, упомянутой выше. Быстрый просмотр слов во фразе поиска может также выявить другие подробности, заданные пользователем, которые составляют другой элемент интерпретации. Если имеется много коротких артиклей и соединяющих слов, например "в", "и", "является" (is) и "the", то поисковая цепочка может интерпретироваться как ввод на естественном языке. Однако короткая поисковая цепочка только с несколькими краткими элементами, вероятно, интерпретируется как поиск по булеву стилю (как двоичный поиск).
На этапе 608 проводятся одна или более операций поиска для каждого текстового элемента и каждого элемента-атрибута. Относительно сложные запросы поиска могут быть установлены в зависимости от присутствующих текста и элементов-атрибутов и того, как они относятся друг к другу. В качестве маловероятного, но иллюстративного примера, поисковая цепочка "western after 1980 sci-fi actors" (вестерн после актеров научной фантастики 1980) может быть интерпретирована как "поиск вестернов, созданных после 1980, но только теми актерами, кто широко известен в кино научной фантастики". Такой поиск повлечет за собой поиск в категории "westerns" (вестерны) и использования субстрактивной логики, чтобы удалить те вестерны, что созданы до 1980, и те вестерны, которые не имеют актеров, которые заняты в фильмах научной фантастики. Много операций поиска текстовых элементов и операций поиска элементов-атрибутов могут быть выполнены одновременно, а также последовательно или итерационно в зависимости от полученных результатов. Следовательно, машиной поиска, выполняющей примерный способ 600, например примерной машиной 204 поиска, может быть накопитель поиска, инициализирующий операции поиска, которые происходят "во всех направлениях сразу".
На этапе 610 результаты поиска объединяют, ранжируют и/или фильтруют для отображения. Объединение обычно выполняется согласно булевым отношениям, постулируемых во время отделения элементов-атрибутов от текстовых элементов. То есть то, как объединены результаты поиска, предопределяется, в частности, интерпретацией поисковой цепочки, полученной во время разделения текста и элементов-атрибутов и во время формирования запроса. То, как результаты ранжированы по уместности, также может зависеть от интерпретации, полученной ранее в процессе. Фильтрация может зависеть от предварительно установленных предпочтений пользователя для отображения или может зависеть от схемы, в которой результаты, имеющие уместность ниже порога, не отображаются.
На этапе 612 результаты поиска отображают пользователю. Результаты могут быть отображены после того, как все операции поиска выполнены, но они могут также быть отображены тогда, когда они получены и откомпилированы. При прогрессивном поиске результаты отображают с такой скоростью, с какой вводится поисковая цепочка, причем при каждом вводе символа начинается целый новый набор операций поиска.
Вышеописанный примерный способ 600 является только одним из примеров осуществления изобретения. Это не предполагает ограничения, но описывает один процесс в качестве примера, который может иметь много вариантов, доступных пользователю.
Пример вычислительного устройства
Фиг.7 иллюстрирует пример компьютера 700, подходящего в качестве среды для осуществления аспектов изобретения. Компоненты примерного компьютера 700 могут включать в себя, но не ограничиваться ими, процессор 720, системную память 730 и системную шину 721, которая соединяет различные системные компоненты, включая системную память 730 и процессор 720. Системная шина 721 может быть любой из нескольких типов шинных структур, включая шину памяти или контроллер памяти, шину периферийных устройств и локальную шину, используя любую из ряда шинных архитектур. В качестве примера, а не ограничения, такие архитектуры включают в себя шину архитектуры промышленного стандарта (ISA), шину микроканальной архитектуры (МСА), усовершенствованную шину ISA (EISA), локальную шину Ассоциации стандартов видеоэлектроники (VESA) и шину соединения периферийных устройств (PCI), также известную как шина Mezzanine.
Примерный компьютер 700 обычно включает в себя ряд считываемых компьютером носителей. Считываемыми компьютером носителями могут быть любые доступные носители, к которым может обращаться приведенный в качестве примера компьютер 700, и включают в себя и энергозависимые и энергонезависимые средства, сменные и несменные носители. Посредством примера, а не ограничения, считываемые компьютером носители могут содержать компьютерные носители данных и средства связи. Компьютерные носители данных включают в себя энергозависимые и энергонезависимые, сменные и несменные носители, осуществленные посредством любого способа или технологии для хранения информации, например считываемые компьютером команды, структуры данных, модули программ или другие данные. Компьютерные носители данных включают в себя, но не ограничены ими, RAM (оперативная память), ROM (постоянное запоминающее устройство, ПЗУ), EEPROM (электрически стираемые перепрограммируемые ПЗУ), флэш-память или память другой технологии, CD-ROM, цифровые универсальные диски (DVD) или другую оптическую память на диске, магнитные кассеты, магнитную ленту, магнитную память на диске или другие магнитные запоминающие устройства, или любую другую среду, которая может использоваться для хранения требуемой информации и к которой можно обращаться с помощью примерного компьютера 700. Средства связи обычно реализуют считываемые компьютером команды, структуры данных, модули программ или другие данные в модулируемом сигнале данных, например сигнале несущей или другом транспортном механизме, и включают в себя любые информационные средства доставки. Элемент "модулированный сигнал данных" означает сигнал, который имеет одну или более из его характеристик, установленную или измененную таким образом, чтобы закодировать информацию в сигнале. Посредством примера, а не ограничения, средства связи включает в себя аппаратно реализованные средства, например проводную сеть или соединение с прямым проводным соединением, и беспроводные средства, например акустические, РЧ, инфракрасные и другие беспроводные средства. Комбинации любых вышеупомянутых средств должны также быть включены в рамки считываемых компьютером средств.
Системная память 730 включает в себя компьютерные носители данных в форме энергозависимой и/или энергонезависимой памяти, например постоянного запоминающего устройства (ROM) 731 и оперативной памяти - RAM 732. Базовая система ввода/вывода 733 (BIOS) содержит основные подпрограммы, которые помогают передавать информацию между элементами в примерном компьютере 700, например, во время включения, обычно сохраняется в ROM 731. RAM 732 обычно содержит данные и/или модули программ, которые являются немедленно доступными для и/или в данный момент выполняющиеся процессором 720. Посредством примера, а не ограничения, фиг.7 иллюстрирует операционную систему 734, прикладные программы 735, приведенную в качестве примера машину 204 поиска, другие программные модули 736 и программные данные 737. Хотя примерная машина 204 поиска изображена как программное обеспечение в оперативной памяти 732, другие реализации примерной машины 204 поиска могут быть аппаратными или комбинациями программных и аппаратных средств.
Примерный компьютер 700 может также включать в себя другие сменные/несменные, энергозависимые/энергонезависимые компьютерные носители данных. Только в качестве примера фиг.7 иллюстрирует накопитель 741 на жестком диске, который считывает с или записывает на несменные, энергонезависимые магнитные средства, накопитель 751 на магнитном диске, который считывает с или записывает на сменный, энергонезависимый магнитный диск 752, и накопитель 755 на оптическом диске, который считывает с или записывает на сменный энергонезависимый оптический диск 756, например CD-ROM или другую оптическую среду. Другие сменные/несменные, энергозависимые/энергонезависимые компьютерные носители данных, которые могут использоваться в примерной среде, включают в себя, но не ограничиваются ими, кассеты с магнитными лентами, платы флэш-памяти, цифровые универсальные диски, цифровую видеоленту, твердотельную оперативную память, твердотельную ПЗУ и т.п. Накопитель 741 на жестком диске обычно соединяется с системной шиной 721 через несменный интерфейс памяти например интерфейс 740, а накопитель 751 на магнитном диске и накопитель 755 на оптическом диске обычно соединяются с системной шиной 721 интерфейсом сменной памяти, например интерфейсом 750.
Накопители и связанные с ними компьютерные носители данных, описанные выше и проиллюстрированные на фиг.7, обеспечивают хранение считываемых компьютером команд, структур данных, программных модулей и других данных для примерного компьютера 700. На фиг.7, например, накопитель 741 на жестком диске проиллюстрирован как хранящий операционную систему 744, прикладные программы 745, другие программные модули 746 и программные данные 747. Следует обратить внимание, что эти компоненты могут быть или такими же, или отличными от операционной системы 734, прикладных программ 735, других программных модулей 736 и программных данных 737. Операционная система 744, прикладные программы 745, другие программные модули 746 и программные данные 747 здесь обозначены различными числами, чтобы иллюстрировать, что как минимум, они являются различными копиями. Пользователь может вводить команды и информацию в примерный компьютер 700 через устройства ввода данных, например клавиатуру 762 и устройство 761 управления позиционированием, обычно называемой мышью, трэкбол, или касанием клавиатуры. Другие устройства ввода данных (не показаны) могут включать в себя микрофон, джойстик, игровую клавиатуру, спутниковую антенну, сканер или подобные устройства. Эти и другие устройства ввода данных часто соединяются с процессором 720 через пользовательский интерфейс 760 ввода, который соединен с системной шиной, но может быть связан другим интерфейсом и шинными структурами, такими как параллельный порт, игровой порт или универсальной последовательной шиной (USB). Монитор 791 или другой тип устройства отображения также связан с системной шиной 721 через интерфейс, например видеоинтерфейс 790. В дополнение к монитору компьютеры могут также включать в себя другие периферийные устройства вывода, например динамики 797 и принтер 796, которые могут быть связаны через интерфейс 795 периферийных устройств вывода.
Компьютер может работать в связанной в сеть среде, используя логические подключения к одному или более удаленным компьютерам, например удаленному компьютеру 780. Удаленным компьютером 780 может быть персональный компьютер, сервер, маршрутизатор, сетевой ПК, одноранговое устройство или другой общий сетевой узел, и обычно включает в себя многие или все элементы, описанные выше для примерного компьютера 700, хотя только запоминающее устройство памяти 781 было проиллюстрировано на фиг.7. Логические подключения, изображенные на фиг.7, включают в себя локальную сеть (ЛС, LAN) 771 и глобальную сеть (ГС, WAN) 773, но могут также включать в себя другие сети. Такие сетевые среды являются общепринятыми в офисах, компьютерных сетях в масштабах предприятия, интранет и Интернет.
При использовании в сетевой среде LAN примерный компьютер 700 связан с ЛС 771 через сетевой интерфейс или адаптер 770. При использовании в сетевой среде WAN примерный компьютер 700 обычно включает в себя модем 772 или другие средства для установления связи по WAN 773, например Интернет. Модем 772, который может быть внутренним или внешним, может быть связан с системной шиной 721 через пользовательский интерфейс 760 ввода или другой соответствующий механизм. В сетевой среде программные модули, изображенные для примерного компьютера 700 или его частей, могут быть сохранены в удаленном запоминающем устройстве памяти. В качестве примера, а не ограничения, фиг.7 иллюстрирует удаленные прикладные программы 785 как постоянно находящиеся в устройстве памяти 781. Очевидно, что показанные сетевые подключения являются примером и могут использоваться другие средства установления связи между компьютерами.
Конечно, изобретение также может использоваться во многих других средах, например телевизионной приставке, имеющей соответствующие аппаратные средства, игровой пульт и многие другие типы обрабатывающих устройств. Каждая из этих сред может содержать некоторые, но не все компоненты, описанные выше для примерного компьютера 700.
Заключение
Должно быть отмечено, что изобретение, описанное выше, может быть осуществлено посредством аппаратных средств, программного обеспечения или и аппаратными средствами и программными средствами. В некоторых вариантах осуществления примерные системы и связанные с ними способы могут быть описаны в общем контексте выполняемых компьютером команд, например программных модулей, выполняемых компьютером. Обычно программные модули включают в себя подпрограммы, программы, объекты, компоненты, структуры данных и т.д., которые выполняют специфические задачи или реализуют специфические абстрактные типы данных. Изобретение может также быть осуществлено в распределенных средах связи, в которых задачи выполняют по беспроводной связи удаленными устройствами обработки, которые связаны через систему обмена информацией. В беспроводной сети программные модули могут быть расположены и в локальных, и в удаленных запоминающих устройствах хранения данных устройств связи, включающих в себя запоминающие устройства памяти.
Предшествующее описание описывает приведенные в качестве примера системы и способы для поиска произвольного текста и атрибутов данных ЭРП. Хотя изобретение было описано на языке, специфическом для структурных особенностей и/или методологических действий, должно быть понятно, что изобретение, определенное в прилагаемой формуле изобретения, не обязательно ограничено специфическими особенностями или описанными действиями. Скорее, специфические признаки и действия раскрыты как примеры форм осуществления заявленного изобретения.

Claims (35)

1. Способ поиска данных в электронном руководстве по программам (ЭРП), содержащий этапы:
принимают текстовую поисковую цепочку,
нормализуют текстовую поисковую цепочку, причем нормализация включает в себя удаление или преобразование символов в текстовой поисковой цепочке так, чтобы получить доступные для поиска элементы, разделяют доступные для поиска элементы на текстовые элементы и элементы-атрибуты,
выполняют поиск в данных ЭРП для каждого текстового элемента и каждого элемента-атрибута, и
выполняют одну из операций: объединение, ранжирование и фильтрацию результатов поиска для отображения программ, удовлетворяющих поисковой цепочке.
2. Способ по п.1, в котором этап нормализации содержит этап преобразования формальностей языка доступных для поиска элементов для приведения в соответствие формальностям языка данных ЭРП.
3. Способ по п.1, в котором этап разделения включает в себя сравнение доступных для поиска элементов с атрибутами в списке атрибутов, чтобы отделить текстовые элементы от элементов-атрибутов.
4. Способ по п.1, в котором этап разделения включает в себя сравнение доступных для поиска элементов с результатами текстового поиска, чтобы отделить текстовые элементы от элементов-атрибутов.
5. Способ по п.1, в котором этап разделения дополнительно содержит группировку доступных для поиска элементов в различных комбинациях, чтобы получить набор доступных для поиска фраз.
6. Способ по п.5, в котором этап разделения дополнительно содержит изменение порядка по меньшей мере двух доступных для поиска элементов перед группировкой.
7. Способ по п.5, дополнительно содержащий этап сравнения доступных для поиска фраз с атрибутами в списке атрибутов, чтобы определить, являются ли атрибутами любая из доступных для поиска фраз.
8. Способ по п.7, в котором список атрибутов содержит индекс, связывающий индексированные атрибуты с ресурсами назначения и значениями поиска для каждого индексированного атрибута.
9. Способ по п.7, в котором список атрибутов содержит логику ветвления, связанную с атрибутом в списке атрибутов, чтобы направлять поиск, используя этот атрибут.
10. Способ по п.7, в котором список атрибутов содержит метаданные об атрибуте в списке атрибутов, чтобы направлять поиск, используя этот атрибут.
11. Способ по п.1, в котором этап разделения элементов поиска содержит этап формирования интерпретации намерения пользователя при построении текстовой поисковой цепочки.
12. Способ по п.1, в котором этапы объединения, ранжирования и фильтрации выполняют в соответствии с интерпретацией.
13. Машина поиска для поиска данных электронного руководства по программам (ЭРП), содержащая:
приемник поисковой цепочки для приема текстовой поисковой цепочки, блок нормализации, соединенный с приемником поисковой цепочки, для нормализации текстовой поисковой цепочки посредством преобразования упомянутой текстовой поисковой цепочки в доступные для поиска элементы, имеющие формат, который совпадает с форматом данных ЕРП, интерпретатор строки, соединенный с блоком нормализации, для разделения доступных для поиска элементов на текстовые элементы и элементы-атрибуты посредством сравнения доступных для поиска элементов с атрибутами, соединенными с возможностью обмена с интерпретатором строки для отделения текстовых элементов от элементов-атрибутов;
генератор запросов, соединенный с интерпретатором строки, для выполнения поиска в данных ЕРП для каждого текстового элемента и каждого элемента-атрибута;
компилятор результатов, соединенный с генератором запросов, для выполнения одного из объединения, ранжирования и фильтрации результатов поисков для получения листинга программ, содержащихся в данных ЭРП, которые соответствуют поисковой цепочке, и
дисплей, соединенный с компилятором результатов, для отображения листинга.
14. Машина поиска по п.13, в которой интерпретатор строки дополнительно содержит преобразователь строки и идентификатор атрибутов.
15. Машина поиска по п.14, в которой идентификатор атрибутов отделяет элементы-атрибуты от текстовых элементов в поисковой цепочке, используя список атрибутов.
16. Машина поиска по п.13, в которой машина поиска выполняет операции поиска в базах данных ЭРП и основанных на Web ресурсах ЭРП.
17. Машина поиска по п.13, в которой компилятор результатов имеет компаратор/фильтр поиска и блок ранжирования результатов.
18. Машина поиска по п.17, в котором компаратор/фильтр поиска сравнивает результаты поиска со значением элементов, постулированных интерпретатором строки.
19. Машина поиска по п.17, в которой блок ранжирования результатов назначает значения релевантности результатам поиска на основании значения элементов, постулированных интерпретатором строки.
20. Система поиска в базе данных электронного руководства по программам (ЭРП), содержащая:
приемник поисковой цепочки для приема текстовой поисковой цепочки, имеющей потенциальные текстовые элементы и потенциальные элементы-атрибуты, блок нормализации, соединенный с приемником поисковой цепочки;
интерпретатор строки, соединенный с блоком нормализации, причем интерпретатор строки имеет доступ к списку атрибутов и к таблице ограничений поиска;
преобразователь строки, включенный в интерпретатор строки, для группировки потенциального текста и элементов-атрибутов в различных комбинациях и для изменения порядка по меньшей мере двух из доступных для поиска элементов;
идентификатор атрибутов, включенный в интерпретатор строки, для отделения элементов-атрибутов от текстовых элементов, причем идентификатор атрибутов соединен со списком атрибутов и таблицей ограничений поиска,
генератор запросов, соединенный с интерпретатором строки, для формулировки текстовых запросов и запросов атрибутов, причем идентификатор атрибутов соединен с базами данных ЭРП и основанными на Web ресурсами ЭРП,
компилятор результатов, соединенный с генератором запросов, компаратор/фильтр поиска, включенный в компилятор результатов, в котором компаратор/фильтр поиска соединен с интерпретатором строки, блок ранжирования результатов, включенный в компилятор результатов, для назначения степени релевантности результатам поиска,
фильтр включения, включенный в компилятор результатов, для фильтрации результатов поиска согласно назначенной степени релевантности, и
дисплей для представления программ, соответствующих результатам поиска.
21. Система по п.20, в которой интерпретатор строки использует информацию в списке атрибутов и информацию в таблице ограничений поиска, чтобы назначить предварительное значение элементам в поисковой цепочке.
22. Система по п.21, в которой генератор запросов создает условия запроса и логику запроса на основании предварительного значения для достижения результатов поиска, которые соответствуют предварительному значению.
23. Система по п.22, в которой интерпретатор строки изменяет предварительное значение на основании результатов поиска.
24. Считываемый компьютером носитель, содержащий команды, которые выполняются компьютером для выполнения действий, содержащих этапы:
прием текстовой поисковой цепочки,
форматирование текстовой поисковой цепочки в элементы поиска, совместимые с данными электронного руководства по программам (ЭРП), в которых будет осуществлен поиск,
получение текстовых элементов и элементов-атрибутов из элементов поиска,
выполнение операций поиска в данных ЭРП для каждого текстового элемента и каждого элемента-атрибута, и
назначение степени релевантности каждому "ответу" результата поиска, и
отображение "ответов", фильтрованных согласно степени релевантности.
25. Считываемый компьютером носитель по п.24, причем команды для выполнения этапа форматирования содержат команды для реализации одного из этапов: проверка правильности написания, автоисправление, разделение элемента, нормализация регистра ввода символа, удаление пунктуации, нормализация символа, устранение артиклей и размножение поисковой цепочки.
26. Считываемый компьютером носитель по п.24, дополнительно включающий в себя команды для выполнения операций поиска, используя разветвляющуюся на основе слова версию элемента поиска.
27. Считываемый компьютером носитель по п.24, дополнительно включающий в себя команды для выполнения операции поиска, используя версию элемента поиска с разветвлением на основе слова.
28. Считываемый компьютером носитель по п.24, дополнительно включающий в себя команды для сравнения элементов поиска с атрибутами в списке атрибутов, чтобы произвести отделение текстовых элементов от элементов-атрибутов.
29. Считываемый компьютером носитель по п.24, дополнительно включающий в себя команды для группировки элементов поиска в различных комбинациях, чтобы получить набор фраз поиска.
30. Считываемый компьютером носитель по п.29, дополнительно включающий в себя команды для изменения порядка следования по меньшей мере двух элементов поиска перед выполнением команд, чтобы сгруппировать элементы поиска.
31. Считываемый компьютером носитель по п.29, дополнительно включающий в себя команды для сравнения фраз поиска с атрибутами в списке атрибутов, чтобы определить, являются ли любая из фраз поиска атрибутами.
32. Считываемый компьютером носитель по п.24, в котором этап получения текстовых элементов и элементов-атрибутов дополнительно включает в себя формирование интерпретации намерения пользователя при построении текстовой поисковой цепочки.
33. Считываемый компьютером носитель по п.32, дополнительно содержащий команды для объединения, ранжирования и фильтрования результатов поиска в соответствии с интерпретацией.
34. Способ поиска информации в электронном руководстве по программам (ЭРП), содержащий этапы:
принимают один символ текстовой поисковой цепочки за раз, каждый раз, когда принимают новый символ, выполняют новый набор операций поиска, содержащий:
присоединение нового символа к ранее принятым символам текстовой поисковой цепочки для создания новой текстовой поисковой цепочки, выполнение нормализации текстовой поисковой цепочки, включающей в себя удаление или преобразование символов в текстовой цепочке так, чтобы получить один или более доступных для поиска элементов, разделение доступных для поиска элементов на текстовые элементы и элементы-атрибуты,
выполнение поиска в информации ЭРП для каждого текстового элемента и каждого элемента-атрибута, и
выполнение одного из этапов объединения, ранжирования и фильтрации результатов для отображения, причем результаты поисков представляют программами, соответствующими новой поисковой цепочке.
35. Способ по п.34, дополнительно содержащий отображение результатов перед приемом следующего символа текстовой поисковой цепочки.
RU2004108667/09A 2003-03-24 2004-03-23 Поиск произвольного текста и поиск по атрибутам в данных электронного руководства по программам RU2365984C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/395,679 2003-03-24
US10/395,679 US7885963B2 (en) 2003-03-24 2003-03-24 Free text and attribute searching of electronic program guide (EPG) data

Publications (2)

Publication Number Publication Date
RU2004108667A RU2004108667A (ru) 2005-09-27
RU2365984C2 true RU2365984C2 (ru) 2009-08-27

Family

ID=32824942

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2004108667/09A RU2365984C2 (ru) 2003-03-24 2004-03-23 Поиск произвольного текста и поиск по атрибутам в данных электронного руководства по программам

Country Status (10)

Country Link
US (1) US7885963B2 (ru)
EP (1) EP1463307B1 (ru)
JP (1) JP4623985B2 (ru)
KR (1) KR101008464B1 (ru)
CN (1) CN100372372C (ru)
AU (1) AU2004200884A1 (ru)
BR (1) BRPI0400304B1 (ru)
CA (1) CA2458300C (ru)
MX (1) MXPA04002159A (ru)
RU (1) RU2365984C2 (ru)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2573639C2 (ru) * 2011-01-05 2016-01-27 Панасоник Интеллекчуал Проперти Корпорэйшн оф Америка Терминальное устройство, устройство базовой станции, способ передачи и способ приема
RU2605002C2 (ru) * 2011-01-04 2016-12-20 Функе Диджитал Тв Гайд Гмбх Устройство и способ управления персональным каналом
RU2632134C2 (ru) * 2015-12-28 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Способ и система обработки поисковых запросов
RU2640639C2 (ru) * 2015-11-17 2018-01-10 Общество С Ограниченной Ответственностью "Яндекс" Способ и система обработки поискового запроса
RU2663478C2 (ru) * 2013-11-01 2018-08-06 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Настройка поиска в реальном времени

Families Citing this family (275)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6769128B1 (en) 1995-06-07 2004-07-27 United Video Properties, Inc. Electronic television program guide schedule system and method with data feed access
US5986650A (en) 1996-07-03 1999-11-16 News America Publications, Inc. Electronic television program guide schedule system and method with scan feature
WO1999004561A1 (en) 1997-07-21 1999-01-28 E-Guide, Inc. Systems and methods for displaying and recording control interfaces
US6233389B1 (en) 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system
US6898762B2 (en) 1998-08-21 2005-05-24 United Video Properties, Inc. Client-server electronic program guide
US8589975B2 (en) 1998-08-21 2013-11-19 United Video Properties, Inc. Electronic program guide with advance notification
US20060014145A1 (en) * 2002-04-26 2006-01-19 Miller Brian S Methods and articles for high throughput analysis of biomolecular interactions
JP4049317B2 (ja) 2003-05-14 2008-02-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 検索支援装置およびプログラム
US20050050042A1 (en) * 2003-08-20 2005-03-03 Marvin Elder Natural language database querying
DE60320414T2 (de) * 2003-11-12 2009-05-20 Sony Deutschland Gmbh Vorrichtung und Verfahren zur automatischen Extraktion von wichtigen Ereignissen in Audiosignalen
JP4124115B2 (ja) * 2003-12-02 2008-07-23 ソニー株式会社 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム
US8656039B2 (en) 2003-12-10 2014-02-18 Mcafee, Inc. Rule parser
US7774604B2 (en) 2003-12-10 2010-08-10 Mcafee, Inc. Verifying captured objects before presentation
US7899828B2 (en) 2003-12-10 2011-03-01 Mcafee, Inc. Tag data structure for maintaining relational data over captured objects
US7984175B2 (en) 2003-12-10 2011-07-19 Mcafee, Inc. Method and apparatus for data capture and analysis system
US7814327B2 (en) 2003-12-10 2010-10-12 Mcafee, Inc. Document registration
US8548170B2 (en) 2003-12-10 2013-10-01 Mcafee, Inc. Document de-registration
US7716158B2 (en) * 2004-01-09 2010-05-11 Microsoft Corporation System and method for context sensitive searching
US7930540B2 (en) 2004-01-22 2011-04-19 Mcafee, Inc. Cryptographic policy enforcement
JP4153887B2 (ja) * 2004-03-19 2008-09-24 株式会社日立製作所 移動体ナビゲーション装置、および、移動体ナビゲーション装置における目的地の検索方法
US7890744B2 (en) * 2004-04-07 2011-02-15 Microsoft Corporation Activating content based on state
US7822992B2 (en) * 2004-04-07 2010-10-26 Microsoft Corporation In-place content substitution via code-invoking link
JP2005346169A (ja) * 2004-05-31 2005-12-15 Sony Corp 情報処理装置および方法、並びにプログラム
JP2005346828A (ja) * 2004-06-02 2005-12-15 Pioneer Electronic Corp 情報処理装置、その方法、そのプログラム、そのプログラムを記録した記録媒体、および、情報記録装置
JP4366249B2 (ja) * 2004-06-02 2009-11-18 パイオニア株式会社 情報処理装置、その方法、そのプログラム、そのプログラムを記録した記録媒体、および、情報取得装置
US7962591B2 (en) 2004-06-23 2011-06-14 Mcafee, Inc. Object classification in a capture system
US7590997B2 (en) 2004-07-30 2009-09-15 Broadband Itv, Inc. System and method for managing, converting and displaying video content on a video-on-demand platform, including ads used for drill-down navigation and consumer-generated classified ads
US7631336B2 (en) 2004-07-30 2009-12-08 Broadband Itv, Inc. Method for converting, navigating and displaying video content uploaded from the internet to a digital TV video-on-demand platform
US9584868B2 (en) 2004-07-30 2017-02-28 Broadband Itv, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
KR100619064B1 (ko) * 2004-07-30 2006-08-31 삼성전자주식회사 메타 데이터를 포함하는 저장 매체, 그 재생 장치 및 방법
US11259059B2 (en) 2004-07-30 2022-02-22 Broadband Itv, Inc. System for addressing on-demand TV program content on TV services platform of a digital TV services provider
GB0418152D0 (en) * 2004-08-13 2004-09-15 Rpptv Ltd Remote program production
US8560534B2 (en) 2004-08-23 2013-10-15 Mcafee, Inc. Database for a capture system
US7949849B2 (en) 2004-08-24 2011-05-24 Mcafee, Inc. File system for a capture system
JP4631359B2 (ja) * 2004-09-02 2011-02-16 パナソニック株式会社 再生装置
US8145659B1 (en) * 2004-09-09 2012-03-27 Cisco Technology, Inc. Real-time communications enhanced search
CA2579913C (en) * 2004-09-13 2014-05-06 Research In Motion Limited Facilitating retrieval of a personal information manager data item
US20060085819A1 (en) * 2004-10-14 2006-04-20 Timo Bruck Method and apparatus for content metadata search
KR100621179B1 (ko) * 2004-10-26 2006-09-19 삼성전자주식회사 디스플레이 장치 및 그 텍스트 정보의 처리 방법
US7895218B2 (en) * 2004-11-09 2011-02-22 Veveo, Inc. Method and system for performing searches for television content using reduced text input
US20060101504A1 (en) * 2004-11-09 2006-05-11 Veveo.Tv, Inc. Method and system for performing searches for television content and channels using a non-intrusive television interface and with reduced text input
US20060101499A1 (en) * 2004-11-09 2006-05-11 Veveo, Inc. Method and system for secure sharing, gifting, and purchasing of content on television and mobile devices
US9179195B2 (en) * 2004-12-15 2015-11-03 Microsoft Technology Licensing, Llc Searching electronic program guide data
ES2638343T3 (es) 2005-03-02 2017-10-19 Rovi Guides, Inc. Listas de reproducción y marcadores en un sistema interactivo de aplicación de guía de medios
RU2007140432A (ru) * 2005-04-01 2009-05-10 Малтиплайд Медиа Корпорейшн (Ca) Способ, система и устройство предоставления услуги электронного каталога на основе местоположения в множественных режимах
US7451161B2 (en) * 2005-04-28 2008-11-11 Friendster, Inc. Compatibility scoring of users in a social network
US20060247937A1 (en) * 2005-04-28 2006-11-02 International Business Machines Corporation Method and apparatus for a context-based service look up
US8095951B1 (en) 2005-05-06 2012-01-10 Rovi Guides, Inc. Systems and methods for providing a scan
US8640166B1 (en) 2005-05-06 2014-01-28 Rovi Guides, Inc. Systems and methods for content surfing
EP1889181A4 (en) * 2005-05-16 2009-12-02 Ebay Inc METHOD AND SYSTEM FOR SEARCHING SEARCH
US8122034B2 (en) 2005-06-30 2012-02-21 Veveo, Inc. Method and system for incremental search with reduced text entry where the relevance of results is a dynamically computed function of user input search string character count
US20070016545A1 (en) * 2005-07-14 2007-01-18 International Business Machines Corporation Detection of missing content in a searchable repository
US9286388B2 (en) * 2005-08-04 2016-03-15 Time Warner Cable Enterprises Llc Method and apparatus for context-specific content delivery
US7907608B2 (en) 2005-08-12 2011-03-15 Mcafee, Inc. High speed packet capture
US7672932B2 (en) 2005-08-24 2010-03-02 Yahoo! Inc. Speculative search result based on a not-yet-submitted search query
US7747639B2 (en) * 2005-08-24 2010-06-29 Yahoo! Inc. Alternative search query prediction
US7779011B2 (en) 2005-08-26 2010-08-17 Veveo, Inc. Method and system for dynamically processing ambiguous, reduced text search queries and highlighting results thereof
US7788266B2 (en) 2005-08-26 2010-08-31 Veveo, Inc. Method and system for processing ambiguous, multi-term search queries
JP2007067595A (ja) * 2005-08-30 2007-03-15 Hitachi Ltd 番組情報の通知方法
US7818326B2 (en) 2005-08-31 2010-10-19 Mcafee, Inc. System and method for word indexing in a capture system and querying thereof
US20070052868A1 (en) * 2005-09-02 2007-03-08 Charisma Communications, Inc. Multimedia accessible universal input device
US8509827B2 (en) * 2005-09-21 2013-08-13 Buckyball Mobile Inc. Methods and apparatus of context-data acquisition and ranking
US7580719B2 (en) * 2005-09-21 2009-08-25 U Owe Me, Inc SMS+: short message service plus context support for social obligations
US8489132B2 (en) * 2005-09-21 2013-07-16 Buckyball Mobile Inc. Context-enriched microblog posting
US8275399B2 (en) * 2005-09-21 2012-09-25 Buckyball Mobile Inc. Dynamic context-data tag cloud
US8509826B2 (en) * 2005-09-21 2013-08-13 Buckyball Mobile Inc Biosensor measurements included in the association of context data with a text message
US7551935B2 (en) 2005-09-21 2009-06-23 U Owe Me, Inc. SMS+4D: short message service plus 4-dimensional context
US8515468B2 (en) * 2005-09-21 2013-08-20 Buckyball Mobile Inc Calculation of higher-order data from context data
US9042921B2 (en) * 2005-09-21 2015-05-26 Buckyball Mobile Inc. Association of context data with a voice-message component
US9166823B2 (en) * 2005-09-21 2015-10-20 U Owe Me, Inc. Generation of a context-enriched message including a message component and a contextual attribute
US7730011B1 (en) 2005-10-19 2010-06-01 Mcafee, Inc. Attributes of captured objects in a capture system
US20070100862A1 (en) * 2005-10-23 2007-05-03 Bindu Reddy Adding attributes and labels to structured data
US7933900B2 (en) * 2005-10-23 2011-04-26 Google Inc. Search over structured data
US7747612B2 (en) * 2005-10-31 2010-06-29 Yahoo! Inc. Indication of exclusive items in a result set
JP2007140194A (ja) * 2005-11-18 2007-06-07 Mitsubishi Electric Corp 番組検索装置および形態素辞書管理サーバ
US7657104B2 (en) 2005-11-21 2010-02-02 Mcafee, Inc. Identifying image type in a capture system
US7644054B2 (en) 2005-11-23 2010-01-05 Veveo, Inc. System and method for finding desired results by incremental search using an ambiguous keypad with the input containing orthographic and typographic errors
CA2633959C (en) * 2005-12-12 2015-04-28 Mark Samuelson Mobile device retrieval and navigation
US20070143790A1 (en) * 2005-12-16 2007-06-21 Sbc Knowledge Ventures, L.P. System and method for channel selection on a set-top box
WO2007089663A2 (en) * 2006-01-27 2007-08-09 Veveo, Inc. System and method for incremental user query on handheld device
US20070192800A1 (en) * 2006-02-10 2007-08-16 Sbc Knowledge Ventures, Lp Dynamic multimedia channel grouping
US8195683B2 (en) 2006-02-28 2012-06-05 Ebay Inc. Expansion of database search queries
US7792815B2 (en) 2006-03-06 2010-09-07 Veveo, Inc. Methods and systems for selecting and presenting content based on context sensitive user preferences
US8510453B2 (en) 2007-03-21 2013-08-13 Samsung Electronics Co., Ltd. Framework for correlating content on a local network with information on an external network
US8115869B2 (en) 2007-02-28 2012-02-14 Samsung Electronics Co., Ltd. Method and system for extracting relevant information from content metadata
US8843467B2 (en) 2007-05-15 2014-09-23 Samsung Electronics Co., Ltd. Method and system for providing relevant information to a user of a device in a local network
US8863221B2 (en) 2006-03-07 2014-10-14 Samsung Electronics Co., Ltd. Method and system for integrating content and services among multiple networks
US8200688B2 (en) * 2006-03-07 2012-06-12 Samsung Electronics Co., Ltd. Method and system for facilitating information searching on electronic devices
US8209724B2 (en) * 2007-04-25 2012-06-26 Samsung Electronics Co., Ltd. Method and system for providing access to information of potential interest to a user
US7630966B2 (en) * 2006-03-16 2009-12-08 Microsoft Corporation Media content reviews search
JP5057546B2 (ja) * 2006-03-24 2012-10-24 キヤノン株式会社 文書検索装置および文書検索方法
US8504537B2 (en) 2006-03-24 2013-08-06 Mcafee, Inc. Signature distribution in a document registration system
US8316394B2 (en) 2006-03-24 2012-11-20 United Video Properties, Inc. Interactive media guidance application with intelligent navigation and display features
US20070250897A1 (en) * 2006-03-27 2007-10-25 Sbc Knowledge Ventures, L.P. System and method of providing selectable video content
US8073860B2 (en) 2006-03-30 2011-12-06 Veveo, Inc. Method and system for incrementally selecting and providing relevant search engines in response to a user query
WO2007118038A2 (en) * 2006-03-30 2007-10-18 Veveo, Inc. Method for searching content and presenting advertisements
US7461061B2 (en) 2006-04-20 2008-12-02 Veveo, Inc. User interface methods and systems for selecting and presenting content based on user navigation and selection actions associated with the content
US8682654B2 (en) * 2006-04-25 2014-03-25 Cyberlink Corp. Systems and methods for classifying sports video
WO2007131058A2 (en) * 2006-05-03 2007-11-15 Veveo Inc. Method and system for performing actions using a non-intrusive television interface with reduced text input
US7958227B2 (en) 2006-05-22 2011-06-07 Mcafee, Inc. Attributes of captured objects in a capture system
US8010689B2 (en) 2006-05-22 2011-08-30 Mcafee, Inc. Locational tagging in a capture system
US7689614B2 (en) 2006-05-22 2010-03-30 Mcafee, Inc. Query generation for a capture system
US7558725B2 (en) * 2006-05-23 2009-07-07 Lexisnexis, A Division Of Reed Elsevier Inc. Method and apparatus for multilingual spelling corrections
US7548909B2 (en) 2006-06-13 2009-06-16 Microsoft Corporation Search engine dash-board
US7890499B1 (en) * 2006-07-28 2011-02-15 Google Inc. Presentation of search results with common subject matters
WO2008016611A2 (en) 2006-07-31 2008-02-07 United Video Properties, Inc. Systems and methods for providing media guidance planners
US7921106B2 (en) * 2006-08-03 2011-04-05 Microsoft Corporation Group-by attribute value in search results
US20080046935A1 (en) * 2006-08-18 2008-02-21 Krakirian Haig H System and method for displaying program guide information
US8418217B2 (en) 2006-09-06 2013-04-09 Verizon Patent And Licensing Inc. Systems and methods for accessing media content
CA2989780C (en) 2006-09-14 2022-08-09 Veveo, Inc. Methods and systems for dynamically rearranging search results into hierarchically organized concept clusters
US8464295B2 (en) * 2006-10-03 2013-06-11 Verizon Patent And Licensing Inc. Interactive search graphical user interface systems and methods
US8316320B2 (en) 2006-10-03 2012-11-20 Verizon Patent And Licensing Inc. Expandable history tab in interactive graphical user interface systems and methods
KR101266267B1 (ko) 2006-10-05 2013-05-23 스플렁크 인코퍼레이티드 시계열 검색 엔진
WO2008045690A2 (en) 2006-10-06 2008-04-17 Veveo, Inc. Linear character selection display interface for ambiguous text input
AU2007306939B2 (en) 2006-10-11 2012-06-07 Tagmotion Pty Limited Method and apparatus for managing multimedia files
US20080104127A1 (en) * 2006-11-01 2008-05-01 United Video Properties, Inc. Presenting media guidance search results based on relevancy
US20080104058A1 (en) * 2006-11-01 2008-05-01 United Video Properties, Inc. Presenting media guidance search results based on relevancy
US7996399B2 (en) 2006-11-01 2011-08-09 United Video Properties, Inc. Presenting media guidance search results based on relevancy
CA3038739C (en) * 2006-11-01 2023-01-03 Rovi Guides, Inc. Presenting media guidance search results based on relevancy
US20080109274A1 (en) * 2006-11-03 2008-05-08 Yahoo! Inc. System and method for predicting a casing variation of a term
US20080115173A1 (en) 2006-11-10 2008-05-15 Guideworks Llc Systems and methods for using playlists
CA2669473C (en) * 2006-11-10 2017-07-18 United Video Properties, Inc. Automatical update of the playlists of an interactive program guide epg; grouping episodes of tv series according to user parameters
US8078884B2 (en) 2006-11-13 2011-12-13 Veveo, Inc. Method of and system for selecting and presenting content based on user identification
US7698259B2 (en) * 2006-11-22 2010-04-13 Sap Ag Semantic search in a database
US8935269B2 (en) 2006-12-04 2015-01-13 Samsung Electronics Co., Ltd. Method and apparatus for contextual search and query refinement on consumer electronics devices
KR101325846B1 (ko) * 2006-12-07 2013-11-05 엘지전자 주식회사 Epg 검색장치 및 방법
US7987185B1 (en) 2006-12-29 2011-07-26 Google Inc. Ranking custom search results
US8015581B2 (en) * 2007-01-05 2011-09-06 Verizon Patent And Licensing Inc. Resource data configuration for media content access systems and methods
US20080178239A1 (en) * 2007-01-19 2008-07-24 At&T Knowledge Ventures, Lp System and method of providing selected video content
US20080183681A1 (en) * 2007-01-29 2008-07-31 Samsung Electronics Co., Ltd. Method and system for facilitating information searching on electronic devices
TW200836564A (en) * 2007-02-16 2008-09-01 Mstar Semiconductor Inc Control circuit of a display with program searching function, and method for controlling the display to receive program information and select program
US7801888B2 (en) 2007-03-09 2010-09-21 Microsoft Corporation Media content search results ranked by popularity
US9286385B2 (en) 2007-04-25 2016-03-15 Samsung Electronics Co., Ltd. Method and system for providing access to information of potential interest to a user
US8631440B2 (en) * 2007-04-30 2014-01-14 Google Inc. Program guide user interface
US8005826B1 (en) * 2007-04-30 2011-08-23 Google Inc. Identifying media content in queries
US8533761B1 (en) 2007-04-30 2013-09-10 Google Inc. Aggregating media information
US8484192B1 (en) 2007-04-30 2013-07-09 Google Inc. Media search broadening
JP5204217B2 (ja) 2007-05-15 2013-06-05 ティヴォ インク スイベル検索システム
US8880529B2 (en) 2007-05-15 2014-11-04 Tivo Inc. Hierarchical tags with community-based ratings
WO2008148012A1 (en) 2007-05-25 2008-12-04 Veveo, Inc. System and method for text disambiguation and context designation in incremental search
US8296294B2 (en) 2007-05-25 2012-10-23 Veveo, Inc. Method and system for unified searching across and within multiple documents
US20080301167A1 (en) * 2007-05-28 2008-12-04 Rachel Ciare Goldeen Method and User Interface for Searching Media Assets Over a Network
US8615779B2 (en) * 2007-06-12 2013-12-24 Microsoft Corporation Electronic program guide (EPG) search
US11570521B2 (en) 2007-06-26 2023-01-31 Broadband Itv, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
US9654833B2 (en) 2007-06-26 2017-05-16 Broadband Itv, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
EP2009903A1 (en) 2007-06-27 2008-12-31 Vodafone Holding GmbH System and method for selecting a media program
US8407737B1 (en) 2007-07-11 2013-03-26 Rovi Guides, Inc. Systems and methods for providing a scan transport bar
US8078454B2 (en) * 2007-09-28 2011-12-13 Microsoft Corporation Two-pass hash extraction of text strings
US9418125B2 (en) * 2007-10-19 2016-08-16 Oracle International Corporation Method and apparatus for employing a searchable abstraction layer over enterprise-wide searchable objects
US7979474B2 (en) * 2007-10-19 2011-07-12 Oracle International Corporation Search center dynamic configuration using field mappings
US7912824B2 (en) * 2007-10-31 2011-03-22 Echostar Technologies L.L.C. Processes and systems for enhancing an electronic program guide displaying particular timeslot associated with first channel and the link is not associated with other timeslots
US8176068B2 (en) 2007-10-31 2012-05-08 Samsung Electronics Co., Ltd. Method and system for suggesting search queries on electronic devices
US8983365B2 (en) * 2007-12-21 2015-03-17 Ibiquity Digital Corporation Systems and methods for communicating and rendering electronic program guide information via digital radio broadcast transmission
US8745028B1 (en) * 2007-12-27 2014-06-03 Google Inc. Interpreting adjacent search terms based on a hierarchical relationship
US8689257B2 (en) * 2007-12-31 2014-04-01 At&T Intellectual Property I, Lp Method and system for content recording and indexing
US20090187551A1 (en) * 2008-01-17 2009-07-23 Oracle International Corporation Search results when searching for records of a business object
US8108380B2 (en) * 2008-03-03 2012-01-31 Oracle International Corporation Inclusion of metadata in indexed composite document
JP2010134575A (ja) * 2008-12-03 2010-06-17 Sony Corp 情報処理装置および方法、プログラム、並びに記録媒体
GB2458309A (en) * 2008-03-13 2009-09-16 Business Partners Ltd Search engine
CN101593179B (zh) * 2008-05-26 2011-08-10 国际商业机器公司 文档搜索方法和装置及文档处理器
US8205242B2 (en) 2008-07-10 2012-06-19 Mcafee, Inc. System and method for data mining and security policy management
US8745079B2 (en) * 2008-07-29 2014-06-03 Oracle International Corporation Reducing lag time when searching a repository using a keyword search
US8627374B2 (en) * 2008-08-05 2014-01-07 I-Interactive Llc Video content search system and method with automatic multi-term grouping and search
US9253154B2 (en) 2008-08-12 2016-02-02 Mcafee, Inc. Configuration management for a capture/registration system
US8938465B2 (en) 2008-09-10 2015-01-20 Samsung Electronics Co., Ltd. Method and system for utilizing packaged content sources to identify and provide information based on contextual information
JP2010102456A (ja) * 2008-10-22 2010-05-06 Sony Computer Entertainment Inc コンテンツ提供装置、コンテンツ提供システム、コンテンツ提供方法およびユーザインタフェースプログラム
US20100114993A1 (en) * 2008-10-31 2010-05-06 Holschbach Jean M Data Transformation System and Method
US8555320B2 (en) * 2008-11-21 2013-10-08 At&T Intellectual Property I, L.P. System and method to record media content
US20100169930A1 (en) * 2008-12-25 2010-07-01 Samsung Electronics Co., Ltd. Broadcasting receiver and method of searching for keyword of broadcasting receiver
JP2010154397A (ja) * 2008-12-26 2010-07-08 Sony Corp データ処理装置、データ処理方法、及び、プログラム
US9152300B2 (en) * 2008-12-31 2015-10-06 Tivo Inc. Methods and techniques for adaptive search
US10158823B2 (en) * 2008-12-31 2018-12-18 Tivo Solutions Inc. Methods and techniques for adaptive search
US8850591B2 (en) 2009-01-13 2014-09-30 Mcafee, Inc. System and method for concept building
US8706709B2 (en) 2009-01-15 2014-04-22 Mcafee, Inc. System and method for intelligent term grouping
US8473442B1 (en) 2009-02-25 2013-06-25 Mcafee, Inc. System and method for intelligent state management
US8667121B2 (en) 2009-03-25 2014-03-04 Mcafee, Inc. System and method for managing data and policies
US8447722B1 (en) 2009-03-25 2013-05-21 Mcafee, Inc. System and method for data mining and security policy management
KR20100107801A (ko) * 2009-03-26 2010-10-06 삼성전자주식회사 무선 통신 시스템에서 안테나 선택을 위한 장치 및 방법
US10191654B2 (en) * 2009-03-30 2019-01-29 Touchtype Limited System and method for inputting text into electronic devices
GB0905457D0 (en) 2009-03-30 2009-05-13 Touchtype Ltd System and method for inputting text into electronic devices
US9424246B2 (en) 2009-03-30 2016-08-23 Touchtype Ltd. System and method for inputting text into electronic devices
JP5332847B2 (ja) * 2009-04-10 2013-11-06 ソニー株式会社 コンテンツ処理装置および方法、プログラム、並びに記録媒体
US8171148B2 (en) 2009-04-17 2012-05-01 Sling Media, Inc. Systems and methods for establishing connections between devices communicating over a network
CA2694551A1 (en) * 2009-05-12 2010-11-12 Schlumberger Canada Limited Quality measure for a data context service
US20120309363A1 (en) * 2011-06-03 2012-12-06 Apple Inc. Triggering notifications associated with tasks items that represent tasks to perform
US9332317B1 (en) * 2009-06-08 2016-05-03 The Directv Group, Inc. Method and apparatus to search for program content via a remote control interface
US8943542B2 (en) 2009-07-29 2015-01-27 Echostar Technologies L.L.C. Systems and methods for providing predefined category-based channel lists
US9166714B2 (en) 2009-09-11 2015-10-20 Veveo, Inc. Method of and system for presenting enriched video viewing analytics
US8621099B2 (en) 2009-09-21 2013-12-31 Sling Media, Inc. Systems and methods for formatting media content for distribution
US9014546B2 (en) 2009-09-23 2015-04-21 Rovi Guides, Inc. Systems and methods for automatically detecting users within detection regions of media devices
US20110113038A1 (en) * 2009-11-12 2011-05-12 International Business Machines Corporation Search term security
US9015225B2 (en) * 2009-11-16 2015-04-21 Echostar Technologies L.L.C. Systems and methods for delivering messages over a network
US8489131B2 (en) * 2009-12-21 2013-07-16 Buckyball Mobile Inc. Smart device configured to determine higher-order context data
US9178923B2 (en) 2009-12-23 2015-11-03 Echostar Technologies L.L.C. Systems and methods for remotely controlling a media server via a network
US9275054B2 (en) * 2009-12-28 2016-03-01 Sling Media, Inc. Systems and methods for searching media content
JP2011160278A (ja) * 2010-02-02 2011-08-18 Sony Corp 情報処理装置、情報処理方法、およびプログラム
US9703779B2 (en) 2010-02-04 2017-07-11 Veveo, Inc. Method of and system for enhanced local-device content discovery
JP5025782B2 (ja) * 2010-02-17 2012-09-12 キヤノン株式会社 画像検索装置及び画像検索方法
EP2373005A1 (en) * 2010-03-01 2011-10-05 Nagravision S.A. Method for notifying a user about a broadcast event
CN102196315A (zh) * 2010-03-11 2011-09-21 康佳集团股份有限公司 一种实现电子节目指南搜索功能的方法、装置及电视终端
US20110264530A1 (en) 2010-04-23 2011-10-27 Bryan Santangelo Apparatus and methods for dynamic secondary content and data insertion and delivery
JP5392176B2 (ja) * 2010-05-10 2014-01-22 株式会社Jvcケンウッド テレビ放送受信装置、検索制御方法、及び、プログラム
US8522283B2 (en) * 2010-05-20 2013-08-27 Google Inc. Television remote control data transfer
US9113185B2 (en) 2010-06-23 2015-08-18 Sling Media Inc. Systems and methods for authorizing access to network services using information obtained from subscriber equipment
EP2585944A1 (en) * 2010-06-28 2013-05-01 Thomson Licensing System and method for content exclusion from a multi-domain search
US10013077B2 (en) * 2010-07-19 2018-07-03 DISH Technologies L.L.C. System and method for data item filtering based on character sequence entry
EP2608065A4 (en) * 2010-08-20 2014-02-26 Rakuten Inc DEVICE FOR PROVIDING INFORMATION, METHOD FOR PROVIDING INFORMATION, PROGRAM THEREFOR AND MEDIUM FOR RECORDING INFORMATION
WO2012034069A1 (en) 2010-09-10 2012-03-15 Veveo, Inc. Method of and system for conducting personalized federated search and presentation of results therefrom
US8806615B2 (en) 2010-11-04 2014-08-12 Mcafee, Inc. System and method for protecting specified data combinations
EP2639705B1 (en) * 2010-11-10 2016-04-13 Rakuten, Inc. Related-word registration device, information processing device, related-word registration method, program for related-word registration device, and recording medium
US20120143894A1 (en) * 2010-12-02 2012-06-07 Microsoft Corporation Acquisition of Item Counts from Hosted Web Services
US9098569B1 (en) * 2010-12-10 2015-08-04 Amazon Technologies, Inc. Generating suggested search queries
KR101850886B1 (ko) * 2010-12-23 2018-04-23 네이버 주식회사 감소 질의를 추천하는 검색 시스템 및 방법
WO2012094564A1 (en) 2011-01-06 2012-07-12 Veveo, Inc. Methods of and systems for content search based on environment sampling
US8869097B2 (en) 2011-03-23 2014-10-21 Infosys Limited Online integrated development environment with code assist
US9348894B2 (en) 2011-03-31 2016-05-24 Infosys Limited Facet support, clustering for code query results
US9009664B2 (en) * 2011-03-31 2015-04-14 Infosys Limited Structural search of source code
US8646013B2 (en) 2011-04-29 2014-02-04 Sling Media, Inc. Identifying instances of media programming available from different content sources
US8521769B2 (en) * 2011-07-25 2013-08-27 The Boeing Company Locating ambiguities in data
EP2568395A1 (en) * 2011-09-08 2013-03-13 Axel Springer Digital TV Guide GmbH Method and apparatus for automatic generation of recommendations
EP2568396A1 (en) * 2011-09-08 2013-03-13 Axel Springer Digital TV Guide GmbH Method and apparatus for generating a sorted list of items
US8515766B1 (en) * 2011-09-30 2013-08-20 Google Inc. Voice application finding and user invoking applications related to a single entity
US20130091522A1 (en) * 2011-10-05 2013-04-11 Sony Corporation, A Japanese Corporation Method to display additional information on screen
GB201120314D0 (en) 2011-11-24 2012-01-04 Business Partners Ltd Secure database searching
US9092478B2 (en) * 2011-12-27 2015-07-28 Sap Se Managing business objects data sources
US8938475B2 (en) 2011-12-27 2015-01-20 Sap Se Managing business objects data sources
US20130246334A1 (en) 2011-12-27 2013-09-19 Mcafee, Inc. System and method for providing data protection workflows in a network environment
US9043198B1 (en) 2012-04-13 2015-05-26 Google Inc. Text suggestion
US9424233B2 (en) 2012-07-20 2016-08-23 Veveo, Inc. Method of and system for inferring user intent in search input in a conversational interaction system
US9465833B2 (en) * 2012-07-31 2016-10-11 Veveo, Inc. Disambiguating user intent in conversational interaction system for large corpus information retrieval
EP2731040B1 (en) 2012-11-08 2017-04-19 CompuGroup Medical SE Computer system for storing and retrieval of encrypted data items, client computer, computer program product and computer-implemented method
JP6063217B2 (ja) * 2012-11-16 2017-01-18 任天堂株式会社 プログラム、情報処理装置、情報処理システム、および情報処理方法
US9710545B2 (en) * 2012-12-20 2017-07-18 Intel Corporation Method and apparatus for conducting context sensitive search with intelligent user interaction from within a media experience
US9766905B2 (en) 2013-03-20 2017-09-19 Microsoft Technology Licensing, Llc Flexible pluralization of localized text
RU2543315C2 (ru) * 2013-03-22 2015-02-27 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "Высшая школа экономики" Способ отбора эффективных вариантов в поисковых и рекомендательных системах (варианты)
JP2014194608A (ja) * 2013-03-28 2014-10-09 Hitachi Systems Ltd 検索システム、検索方法、および検索プログラム
US10225136B2 (en) 2013-04-30 2019-03-05 Splunk Inc. Processing of log data and performance data obtained via an application programming interface (API)
US10997191B2 (en) 2013-04-30 2021-05-04 Splunk Inc. Query-triggered processing of performance data and log data from an information technology environment
US10614132B2 (en) 2013-04-30 2020-04-07 Splunk Inc. GUI-triggered processing of performance data and log data from an information technology environment
US10318541B2 (en) 2013-04-30 2019-06-11 Splunk Inc. Correlating log data with performance measurements having a specified relationship to a threshold value
US10353957B2 (en) 2013-04-30 2019-07-16 Splunk Inc. Processing of performance data and raw log data from an information technology environment
US10019496B2 (en) 2013-04-30 2018-07-10 Splunk Inc. Processing of performance data and log data from an information technology environment by using diverse data stores
US10346357B2 (en) 2013-04-30 2019-07-09 Splunk Inc. Processing of performance data and structure data from an information technology environment
US9727619B1 (en) * 2013-05-02 2017-08-08 Intelligent Language, LLC Automated search
US10170114B2 (en) * 2013-05-30 2019-01-01 Promptu Systems Corporation Systems and methods for adaptive proper name entity recognition and understanding
US9298785B2 (en) * 2013-07-19 2016-03-29 Paypal, Inc. Methods, systems, and apparatus for generating search results
US9760369B2 (en) 2013-12-13 2017-09-12 Infosys Limited Assessing modularity of a program written in object oriented language
US20150235285A1 (en) * 2014-02-20 2015-08-20 Codifyd, Inc. Data display system and method
US10219048B2 (en) 2014-06-11 2019-02-26 Arris Enterprises Llc Method and system for generating references to related video
US9633309B2 (en) 2014-06-19 2017-04-25 International Business Machines Corporation Displaying quality of question being asked a question answering system
US9740769B2 (en) * 2014-07-17 2017-08-22 International Business Machines Corporation Interpreting and distinguishing lack of an answer in a question answering system
US10559223B2 (en) * 2014-09-08 2020-02-11 Under Armour, Inc. Food description processing methods and apparatuses
CN107111624B (zh) 2014-10-28 2021-07-13 索尼公司 接收装置、发送装置和数据处理方法
US9852136B2 (en) 2014-12-23 2017-12-26 Rovi Guides, Inc. Systems and methods for determining whether a negation statement applies to a current or past query
US9854049B2 (en) 2015-01-30 2017-12-26 Rovi Guides, Inc. Systems and methods for resolving ambiguous terms in social chatter based on a user profile
CN104917669A (zh) * 2015-05-29 2015-09-16 北京搜狗科技发展有限公司 一种信息处理方法和装置
US10003669B2 (en) * 2015-07-28 2018-06-19 DISH Technologies L.L.C. Methods and apparatus to create and transmit a condensed logging data file
CN105045889B (zh) * 2015-07-29 2018-04-20 百度在线网络技术(北京)有限公司 一种信息推送方法及装置
US10368114B2 (en) * 2015-08-04 2019-07-30 Pandora Media, Llc Media channel creation based on free-form media input seeds
US10176257B2 (en) * 2015-08-21 2019-01-08 Accenture Global Services Limited Interactive video distribution system with content similarity matching
US11449554B2 (en) * 2015-10-22 2022-09-20 Mcafee, Llc Extensible search solution for asset information
GB2544106A (en) * 2015-11-06 2017-05-10 Tv Control Ltd Method, system and computer program product for providing a description of a program to a user equipment
US10579628B2 (en) * 2015-12-17 2020-03-03 The Nielsen Company (Us), Llc Media names matching and normalization
US10445355B2 (en) * 2016-04-07 2019-10-15 RELX Inc. Systems and methods for providing a visualizable results list
JP6917998B2 (ja) * 2016-08-26 2021-08-11 株式会社日立ハイテク 自動分析装置および情報処理装置
CN107870915B (zh) * 2016-09-23 2021-08-17 伊姆西Ip控股有限责任公司 对搜索结果的指示
US11079909B2 (en) * 2016-12-23 2021-08-03 Salesforce.Com, Inc. Macro building tool with an information pane and a macro building pane for compiling an ordered macro and determining data dependency
US10447635B2 (en) * 2017-05-17 2019-10-15 Slice Technologies, Inc. Filtering electronic messages
US10509612B2 (en) 2017-08-10 2019-12-17 Td Ameritrade Ip Company, Inc. Three-dimensional information system
JP6832584B2 (ja) * 2017-11-06 2021-02-24 Qufooit Japan株式会社 情報処理装置およびコンピュータプログラム
US11887719B2 (en) 2018-05-21 2024-01-30 MyFitnessPal, Inc. Food knowledge graph for a health tracking system
JP7026659B2 (ja) 2019-06-20 2022-02-28 本田技研工業株式会社 応答装置、応答方法、およびプログラム
US11144720B2 (en) * 2019-08-26 2021-10-12 Roblox Corporation Determining canonical content for a game
US11403849B2 (en) 2019-09-25 2022-08-02 Charter Communications Operating, Llc Methods and apparatus for characterization of digital content
US20230104774A1 (en) * 2021-09-30 2023-04-06 Sonos, Inc. Media Content Search In Connection With Multiple Media Content Services

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3160201B2 (ja) * 1996-03-25 2001-04-25 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 情報検索方法、情報検索装置
US20030093790A1 (en) * 2000-03-28 2003-05-15 Logan James D. Audio and video program recording, editing and playback systems using metadata
DE69736431T2 (de) * 1996-11-15 2007-07-19 Mindport B.V. Verfahren und vorrichtung zur lokalisierung einer sendung in einem elektronischen programmführer
GB2340637B (en) 1997-03-31 2001-01-10 Microsoft Corp Query-based electronic program guide
RU2138076C1 (ru) 1998-09-14 1999-09-20 Закрытое акционерное общество "МедиаЛингва" Система поиска информации в компьютерной сети
JP2000200282A (ja) * 1999-01-06 2000-07-18 Seiko Epson Corp 情報検索方法及び情報検索システム並びに情報検索処理プログラムを記録した記録媒体
US6553345B1 (en) 1999-08-26 2003-04-22 Matsushita Electric Industrial Co., Ltd. Universal remote control allowing natural language modality for television and multimedia searches and requests
US6901366B1 (en) 1999-08-26 2005-05-31 Matsushita Electric Industrial Co., Ltd. System and method for assessing TV-related information over the internet
US20010049826A1 (en) * 2000-01-19 2001-12-06 Itzhak Wilf Method of searching video channels by content
US6456978B1 (en) * 2000-01-31 2002-09-24 Intel Corporation Recording information in response to spoken requests
US7213256B1 (en) * 2000-12-29 2007-05-01 Dan Kikinis Method and apparatus for finding the same of similar shows
KR20040041082A (ko) * 2000-07-24 2004-05-13 비브콤 인코포레이티드 멀티미디어 북마크와 비디오의 가상 편집을 위한 시스템및 방법
JP2002112186A (ja) * 2000-09-28 2002-04-12 Toshiba Corp 電子番組ガイド受信装置
US20020151327A1 (en) * 2000-12-22 2002-10-17 David Levitt Program selector and guide system and method
US20020143860A1 (en) * 2001-03-31 2002-10-03 Koninklijke Philips Electronics N. V. Machine readable label reader system with versatile default mode
GB0121367D0 (en) 2001-09-04 2001-10-24 Pace Micro Tech Plc User defined search facility
JP2003150624A (ja) * 2001-11-12 2003-05-23 Mitsubishi Electric Corp 情報抽出装置および情報抽出方法
US8285727B2 (en) * 2003-03-06 2012-10-09 Thomson Licensing S.A. Simplified searching for media services using a control device

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2605002C2 (ru) * 2011-01-04 2016-12-20 Функе Диджитал Тв Гайд Гмбх Устройство и способ управления персональным каналом
RU2573639C2 (ru) * 2011-01-05 2016-01-27 Панасоник Интеллекчуал Проперти Корпорэйшн оф Америка Терминальное устройство, устройство базовой станции, способ передачи и способ приема
RU2663478C2 (ru) * 2013-11-01 2018-08-06 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Настройка поиска в реальном времени
RU2640639C2 (ru) * 2015-11-17 2018-01-10 Общество С Ограниченной Ответственностью "Яндекс" Способ и система обработки поискового запроса
US10102292B2 (en) 2015-11-17 2018-10-16 Yandex Europe Ag Method and system of processing a search query
RU2632134C2 (ru) * 2015-12-28 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Способ и система обработки поисковых запросов

Also Published As

Publication number Publication date
BRPI0400304B1 (pt) 2016-07-05
EP1463307A2 (en) 2004-09-29
CN1533163A (zh) 2004-09-29
JP2004289848A (ja) 2004-10-14
AU2004200884A1 (en) 2004-10-14
US20040194141A1 (en) 2004-09-30
KR20040084774A (ko) 2004-10-06
RU2004108667A (ru) 2005-09-27
EP1463307A3 (en) 2005-03-02
MXPA04002159A (es) 2005-09-08
CA2458300C (en) 2014-06-03
EP1463307B1 (en) 2016-08-03
KR101008464B1 (ko) 2011-01-14
BRPI0400304A (pt) 2005-01-04
CA2458300A1 (en) 2004-09-24
CN100372372C (zh) 2008-02-27
JP4623985B2 (ja) 2011-02-02
US7885963B2 (en) 2011-02-08

Similar Documents

Publication Publication Date Title
RU2365984C2 (ru) Поиск произвольного текста и поиск по атрибутам в данных электронного руководства по программам
US7096218B2 (en) Search refinement graphical user interface
US8565526B2 (en) Method and system for converting image text documents in bit-mapped formats to searchable text and for searching the searchable text
US20020174095A1 (en) Very-large-scale automatic categorizer for web content
US9020811B2 (en) Method and system for converting text files searchable text and for processing the searchable text
US20040133566A1 (en) Data searching apparatus capable of searching with improved accuracy
US8996542B2 (en) Navigation of hierarchical data sets
US20060190684A1 (en) Reverse value attribute extraction
EP3649561A1 (en) System and method for natural language music search
JP4247108B2 (ja) 構造化文書検索方法、構造化文書検索装置、及びプログラム
JP2005227851A (ja) 構造化データ記憶方法および装置
JP2004145706A (ja) マルチメディアデータ検索システム
JP4783563B2 (ja) インデックス生成プログラム、検索プログラム、インデックス生成方法、検索方法、インデックス生成装置および検索装置
JP2004086307A (ja) 情報検索装置、情報登録装置、情報検索方法、及びコンピュータ読み取り可能なプログラム
JP2007004275A (ja) 電子ファイル検索装置、電子ファイル検索方法、電子ファイル検索プログラム、およびこれを記録した記録媒体
JPH10283368A (ja) 情報処理装置及びその方法
KR20010064751A (ko) 정보검색을 위한 키 입력 오류 수정 방법
JPH10312387A (ja) 情報処理装置及び方法並びに情報処理プログラムを記録した記録媒体
JP2001060197A (ja) リレーショナルデータベースにおける検索方法及びそのプログラムを記録した記録媒体
JP2004178180A (ja) 全文検索情報の登録及び検索方式
JPH09282326A (ja) 文書高速構造検索方式
KR20040036334A (ko) 카테고리화된 데이터베이스를 가진 중국어 입력시스템과그 방법
JPH09259149A (ja) 電子ファイリングシステムおよびその制御方法
JP2000339326A (ja) 情報検索装置及び情報検索方法

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20150306

MM4A The patent is invalid due to non-payment of fees

Effective date: 20200324