WO2001073597A2 - Search user interface providing mechanism for manipulation of explicit and implicit criteria - Google Patents

Search user interface providing mechanism for manipulation of explicit and implicit criteria Download PDF

Info

Publication number
WO2001073597A2
WO2001073597A2 PCT/EP2001/003009 EP0103009W WO0173597A2 WO 2001073597 A2 WO2001073597 A2 WO 2001073597A2 EP 0103009 W EP0103009 W EP 0103009W WO 0173597 A2 WO0173597 A2 WO 0173597A2
Authority
WO
WIPO (PCT)
Prior art keywords
user
search
implicit
database
explicit
Prior art date
Application number
PCT/EP2001/003009
Other languages
French (fr)
Other versions
WO2001073597A3 (en
Inventor
Jacquelyn A. Martino
Lira Nikolovska
Alison F. Camplin
Original Assignee
Koninklijke Philips Electronics N.V.
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 Koninklijke Philips Electronics N.V. filed Critical Koninklijke Philips Electronics N.V.
Priority to EP01936085A priority Critical patent/EP1410253B1/en
Priority to DE60128735T priority patent/DE60128735D1/en
Priority to KR1020017015376A priority patent/KR20020019052A/en
Priority to JP2001571246A priority patent/JP2003529155A/en
Publication of WO2001073597A2 publication Critical patent/WO2001073597A2/en
Publication of WO2001073597A3 publication Critical patent/WO2001073597A3/en

Links

Classifications

    • 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
    • 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/73Querying
    • G06F16/735Filtering based on additional data, e.g. user or group profiles
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90324Query formulation using system suggestions
    • G06F16/90328Query formulation using system suggestions using search space presentation or visualization, e.g. category or range presentation and selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9038Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4314Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for fitting data in a restricted space on the screen, e.g. EPG data in a rectangular grid
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Definitions

  • Search user interface providing mechanism for manipulation of explicit and implicit criteria
  • the present invention relates to search, retrieval, and organization of data from large data spaces such as the contents of CD ROMS, electronic program guides, the Internet, etc.
  • large data spaces such as the contents of CD ROMS, electronic program guides, the Internet, etc.
  • Such increased access to information is likely to be useful, but the prospect of such large amounts of information presents new challenges for the design of user interfaces for information access. For example, Internet users often struggle to find information sources or give up in the face of the difficulty of constructing search queries and visualizing the results of queries.
  • Tools such as Google and most other database retrieval tools accept search queries in the form of text with connectors and results are presented in the form of lists sorted by some specific lump criterion which might be an operator involving multiple criteria (such as sort by A, then by B, etc).
  • a user interface provides a mechanism for interacting with large databases.
  • Search que ⁇ es are constructed using va ⁇ ous c ⁇ te ⁇ a
  • Both explicit and implicit profiles are sets of data by which predictions about the preferences of respective users can be made. For example, game software might be a clear preference for one user in one environment (e.g., free Internet downloads) and situation comedies may be clearly disfavored by another user in a different environment (e.g., broadcast tlelvision).
  • the user's profile ranks the records of the database according to the preference prediction made from the profile.
  • An implicit profile is one that is de ⁇ ved automatically from the user's past consumption patterns.
  • An explicit profile is one that is de ⁇ ved by the entry of explicit rule information, such as answers to questions like "Select which type of evening television show you like to watch.”
  • explicit profiles are created by allowing the user to select certain c ⁇ te ⁇ a, which are represented by tokens in a graphical scene, from va ⁇ ous category groups by removing them from the category groups and adding them to a query group. The resulting query group is the set of c ⁇ te ⁇ a that define the explicit profile.
  • Profiles may be saved and represented as tokens, just as the c ⁇ te ⁇ a, so that they can be manipulated (added to query groups) in further interactions in the same manner as c ⁇ te ⁇ a tokens.
  • This UI design addresses va ⁇ ous problems with user interaction with database search devices in the "lean-back" environment. (In the “lean back” situation the user is being entertained and relaxes as when the user watches television, and in the “lean-forward” situation the user is active and focused as when the user uses a desktop computer.)
  • the invention may be used to interact with electronic program guides (EPGs) used with broadcast television.
  • EPGs electronic program guides
  • the UI may be displayed as a layer directly on top of the recorded or broadcast program or selectively on its own screen.
  • the UI may be accessed using a simple handheld controller.
  • the controller has vertical and ho ⁇ zontal scroll buttons and only a few specialized buttons to access the va ⁇ ous operating modes directly
  • the UI generates three environments or worlds: a search world, a profiling world, and an overview world.
  • the user enters, saves, and edits filte ⁇ ng and sorting c ⁇ te ⁇ a (time of day, day of week, genre, etc )
  • the user In the profiling world, the user generates and modifies the explicit (and some types of implicit) user profiles
  • the user views and selects among the results of the search, which is a result of the sorting, filte ⁇ ng, and profiling information
  • the invention may be used in connection with va ⁇ ous different searching functions
  • va ⁇ ous different searching functions For example, in a preferred embodiment designed around EPGs, there are three basic searching functions provided (1) Filte ⁇ ng, (2) Filte ⁇ ng and/or sorting by explicit profile, and (3) Sorting by implicit profile These are defined as follows
  • Sorting by implicit profile - This is a profile that is generated passively by having the system "observe" user behavior The user merely makes viewing (recording, downloading, or otherwise “using") choices in the normal fashion and the system gradually builds a personal preference database by extracting a model of the user's behavior from the choices This process can be enhanced by permitting the user to rate mate ⁇ al (for example on a scale of one to five stars) The system uses this model to make predictions about what the user would prefer to watch in the future.
  • the process of extracting predictions from a viewing history, or specification of degree of desirability can follow simple algo ⁇ thms, such as marking apparent favo ⁇ tes after repeated requests for the same item It can be a sophisticated machine-learning process such as a decision-tree technique with a large number of inputs (degrees of freedom).
  • Such models generally speaking, look for patterns in the user's interaction behavior (i.e., interaction with the UI for making selections).
  • MbTV a system that learns viewers' television watching preferences by monito ⁇ ng their viewing patterns.
  • MbTV operates transparently and builds a profile of a viewer's tastes. This profile is used to provide services, for example, recommending television programs the viewer might be interested in watching.
  • MbTV learns about each of its viewer's tastes and uses what it learns to recommend upcoming programs.
  • MbTV can help viewers schedule their television watching time by alerting them to desirable upcoming programs, and with the addition of a storage device, automatically record these programs when the viewer is absent.
  • MbTV has a Preference Determination Engine and a Storage Management Engine. These are used to facilitate time-shifted television. MbTV can automatically record, rather than simply suggest, desirable programming. MbTV's Storage Management Engine t ⁇ es to insure that the storage device has the optimal contents.
  • This process involves tracking which recorded programs have been viewed (completely or partially), and which are ignored Viewers can "lock” recorded programs for future viewing in order to prevent deletion
  • the ways in which viewers handle program suggestions or recorded content provides additional feedback to MbTV's preference engine which uses this information to refine future decisions MbTV will reserve a portion of the recording space to represent each "constituent interest.” These "interests” may translate into different family members or could represent different taste catego ⁇ es
  • MbTV does not require user intervention, it is customizable by those that want to fme-tune its capabilities. Viewers can influence the "storage budget" for different types of programs. For example, a viewer might indicate that, though the children watch the majo ⁇ ty of television in a household, no more than 25% of the recording space should be consumed by children's programs.
  • search c ⁇ te ⁇ a may produce reliability or ranking estimates for each proposed record in the searched database rather than just "yes" and "no" results for each candidate record in the database.
  • a search query can be treated as providing c ⁇ te ⁇ a, each of which must be satisfied by the search results. In this case, if a query contains a specified channel and a specified time range, then only records satisfying both c ⁇ te ⁇ a will be returned.
  • the same search query could be treated as expressing preferences in which case, records that do not satisfy both c ⁇ te ⁇ a could be returned, and, instead of filte ⁇ ng, the records are sorted according to how good a match they are to the c ⁇ te ⁇ a So, records satisfying both c ⁇ te ⁇ a would be ranked highest, records satisfying only one c ⁇ te ⁇ on would be ranked second-highest, and records satisfying neither c ⁇ te ⁇ on would be ranked last Intermediate ranking could be performed by the closeness of the record c ⁇ te ⁇ on to the query or profile c ⁇ te ⁇ on For example, in the example above, if a record is closer to the specified time range, it would be ranked higher than a record that further in time from the specified time range
  • the que ⁇ es for filte ⁇ ng and preference application is preferably done with three dimensional visual graphics to facilitate the organization of information and to allow users to manipulate elements of a scene ("tokens") that represent data records, search and sort c ⁇ te ⁇ a, etc
  • the tokens take the form of beads
  • Catego ⁇ es are represented as st ⁇ ngs or loops of beads
  • specific choices (beads) are taken from a category st ⁇ ng and added to a search st ⁇ ng or bin
  • the beads, st ⁇ ngs, and bins are represented as three-dimensional objects, which is more than just for appearances in that it serves as a cue for the additional meaning that the third dimension provides generally an object's proximity to the user represents its relative ranking in the particular context
  • the ranking of c ⁇ te ⁇ a in each category may correspond to the frequency with which the c ⁇ te ⁇ a are used by the user in
  • the bead or beads corresponding to this time range would be ranked higher.
  • the c ⁇ te ⁇ a may be ranked according to selected records, rather than by all the records (or at least the most highly ranked ones) returned by searching.
  • One or more catego ⁇ es may actually be constructed of words, for example keywords, that appear in a large proportion of the chosen programs or a large proportion of the hits returned by the user's que ⁇ es. This makes sense because requmng the keyword category to contain every conceivable keyword would be awkward. Extracting the significant keywords from the desc ⁇ ptions of chosen records and/or from records returned by the que ⁇ es based on frequency of occurrence or a va ⁇ ation thereof, makes the number of possible keywords easier to handle and easier to select
  • the keyword list should be editable by the user in the same fashion as desc ⁇ bed in detail with respect to the editing of profiles elsewhere in the specification To construct a keyword list based on frequency of use data, the system could start with no keywords at all.
  • the returned results could be scanned for common terms.
  • the titles, desc ⁇ ptions, or any other data could be scanned and those terms that occur with some degree of frequency could be stored in a keyword list
  • the keywords in the list could each be ranked based on frequency or frequency weighted by the context in which the keyword appeared. For example, a keyword in a title might receive a lower rank than a keyword in a desc ⁇ ption or a keyword that is a direct object or subject in a grammatical parsing of a sentence in a desc ⁇ ption might receive a higher ranking than indirect objects, etc.
  • the keywords could be extracted from only the records selected for use For example, only programs that are chosen for viewing or recording are actually used to form the keyword list in the manner desc ⁇ bed Alternatively both selections and returns of que ⁇ es could be used, but the keywords in the selected records could be weighted more strongly than keywords in other returned records
  • the overview world presents the results of filte ⁇ ng and sorting c ⁇ te ⁇ a in a visually clear and simple way.
  • a three-dimensional animation is shown with three-dimensional tokens representing each record
  • the (apparent) closeness of the token to the user represents the prediction of how much the user, according to the selections that are active, would prefer the item identified by the record That is, proximity, initially, represents goodness of fit
  • the bead st ⁇ ngs, each bead representing a record are shown axially aligned with the st ⁇ ng with the best fits being arranged closest to the user and the others receding into the background according to their degree of fit
  • the user can advance in an axial direction to search through the results as if walking through a tunnel.
  • a pointer can be moved among the beads to select them. This causes additional information about each to be exposed.
  • FIG 1 is an illustration of a hardware system that may be used to implement an embodiment of the invention
  • FIG. 2 is an illustration of a remote control that may be used with an electronic program guide embodiment of the invention.
  • FIG 3 is a flowchart illustrating va ⁇ ous processes encompassed by the inventive user-interface.
  • FIG. 4 is an illustration of a user interface for forming and editing a search query
  • FIG. 5 is an illustration of a user interface for forming and editing a user profile.
  • FIG. 6 is an illustration of a user interface for forming and editing a search query displaying explicit and implicit profiles as search c ⁇ te ⁇ a
  • FIG 7 is an illustration of a user interface for forming and editing user profiles where likes and dislikes are accommodated
  • FIG. 8 is an illustration of an alternate picto ⁇ al scheme applicable to the embodiments of FIGS 4-7
  • FIG. 9 is an illustration of another alternate picto ⁇ al scheme applicable to the embodiments of FIGS. 4-7.
  • FIG. 10 is an illustration of yet another alternate picto ⁇ al scheme applicable to the embodiments of FIGS 4-7.
  • FIG. 11 is an illustration of yet another alternate picto ⁇ al scheme applicable to the embodiments of FIGS 4-7
  • FIG. 12 is an illustration of a user interface for viewing and selecting records returned from a search of a database consistent at least some of the foregoing embodiments
  • FIG. 13 is an illustration of another user interface for viewing and selecting records returned from a search of a database consistent with at least some of the foregoing embodiments.
  • FIG. 14 is an illustration of yet another user interface for viewing and selecting records returned from a search of a database consistent with at least some of the foregoing embodiments
  • FIG. 15 is an illustration of yet another user interface for viewing and selecting records returned from a search of a database consistent with at least some of the foregoing embodiments
  • FIG 16A illustrates the plane definitions that apply to the embodiment of FIG 16B.
  • FIG 16B is an illustration of another user interface for forming and editing search que ⁇ es and user profiles in which text is used to represent objects in a 3-D scene employed by the user interface.
  • FIG. 17 illustrates a text-based search result viewing scene that also uses text as objects in a 3-D scene
  • FIG. 18 is a flow chart illustrating processes for keyword category generation and sorting DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • the invention relates to database search and ret ⁇ eval and is particularly suited to lean back environments or applications where the availability of training is, or is desired to be, limited.
  • the invention may be used in connection with search and visualization tasks in connection with electronic program guides (EPGs).
  • EPG electronic program guides
  • the program information may include titles and va ⁇ ous desc ⁇ ptive information such as a narrative summary, va ⁇ ous keywords catego ⁇ zing the content, etc.
  • a computer sends program information to a television 230.
  • the computer 240 may be equipped to receive the video signal 270 and control the channel-changing function, and to allow a user to select channels through a tuner 245 linked to the computer 240 rather than through the television's tuner 230. The user can then select the program to be viewed by highlighting a desired selection from the displayed program schedule using the remote control 210 to control the computer.
  • the computer 240 has a data link 260 through which it can receive updated program schedule data. This could be a telephone line connectable to an Internet service provider or some other suitable data connection.
  • the computer 240 has a mass storage device 235, for example a hard disk, to store program schedule information, program applications and upgrades, and other information. Information about the user's preferences and other data can be uploaded into the computer 240 via removable media such as a memory card or disk 220. A great many interesting features are enabled by approp ⁇ ately programming the computer 240.
  • the mass storage can be replaced by volatile memory or non-volatile memory.
  • the data can be stored locally or remotely.
  • the entire computer 240 could be replaced with a server operating offsite through a link.
  • the controller could send commands through a data channel 260 which could be separate from, or the same as, the physical channel carrying the video.
  • the video 270 or other content can be earned by a cable, RF, or any other broadband physical channel or obtained from a mass storage or removable storage medium.
  • the program guide data can be received through channels other than the separate data link 260.
  • program guide information can be received through the same physical channel as the video or other content. It could even be provided through removable data storage media such as memory card or disk 220.
  • the remote control 210 can be replaced by a keyboard, voice command interface, 3D-mouse, joystick, or any other suitable input device. Selections can be made by moving a highlighting indicator, identifying a selection symbolically (e.g., by a name or number), or making selections in batch form through a data transmission or via removable media In the latter case, one or more selections may be stored in some form and transmitted to the computer 240, bypassing the display 170 altogether.
  • batch data could come from a portable storage device (e.g. a personal digital assistant, memory card, or smart card). Such a device could have many preferences stored on it for use in va ⁇ ous environments so as to customize the computer equipment to be used. Referring now to FIG.
  • a remote controller that may be used with a EPG embodiment of the invention has a simple set of keys including vertical and ho ⁇ zontal cursor keys 232 and 212, respectively.
  • a select, "GO,” button 214 is used to t ⁇ gger actions depending on the context in which it is pressed.
  • a search key 216 is used to invoke a search UI element, desc ⁇ bed below.
  • a profile key is used to invoke a profile UI element desc ⁇ bed below.
  • Start, save, reset, and delete keys 229, 222, 226, and 224 respectively, are used to control specific operations depending on context as desc ⁇ bed below.
  • a general overview of a user's interaction with the overall UI may begin with the construction of an explicit profile in step S10.
  • cnte ⁇ a are selected by selecting a token 105 (typ.) (here represented by a bead), for example, representing the genre "Movies" and moving them to an icon representing a selection bin 140.
  • each c ⁇ te ⁇ on is grouped using a bead st ⁇ ng visual element, for example the Genre st ⁇ ng 155, where each group of c ⁇ te ⁇ a resides on a particular st ⁇ ng.
  • the Movies bead 165 was moved from the Genre st ⁇ ng 155 to the selection bin 140.
  • the place occupied by the Movies bead 165 is marked by a ghosted bead 115 after its transfer to the selection bin 140.
  • any of the beads may be selected and transferred to the selection bin 140
  • the search/profile tool may be navigated as follows.
  • the user can see all the category labels 130 (typ )
  • the catego ⁇ es may be chosen using the cursor keys 212, 232.
  • the Genre string 155 may have been selected using the horizontal cursor keys 212, as indicated by suitable highlighting 150 or any other appropriate device such as changing a color of the selected string, bolding or highlighting the characters of the genre label 155, increasing the character size, etc.
  • the GO key may be pressed to permit selection of beads on the selected string.
  • the beads of non-selected strings may be hidden and only a vestige displayed to indicate the presence of the category.
  • the strings can be rolled in the opposite direction to reveal more strings.
  • the selected category may remain at the center of the screen and each time a horizontal scroll key 212 is pressed, the set of strings rolls in the opposite direction bringing a new string into view.
  • the user may simply use the vertical cursor keys 232. This may have the effect of moving the selected bead up and down or of rotating the entire string so the center one is always the selected one. In either case, the bead strings can be arbitrarily long and continued downward or upward cursor guided movement results in the feeding of the string in the appropriate direction to reveal more beads.
  • multiple strings may be open and the vertical and horizontal cursor keys 212 and 232 may be used to navigate among them without reselecting any strings.
  • a bead When a bead is selected, it can be moved to the search bin 140 by pressing the GO button 214.
  • the Movies bead in FIG. 4 was selected and the GO button 214 was pressed causing it to be moved into the search/profile bin 140 as indicated by the dotted arrow 142.
  • the user performs some action to move the selector to the search/profile bin 140 and selects the bead to be removed. Then the GO button 214 is pressed which causes the selected bead to retreat to the string from which it came.
  • a fast way to clear all beads from the search bin 140 is to use the reset button 226.
  • search/profile bin 140 is labeled "Search" in FIG. 4. This indicates that the mode the user is currently in. Also, the basic appearance and workings of the UI when in profile mode are the same as in the search mode. However, in profile mode, the user is given the option of indicating whether a criterion is liked or disliked. Also, in search mode, a certain set of categories may be provided. One is searches that have been saved and another is profiles. These are explained later.
  • a search st ⁇ ng 157 may be provided as a category in the search mode UI or in a specialized screen
  • the advantage of the former is that it reminds the user of the availability of the saved searches Saved searches can be shown on a st ⁇ ng adjacent the search/profile bin 140
  • Another special category that may be presented, and preferably is presented, in search mode is the profile category This may be shown as a bead st ⁇ ng also
  • a search After a search is created, it may be executed using the start button 228 to see the results of the search, or it may be saved, as indicated at 140A, and given a name by pressing the save button 222 Naming the search can be performed using known UI elements such as a cursor-key navigable on-screen keyboard such as provided with Tivo® personal digital video recorder devices For example, the name "Pizza" could be given to identify a search that applies for Thursday night pizza parties
  • a Previously saved search can be accessed or edited as follows To access the st ⁇ ng, the user can use the cursor keys 212,214 or by pressing or holding down the search button 216 while in the search mode or any other means This will highlight the search st ⁇ ng 157 Then the search beads 170 can be navigated as discussed above until the desired one is highlighted (or, equivalently, rolled to the foreground) When the desired search bead is highlighted, the beads making up the c ⁇ te ⁇ a defining the selected search bead appear in the search/profile bin 140 To apply the c ⁇ te ⁇ a defined in the selected search bead, the user may immediately hit the start button 228 or the user can move to the search bm 140 and edit the search c ⁇ te ⁇ a by deleting them or adding new ones just as m the construction of a search When the save button 222 is pressed in this context, however, the user is permitted to save it back to the onginal saved search bead or to a new one, allowing saved searches to be
  • the profile button 218 may be pressed at any time to invoke the profile mode.
  • the profile mode UI works the same way the search mode UI works, except that the profile bm 140' is a partitioned container with a "like" partition 164, where beads for c ⁇ te ⁇ a that are favored are placed, and dislike partition 165, where beads for c ⁇ te ⁇ a that are disfavored are placed.
  • the location of the beads in the respective partition indicates the action created by the profile with respect to the beads.
  • a c ⁇ te ⁇ on such as movies, in the dislike partition 165 will cause the profile to negatively weight negatively records matching the c ⁇ te ⁇ on.
  • a c ⁇ te ⁇ on in the like partition 164 will cause the profile to weight positively records matching the c ⁇ te ⁇ on.
  • the profile's name appears at 169 along with a label indicating the user is in profile mode.
  • the beads can be given a score through a dialog box or by pressing a specialized star key multiple times to give the item a rating. For example, five stars could indicate an item that is highly favored and one star, an item that is strongly disfavored.
  • the beads can be tagged with star icons, their colors can be changed to indicate the rating, their position in the bm can indicate the degree of the favored or disfavored rating, or their size can be changed.
  • the profile can be saved when the save button 222 is pressed.
  • the user has only to select the approp ⁇ ate bead and press the GO button 214.
  • the profile bead may be selected and the delete button 224 pressed.
  • the user in the profile mode, may select the profile and press the start button 228.
  • the profile mode also acts as an advisor and the profile mode may be called a profile/advisor mode
  • the implicit and explicit profiles can be reset using the reset key 226.
  • Implicit profiles may be editable or non-editable, depending on the system used to store information If the machine learning device used stores c ⁇ te ⁇ a-based inferences, then these could be edited exactly as discussed with respect to the explicit profiles.
  • implicit profiles could be edited through the use of personality beads that weight different program according to a personality template represented by the personality bead
  • a personality template represented by the personality bead
  • beads like "movie nut” to emphasize movies and movie-related matenal, "quiet-type” to de-emphasize action/th ⁇ ller sorts of content, or "overworked” to emphasize intellectually undemanding mate ⁇ al could be provided to tilt the implicit profile one way or another.
  • the same personality beads could be used in the search mode to make their actions effective only du ⁇ ng a search, or incorporated in a saved search, or even incorporated in implicit profiles. Refer ⁇ ng to FIG.
  • the search/profile mode can be implemented m a number of different ways in accord with the following ideas: the use of three-dimensional pictures organizes the information in a way that reduces clutter and makes relevant information and controls handy (for example, much of the mformatron that may be scrolled into view is shown partly hidden in the background, but it can be seen to suggest its existence and how to display it, for example beads on the st ⁇ ng that are behind the front column of beads); the more relevant information, depending on context, is shown in the foreground (for example, the currently selected items are shown in the foreground); and tempora ⁇ ly hidden mformatron (but which is available) retreats into the background (for example, the way additional beads on the st ⁇ ng can be hidden in the background).
  • the use of three-dimensional pictures organizes the information in a way that reduces clutter and makes relevant information and controls handy (for example, much of the mformatron that may be scrolled into view is shown partly hidden in the background, but it can be seen to suggest its existence and
  • the embodiment of FIG. 8 stems from the same design p ⁇ nciples.
  • the bead stnngs scrolling left and ⁇ ght in a straight line (like a cylinder)
  • they roll about a vertical axis like a carousel.
  • the keyword st ⁇ ng is selected since it is the one that is closest in the scene to the camera (user) vantage.
  • the search bm 140 is replaced with a st ⁇ ng 140C.
  • the bead st ⁇ ngs are more stylized in this example. Only a few beads are visible in the front of each st ⁇ ng, but the dominant bead on each st ⁇ ng is a great deal more pronounced.
  • the central st ⁇ ng 180 is the selected one.
  • the keyword st ⁇ ng' s selection is indicated by its size and bold lines
  • the search bin 140 is replaced by a st ⁇ ng 140B. This scene geometry is preferred because it is uncluttered and would be easier to see supe ⁇ mposed on a broadcast image. It is clear how this geometry could be applied to the other contexts discussed with respect to Refer ⁇ ng to FIG.
  • the beads are replaced with boxes 410 sitting on shelves 420.
  • the selected shelf 430 extends toward the user.
  • the search bin 140 is replaced by a hole 460 into which selected boxes 330 are inserted.
  • the shelves rotate around an axis that is ho ⁇ zontal and in the plane of the page Shelves and boxes further from the forward selected position (at 430) retreat into the background, for example, as shown at 320
  • a particular box on the selected shelf can be shown as selected by suitable highlighting, growing the box, holding it, etc.
  • signposts are used to represent the set of available catego ⁇ es, profiles, etc.
  • Each sign represents a category or the set of profiles.
  • Most of the signs 480, 485, and 450 are tilted at an angle with respect to the point of view, except for the selected one or ones 460, and 475.
  • the selections available within the category are exposed as tags 470 and 472 on the left side of the sign.
  • Those c ⁇ te ⁇ a or profiles that are selected to form part of a search are shown on the ⁇ ght side of the sign, for example as shown at 460 and 462
  • the name of the current search be g constructed, if it is a search or the name of the profile if it is a profile under construction, appears at the bottom, for example, at 440
  • the array of selected c ⁇ tena on the ⁇ ght of the signpost correspond to the contents of the search bin 140 in the bead embodiments discussed above.
  • Navigation of the FIG 10 and 11 embodiments is analogous to navigation in the bead embodiments.
  • Pressing the vertical cursor keys 232 causes the currently selected sign to swing into "open" position as is sign 490 in FIG. 11.
  • Pressing the ho ⁇ zontal cursor keys 212 causes the tags 460/470 to be highlighted as indicated by holding, color change, size change, etc.
  • Tag 471 is shown as selected by a size and holding change. Tags can be added and removed from the ⁇ ght side of the sign post by selecting them. Selecting a tag toggles its position between sides of the signpost. Once c ⁇ te ⁇ a are saved as a search, they can be made available by selecting them from their own “search” sign (not shown). Any c ⁇ te ⁇ a not visible on the signpost can be brought into view by scrolling vertically. New signs will appear at the bottom and top, respectively New tags will appear at the left and ⁇ ght extremes.
  • a keyword list that may be used in all of the above embodiments can be generated dynamically, rather than from a gene ⁇ c template.
  • keywords are entered by the user.
  • the keyword list may also be culled from common terms in selections made by the user or to reflect the user's category choices in building que ⁇ es. +++++
  • FIG. 12 once a search is invoked, the user sees the overview world. This view is invoked by pressing the start button 228 in search mode. Alternatrvely, an overview button may be provided on the remote control 210
  • the overview mode shows a visual representation that indicates pictonally, the relevance of each returned record by some metaphor for hrerarchy.
  • Each record returned by the search is displayed as a hexagonal tile in FIG 12,For example, as shown in FIG 12, the apparent proximity of the results relative to the viewer corresponds to the goodness of the fit between the search cnte ⁇ a and the record
  • the record 510 is shown with bold lines, large overall dimensions, and bold text compared to the record 535. The more relevant results are located toward the center of the display as well.
  • the result tiles 510, 525, etc. can be navigated using the cursor keys 212, 232. Selecting a tile opens it up to reveal further information about the selected item. A tile representing a program "Here's Kitty" is shown selected at 510. Thus, additional information is shown for this selection.
  • the user can navigate to the criteria element 510.
  • the vertical and horizontal cursor keys 212, 232 are used to move the cursor about the X-Y projection plane (the plane of the screen, where the Z- axis is pictorial axis leading from foreground to background) so that any icon can be accessed using the two axes of movement.
  • the cursor keys 212, 232 are used to move along the Z-axis so that the background tiles come closer to the user and more information becomes visible when they do.
  • Z-axis control can be toggled on and off or one set of cursor keys, say the vertical cursor keys 214, may be used to move forward and backward along the Z-axis the other set, among the current foreground set of tiles.
  • the current foreground set of tiles disappears as if it moved behind the viewer.
  • Selecting the criteria element by pressing the GO button, 214 causes the display to change back to the search mode with the cu ⁇ ent search (the one indicated by the criteria element) loaded into the search bin 140 (or the corresponding element for the other embodiments). This permits the search to be edited easily.
  • FIG. 13 the results are displayed in a fashion similar to that of FIG. 12, except that the third dimension displacement element is not applied. That is, the less relevant records are further from the center and less bold, but they do not appear to recede into the background as in the FIG. 12 embodiment. Other features are essentially the same as that of the FIG. 12 embodiment.
  • each record appears as a bead or token 610, 620, 630.
  • the rings 605 are intended to give the appearance of a tunnel going back away from the viewer.
  • the horizontal cursor keys 232 may be used to rotate the cu ⁇ ently selected token (Token 605 is the selected token in FIG. 14).
  • the vertical cursor keys 212 may be used to move along the Z-axis, that is, move through the tunnel bringing the background rings into the foreground. As the rings 605 move forward (the viewer advances along the Z-axis), the tokens 610, 620, 630, come closer to the viewer and get bigger.
  • the selection element 554 provides a visual reminder of the selection criteria that produced the current result display and a mechanism for moving back to the relevant search mode to edit the criteria.
  • suitable navigation keys can be provided to allow for fast access to any of these features.
  • Each ring may be associated with a match-quality level that may be shown on the screen as at 566.
  • this embodiment of an overview world scene is similar to that of FIG. 14, except that the tokens are organized around a spiral 666 rather than rings.
  • This arrangement is essentially one-dimensional so that only one set of cursor keys needs to be used to navigate it. Navigation may or may not be attended by movement along the Z- axis, as preferred.
  • FIG. 16A a purely text embodiment makes use of the three-space visualization to separate the different portions of the display.
  • the diagram shows the definition of the three planes and axes.
  • in the UI represents categories 703 distributed along the Y-axis and the category selections 701 broken out in the X-Y plane and distributed along X-axis.
  • Time 702 is shown along the Z-axis.
  • the user profile 706 is shown in the Y-Z plane.
  • the search title 705 and its elements 704 are shown in the X-Z plane. Selected items are shown in brackets.
  • the role of the search bin 140 is played by the xz plane as shown at 704 and 705. Referring now also to FIG.
  • the results of searches may be represented as text icons in a three-dimensional landscape scene.
  • the foreground title is the most relevant as indicated by the relevancy scale 814 in the Y-Z plane.
  • the less relevant results 802, 803 appear in order of relevancy progressively along the Z-axis away from the viewer.
  • the brackets 817 around the most relevant record indicate that this record is cu ⁇ ently selected.
  • a selected record may reveal detailed information about the record, for example as shown at 804.
  • the details may include a thumbnail picture or video.
  • the details may include a thumbnail picture or video (not shown).
  • the revealing of further detail, the zoomed-in state can be invoked by a separate operation so that selection does not necessarily cause the display of additional information about the selected item. This applies to all embodiments.
  • the cursor keys may be used to scroll back toward the less relevant records and to highlight each record in turn.
  • one or more of the categories may actually be constructed of words or other symbols, for example, the keyword category described above. Keywords could be every conceivable word in the dictionary, which would make selection of keywords difficult without a keyboard (physical keyboard or on-screen equivalent). Keyboards are tedious and it is preferred if keywords can simply be selected from, for example, a category string as discussed above
  • Such a keyword category may be constructed using data from various sources to cull from the vast number of alternatives, those words that would be useful in a keyword selection list.
  • the words can be extracted from the descriptions of chosen records and/or from records returned by the queries based on frequency of occurrence or a variation thereof.
  • a user accesses the records of the database directly or by searching. Directly accessing records of the database could co ⁇ espond, for example, to the browsing and selection of a record by a user. Searching may be performed as discussed above. The user does one or the other and the path is selected in step SI 50. If a search is performed (step S100) records may be a word list is constructed from the search results in step SI 15.
  • Some or all words from the titles, descriptions, contents of the records etc. could be culled from the search results depending on the capacity of the system and the desires of the designer. Less relevant words, based on grammatical parsing, could be filtered out of the list. For example, the list could be formed from only direct objects and subjects from sentences in the description and title words. Once the list is formed, the most common words in the list may be identified (S120) and ranked (S125) based on frequency of occurrence and significance (e.g., title words are more significant the words from the description or the content of the record itself). Other criteria may be used for selecting and ranking the words added to the list, for example, the goodness of fit between the search criteria and the retrieved records. The above are mere suggestions.
  • the criteria used would depend on the type of database accessed. For example, some records may contain many different specialized fields such as assignee, inventor, and filing date of a patent, that characterize the records that provide significance information explicitly.
  • the common words that remain at the top of the list in terms of significance and frequency become part of the list along with their respective ranking data and the process is repeated each time searches are made. Repeated searches may build the list, but the list will always remain sorted with the most important items at the top.
  • the most important keywords will always appear on the screen and the least important ones will be available by scrolling, or rolling, the bead st ⁇ ng (or other corresponding element). In this way the interface remams uncluttered while still providing access to a large inventory of keywords
  • the word list can be formed from multrple selections and common words culled from this list in a manner similar to that for searches.
  • step S 110 one or more records are selected by the user.
  • Step SI 10 can be reached directly without searching or by going through the steps S100-S 130 first and then through S150 again to ar ⁇ ve at SI 10 to choose one or more records from the search results.
  • step S135 the user adds words from the selected record or records to the word list To identify frequency of hits data on desc ⁇ ptors, it desirable to have multiple records, so each selection is added to a single list and the frequency data de ⁇ ved from the combined list, which covers multiple selection iterations.
  • step S140 words with a low frequency of hits may be filtered out of the list.
  • step S 145 all the terms are ranked according to the va ⁇ ous c ⁇ te ⁇ a discussed above Note that the word lists de ⁇ ved from ret ⁇ eved records from a search and those de ⁇ ved from selected records can be combined in a single list.
  • the keyword list should be editable by the user in the same fashion as desc ⁇ bed in detail with respect to the editing of profiles elsewhere in the specification
  • the system could start with no keywords at all. Then, each time the user enters a query, the returned results could be scanned for common terms.
  • the titles, desc ⁇ ptions, or any other data could be scanned and those terms that occur with some degree of frequency could be stored in a keyword list
  • the keywords in the list could each be ranked based on frequency or frequency weighted by the context in which the keyword appeared.
  • a keyword in a title might receive a lower rank than a keyword in a desc ⁇ ption or a keyword that is a direct object or subject in a grammatical parsing of a sentence in a desc ⁇ ption might receive a higher ranking than indirect objects, etc.
  • the keywords could be extracted from only the records selected for use. For example, only programs that are chosen for viewing or recording are actually used to form the keyword list in the manner desc ⁇ bed Alternatively both selections and returns of que ⁇ es could be used, but the keywords in the selected records could be weighted more strongly than keywords in other returned records. Thrs shorter lrst can then be ranked usmg the same or srmrlar method as used to from would be awkward.
  • the rankmg of c ⁇ te ⁇ a in each category may correspond to the frequency wrth whrch the cnte ⁇ a are used by the user in constructrng que ⁇ es. So, for example, rf the user's searches always include the daytime time range, the bead or beads corresponding to this time range would be ranked higher. Alternatrvely, the c ⁇ te ⁇ a may be ranked accordtng to selected records, rather than by all the records (or at least the most highly ranked ones) returned by searchmg.
  • p ⁇ ontrzatron of the search c ⁇ te ⁇ a categories may also be made editable by the user. For example, if a channel has fallen tempora ⁇ ly into disfavor judging by frequency of use du ⁇ ng the Olympics, the user may provided a mechanism to revive it This may be any of va ⁇ ous techniques, for example invoking a menu optron to resort the list representing the ranking of selected category's elements, and does not need to be descnbed in detail.

Abstract

A user interface for querying and displaying records from a database allows explicit and implicit profiles to be stored and selectively, and independently, incorporated in a search. Implicit profiles are derived from the selections of resources by a user without requiring the user to specify any rules by which selections are made. A machine-learning algorithm is used to derive a model by which user-preferences can be predicted. Explicit profiles are rules entered by the user. For example, the user may select certain categories of resources that the user prefers to exclude from searches. Queries are defined by selecting predefined criteria, and one or both of the explicit and implicit profiles. In an embodiment, profiles are displayed and manipulated just as categories of other criteria to add and remove them from queries. The queries can be saved and edited.

Description

Search user interface providing mechanism for manipulation of explicit and implicit criteria
BACKGROUND OF THE INVENTION
The present invention relates to search, retrieval, and organization of data from large data spaces such as the contents of CD ROMS, electronic program guides, the Internet, etc. The vast amount of information available in CD-ROMS, the Internet, television programming guides, the proposed national information infrastructure, etc. spur the dream of easy access to many large information media sources. Such increased access to information is likely to be useful, but the prospect of such large amounts of information presents new challenges for the design of user interfaces for information access. For example, Internet users often struggle to find information sources or give up in the face of the difficulty of constructing search queries and visualizing the results of queries. Straight text lists such as provided by electronic program guides, Internet search engines, and text search tools such as Folio®, are tedious to work with, often hard to work with, and, because of the rather monotonous look, rather tiring to look at for long periods of time. There are two major components to searching databases: filtering so irrelevant information is excluded, and sorting the filtered results by some priority schema. For example, an Internet search engine such as Google® uses a text query to filter and sort records in its database representing entry points in the World- Wide-Web. It uses certain implicit criteria such as an implied vote "cast" by pages that link to the candidates retrieved by the query (That is, pages that are linked to by more other pages, have more "votes"). Google also analyzes the pages that cast the votes and gives greater weight to pages that receive more votes by other pages.
Tools such as Google and most other database retrieval tools accept search queries in the form of text with connectors and results are presented in the form of lists sorted by some specific lump criterion which might be an operator involving multiple criteria (such as sort by A, then by B, etc). SUMMARY OF TFfE INVENTION
Bπefly, a user interface (UI) provides a mechanism for interacting with large databases. Search queπes are constructed using vaπous cπteπa In addition, the permits implicit and explicit user profiles to selectively and separately incorporated into a search query. Both explicit and implicit profiles are sets of data by which predictions about the preferences of respective users can be made. For example, game software might be a clear preference for one user in one environment (e.g., free Internet downloads) and situation comedies may be clearly disfavored by another user in a different environment (e.g., broadcast tlelvision). The user's profile ranks the records of the database according to the preference prediction made from the profile. An implicit profile, as will be explained more below, is one that is deπved automatically from the user's past consumption patterns. An explicit profile is one that is deπved by the entry of explicit rule information, such as answers to questions like "Select which type of evening television show you like to watch." In one embodiment of the invention, explicit profiles are created by allowing the user to select certain cπteπa, which are represented by tokens in a graphical scene, from vaπous category groups by removing them from the category groups and adding them to a query group. The resulting query group is the set of cπteπa that define the explicit profile. Profiles may be saved and represented as tokens, just as the cπteπa, so that they can be manipulated (added to query groups) in further interactions in the same manner as cπteπa tokens. This UI design addresses vaπous problems with user interaction with database search devices in the "lean-back" environment. (In the "lean back" situation the user is being entertained and relaxes as when the user watches television, and in the "lean-forward" situation the user is active and focused as when the user uses a desktop computer.) For example, the invention may be used to interact with electronic program guides (EPGs) used with broadcast television. In such an application, the UI may be displayed as a layer directly on top of the recorded or broadcast program or selectively on its own screen. The UI may be accessed using a simple handheld controller. In a prefeπed embodiment, the controller has vertical and hoπzontal scroll buttons and only a few specialized buttons to access the vaπous operating modes directly The UI generates three environments or worlds: a search world, a profiling world, and an overview world. Assuming an EPG environment, in the search world, the user enters, saves, and edits filteπng and sorting cπteπa (time of day, day of week, genre, etc ) In the profiling world, the user generates and modifies the explicit (and some types of implicit) user profiles In the overview world, the user views and selects among the results of the search, which is a result of the sorting, filteπng, and profiling information
The invention may be used in connection with vaπous different searching functions For example, in a preferred embodiment designed around EPGs, there are three basic searching functions provided (1) Filteπng, (2) Filteπng and/or sorting by explicit profile, and (3) Sorting by implicit profile These are defined as follows
(1) Filteπng - A set of cπteπa that defines the set of results to be displayed These cπteπa choose exactly what records in the database will be chosen and which will be excluded from the overview world display (2) Filteπng and/or sorting by explicit profile - A user is permitted to specify likes or dislikes by making selections from vaπous categoπes For example, the user can indicate that dramas and action movies are favored and that certain actors are disfavored These cπteπa are then applied to sort the records returned by the filteπng process The degree of importance of the cπteπa may also be specified, although the complexity of adding this layer may make its addition to a system less worthwhile for the vast majoπty of users As an example of the second type of system, one EP application (EP 0854645 A2) descπbes a system that enables a user to enter geneπc preferences such as a preferred program category, for example, sitcom, dramatic seπes, old movies, etc The application also descπbes preference templates in which preference profiles can be selected, for example, one for children aged 10-12, another for teenage girls, another for airplane hobbyists, etc This method of inputting requires that a user have the capacity to make generalizations about him/herself and that these be a true picture of his/her preferences It can also be a difficult task for common people to answer questions about abstractions such as "Do you like dramas or action movies7" and "How important is the 'drama' cπteπa to you7"
(3) Sorting by implicit profile - This is a profile that is generated passively by having the system "observe" user behavior The user merely makes viewing (recording, downloading, or otherwise "using") choices in the normal fashion and the system gradually builds a personal preference database by extracting a model of the user's behavior from the choices This process can be enhanced by permitting the user to rate mateπal (for example on a scale of one to five stars) The system uses this model to make predictions about what the user would prefer to watch in the future The process of extracting predictions from a viewing history, or specification of degree of desirability, can follow simple algoπthms, such as marking apparent favoπtes after repeated requests for the same item It can be a sophisticated machine-learning process such as a decision-tree technique with a large number of inputs (degrees of freedom). Such models, generally speaking, look for patterns in the user's interaction behavior (i.e., interaction with the UI for making selections).
An example of this type of profile information is MbTV, a system that learns viewers' television watching preferences by monitoπng their viewing patterns. MbTV operates transparently and builds a profile of a viewer's tastes. This profile is used to provide services, for example, recommending television programs the viewer might be interested in watching. MbTV learns about each of its viewer's tastes and uses what it learns to recommend upcoming programs. MbTV can help viewers schedule their television watching time by alerting them to desirable upcoming programs, and with the addition of a storage device, automatically record these programs when the viewer is absent.
MbTV has a Preference Determination Engine and a Storage Management Engine. These are used to facilitate time-shifted television. MbTV can automatically record, rather than simply suggest, desirable programming. MbTV's Storage Management Engine tπes to insure that the storage device has the optimal contents. This process involves tracking which recorded programs have been viewed (completely or partially), and which are ignored Viewers can "lock" recorded programs for future viewing in order to prevent deletion The ways in which viewers handle program suggestions or recorded content provides additional feedback to MbTV's preference engine which uses this information to refine future decisions MbTV will reserve a portion of the recording space to represent each "constituent interest." These "interests" may translate into different family members or could represent different taste categoπes Though MbTV does not require user intervention, it is customizable by those that want to fme-tune its capabilities. Viewers can influence the "storage budget" for different types of programs. For example, a viewer might indicate that, though the children watch the majoπty of television in a household, no more than 25% of the recording space should be consumed by children's programs.
Note that search cπteπa, and implicit and explicit profiles, may produce reliability or ranking estimates for each proposed record in the searched database rather than just "yes" and "no" results for each candidate record in the database. A search query can be treated as providing cπteπa, each of which must be satisfied by the search results. In this case, if a query contains a specified channel and a specified time range, then only records satisfying both cπteπa will be returned. The same search query could be treated as expressing preferences in which case, records that do not satisfy both cπteπa could be returned, and, instead of filteπng, the records are sorted according to how good a match they are to the cπteπa So, records satisfying both cπteπa would be ranked highest, records satisfying only one cπteπon would be ranked second-highest, and records satisfying neither cπteπon would be ranked last Intermediate ranking could be performed by the closeness of the record cπteπon to the query or profile cπteπon For example, in the example above, if a record is closer to the specified time range, it would be ranked higher than a record that further in time from the specified time range
In the case of implicit profiles, there may not be any cπteπa at all in the sense that one could show how high each genre, for example, is ranked If, for example, a neural network-based predicting engine were used to sort the records of the database, there is no clear way to expose the cπteπa weighting that is used to make the decisions, at least for an easy-to-use system However, some simpler machine learning techniques may also be used for producing and implementing implicit profiles For example, the cπteπa appeaπng in selected records (or records ranked highly as highly desirable) can be scored based on the frequency of cπteπa hits For example, in an EPG, if all the programs that are selected for viewing are daytime soaps, the soap genre and daytime time range would have a high frequency count and the science documentary genre would have zero hits These could be exposed so that the viewer can see them In the user interface embodiments descπbed below, in which profiles are edited, the user may edit such an implicit profile because it is based, on specific weights applied to each cπteπon A user can remove the cπteπon from the profile, change the weighting, etc The latter is only an example of an implicit profiling mechanism that provides a clear way for the user to modify it Other mechanisms may also provide such a scheme, for example the system need not be based only on frequency of hits of the user's selections
Construction of the queπes for filteπng and preference application is preferably done with three dimensional visual graphics to facilitate the organization of information and to allow users to manipulate elements of a scene ("tokens") that represent data records, search and sort cπteπa, etc In a preferred UI, the tokens take the form of beads Categoπes are represented as stπngs or loops of beads When a preference filter is constructed, specific choices (beads) are taken from a category stπng and added to a search stπng or bin The beads, stπngs, and bins are represented as three-dimensional objects, which is more than just for appearances in that it serves as a cue for the additional meaning that the third dimension provides generally an object's proximity to the user represents its relative ranking in the particular context Where the stπngs represent cπteπa, the ranking of cπteπa in each category may correspond to the frequency with which the cπteπa are used by the user in constructing queπes. So, for example, if the user's searches always include the daytime time range, the bead or beads corresponding to this time range would be ranked higher. Alternatively, the cπteπa may be ranked according to selected records, rather than by all the records (or at least the most highly ranked ones) returned by searching.
One or more categoπes may actually be constructed of words, for example keywords, that appear in a large proportion of the chosen programs or a large proportion of the hits returned by the user's queπes. This makes sense because requmng the keyword category to contain every conceivable keyword would be awkward. Extracting the significant keywords from the descπptions of chosen records and/or from records returned by the queπes based on frequency of occurrence or a vaπation thereof, makes the number of possible keywords easier to handle and easier to select Preferably, the keyword list should be editable by the user in the same fashion as descπbed in detail with respect to the editing of profiles elsewhere in the specification To construct a keyword list based on frequency of use data, the system could start with no keywords at all. Then, each time the user enters a query, the returned results could be scanned for common terms. The titles, descπptions, or any other data could be scanned and those terms that occur with some degree of frequency could be stored in a keyword list The keywords in the list could each be ranked based on frequency or frequency weighted by the context in which the keyword appeared. For example, a keyword in a title might receive a lower rank than a keyword in a descπption or a keyword that is a direct object or subject in a grammatical parsing of a sentence in a descπption might receive a higher ranking than indirect objects, etc. Instead of extracting keywords from the returned records of a search, the keywords could be extracted from only the records selected for use For example, only programs that are chosen for viewing or recording are actually used to form the keyword list in the manner descπbed Alternatively both selections and returns of queπes could be used, but the keywords in the selected records could be weighted more strongly than keywords in other returned records
The overview world presents the results of filteπng and sorting cπteπa in a visually clear and simple way. Preferably, a three-dimensional animation is shown with three-dimensional tokens representing each record Again, the (apparent) closeness of the token to the user represents the prediction of how much the user, according to the selections that are active, would prefer the item identified by the record That is, proximity, initially, represents goodness of fit In one example of this, the bead stπngs, each bead representing a record, are shown axially aligned with the stπng with the best fits being arranged closest to the user and the others receding into the background according to their degree of fit The user can advance in an axial direction to search through the results as if walking through a tunnel. A pointer can be moved among the beads to select them. This causes additional information about each to be exposed.
The implicit and explicit user profiles are invoked by adding them to the search queπes (the bin or stπng) just as done with other choices The effect of adding the profile is to have results sorted according to the preferences Explicit user profiles are generated in the same way. The invention will be descπbed in connection with certain preferred embodiments, with reference to the following illustrative figures so that it may be more fully understood With reference to the figures, it is stressed that the particulars shown are by way of example and for purposes of illustrative discussion of the preferred embodiments of the present invention only, and are presented in the cause of providing what is believed to be the most useful and readily understood descπption of the pπnciples and conceptual aspects of the invention In this regard, no attempt is made to show structural details of the invention in more detail than is necessary for a fundamental understanding of the invention, the descπption taken with the drawings making apparent to those skilled in the art how the several forms of the invention may be embodied in practice.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG 1 is an illustration of a hardware system that may be used to implement an embodiment of the invention
FIG. 2 is an illustration of a remote control that may be used with an electronic program guide embodiment of the invention.
FIG 3 is a flowchart illustrating vaπous processes encompassed by the inventive user-interface.
FIG. 4 is an illustration of a user interface for forming and editing a search query FIG. 5 is an illustration of a user interface for forming and editing a user profile.
FIG. 6 is an illustration of a user interface for forming and editing a search query displaying explicit and implicit profiles as search cπteπa FIG 7 is an illustration of a user interface for forming and editing user profiles where likes and dislikes are accommodated
FIG. 8 is an illustration of an alternate pictoπal scheme applicable to the embodiments of FIGS 4-7 FIG. 9 is an illustration of another alternate pictoπal scheme applicable to the embodiments of FIGS. 4-7.
FIG. 10 is an illustration of yet another alternate pictoπal scheme applicable to the embodiments of FIGS 4-7.
FIG. 11 is an illustration of yet another alternate pictoπal scheme applicable to the embodiments of FIGS 4-7
FIG. 12 is an illustration of a user interface for viewing and selecting records returned from a search of a database consistent at least some of the foregoing embodiments FIG. 13 is an illustration of another user interface for viewing and selecting records returned from a search of a database consistent with at least some of the foregoing embodiments.
FIG. 14 is an illustration of yet another user interface for viewing and selecting records returned from a search of a database consistent with at least some of the foregoing embodiments
FIG. 15 is an illustration of yet another user interface for viewing and selecting records returned from a search of a database consistent with at least some of the foregoing embodiments
FIG 16A illustrates the plane definitions that apply to the embodiment of FIG 16B.
FIG 16B is an illustration of another user interface for forming and editing search queπes and user profiles in which text is used to represent objects in a 3-D scene employed by the user interface.
FIG. 17 illustrates a text-based search result viewing scene that also uses text as objects in a 3-D scene
FIG. 18 is a flow chart illustrating processes for keyword category generation and sorting DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Referπng to FIG. 1, the invention relates to database search and retπeval and is particularly suited to lean back environments or applications where the availability of training is, or is desired to be, limited. For example, the invention may be used in connection with search and visualization tasks in connection with electronic program guides (EPGs). In the context of televisions, EPG is applied loosely to vaπous features that can be delivered using a database of program information. The program information may include titles and vaπous descπptive information such as a narrative summary, vaπous keywords categoπzing the content, etc. In an embodiment, a computer sends program information to a television 230. The computer 240 may be equipped to receive the video signal 270 and control the channel-changing function, and to allow a user to select channels through a tuner 245 linked to the computer 240 rather than through the television's tuner 230. The user can then select the program to be viewed by highlighting a desired selection from the displayed program schedule using the remote control 210 to control the computer. The computer 240 has a data link 260 through which it can receive updated program schedule data. This could be a telephone line connectable to an Internet service provider or some other suitable data connection. The computer 240 has a mass storage device 235, for example a hard disk, to store program schedule information, program applications and upgrades, and other information. Information about the user's preferences and other data can be uploaded into the computer 240 via removable media such as a memory card or disk 220. A great many interesting features are enabled by appropπately programming the computer 240.
Note that many substitutions are possible in the above example hardware environment and all can be used in connection with the invention. The mass storage can be replaced by volatile memory or non-volatile memory. The data can be stored locally or remotely. In fact, the entire computer 240 could be replaced with a server operating offsite through a link. Rather than using a remote control to send commands to the computer 240 through an infrared port 215, the controller could send commands through a data channel 260 which could be separate from, or the same as, the physical channel carrying the video. The video 270 or other content can be earned by a cable, RF, or any other broadband physical channel or obtained from a mass storage or removable storage medium. It could be earned by a switched physical channel such as a phone line or a virtually switched channel such as ATM or other network suitable for synchronous data communication. Content could be asynchronous and tolerant of dropouts so that present-day IP networks could be used Further, the content of the line through which programming content is received could be audio, chat conversation data, web sites, or any other kind of content for which a vaπety of selections are possible. The program guide data can be received through channels other than the separate data link 260. For example, program guide information can be received through the same physical channel as the video or other content. It could even be provided through removable data storage media such as memory card or disk 220. The remote control 210 can be replaced by a keyboard, voice command interface, 3D-mouse, joystick, or any other suitable input device. Selections can be made by moving a highlighting indicator, identifying a selection symbolically (e.g., by a name or number), or making selections in batch form through a data transmission or via removable media In the latter case, one or more selections may be stored in some form and transmitted to the computer 240, bypassing the display 170 altogether. For example, batch data could come from a portable storage device (e.g. a personal digital assistant, memory card, or smart card). Such a device could have many preferences stored on it for use in vaπous environments so as to customize the computer equipment to be used. Referring now to FIG. 2, a remote controller that may be used with a EPG embodiment of the invention has a simple set of keys including vertical and hoπzontal cursor keys 232 and 212, respectively. A select, "GO," button 214 is used to tπgger actions depending on the context in which it is pressed. A search key 216 is used to invoke a search UI element, descπbed below. A profile key is used to invoke a profile UI element descπbed below. Start, save, reset, and delete keys 229, 222, 226, and 224 respectively, are used to control specific operations depending on context as descπbed below.
Referπng now to FIG. 3, a general overview of a user's interaction with the overall UI, which compπses search, profile, and overview worlds, may begin with the construction of an explicit profile in step S10. Referπng now also to FIG. 4, for example, using a search/profile tool 90, cnteπa are selected by selecting a token 105 (typ.) (here represented by a bead), for example, representing the genre "Movies" and moving them to an icon representing a selection bin 140. Before they are selected, each cπteπon is grouped using a bead stπng visual element, for example the Genre stπng 155, where each group of cπteπa resides on a particular stπng. For example, the Movies bead 165 was moved from the Genre stπng 155 to the selection bin 140. The place occupied by the Movies bead 165 is marked by a ghosted bead 115 after its transfer to the selection bin 140. In the UI, it is envisioned that any of the beads may be selected and transferred to the selection bin 140
The search/profile tool may be navigated as follows. When the user is in the search area, the user can see all the category labels 130 (typ ) The categoπes may be chosen using the cursor keys 212, 232. In the figure, the Genre string 155 may have been selected using the horizontal cursor keys 212, as indicated by suitable highlighting 150 or any other appropriate device such as changing a color of the selected string, bolding or highlighting the characters of the genre label 155, increasing the character size, etc. When the desired string has been selected, the GO key may be pressed to permit selection of beads on the selected string.
Note that, alternatively, the beads of non-selected strings may be hidden and only a vestige displayed to indicate the presence of the category. Also, when the selected category reaches the far left or far right of the screen, the strings can be rolled in the opposite direction to reveal more strings. Alternatively, the selected category may remain at the center of the screen and each time a horizontal scroll key 212 is pressed, the set of strings rolls in the opposite direction bringing a new string into view.
To navigate a selected string, the user may simply use the vertical cursor keys 232. This may have the effect of moving the selected bead up and down or of rotating the entire string so the center one is always the selected one. In either case, the bead strings can be arbitrarily long and continued downward or upward cursor guided movement results in the feeding of the string in the appropriate direction to reveal more beads.
Note that in an embodiment, multiple strings may be open and the vertical and horizontal cursor keys 212 and 232 may be used to navigate among them without reselecting any strings. When a bead is selected, it can be moved to the search bin 140 by pressing the GO button 214. For example, the Movies bead in FIG. 4 was selected and the GO button 214 was pressed causing it to be moved into the search/profile bin 140 as indicated by the dotted arrow 142. To remove a bead from the search/profile bin 140, the user performs some action to move the selector to the search/profile bin 140 and selects the bead to be removed. Then the GO button 214 is pressed which causes the selected bead to retreat to the string from which it came. A fast way to clear all beads from the search bin 140 is to use the reset button 226.
Note that the search/profile bin 140 is labeled "Search" in FIG. 4. This indicates that the mode the user is currently in. Also, the basic appearance and workings of the UI when in profile mode are the same as in the search mode. However, in profile mode, the user is given the option of indicating whether a criterion is liked or disliked. Also, in search mode, a certain set of categories may be provided. One is searches that have been saved and another is profiles. These are explained later. Referπng now also to FIG 5, a search stπng 157 may be provided as a category in the search mode UI or in a specialized screen The advantage of the former is that it reminds the user of the availability of the saved searches Saved searches can be shown on a stπng adjacent the search/profile bin 140 Another special category that may be presented, and preferably is presented, in search mode is the profile category This may be shown as a bead stπng also
After a search is created, it may be executed using the start button 228 to see the results of the search, or it may be saved, as indicated at 140A, and given a name by pressing the save button 222 Naming the search can be performed using known UI elements such as a cursor-key navigable on-screen keyboard such as provided with Tivo® personal digital video recorder devices For example, the name "Pizza" could be given to identify a search that applies for Thursday night pizza parties
A Previously saved search can be accessed or edited as follows To access the stπng, the user can use the cursor keys 212,214 or by pressing or holding down the search button 216 while in the search mode or any other means This will highlight the search stπng 157 Then the search beads 170 can be navigated as discussed above until the desired one is highlighted (or, equivalently, rolled to the foreground) When the desired search bead is highlighted, the beads making up the cπteπa defining the selected search bead appear in the search/profile bin 140 To apply the cπteπa defined in the selected search bead, the user may immediately hit the start button 228 or the user can move to the search bm 140 and edit the search cπteπa by deleting them or adding new ones just as m the construction of a search When the save button 222 is pressed in this context, however, the user is permitted to save it back to the onginal saved search bead or to a new one, allowing saved searches to be used as templates for new searches Note that, a search bead can be added to the search bin 140 along with new cπtena before invoking using the start button 228 in the construction of a new search just like any other cπteπon bead This, in effect, makes the saved search a template or starting point for searches, so a particular user does not have to enter the same data each time she/he performs a search In the search mode, the user can also select beads from a profile stπng 156 to add to a search Each bead of the profile stπng 156 contains a profile of a user In an embodiment, the profile can be an implicit profile, an explicit profile, or a combination of these The beads representing the profile may be added to a search to cause the results to be sorted by the preferences they embody Referπng now also to FIG 6, implicit 158 and explicit 159 profiles can be displayed and accessed separately In this embodiment, the profile beads are used independently, but added to the search bin 140 just as other cπteπa beads.
Referring now to FIG. 7, to create or edit a profile, the profile button 218 may be pressed at any time to invoke the profile mode. This bπngs up the profile mode UI element. The profile mode UI works the same way the search mode UI works, except that the profile bm 140' is a partitioned container with a "like" partition 164, where beads for cπteπa that are favored are placed, and dislike partition 165, where beads for cπteπa that are disfavored are placed. The location of the beads in the respective partition indicates the action created by the profile with respect to the beads. That is, a cπteπon, such as movies, in the dislike partition 165 will cause the profile to negatively weight negatively records matching the cπteπon. Similarly, a cπteπon in the like partition 164 will cause the profile to weight positively records matching the cπteπon. Note that the profile's name appears at 169 along with a label indicating the user is in profile mode. Note also that the beads can be given a score through a dialog box or by pressing a specialized star key multiple times to give the item a rating. For example, five stars could indicate an item that is highly favored and one star, an item that is strongly disfavored. To view the rating, the beads can be tagged with star icons, their colors can be changed to indicate the rating, their position in the bm can indicate the degree of the favored or disfavored rating, or their size can be changed. Thus, the user viewing the profile b 140' would know at a glance the effect of each bead on the profile The profile can be saved when the save button 222 is pressed. To select an existing profile for editing, the user has only to select the appropπate bead and press the GO button 214. To permrt the deletion of a profile, the profile bead may be selected and the delete button 224 pressed. To filter current channels through a profile, the user, in the profile mode, may select the profile and press the start button 228. In this way, the profile mode also acts as an advisor and the profile mode may be called a profile/advisor mode Note that the implicit and explicit profiles can be reset using the reset key 226. Implicit profiles may be editable or non-editable, depending on the system used to store information If the machine learning device used stores cπteπa-based inferences, then these could be edited exactly as discussed with respect to the explicit profiles. Alternatively, implicit profiles could be edited through the use of personality beads that weight different program according to a personality template represented by the personality bead For example, beads like "movie nut" to emphasize movies and movie-related matenal, "quiet-type" to de-emphasize action/thπller sorts of content, or "overworked" to emphasize intellectually undemanding mateπal, could be provided to tilt the implicit profile one way or another. The same personality beads could be used in the search mode to make their actions effective only duπng a search, or incorporated in a saved search, or even incorporated in implicit profiles. Referπng to FIG. 8, the search/profile mode can be implemented m a number of different ways in accord with the following ideas: the use of three-dimensional pictures organizes the information in a way that reduces clutter and makes relevant information and controls handy (for example, much of the mformatron that may be scrolled into view is shown partly hidden in the background, but it can be seen to suggest its existence and how to display it, for example beads on the stπng that are behind the front column of beads); the more relevant information, depending on context, is shown in the foreground (for example, the currently selected items are shown in the foreground); and temporaπly hidden mformatron (but which is available) retreats into the background (for example, the way additional beads on the stπng can be hidden in the background).
For example, the embodiment of FIG. 8 stems from the same design pπnciples. In this embodiment, instead of the bead stnngs scrolling left and πght in a straight line (like a cylinder), they roll about a vertical axis like a carousel. This way, there is one stπng that always at the center and closest to the observer in the 3-space scene. Here, the keyword stπng is selected since it is the one that is closest in the scene to the camera (user) vantage. Also, the search bm 140 is replaced with a stπng 140C.
Refernng now to FIG. 9, still using the carousel concept, the bead stπngs are more stylized in this example. Only a few beads are visible in the front of each stπng, but the dominant bead on each stπng is a great deal more pronounced. Again the central stπng 180 is the selected one. Here the keyword stπng' s selection is indicated by its size and bold lines The search bin 140 is replaced by a stπng 140B. This scene geometry is preferred because it is uncluttered and would be easier to see supeπmposed on a broadcast image. It is clear how this geometry could be applied to the other contexts discussed with respect to Referπng to FIG. 10, in still another example, the beads are replaced with boxes 410 sitting on shelves 420. The selected shelf 430 extends toward the user. The search bin 140 is replaced by a hole 460 into which selected boxes 330 are inserted. Here, the shelves rotate around an axis that is hoπzontal and in the plane of the page Shelves and boxes further from the forward selected position (at 430) retreat into the background, for example, as shown at 320 A particular box on the selected shelf can be shown as selected by suitable highlighting, growing the box, holding it, etc.
Referπng to FIG. 11, m still another example, signposts are used to represent the set of available categoπes, profiles, etc. Each sign represents a category or the set of profiles. Most of the signs 480, 485, and 450 are tilted at an angle with respect to the point of view, except for the selected one or ones 460, and 475. When a sign is selected, the selections available within the category are exposed as tags 470 and 472 on the left side of the sign. Those cπteπa or profiles that are selected to form part of a search (or cπteπa selected for a profrle) are shown on the πght side of the sign, for example as shown at 460 and 462 The name of the current search be g constructed, if it is a search or the name of the profile if it is a profile under construction, appears at the bottom, for example, at 440 Thus, the array of selected cπtena on the πght of the signpost correspond to the contents of the search bin 140 in the bead embodiments discussed above. Navigation of the FIG 10 and 11 embodiments is analogous to navigation in the bead embodiments. Pressing the vertical cursor keys 232 causes the currently selected sign to swing into "open" position as is sign 490 in FIG. 11. Pressing the hoπzontal cursor keys 212 causes the tags 460/470 to be highlighted as indicated by holding, color change, size change, etc. Tag 471 is shown as selected by a size and holding change. Tags can be added and removed from the πght side of the sign post by selecting them. Selecting a tag toggles its position between sides of the signpost. Once cπteπa are saved as a search, they can be made available by selecting them from their own "search" sign (not shown). Any cπteπa not visible on the signpost can be brought into view by scrolling vertically. New signs will appear at the bottom and top, respectively New tags will appear at the left and πght extremes.
A keyword list that may be used in all of the above embodiments can be generated dynamically, rather than from a geneπc template. Typically, keywords are entered by the user. However, the keyword list may also be culled from common terms in selections made by the user or to reflect the user's category choices in building queπes. +++++
Refernng to FIG. 12, once a search is invoked, the user sees the overview world. This view is invoked by pressing the start button 228 in search mode. Alternatrvely, an overview button may be provided on the remote control 210 The overview mode shows a visual representation that indicates pictonally, the relevance of each returned record by some metaphor for hrerarchy. Each record returned by the search is displayed as a hexagonal tile in FIG 12,For example, as shown in FIG 12, the apparent proximity of the results relative to the viewer corresponds to the goodness of the fit between the search cnteπa and the record Also, the record 510 is shown with bold lines, large overall dimensions, and bold text compared to the record 535. The more relevant results are located toward the center of the display as well. There is an element that indicates the criteria from which the current result display was generated at 530. The result tiles 510, 525, etc. can be navigated using the cursor keys 212, 232. Selecting a tile opens it up to reveal further information about the selected item. A tile representing a program "Here's Kitty" is shown selected at 510. Thus, additional information is shown for this selection.
Using the cursor keys, the user can navigate to the criteria element 510. In one embodiment consistent with FIG. 12, the vertical and horizontal cursor keys 212, 232, are used to move the cursor about the X-Y projection plane (the plane of the screen, where the Z- axis is pictorial axis leading from foreground to background) so that any icon can be accessed using the two axes of movement. In an alternative embodiment, the cursor keys 212, 232 are used to move along the Z-axis so that the background tiles come closer to the user and more information becomes visible when they do. In this embodiment, Z-axis control can be toggled on and off or one set of cursor keys, say the vertical cursor keys 214, may be used to move forward and backward along the Z-axis the other set, among the current foreground set of tiles. When going in the foreground-to-background direction, the current foreground set of tiles disappears as if it moved behind the viewer.
Selecting the criteria element, by pressing the GO button, 214 causes the display to change back to the search mode with the cuπent search (the one indicated by the criteria element) loaded into the search bin 140 (or the corresponding element for the other embodiments). This permits the search to be edited easily.
Referring now to FIG. 13, the results are displayed in a fashion similar to that of FIG. 12, except that the third dimension displacement element is not applied. That is, the less relevant records are further from the center and less bold, but they do not appear to recede into the background as in the FIG. 12 embodiment. Other features are essentially the same as that of the FIG. 12 embodiment.
Referring now to FIG. 14, the results of a search are organized around substantially concentric rings 605. Each record appears as a bead or token 610, 620, 630. The rings 605 are intended to give the appearance of a tunnel going back away from the viewer. The horizontal cursor keys 232 may be used to rotate the cuπently selected token (Token 605 is the selected token in FIG. 14). The vertical cursor keys 212 may be used to move along the Z-axis, that is, move through the tunnel bringing the background rings into the foreground. As the rings 605 move forward (the viewer advances along the Z-axis), the tokens 610, 620, 630, come closer to the viewer and get bigger. As they get bigger, more information may be revealed so that, for example, the title gives way to a summary, which gives way to a detailed description. Alternatively, other media types may be invoked, such as audio, video, screen caps (thumbnails), etc. These are applicable to all the embodiments described herein.
Here, as in the earlier embodiments, the selection element 554 provides a visual reminder of the selection criteria that produced the current result display and a mechanism for moving back to the relevant search mode to edit the criteria. Again, suitable navigation keys can be provided to allow for fast access to any of these features. Each ring may be associated with a match-quality level that may be shown on the screen as at 566.
Referring to FIG. 15, this embodiment of an overview world scene is similar to that of FIG. 14, except that the tokens are organized around a spiral 666 rather than rings. This arrangement is essentially one-dimensional so that only one set of cursor keys needs to be used to navigate it. Navigation may or may not be attended by movement along the Z- axis, as preferred.
Referring to FIG. 16A, a purely text embodiment makes use of the three-space visualization to separate the different portions of the display. The diagram shows the definition of the three planes and axes. Referring now also to FIG. 16B, in the UI represents categories 703 distributed along the Y-axis and the category selections 701 broken out in the X-Y plane and distributed along X-axis. Time 702 is shown along the Z-axis. The user profile 706 is shown in the Y-Z plane. The search title 705 and its elements 704 are shown in the X-Z plane. Selected items are shown in brackets. The role of the search bin 140 is played by the xz plane as shown at 704 and 705. Referring now also to FIG. 17, the results of searches may be represented as text icons in a three-dimensional landscape scene. The foreground title is the most relevant as indicated by the relevancy scale 814 in the Y-Z plane. The less relevant results 802, 803 appear in order of relevancy progressively along the Z-axis away from the viewer. The brackets 817 around the most relevant record indicate that this record is cuπently selected. A selected record may reveal detailed information about the record, for example as shown at 804. The details may include a thumbnail picture or video. The details may include a thumbnail picture or video (not shown). The revealing of further detail, the zoomed-in state, can be invoked by a separate operation so that selection does not necessarily cause the display of additional information about the selected item. This applies to all embodiments. The cursor keys may be used to scroll back toward the less relevant records and to highlight each record in turn. In each of the above embodiments, one or more of the categories may actually be constructed of words or other symbols, for example, the keyword category described above. Keywords could be every conceivable word in the dictionary, which would make selection of keywords difficult without a keyboard (physical keyboard or on-screen equivalent). Keyboards are tedious and it is preferred if keywords can simply be selected from, for example, a category string as discussed above
Such a keyword category may be constructed using data from various sources to cull from the vast number of alternatives, those words that would be useful in a keyword selection list. The words can be extracted from the descriptions of chosen records and/or from records returned by the queries based on frequency of occurrence or a variation thereof. Referring to FIG. 18, a user accesses the records of the database directly or by searching. Directly accessing records of the database could coπespond, for example, to the browsing and selection of a record by a user. Searching may be performed as discussed above. The user does one or the other and the path is selected in step SI 50. If a search is performed (step S100) records may be a word list is constructed from the search results in step SI 15. Some or all words from the titles, descriptions, contents of the records etc. could be culled from the search results depending on the capacity of the system and the desires of the designer. Less relevant words, based on grammatical parsing, could be filtered out of the list. For example, the list could be formed from only direct objects and subjects from sentences in the description and title words. Once the list is formed, the most common words in the list may be identified (S120) and ranked (S125) based on frequency of occurrence and significance (e.g., title words are more significant the words from the description or the content of the record itself). Other criteria may be used for selecting and ranking the words added to the list, for example, the goodness of fit between the search criteria and the retrieved records. The above are mere suggestions. The criteria used would depend on the type of database accessed. For example, some records may contain many different specialized fields such as assignee, inventor, and filing date of a patent, that characterize the records that provide significance information explicitly. The common words that remain at the top of the list in terms of significance and frequency become part of the list along with their respective ranking data and the process is repeated each time searches are made. Repeated searches may build the list, but the list will always remain sorted with the most important items at the top. Using the user interface designs described above, the most important keywords will always appear on the screen and the least important ones will be available by scrolling, or rolling, the bead stπng (or other corresponding element). In this way the interface remams uncluttered while still providing access to a large inventory of keywords
If the user chooses to simply select records without searching, the word list can be formed from multrple selections and common words culled from this list in a manner similar to that for searches. In step S 110, one or more records are selected by the user. Step SI 10 can be reached directly without searching or by going through the steps S100-S 130 first and then through S150 again to arπve at SI 10 to choose one or more records from the search results. In step S135, the user adds words from the selected record or records to the word list To identify frequency of hits data on descπptors, it desirable to have multiple records, so each selection is added to a single list and the frequency data deπved from the combined list, which covers multiple selection iterations. Alternatively, if a large number of records are selected at once, frequency data can be obtained from these selections. The addition of words to the list may involve the same filteπng and sorting steps discussed above with respect to the words culled from the search results. In step S140, words with a low frequency of hits may be filtered out of the list. In step S 145, all the terms are ranked according to the vaπous cπteπa discussed above Note that the word lists deπved from retπeved records from a search and those deπved from selected records can be combined in a single list.
Preferably, the keyword list should be editable by the user in the same fashion as descπbed in detail with respect to the editing of profiles elsewhere in the specification To construct a keyword list based on frequency of use data, the system could start with no keywords at all. Then, each time the user enters a query, the returned results could be scanned for common terms. The titles, descπptions, or any other data could be scanned and those terms that occur with some degree of frequency could be stored in a keyword list The keywords in the list could each be ranked based on frequency or frequency weighted by the context in which the keyword appeared. For example, a keyword in a title might receive a lower rank than a keyword in a descπption or a keyword that is a direct object or subject in a grammatical parsing of a sentence in a descπption might receive a higher ranking than indirect objects, etc. Instead of extracting keywords from the returned records of a search, the keywords could be extracted from only the records selected for use. For example, only programs that are chosen for viewing or recording are actually used to form the keyword list in the manner descπbed Alternatively both selections and returns of queπes could be used, but the keywords in the selected records could be weighted more strongly than keywords in other returned records. Thrs shorter lrst can then be ranked usmg the same or srmrlar method as used to from would be awkward.
Where the stπngs represent cπtena, the rankmg of cπteπa in each category may correspond to the frequency wrth whrch the cnteπa are used by the user in constructrng queπes. So, for example, rf the user's searches always include the daytime time range, the bead or beads corresponding to this time range would be ranked higher. Alternatrvely, the cπteπa may be ranked accordtng to selected records, rather than by all the records (or at least the most highly ranked ones) returned by searchmg.
Note that many of the above technrques can be used with other types of user interfaces and are not limited to the designs descπbed, which are preferred embodiments. So, for example, the keyword list could be used with a purely textual computer interface.
In keeping with the design philosophy around which the user interface is developed, it is desired that only a small number of highly relevant cπtena be visible on the screen at a given time. Across all categoπes, the frequency with which the user selects a given cπtenon is preferably be used to rank the cntena in order of importance. Thus, although a television database descπbes content on more than 100 channels, if only 5 of those channels are routinely entered in search queπes, those 5 channels should be, by default, the ones displayed in the most foreground or prominent position on the display. The other cπteπa are still accessible, but the interface does not innocently provide the user with equal access to all. is one of the basic ideas that leads to simple interfaces.
Note that pπontrzatron of the search cπteπa categories may also be made editable by the user. For example, if a channel has fallen temporaπly into disfavor judging by frequency of use duπng the Olympics, the user may provided a mechanism to revive it This may be any of vaπous techniques, for example invoking a menu optron to resort the list representing the ranking of selected category's elements, and does not need to be descnbed in detail.
It will be evident to those skilled in the art that the invention is not limited to the details of the foregoing illustrative embodiments, and that the present invention may be embodied in other specific forms wrthout departing from the spiπt or essential attπbutes thereof. The present embodiments are therefore to be considered in all respects as illustrative and not restπctive, the scope of the invention being indicated by the appended claims rather than by the foregoing descπption, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein

Claims

CLAIMS:
1. A method of accessing a database, compπsing the steps of: generating a user interface for performing a search of said database, defining implicit profile data by infernng from a user's previous use of data in said database, a model to predict what data in said database said user would prefer to use in the future; defining explicit profile data by permitting a user to specify a set of cπteπa to predict what data in said database said user would prefer to use in the future; providing a user interface by which at least one of said implicit and explicit profiles may be applied, selectively, to said search; submitting said search query to a controller programmed to access said database responsively to said query.
2. A method as in claim 1, wherem said step of providing includes displaying search cπteπa and said at least one user profile as respective symbols (122, 115) and accepting commands to group said symbols to form said search query.
3. A method as in claim 2, wherein said step of defining implicit profile data includes applying a machine-learning technology to data definmg previous selections of said user to deπve a predictive model.
4. A method as in claim 1, wherein said step of definmg implicit profile data includes applying a machine-learning technology to data defining previous selections of said user to deπve a predictive model.
5 A method as in claim 1, wherein said database is an electronic program guide.
6. A method of selecting programs from an electronic program guide database containing information about media content items, compπsing the steps of selecting implicit and explicit user profiles from a data store (235, 260), said implicit user profile representing a set of data deπved, at least in part, from viewing selections made by a user and from which predictions about future viewing selection preferences of said user may be made; said explicit user profile representing a set of data representing cπteπa, selected explicitly by said, user, from which predictions about future viewing selection preferences of said user may also be made; generating a user interface by means of which one or both of said explicit and implicit user profiles may be incorporated in a search query and thereby used to generate predictions about future viewing selection preferences of said user; and at least one of filteπng and sortmg records of sard electronrc program database responsrvely to sard search query.
7. A method as in claim 6, wherein said step of generating includes permitting a selection of at least one cπteπa by which records in said electronic program guide database may be distinguished and combining said cπteπa in said search query.
8. A method as in claim 7, wherein said step of generating includes displaying said implicit and explicit profiles and said cnteπa as symbols (158, 159) in a scene (90).
9. A method as in claim 6, wherein sard step of generatrng rncludes displaying said implicit and explicit profiles as symbols (158, 159) in a scene (90)
10. A database access user-interface, compπsing: a computer (240) connectable to a database having records, each containing information about a respective resource; said computer being connected to a preference data store (235, 260) stoπng preference data indicating resources preferred by a frrst user; sard preference data store containing implicit profile data including data responsive to selections of resources made by said first user and effective to permit a prediction of which of said resources will be preferred by said first user in the future; said preference data store containing explicit profile data including data responsive to rules for selecting resources selected by said first user to be stored as a set; said implicit and explicit profile data being stored as sets, a first set coπesponding to said first user and a second set corresponding to a second user; said computer being connected to a user interface with a display and an input device; said computer being programmed to permit a selection of cπteπa to define a search query, said computer being programmed to permit at least one of said first and second sets to be added to said search query
11. A user-interface as in claim 10, wherem said computer is connected to control a delivery of said resources responsively to said search query.
12 A user-interface as in claim 11, wherein said database is an electronic program guide database and said resources are media content deliverable through a broadcast channel
13 A user-interface as in claim 10, wherein said database is an electronic program guide database and said resources are media content deliverable through a broadcast channel.
14. A user interface as in claim 10, wherein said computer is further programmed to update said explicit profile data by displaying a list of categoπes of resources and accepting input indicating ones of said categoπes to exclude from said second identifiers, and to exclude from a selection set returned after application of said query.
15. A media resource access devrce, compnsing. a controller (240) with a drsplay (230), a data store (235, 260), and input device (210), said controller being programmed to deπve an implicit profile from selections of resources by a user without requmng the user to specify any rules by whrch selections are made; said controller being programmed to generate an explicit profile storable in said data store, from rules entered through said input device by said user; said controller being programmed to generate search queπes by accepting commands, through said input device, selecting predefined cπteπa, said controller being further programmed to include in said search quenes one or both of said explicit and implicit profiles responsively to commands through said input device.
16. A device as in claim 15, wherein said controller is programmed to generate said search queries by accepting commands through said input device to select certain categories of said resources to be excluded from results of said search queries.
17. A device as in claim 15, wherein said controller is programmed to generate a user interface by means of which said profiles and said predefined criteria are displayed and manipulated to construct said search queries and in which said profiles and said predefined criteria are displayed as symbols (115, 123) that are selected on said display responsively to said commands.
18. A device as in claim 15, wherein said controller is programmed to save and edit said search queries.
PCT/EP2001/003009 2000-03-29 2001-03-19 Search user interface providing mechanism for manipulation of explicit and implicit criteria WO2001073597A2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP01936085A EP1410253B1 (en) 2000-03-29 2001-03-19 Search user interface providing mechanism for manipulation of explicit and implicit criteria
DE60128735T DE60128735D1 (en) 2000-03-29 2001-03-19 SEARCH INTERFACE THAT PROVIDES A MECHANISM FOR MANIPULATING EXPLICIT AND IMPLICIT CRITERIA
KR1020017015376A KR20020019052A (en) 2000-03-29 2001-03-19 Search user interface providing mechanism for manipulation of explicit and implicit criteria
JP2001571246A JP2003529155A (en) 2000-03-29 2001-03-19 Search user interface to provide a mechanism for manipulation of explicit and implicit criteria

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/537,495 US6662177B1 (en) 2000-03-29 2000-03-29 Search user interface providing mechanism for manipulation of explicit and implicit criteria
US09/537,495 2000-03-29

Publications (2)

Publication Number Publication Date
WO2001073597A2 true WO2001073597A2 (en) 2001-10-04
WO2001073597A3 WO2001073597A3 (en) 2004-02-26

Family

ID=24142887

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2001/003009 WO2001073597A2 (en) 2000-03-29 2001-03-19 Search user interface providing mechanism for manipulation of explicit and implicit criteria

Country Status (8)

Country Link
US (1) US6662177B1 (en)
EP (1) EP1410253B1 (en)
JP (1) JP2003529155A (en)
KR (1) KR20020019052A (en)
CN (1) CN1524236A (en)
AT (1) ATE363694T1 (en)
DE (1) DE60128735D1 (en)
WO (1) WO2001073597A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1528484A2 (en) * 2003-10-14 2005-05-04 Sony Corporation System and server for providing information, user terminal device, contents display device and method, and corresponding computer program
US11720641B2 (en) 2016-05-04 2023-08-08 Ebay Inc. Database search optimizer and themed filters

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AR028003A1 (en) * 2000-04-10 2003-04-23 United Video Properties Inc INTERACTIVE PROGRAMMING GUIDE WITH MEDIA GUIDE INTERFACE
US7516469B1 (en) 2000-11-07 2009-04-07 Jlb Ventures, Llc Universal programming system and method for electronic programming guide
US8132207B2 (en) 2000-05-11 2012-03-06 Jlb Ventures Llc Universal programming system and method for EPG with localized interactive content
AU2001263091A1 (en) * 2000-05-11 2001-11-20 Isurftv Universal programming system and method for epg with added offline archive
US6925608B1 (en) * 2000-07-05 2005-08-02 Kendyl A. Roman Graphical user interface for building Boolean queries and viewing search results
US7937725B1 (en) * 2000-07-27 2011-05-03 Koninklijke Philips Electronics N.V. Three-way media recommendation method and system
US8843965B1 (en) * 2000-09-20 2014-09-23 Kaushal Kurapati Method and apparatus for generating recommendation scores using implicit and explicit viewing preferences
US7890989B1 (en) 2000-10-24 2011-02-15 Sony Corporation Automated context-sensitive updating on content in an audiovisual storage system
US8751957B1 (en) * 2000-11-22 2014-06-10 Pace Micro Technology Plc Method and apparatus for obtaining auditory and gestural feedback in a recommendation system
US20020075320A1 (en) * 2000-12-14 2002-06-20 Philips Electronics North America Corp. Method and apparatus for generating recommendations based on consistency of selection
US6828971B2 (en) * 2001-04-12 2004-12-07 Matsushita Electric Industrial Co., Ltd. Animation data generation apparatus, animation data generation method, animated video generation apparatus, and animated video generation method
US6831663B2 (en) * 2001-05-24 2004-12-14 Microsoft Corporation System and process for automatically explaining probabilistic predictions
US20030028871A1 (en) * 2001-07-20 2003-02-06 Annie Wang Behavior profile system and method
US20030025720A1 (en) * 2001-08-03 2003-02-06 Clement Lau System and method for common interest analysis among multiple users
US20030037144A1 (en) * 2001-08-14 2003-02-20 International Business Machines Corporation Collaborative content programming
US20030074447A1 (en) * 2001-10-16 2003-04-17 Rafey Richter A. Intuitive mapping between explicit and implicit personalization
US20030112276A1 (en) * 2001-12-19 2003-06-19 Clement Lau User augmentation of content
US20030126130A1 (en) * 2001-12-31 2003-07-03 Koninklijke Philips Electronics N.V. Sort slider with context intuitive sort keys
JP4215465B2 (en) * 2002-05-08 2009-01-28 富士通テン株式会社 Program information display device
US7373336B2 (en) * 2002-06-10 2008-05-13 Koninklijke Philips Electronics N.V. Content augmentation based on personal profiles
US20030236582A1 (en) * 2002-06-25 2003-12-25 Lee Zamir Selection of items based on user reactions
US8260874B1 (en) * 2003-01-10 2012-09-04 Northwestern University Request initiated collateral content offering
US20040172648A1 (en) * 2003-02-28 2004-09-02 Shan Xu Channel navigation based on channel attribute information
US20040205064A1 (en) * 2003-04-11 2004-10-14 Nianjun Zhou Adaptive search employing entropy based quantitative information measurement
US7685619B1 (en) * 2003-06-27 2010-03-23 Nvidia Corporation Apparatus and method for 3D electronic program guide navigation
US20050134945A1 (en) * 2003-12-17 2005-06-23 Canon Information Systems Research Australia Pty. Ltd. 3D view for digital photograph management
US8121997B2 (en) * 2004-02-09 2012-02-21 Limelight Networks, Inc. Universal search engine
US7600201B2 (en) * 2004-04-07 2009-10-06 Sony Corporation Methods and apparatuses for viewing choices and making selections
US20060005226A1 (en) * 2004-05-17 2006-01-05 Lee Peter S System and method for synchronization of a portable media player to a user's profile
US9626437B2 (en) * 2004-06-10 2017-04-18 International Business Machines Corporation Search scheduling and delivery tool for scheduling a search using a search framework profile
US7827175B2 (en) * 2004-06-10 2010-11-02 International Business Machines Corporation Framework reactive search facility
US7836411B2 (en) * 2004-06-10 2010-11-16 International Business Machines Corporation Search framework metadata
US20050282556A1 (en) * 2004-06-16 2005-12-22 Morris Robert P Method and system for distributing and collecting location sensitive information over a wireless local area network
WO2006007194A1 (en) * 2004-06-25 2006-01-19 Personasearch, Inc. Dynamic search processor
US7765225B2 (en) 2004-08-03 2010-07-27 The Hong Kong Polytechnic University Search system
US20060031118A1 (en) * 2004-08-06 2006-02-09 Morris Robert P Method and system for locating a service by an electronic device
US20060074879A1 (en) * 2004-09-30 2006-04-06 Microsoft Corporation Easy-to-use data context filtering
EP1800231A1 (en) * 2004-09-30 2007-06-27 Koninklijke Philips Electronics N.V. Decision support systems for clinical guidelines and for navigating said clinical guidelines according to different levels of abstraction
US7970730B2 (en) * 2005-01-27 2011-06-28 Microsoft Corporation Efficient data access via runtime type inference
US7644374B2 (en) * 2005-04-14 2010-01-05 Microsoft Corporation Computer input control for specifying scope with explicit exclusions
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
US7788266B2 (en) 2005-08-26 2010-08-31 Veveo, Inc. Method and system for processing ambiguous, multi-term search queries
JP4536637B2 (en) * 2005-10-28 2010-09-01 株式会社スクウェア・エニックス Information stroller and method, program, and recording medium
US20070162430A1 (en) * 2005-12-30 2007-07-12 Katja Bader Context display of search results
US7774341B2 (en) 2006-03-06 2010-08-10 Veveo, Inc. Methods and systems for selecting and presenting content based on dynamically identifying microgenres associated with the content
EP4209927A1 (en) 2006-04-20 2023-07-12 Veveo, Inc. User interface methods and systems for selecting and presenting content based on user navigation and selection actions associated with the content
US8326890B2 (en) * 2006-04-28 2012-12-04 Choicebot, Inc. System and method for assisting computer users to search for and evaluate products and services, typically in a database
US8555182B2 (en) * 2006-06-07 2013-10-08 Microsoft Corporation Interface for managing search term importance relationships
US7937426B2 (en) * 2006-06-30 2011-05-03 Mircosoft Corporation Interval generation for numeric data
US8078884B2 (en) 2006-11-13 2011-12-13 Veveo, Inc. Method of and system for selecting and presenting content based on user identification
US8200663B2 (en) * 2007-04-25 2012-06-12 Chacha Search, Inc. Method and system for improvement of relevance of search results
US8078565B2 (en) * 2007-06-12 2011-12-13 Kana Software, Inc. Organically ranked knowledge categorization in a knowledge management system
KR101445645B1 (en) * 2007-08-03 2014-10-01 삼성전자주식회사 Broadcast receiver and user input device having function to match items and method thereof
KR101515089B1 (en) * 2007-08-16 2015-04-24 삼성전자 주식회사 Apparatus and method of providing graphic user interface
US20090112837A1 (en) * 2007-10-24 2009-04-30 Natwar Modani Proactive Content Dissemination to Users
US9378286B2 (en) * 2008-03-14 2016-06-28 Microsoft Technology Licensing, Llc Implicit user interest marks in media content
US20090241044A1 (en) * 2008-03-18 2009-09-24 Cuill, Inc. Apparatus and method for displaying search results using stacks
US9176620B2 (en) * 2008-07-22 2015-11-03 Lg Electronics Inc. Mobile terminal and method for displaying information list thereof
KR101495171B1 (en) * 2008-07-22 2015-02-24 엘지전자 주식회사 Mobile and method for browsing information thereof
US8037043B2 (en) * 2008-09-09 2011-10-11 Microsoft Corporation Information retrieval system
US20100287505A1 (en) * 2009-05-05 2010-11-11 Sony Ericsson Mobile Communications Ab User Input for Hand-Held Device
KR20100132375A (en) * 2009-06-09 2010-12-17 삼성전자주식회사 Apparatus and method for displaying electronic program guide content
US9166714B2 (en) 2009-09-11 2015-10-20 Veveo, Inc. Method of and system for presenting enriched video viewing analytics
US8291322B2 (en) * 2009-09-30 2012-10-16 United Video Properties, Inc. Systems and methods for navigating a three-dimensional media guidance application
US20110137727A1 (en) * 2009-12-07 2011-06-09 Rovi Technologies Corporation Systems and methods for determining proximity of media objects in a 3d media environment
US20110191332A1 (en) 2010-02-04 2011-08-04 Veveo, Inc. Method of and System for Updating Locally Cached Content Descriptor Information
US8595089B1 (en) * 2010-02-15 2013-11-26 William John James Roberts System and method for predicting missing product ratings utilizing covariance matrix, mean vector and stochastic gradient descent
GB201015720D0 (en) * 2010-09-20 2010-10-27 Gammons Richard Findability of data elements
WO2012079254A1 (en) * 2010-12-17 2012-06-21 北京交通大学 Program recommending device and program recommending method
EP2472418A1 (en) * 2011-01-04 2012-07-04 Axel Springer Digital TV Guide GmbH Apparatus and method for managing a personal channel
US20120173975A1 (en) * 2011-01-05 2012-07-05 William Herz Control ring interface for computing systems
US8977986B2 (en) 2011-01-05 2015-03-10 Advanced Micro Devices, Inc. Control panel and ring interface for computing systems
AU2011202182B1 (en) 2011-05-11 2011-10-13 Frequency Ip Holdings, Llc Creation and presentation of selective digital content feeds
US9778818B2 (en) 2011-05-31 2017-10-03 Fanhattan, Inc. System and method for pyramidal navigation
US9239890B2 (en) 2011-05-31 2016-01-19 Fanhattan, Inc. System and method for carousel context switching
TWI470533B (en) * 2011-07-05 2015-01-21 Chunghwa Telecom Co Ltd Operation system for presenting and browsing data and method thereof
US8799263B2 (en) * 2011-09-04 2014-08-05 Leigh M Rothschild Systems, devices, and methods for providing multidimensional search results
US20130091130A1 (en) * 2011-10-11 2013-04-11 David Barrow Systems and methods that utilize preference shields as data filters
US9146616B2 (en) 2012-01-10 2015-09-29 Fanhattan Inc. Touch-enabled remote control
EP2635041A1 (en) * 2012-02-29 2013-09-04 Novabase Digital TV Technologies GmbH Graphical user interface for television applications
DE102012203163A1 (en) * 2012-02-29 2013-08-29 Airbus Operations Gmbh Apparatus and method for exchanging information between at least one operator and one machine
US9304660B1 (en) * 2012-03-01 2016-04-05 Cloudmade Limited System and method for generating a user interface by auctioning space on the user interface to self-determining, content-providing modules
US20130232440A1 (en) * 2012-03-01 2013-09-05 CloudMade, Inc. System and method for generating a user interface by auctioning space on the user interface to self-determining, content-providing modules
US20140081973A1 (en) * 2012-09-14 2014-03-20 Google Inc. Spike classification
EP2728492A1 (en) * 2012-10-31 2014-05-07 Rightware Oy Data elements visualisation and user interaction method and system
US10650063B1 (en) * 2012-11-27 2020-05-12 Robert D. Fish Systems and methods for making correlations
KR101417498B1 (en) * 2012-12-21 2014-07-08 한국항공우주연구원 Video processing apparatus and method using the image from uav
CN104462134A (en) * 2013-09-23 2015-03-25 北大方正集团有限公司 Retrieval method and system
US20150134657A1 (en) * 2013-11-11 2015-05-14 Karsten Ehms Data Imparting Apparatus and Method for Providing References to Data Records in a User Database
US9710546B2 (en) * 2014-03-28 2017-07-18 Microsoft Technology Licensing, Llc Explicit signals personalized search
AU2015334020B2 (en) * 2014-10-17 2018-12-20 Thomson Reuters Enterprise Centre Gmbh On-demand video news programming
US10455270B2 (en) * 2016-03-15 2019-10-22 Sony Corporation Content surfing, preview and selection by sequentially connecting tiled content channels
US10284900B2 (en) 2016-03-15 2019-05-07 Sony Corporation Multiview as an application for physical digital media
US10210201B2 (en) * 2016-05-13 2019-02-19 TCL Research America Inc. Method and system for App page recommendation via inference of implicit intent in a user query
US11954564B2 (en) 2017-09-21 2024-04-09 International Business Machines Corporation Implementing dynamically and automatically altering user profile for enhanced performance
US11240057B2 (en) * 2018-03-15 2022-02-01 Lenovo (Singapore) Pte. Ltd. Alternative output response based on context
US10867321B1 (en) 2018-07-16 2020-12-15 James D MacDonald-Korth Automatic login link for targeted users without previous account creation
CN109587712B (en) * 2018-11-23 2021-12-14 南京极域信息科技有限公司 WiFi-Display performance optimization system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997013368A1 (en) * 1995-10-02 1997-04-10 Starsight Telecast, Incorporated Systems and methods for providing television schedule information
US6005565A (en) * 1997-03-25 1999-12-21 Sony Corporation Integrated search of electronic program guide, internet and other information resources
GB2340633A (en) * 1997-03-31 2000-02-23 Microsoft Corp Use of multi-symbol keys in an electronic programme guide

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IN187926B (en) 1992-09-10 2002-07-27 United Syndicate Insurance Ltd
AU5670394A (en) * 1992-11-23 1994-06-22 Paragon Concepts, Inc. Computer filing system with user selected categories to provide file access
US5758257A (en) * 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US5946678A (en) 1995-01-11 1999-08-31 Philips Electronics North America Corporation User interface for document retrieval
US5737734A (en) 1995-09-15 1998-04-07 Infonautics Corporation Query word relevance adjustment in a search of an information retrieval system
EP1126700A3 (en) 1995-11-17 2006-08-16 Thomson Consumer Electronics, Inc. A method for locating a program in a program guide
US5867226A (en) 1995-11-17 1999-02-02 Thomson Consumer Electronics, Inc. Scheduler employing a predictive agent for use in a television receiver
US5745109A (en) * 1996-04-30 1998-04-28 Sony Corporation Menu display interface with miniature windows corresponding to each page
US5945988A (en) 1996-06-06 1999-08-31 Intel Corporation Method and apparatus for automatically determining and dynamically updating user preferences in an entertainment system
AU3294997A (en) 1996-06-13 1998-01-07 Starsight Telecast Incorporated Method and apparatus for searching a guide using program characteristics
US5745890A (en) 1996-08-09 1998-04-28 Digital Equipment Corporation Sequential searching of a database index using constraints on word-location pairs
US5987446A (en) 1996-11-12 1999-11-16 U.S. West, Inc. Searching large collections of text using multiple search engines concurrently
NZ335805A (en) 1996-11-15 2000-05-26 Mindport Bv Method and apparatus for locating a program in an electronic program guide
US5966126A (en) 1996-12-23 1999-10-12 Szabo; Andrew J. Graphic user interface for database system
US6130726A (en) 1997-03-24 2000-10-10 Evolve Products, Inc. Program guide on a remote control display
US6018372A (en) 1997-09-04 2000-01-25 Liberate Technologies Electronic program guide with multiple day planner
US6249773B1 (en) 1998-03-26 2001-06-19 International Business Machines Corp. Electronic commerce with shopping list builder
AU5781599A (en) 1998-08-23 2000-03-14 Open Entertainment, Inc. Transaction system for transporting media files from content provider sources tohome entertainment devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997013368A1 (en) * 1995-10-02 1997-04-10 Starsight Telecast, Incorporated Systems and methods for providing television schedule information
US6005565A (en) * 1997-03-25 1999-12-21 Sony Corporation Integrated search of electronic program guide, internet and other information resources
GB2340633A (en) * 1997-03-31 2000-02-23 Microsoft Corp Use of multi-symbol keys in an electronic programme guide

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1528484A2 (en) * 2003-10-14 2005-05-04 Sony Corporation System and server for providing information, user terminal device, contents display device and method, and corresponding computer program
EP1528484A3 (en) * 2003-10-14 2005-11-16 Sony Corporation System and server for providing information, user terminal device, contents display device and method, and corresponding computer program
US11720641B2 (en) 2016-05-04 2023-08-08 Ebay Inc. Database search optimizer and themed filters

Also Published As

Publication number Publication date
US6662177B1 (en) 2003-12-09
DE60128735D1 (en) 2007-07-12
EP1410253A2 (en) 2004-04-21
KR20020019052A (en) 2002-03-09
ATE363694T1 (en) 2007-06-15
EP1410253B1 (en) 2007-05-30
JP2003529155A (en) 2003-09-30
CN1524236A (en) 2004-08-25
WO2001073597A3 (en) 2004-02-26

Similar Documents

Publication Publication Date Title
US6662177B1 (en) Search user interface providing mechanism for manipulation of explicit and implicit criteria
US6499029B1 (en) User interface providing automatic organization and filtering of search criteria
US6484164B1 (en) Data search user interface with ergonomic mechanism for user profile definition and manipulation
US6505194B1 (en) Search user interface with enhanced accessibility and ease-of-use features based on visual metaphors
US6463428B1 (en) User interface providing automatic generation and ergonomic presentation of keyword search criteria
US6473751B1 (en) Method and apparatus for defining search queries and user profiles and viewing search results
EP1410252B1 (en) Search user interface for constructing and managing user profiles and search criteria

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): CN JP KR

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

WWE Wipo information: entry into national phase

Ref document number: 2001936085

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase

Ref country code: JP

Ref document number: 2001 571246

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 1020017015376

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 01801481X

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 1020017015376

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2001936085

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 2001936085

Country of ref document: EP