WO2017116259A1 - Dynamic contextual re-ordering of suggested query hints - Google Patents

Dynamic contextual re-ordering of suggested query hints Download PDF

Info

Publication number
WO2017116259A1
WO2017116259A1 PCT/RU2015/000937 RU2015000937W WO2017116259A1 WO 2017116259 A1 WO2017116259 A1 WO 2017116259A1 RU 2015000937 W RU2015000937 W RU 2015000937W WO 2017116259 A1 WO2017116259 A1 WO 2017116259A1
Authority
WO
WIPO (PCT)
Prior art keywords
search engine
engine query
hints
computer
character set
Prior art date
Application number
PCT/RU2015/000937
Other languages
French (fr)
Inventor
Aleksandr Aleksandrovich ALESHIN
Original Assignee
Limited Liability Company Mail.Ru
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 Limited Liability Company Mail.Ru filed Critical Limited Liability Company Mail.Ru
Priority to PCT/RU2015/000937 priority Critical patent/WO2017116259A1/en
Publication of WO2017116259A1 publication Critical patent/WO2017116259A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication

Definitions

  • the disclosed embodiments relate in general to search technology and software therefor and, more specifically, to systems and methods for dynamic contextual re-ordering or re-generation of suggested search query hints during web search.
  • a user When performing a web search using a browser search query input field, most conventional web browsers dynamically display a number of search query hints for competing the search query ordered based, for example, on search query usage statistics, see, for example, Figure 1.
  • a user types a partial search query into an input field 101 of a web browser.
  • the web browser displays a drop-down list 102 of search query hints 103 that the user may choose from to complete the web search query.
  • This list of hints may be ordered, for example, based on the search query usage statistics accumulated by the corresponding search engine.
  • the top items on the list are the most convenient for the user to select. Therefore, to achieve high levels of usability of the browser user interface, the order of the hints in the list should be predictive of the user's likely query choice, with the highest selection probability item being at the top of the drop down list.
  • a computer-implemented method performed in a computerized system comprising a central processing unit, a display device and a memory, the computer-implemented method comprising: generating a graphical user interface on the display device, the generated graphical user interface comprising a search engine query input portion and a search engine query hint portion; receiving from a user a partial search engine query using the search engine query input portion of the generated graphical user interface; providing a list of search engine query hints in the search engine query hint portion of the generated graphical user interface, the search engine query hints matching the partial search engine query received from the user, wherein the search engine query hints are ordered based on a predetermined criterion; detecting a change in a user context; and performing re-ordering of the search engine query hints in the search engine query hint portion based on the detected change of user context.
  • the change of user context is a change of keyboard layout from a first character set to a second character set.
  • the search engine query hints are reordered based on a next character being in the second character set.
  • the first character set comprises characters of a first language and the second character set comprises characters of a second language.
  • the first language is an English language and the second language is a foreign language.
  • the first character set comprises alphabetic characters and the second character set comprises numerical characters.
  • the first character set comprises alphabetic characters and the second character set comprises non-alphabetic symbolic characters.
  • the method further comprises: detecting a second change in the user context; and performing second re-ordering of the search engine query hints in the search engine query hint portion based on the detected second change of the user context.
  • the predetermined criterion is based on a search query usage statistics.
  • the predetermined criterion is based on a geographical area, age or gender of the user.
  • a non-transitory computer-readable medium embodying a set of computer-executable instructions, which, when executed in a computerized system comprising a central processing unit, a display device and a memory, cause the computerized system to perform a method comprising: generating a graphical user interface on the display device, the generated graphical user interface comprising a search engine query input portion and a search engine query hint portion; receiving from a user a partial search engine query using the search engine query input portion of the generated graphical user interface; providing a list of search engine query hints in the search engine query hint portion of the generated graphical user interface, the search engine query hints matching the partial search engine query received from the user, wherein the search engine query hints are ordered based on a predetermined criterion; detecting a change in a user context; and performing re-ordering of the search engine query hints in the search engine query hint portion based on the detected change of user context.
  • a computerized system comprising a central processing unit, a display device and a memory storing a set of computer-executable instructions for: generating a graphical user interface on the display device, the generated graphical user interface comprising a search engine query input portion and a search engine query hint portion; receiving from a user a partial search engine query using the search engine query input portion of the generated graphical user interface; providing a list of search engine query hints in the search engine query hint portion of the generated graphical user interface, the search engine query hints matching the partial search engine query received from the user, wherein the search engine query hints are ordered based on a predetermined criterion; detecting a change in a user context; and performing re-ordering of the search engine query hints in the search engine query hint portion based on the detected change of user context.
  • Figure 1 illustrates an exemplary embodiment of a conventional web browser user interface.
  • Figures 2(a), 2(b) and 2(c) illustrate an exemplary embodiment of a web browser user interface performing a dynamic search query hints re-ordering or re-generation based on changes in user's context.
  • Figures 3(a) and 3(b) illustrate an operation of an exemplary embodiment of the inventive system and associated mobile software application for dynamic re-ordering of search query hints based on the current user context deployed on a mobile computing platform, such as a smartphone or a tablet.
  • Figure 4 illustrates an exemplary operating sequence of an embodiment of the inventive system for dynamic re-ordering of search query hints based on the current user context.
  • Figure 5 illustrates an exemplary embodiment of a computer platform whereupon the various embodiments described herein may be implemented.
  • FIG. 1 illustrates an exemplary user interface of a web browser.
  • a user types a partial search query into an input field 101 of a web browser.
  • the web browser displays a drop-down hint list 102 of search query hints 201 , 202, 203, 204 and 205, which the user may choose from to complete the web search query.
  • This list of hints may be initially ordered, for example, based on the search query usage statistics accumulated by the corresponding search engine. If, during the typing of the web search query, the user switches the current keyboard layout to a different character set, the inventive system is configured to detect this change of the user's context and dynamically re-order the aforesaid hint list 102 based on the new keyboard layout.
  • the first (old) and second (new) character sets may be of different languages, such as English or Russian, as well as alphabetic, numeric or symbolic character sets.
  • the inventive system will move to the top of the hint list those search query hints that have the next character after the last character typed by the user from the character set of the new keyboard layout.
  • the aforesaid dynamic reordering is performed based on the assumption that the next character typed by the user would be from the current character set of the user's keyboard. If the user then switches back to the old keyboard layout, then the system again dynamically re-orders the search query hints, and so on.
  • FIG. 2(b) illustrates an exemplary embodiment of a web browser user interface performing the described dynamic search query hints re-ordering.
  • the user just typed the word "tutorial" and then switched the keyboard to a different character set, e.g. Russian characters.
  • the inventive system automatically detects the aforesaid keyboard layout change and re-orders the listed search query hints such that the hints having the next character after the last character typed by the user from the Russian character set.
  • the top listed hints are now 204 and 205, which have been at the bottom of the hint list in Figure 2(a). If the user again changes the current context, a further re-ordering of the hints list takes place to better anticipate the user's next action.
  • the inventive methodology described herein may be deployed as a web browser add-on or plug-in.
  • the list of displayed search query hints may be entirely different after the detected change in the context, as shown in Figure 2(c).
  • the described inventive system not only performs re-ordering, but also completely re-generates the list of the displayed query hints after detecting the change in the user context. Accordingly, new hints 206, 207 and 208 are displayed and the original hints 201 , 202 and 203 are not displayed.
  • Figures 3(a) and 3(b) illustrate an operation of an exemplary embodiment of the inventive system and associated mobile software application for dynamic re-ordering of search query hints based on the current user context deployed on a mobile computing platform 300, such as a smartphone or a tablet.
  • the mobile browser application executing on the mobile computing platform 300 displays a user interface 301 on the display device 302 of the mobile computing platform 300.
  • the user interface 301 includes a query input field 303 for typing a search query by the user.
  • the inventive mobile application displays a search query hint list containing an ordered list of suggested queries 304, 305, 306, 307 and 308 generated based on the characters typed by the user as well as other optional factors, such as user's geographical area, user's age, gender, etc. If the system detects that the user changed the current context, such as by switching the keyboard to a new character set, then system automatically and dynamically re-orders the displayed search query hint list, as shown in Figure 3(b), see the newly ordered hint list (from top to bottom) 307, 308, 304, 305 and 306.
  • the new top hints 307 and 308 have the next characters (after the last character typed by the user) from the character set of the user's new keyboard layout. If the user again changes the current context, a further re-ordering of the hints list takes place to better anticipate the user's next action. If the user sees the correct query choice in the hint list, the user make the selection and the selected query is transmitted to and executed by the web search engine.
  • FIG. 4 illustrates an exemplary operating sequence 400 of an embodiment of the inventive system for dynamic re-ordering of search query hints based on the current user context.
  • the system generates a graphical user interface including a search query input field.
  • the system receives one or more characters typed by the user into the aforesaid search query input field.
  • the system displays an initial search query hint list matching the characters typed by the user ordered based on predetermined criteria.
  • Such initial ordering criteria may include the query usage statistics accumulated and maintained by the corresponding web search engine.
  • the matching queries most frequently used by all users or all users within a predetermined geographical area are displayed at the top of the hint list.
  • the system monitors the current context of the user.
  • the system checks whether the current context of the user has changed. If so, then at step 406 the system dynamically re-orders the hint list based on the changed context of the user.
  • an exemplary change in user context may include changing the keyboard to a different character set. In this case, hints with the next character from the new character set are moved to the top of the hints list. The operating sequence then loops until the user submits his or her query or selects any of the listed suggested search query hints.
  • inventive concept of dynamic re-ordering of search query hints based on the current user context is not limited to the described example of user changing the character set of the keyboard. Other changes to the user context, capable of being detected, may also be used for triggering re-ordering of the search query hints list.
  • FIG. 5 is a block diagram that illustrates an embodiment of a computer system 500 upon which various embodiments of the inventive concepts described herein may be implemented.
  • the system 500 includes a computer platform 501 , peripheral devices 502 and network resources 503.
  • the computer platform 501 may include a data bus 504 or other communication mechanism for communicating information across and among various parts of the computer platform 501 , and a processor 505 coupled with bus 504 for processing information and performing other computational and control tasks.
  • Computer platform 501 also includes a volatile storage 506, such as a random access memory (RAM) or other dynamic storage device, coupled to bus 504 for storing various information as well as instructions to be executed by processor 505, including the software application for proxy detection described above.
  • RAM random access memory
  • the volatile storage 506 also may be used for storing temporary variables or other intermediate information during execution of instructions by processor 505.
  • Computer platform 501 may further include a read only memory (ROM or EPROM) 507 or other static storage device coupled to bus 504 for storing static information and instructions for processor 505, such as basic input-output system (BIOS), as well as various system configuration parameters.
  • ROM or EPROM read only memory
  • a persistent storage device 508, such as a magnetic disk, optical disk, or solid-state flash memory device is provided and coupled to bus 504 for storing information and instructions.
  • Computer platform 501 may be coupled via bus 504 to a touch- sensitive display 509, such as a cathode ray tube (CRT), plasma display, or a liquid crystal display (LCD), for displaying information to a system administrator or user of the computer platform 501.
  • a touch- sensitive display 509 such as a cathode ray tube (CRT), plasma display, or a liquid crystal display (LCD)
  • An input device 510 is coupled to bus 504 for communicating information and command selections to processor 505.
  • cursor control device 511 is Another type of user input device, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 505 and for controlling cursor movement on touch-sensitive display 509.
  • This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane.
  • the display 509 may incorporate a touchscreen interface configured to detect user's tactile events and send information on the detected events to the processor 505 via the bus 504.
  • An external storage device 512 may be coupled to the computer platform 501 via bus 504 to provide an extra or removable storage capacity for the computer platform 50 .
  • the external removable storage device 512 may be used to facilitate exchange of data with other computer systems.
  • the invention is related to the use of computer system 500 for implementing the techniques described herein.
  • the inventive system may reside on a machine such as computer platform 501.
  • the techniques described herein are performed by computer system 500 in response to processor 505 executing one or more sequences of one or more instructions contained in the volatile memory 506.
  • Such instructions may be read into volatile memory 506 from another computer-readable medium, such as persistent storage device 508.
  • Execution of the sequences of instructions contained in the volatile memory 506 causes processor 505 to perform the process steps described herein.
  • hard-wired circuitry may be used in place of or in combination with software instructions to implement the invention.
  • embodiments of the invention are not limited to any specific combination of hardware circuitry and software.
  • Non-volatile media includes, for example, optical or magnetic disks, such as the persistent storage device 508.
  • Volatile media includes dynamic memory, such as volatile storage 506.
  • Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punchcards, papertape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH-EPROM, a flash drive, a memory card, any other memory chip or cartridge, or any other medium from which a computer can read.
  • Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to processor 505 for execution.
  • the instructions may initially be carried on a magnetic disk from a remote computer.
  • a remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem.
  • a modem local to computer system can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal.
  • An infra-red detector can receive the data carried in the infra-red signal and appropriate circuitry can place the data on the data bus 504.
  • the bus 504 carries the data to the volatile storage 506, from which processor 505 retrieves and executes the instructions.
  • the instructions received by the volatile memory 506 may optionally be stored on persistent storage device 508 either before or after execution by processor 505.
  • the instructions may also be downloaded into the computer platform 501 via Internet using a variety of network data communication protocols well known in the art.
  • the computer platform 501 also includes a communication interface, such as network interface card 513 coupled to the data bus 504.
  • Communication interface 513 provides a two-way data communication coupling to a network link 514 that is coupled to a local network 515.
  • communication interface 513 may be an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line.
  • ISDN integrated services digital network
  • communication interface 513 may be a local area network interface card (LAN NIC) to provide a data communication connection to a compatible LAN.
  • Wireless links such as well-known 802.11a, 802.11b, 802.11g and Bluetooth may also used for network implementation.
  • communication interface 513 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
  • Network link 514 typically provides data communication through one or more networks to other network resources.
  • network link 514 may provide a connection through local network 515 to a host computer 516, or a network storage/server 522.
  • the network link 514 may connect through gateway/firewall 517 to the wide-area or global network 518, such as an Internet.
  • the computer platform 501 can access network resources located anywhere on the Internet 518, such as a remote network storage/server 519.
  • the computer platform 501 may also be accessed by clients located anywhere on the local area network 515 and/or the Internet 518.
  • the network clients 520 and 521 may themselves be implemented based on the computer platform similar to the platform 501.
  • Local network 515 and the Internet 518 both use electrical, electromagnetic or optical signals that carry digital data streams.
  • the signals through the various networks and the signals on network link 514 and through communication interface 513, which carry the digital data to and from computer platform 501 are exemplary forms of carrier waves transporting the information.
  • Computer platform 501 can send messages and receive data, including program code, through the variety of network(s) including Internet 518 and LAN 515, network link 515 and communication interface 513.
  • the system 501 acts as a network server, it might transmit a requested code or data for an application program running on client(s) 520 and/or 521 through the Internet 518, gateway/firewall 517, local area network 515 and communication interface 513. Similarly, it may receive code from other network resources.
  • the received code may be executed by processor 505 as it is received, and/or stored in persistent or volatile storage devices 508 and 506, respectively, or other non-volatile storage for later execution.
  • the described software may be implemented in a wide variety of programming or scripting languages, such as Assembler, C/C++, Objective-C, perl, shell, PHP, Java, as well as any now known or later developed programming or scripting language.
  • Assembler C/C++
  • Objective-C Objective-C
  • perl shell
  • PHP Java
  • Java Java
  • any now known or later developed programming or scripting language such as Assembler, C/C++, Objective-C, perl, shell, PHP, Java, as well as any now known or later developed programming or scripting language.
  • Other implementations of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein.
  • Various aspects and/or components of the described embodiments may be used singly or in any combination in the computerized systems and computer-implemented methods for dynamic contextual re-ordering of suggested search query hints during web search. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by

Abstract

A computer-implemented method performed in a computerized system comprising a central processing unit, display device and memory, the computer-implemented method comprising: generating a graphical user interface on the display device, the generated graphical user interface comprising a search engine query input portion and a search engine query hint portion; receiving from a user a partial search engine query using the search engine query input portion of the generated graphical user interface; providing a list of search engine query hints in the search engine query hint portion of the generated graphical user interface, the search engine query hints matching the partial search engine query received from the user, wherein the search engine query hints are ordered based on predetermined criterion; detecting a change in a user context; and performing re-ordering of the search engine query hints in the search engine query hint portion based on the detected change of user context.

Description

DYNAMIC CONTEXTUAL RE-ORDERING OF SUGGESTED QUERY HINTS
BACKGROUND OF THE INVENTION
Technical Field
[0001] The disclosed embodiments relate in general to search technology and software therefor and, more specifically, to systems and methods for dynamic contextual re-ordering or re-generation of suggested search query hints during web search.
Description of the Related Art
[0002] When performing a web search using a browser search query input field, most conventional web browsers dynamically display a number of search query hints for competing the search query ordered based, for example, on search query usage statistics, see, for example, Figure 1. In that figure, a user types a partial search query into an input field 101 of a web browser. The web browser, in turn, displays a drop-down list 102 of search query hints 103 that the user may choose from to complete the web search query. This list of hints may be ordered, for example, based on the search query usage statistics accumulated by the corresponding search engine. The top items on the list are the most convenient for the user to select. Therefore, to achieve high levels of usability of the browser user interface, the order of the hints in the list should be predictive of the user's likely query choice, with the highest selection probability item being at the top of the drop down list.
[0003] On the other hand, the order of the search query hints displayed to the user by the conventional web browsers does not take into account the user's current context, which results in reduced usability of the browser application user interface. SUMMARY OF THE INVENTION
[0004] The embodiments described herein are directed to methods and systems that substantially obviate one or more of the above and other problems associated with conventional web browser user interfaces.
[0005] In accordance with one aspect of the embodiments described herein, there is provided a computer-implemented method performed in a computerized system comprising a central processing unit, a display device and a memory, the computer-implemented method comprising: generating a graphical user interface on the display device, the generated graphical user interface comprising a search engine query input portion and a search engine query hint portion; receiving from a user a partial search engine query using the search engine query input portion of the generated graphical user interface; providing a list of search engine query hints in the search engine query hint portion of the generated graphical user interface, the search engine query hints matching the partial search engine query received from the user, wherein the search engine query hints are ordered based on a predetermined criterion; detecting a change in a user context; and performing re-ordering of the search engine query hints in the search engine query hint portion based on the detected change of user context.
[0006] In one or more embodiments, the change of user context is a change of keyboard layout from a first character set to a second character set.
[0007] In one or more embodiments, the search engine query hints are reordered based on a next character being in the second character set. [0008] In one or more embodiments, the first character set comprises characters of a first language and the second character set comprises characters of a second language.
[0009] In one or more embodiments, the first language is an English language and the second language is a foreign language.
[0010] In one or more embodiments, the first character set comprises alphabetic characters and the second character set comprises numerical characters.
[0011] In one or more embodiments, the first character set comprises alphabetic characters and the second character set comprises non-alphabetic symbolic characters.
[0012] In one or more embodiments, the method further comprises: detecting a second change in the user context; and performing second re-ordering of the search engine query hints in the search engine query hint portion based on the detected second change of the user context.
[0013] In one or more embodiments, the predetermined criterion is based on a search query usage statistics.
[0014] In one or more embodiments, the predetermined criterion is based on a geographical area, age or gender of the user.
[0015] In accordance with another aspect of the embodiments described herein, there is provided a non-transitory computer-readable medium embodying a set of computer-executable instructions, which, when executed in a computerized system comprising a central processing unit, a display device and a memory, cause the computerized system to perform a method comprising: generating a graphical user interface on the display device, the generated graphical user interface comprising a search engine query input portion and a search engine query hint portion; receiving from a user a partial search engine query using the search engine query input portion of the generated graphical user interface; providing a list of search engine query hints in the search engine query hint portion of the generated graphical user interface, the search engine query hints matching the partial search engine query received from the user, wherein the search engine query hints are ordered based on a predetermined criterion; detecting a change in a user context; and performing re-ordering of the search engine query hints in the search engine query hint portion based on the detected change of user context.
[0016] In accordance with yet another aspect of the embodiments described herein, there is provided a computerized system comprising a central processing unit, a display device and a memory storing a set of computer-executable instructions for: generating a graphical user interface on the display device, the generated graphical user interface comprising a search engine query input portion and a search engine query hint portion; receiving from a user a partial search engine query using the search engine query input portion of the generated graphical user interface; providing a list of search engine query hints in the search engine query hint portion of the generated graphical user interface, the search engine query hints matching the partial search engine query received from the user, wherein the search engine query hints are ordered based on a predetermined criterion; detecting a change in a user context; and performing re-ordering of the search engine query hints in the search engine query hint portion based on the detected change of user context.
[0017] Additional aspects related to the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. Aspects of the invention may be realized and attained by means of the elements and combinations of various elements and aspects particularly pointed out in the following detailed description and the appended claims.
[0018] It is to be understood that both the foregoing and the following descriptions are exemplary and explanatory only and are not intended to limit the claimed invention or application thereof in any manner whatsoever.
BRIEF DESCRIPTION OF THE DRAWINGS
[0019] The accompanying drawings, which are incorporated in and constitute a part of this specification exemplify the embodiments of the present invention and, together with the description, serve to explain and illustrate principles of the inventive technique. Specifically:
[0020] Figure 1 illustrates an exemplary embodiment of a conventional web browser user interface.
[0021] Figures 2(a), 2(b) and 2(c) illustrate an exemplary embodiment of a web browser user interface performing a dynamic search query hints re-ordering or re-generation based on changes in user's context.
[0022] Figures 3(a) and 3(b) illustrate an operation of an exemplary embodiment of the inventive system and associated mobile software application for dynamic re-ordering of search query hints based on the current user context deployed on a mobile computing platform, such as a smartphone or a tablet.
[0023] Figure 4 illustrates an exemplary operating sequence of an embodiment of the inventive system for dynamic re-ordering of search query hints based on the current user context. [0024] Figure 5 illustrates an exemplary embodiment of a computer platform whereupon the various embodiments described herein may be implemented.
DETAILED DESCRIPTION
[0025] In the following detailed description, reference will be made to the accompanying drawing(s), in which identical functional elements are designated with like numerals. The aforementioned accompanying drawings show by way of illustration, and not by way of limitation, specific embodiments and implementations consistent with principles of the present invention. These implementations are described in sufficient detail to enable those skilled in the art to practice the invention and it is to be understood that other implementations may be utilized and that structural changes and/or substitutions of various elements may be made without departing from the scope and spirit of present invention. The following detailed description is, therefore, not to be construed in a limited sense. Additionally, the various embodiments of the invention as described may be implemented in the form of a software running on a general purpose computer, in the form of a specialized hardware, or combination of software and hardware.
[0026] In accordance with one aspect of the embodiments described herein, there are provided computerized systems and methods for re-sorting or re-generation of the search query hints shown to the user in the web browser user interface based on the current context of the user. The inventive systems and methods detect the current context of the user as well as changes to this current context and make necessary adjustments to the list of the search query hints shown to the user in the web browser user interface. In one or more embodiments, the detected context may include, for example, the current layout of the user's keyboard. [0027] Figure 2(a) illustrates an exemplary user interface of a web browser. A user types a partial search query into an input field 101 of a web browser. The web browser, in turn, displays a drop-down hint list 102 of search query hints 201 , 202, 203, 204 and 205, which the user may choose from to complete the web search query. This list of hints may be initially ordered, for example, based on the search query usage statistics accumulated by the corresponding search engine. If, during the typing of the web search query, the user switches the current keyboard layout to a different character set, the inventive system is configured to detect this change of the user's context and dynamically re-order the aforesaid hint list 102 based on the new keyboard layout. In various embodiments, the first (old) and second (new) character sets may be of different languages, such as English or Russian, as well as alphabetic, numeric or symbolic character sets. That is the inventive system will move to the top of the hint list those search query hints that have the next character after the last character typed by the user from the character set of the new keyboard layout. As would be appreciated by persons of ordinary skill in the art, the aforesaid dynamic reordering is performed based on the assumption that the next character typed by the user would be from the current character set of the user's keyboard. If the user then switches back to the old keyboard layout, then the system again dynamically re-orders the search query hints, and so on.
[0028] Figure 2(b) illustrates an exemplary embodiment of a web browser user interface performing the described dynamic search query hints re-ordering. In that figure, the user just typed the word "tutorial" and then switched the keyboard to a different character set, e.g. Russian characters. The inventive system automatically detects the aforesaid keyboard layout change and re-orders the listed search query hints such that the hints having the next character after the last character typed by the user from the Russian character set. As shown in Figure 2(b), the top listed hints are now 204 and 205, which have been at the bottom of the hint list in Figure 2(a). If the user again changes the current context, a further re-ordering of the hints list takes place to better anticipate the user's next action. In various embodiments, the inventive methodology described herein may be deployed as a web browser add-on or plug-in.
[0029] In another exemplary embodiment, the list of displayed search query hints may be entirely different after the detected change in the context, as shown in Figure 2(c). In this embodiment, the described inventive system not only performs re-ordering, but also completely re-generates the list of the displayed query hints after detecting the change in the user context. Accordingly, new hints 206, 207 and 208 are displayed and the original hints 201 , 202 and 203 are not displayed.
[0030] Figures 3(a) and 3(b) illustrate an operation of an exemplary embodiment of the inventive system and associated mobile software application for dynamic re-ordering of search query hints based on the current user context deployed on a mobile computing platform 300, such as a smartphone or a tablet. The mobile browser application executing on the mobile computing platform 300 displays a user interface 301 on the display device 302 of the mobile computing platform 300. The user interface 301 includes a query input field 303 for typing a search query by the user. After the user types one or more characters into the search query input field 303, the inventive mobile application displays a search query hint list containing an ordered list of suggested queries 304, 305, 306, 307 and 308 generated based on the characters typed by the user as well as other optional factors, such as user's geographical area, user's age, gender, etc. If the system detects that the user changed the current context, such as by switching the keyboard to a new character set, then system automatically and dynamically re-orders the displayed search query hint list, as shown in Figure 3(b), see the newly ordered hint list (from top to bottom) 307, 308, 304, 305 and 306. The new top hints 307 and 308 have the next characters (after the last character typed by the user) from the character set of the user's new keyboard layout. If the user again changes the current context, a further re-ordering of the hints list takes place to better anticipate the user's next action. If the user sees the correct query choice in the hint list, the user make the selection and the selected query is transmitted to and executed by the web search engine.
[0031] Figure 4 illustrates an exemplary operating sequence 400 of an embodiment of the inventive system for dynamic re-ordering of search query hints based on the current user context. First, at step 401 , the system generates a graphical user interface including a search query input field. After that, at step 402, the system receives one or more characters typed by the user into the aforesaid search query input field. At step 403, the system displays an initial search query hint list matching the characters typed by the user ordered based on predetermined criteria. Such initial ordering criteria may include the query usage statistics accumulated and maintained by the corresponding web search engine. That is, the matching queries most frequently used by all users or all users within a predetermined geographical area (or age group, gender group, etc.) are displayed at the top of the hint list. At step 404, the system monitors the current context of the user. At step 405, the system checks whether the current context of the user has changed. If so, then at step 406 the system dynamically re-orders the hint list based on the changed context of the user. As stated above, an exemplary change in user context may include changing the keyboard to a different character set. In this case, hints with the next character from the new character set are moved to the top of the hints list. The operating sequence then loops until the user submits his or her query or selects any of the listed suggested search query hints.
[0032] As would be appreciated by persons of ordinary skill in the art, the inventive concept of dynamic re-ordering of search query hints based on the current user context is not limited to the described example of user changing the character set of the keyboard. Other changes to the user context, capable of being detected, may also be used for triggering re-ordering of the search query hints list.
[0033] Figure 5 is a block diagram that illustrates an embodiment of a computer system 500 upon which various embodiments of the inventive concepts described herein may be implemented. The system 500 includes a computer platform 501 , peripheral devices 502 and network resources 503.
[0034] The computer platform 501 may include a data bus 504 or other communication mechanism for communicating information across and among various parts of the computer platform 501 , and a processor 505 coupled with bus 504 for processing information and performing other computational and control tasks. Computer platform 501 also includes a volatile storage 506, such as a random access memory (RAM) or other dynamic storage device, coupled to bus 504 for storing various information as well as instructions to be executed by processor 505, including the software application for proxy detection described above. The volatile storage 506 also may be used for storing temporary variables or other intermediate information during execution of instructions by processor 505. Computer platform 501 may further include a read only memory (ROM or EPROM) 507 or other static storage device coupled to bus 504 for storing static information and instructions for processor 505, such as basic input-output system (BIOS), as well as various system configuration parameters. A persistent storage device 508, such as a magnetic disk, optical disk, or solid-state flash memory device is provided and coupled to bus 504 for storing information and instructions.
[0035] Computer platform 501 may be coupled via bus 504 to a touch- sensitive display 509, such as a cathode ray tube (CRT), plasma display, or a liquid crystal display (LCD), for displaying information to a system administrator or user of the computer platform 501. An input device 510, including alphanumeric and other keys, is coupled to bus 504 for communicating information and command selections to processor 505. Another type of user input device is cursor control device 511 , such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 505 and for controlling cursor movement on touch-sensitive display 509. This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane. To detect user's gestures, the display 509 may incorporate a touchscreen interface configured to detect user's tactile events and send information on the detected events to the processor 505 via the bus 504.
[0036] An external storage device 512 may be coupled to the computer platform 501 via bus 504 to provide an extra or removable storage capacity for the computer platform 50 . In an embodiment of the computer system 500, the external removable storage device 512 may be used to facilitate exchange of data with other computer systems.
[0037] The invention is related to the use of computer system 500 for implementing the techniques described herein. In an embodiment, the inventive system may reside on a machine such as computer platform 501. According to one embodiment of the invention, the techniques described herein are performed by computer system 500 in response to processor 505 executing one or more sequences of one or more instructions contained in the volatile memory 506. Such instructions may be read into volatile memory 506 from another computer-readable medium, such as persistent storage device 508. Execution of the sequences of instructions contained in the volatile memory 506 causes processor 505 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and software.
[0038] The term "computer-readable medium" as used herein refers to any medium that participates in providing instructions to processor 505 for execution. The computer-readable medium is just one example of a machine-readable medium, which may carry instructions for implementing any of the methods and/or techniques described herein. Such a medium may take many forms, including but not limited to, non-volatile media and volatile media. Non-volatile media includes, for example, optical or magnetic disks, such as the persistent storage device 508. Volatile media includes dynamic memory, such as volatile storage 506. [0039] Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punchcards, papertape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH-EPROM, a flash drive, a memory card, any other memory chip or cartridge, or any other medium from which a computer can read.
[0040] Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to processor 505 for execution. For example, the instructions may initially be carried on a magnetic disk from a remote computer. Alternatively, a remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal. An infra-red detector can receive the data carried in the infra-red signal and appropriate circuitry can place the data on the data bus 504. The bus 504 carries the data to the volatile storage 506, from which processor 505 retrieves and executes the instructions. The instructions received by the volatile memory 506 may optionally be stored on persistent storage device 508 either before or after execution by processor 505. The instructions may also be downloaded into the computer platform 501 via Internet using a variety of network data communication protocols well known in the art.
[0041] The computer platform 501 also includes a communication interface, such as network interface card 513 coupled to the data bus 504. Communication interface 513 provides a two-way data communication coupling to a network link 514 that is coupled to a local network 515. For example, communication interface 513 may be an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface 513 may be a local area network interface card (LAN NIC) to provide a data communication connection to a compatible LAN. Wireless links, such as well-known 802.11a, 802.11b, 802.11g and Bluetooth may also used for network implementation. In any such implementation, communication interface 513 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
[0042] Network link 514 typically provides data communication through one or more networks to other network resources. For example, network link 514 may provide a connection through local network 515 to a host computer 516, or a network storage/server 522. Additionally or alternatively, the network link 514 may connect through gateway/firewall 517 to the wide-area or global network 518, such as an Internet. Thus, the computer platform 501 can access network resources located anywhere on the Internet 518, such as a remote network storage/server 519. On the other hand, the computer platform 501 may also be accessed by clients located anywhere on the local area network 515 and/or the Internet 518. The network clients 520 and 521 may themselves be implemented based on the computer platform similar to the platform 501.
[0043] Local network 515 and the Internet 518 both use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on network link 514 and through communication interface 513, which carry the digital data to and from computer platform 501 , are exemplary forms of carrier waves transporting the information. [0044] Computer platform 501 can send messages and receive data, including program code, through the variety of network(s) including Internet 518 and LAN 515, network link 515 and communication interface 513. In the Internet example, when the system 501 acts as a network server, it might transmit a requested code or data for an application program running on client(s) 520 and/or 521 through the Internet 518, gateway/firewall 517, local area network 515 and communication interface 513. Similarly, it may receive code from other network resources.
[0045] The received code may be executed by processor 505 as it is received, and/or stored in persistent or volatile storage devices 508 and 506, respectively, or other non-volatile storage for later execution.
[0046] Finally, it should be understood that processes and techniques described herein are not inherently related to any particular apparatus and may be implemented by any suitable combination of components. Further, various types of general purpose devices may be used in accordance with the teachings described herein. It may also prove advantageous to construct specialized apparatus to perform the method steps described herein. The present invention has been described in relation to particular examples, which are intended in all respects to be illustrative rather than restrictive. Those skilled in the art will appreciate that many different combinations of hardware, software, and firmware will be suitable for practicing the present invention. For example, the described software may be implemented in a wide variety of programming or scripting languages, such as Assembler, C/C++, Objective-C, perl, shell, PHP, Java, as well as any now known or later developed programming or scripting language. [0047] Moreover, other implementations of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. Various aspects and/or components of the described embodiments may be used singly or in any combination in the computerized systems and computer-implemented methods for dynamic contextual re-ordering of suggested search query hints during web search. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.

Claims

WHAT IS CLAIMED IS:
1. A computer-implemented method performed in a computerized system comprising a central processing unit, a display device and a memory, the computer- implemented method comprising:
a. generating a graphical user interface on the display device, the generated graphical user interface comprising a search engine query input portion and a search engine query hint portion;
b. receiving from a user a partial search engine query using the search engine query input portion of the generated graphical user interface;
c. providing a list of search engine query hints in the search engine query hint portion of the generated graphical user interface, the search engine query hints matching the partial search engine query received from the user, wherein the search engine query hints are ordered based on a predetermined criterion;
d. detecting a change in a user context; and
e. performing re-ordering of the search engine query hints in the search engine query hint portion based on the detected change of user context.
2. The computer-implemented method of claim 1 , wherein the change of user context is a change of keyboard layout from a first character set to a second character set.
3. The computer-implemented method of claim 2, wherein the search engine query hints are re-ordered based on a next character being in the second character set.
4. The computer-implemented method of claim 2, wherein the first character set comprises characters of a first language and the second character set comprises characters of a second language.
5. The computer-implemented method of claim 4, wherein the first language is an English language and the second language is a foreign language.
6. The computer-implemented method of claim 2, wherein the first character set comprises alphabetic characters and the second character set comprises numerical characters.
7. The computer-implemented method of claim 2, wherein the first character set comprises alphabetic characters and the second character set comprises non-alphabetic symbolic characters.
8. The computer-implemented method of claim 1 , further comprising: detecting a second change in the user context; and performing second re-ordering of the search engine query hints in the search engine query hint portion based on the detected second change of the user context.
9. The computer-implemented method of claim 1 , wherein the predetermined criterion is based on a search query usage statistics among all users.
10. The computer-implemented method of claim 1 , wherein the predetermined criterion is based on a geographical area, age or gender of the user.
11. A non-transitory computer-readable medium embodying a set of computer-executable instructions, which, when executed in a computerized system comprising a central processing unit, a display device and a memory, cause the computerized system to perform a method comprising:
a. generating a graphical user interface on the display device, the generated graphical user interface comprising a search engine query input portion and a search engine query hint portion;
b. receiving from a user a partial search engine query using the search engine query input portion of the generated graphical user interface;
c. providing a list of search engine query hints in the search engine query hint portion of the generated graphical user interface, the search engine query hints matching the partial search engine query received from the user, wherein the search engine query hints are ordered based on a predetermined criterion;
d. detecting a change in a user context; and e. performing re-ordering of the search engine query hints in the search engine query hint portion based on the detected change of user context.
12. The non-transitory computer-readable medium of claim 11 , wherein the change of user context is a change of keyboard layout from a first character set to a second character set.
13. The non-transitory computer-readable medium of claim 12, wherein the search engine query hints are re-ordered based on a next character being in the second character set.
14. The non-transitory computer-readable medium of claim 12, wherein the first character set comprises characters of a first language and the second character set comprises characters of a second language.
15. The non-transitory computer-readable medium of claim 14, wherein the first language is an English language and the second language is a foreign language.
16. The non-transitory computer-readable medium of claim 12, wherein the first character set comprises alphabetic characters and the second character set comprises numerical characters.
17. The non-transitory computer-readable medium of claim 12, wherein the first character set comprises alphabetic characters and the second character set comprises non-alphabetic symbolic characters.
18. The non-transitory computer-readable medium of claim 11 , wherein the method further comprises: detecting a second change in the user context; and performing second re-ordering of the search engine query hints in the search engine query hint portion based on the detected second change of the user context.
19. The non-transitory computer-readable medium of claim 11 , wherein the predetermined criterion is based on a search query usage statistics among all users.
20. A computerized system comprising a central processing unit, a display device and a memory storing a set of computer-executable instructions for:
a. generating a graphical user interface on the display device, the generated graphical user interface comprising a search engine query input portion and a search engine query hint portion;
b. receiving from a user a partial search engine query using the search engine query input portion of the generated graphical user interface;
c. providing a list of search engine query hints in the search engine query hint portion of the generated graphical user interface, the search engine query hints matching the partial search engine query received from the user, wherein the search engine query hints are ordered based on a predetermined criterion;
detecting a change in a user context; and
performing re-ordering of the search engine query hints in the search engine query hint portion based on the detected change of user context.
PCT/RU2015/000937 2015-12-28 2015-12-28 Dynamic contextual re-ordering of suggested query hints WO2017116259A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/RU2015/000937 WO2017116259A1 (en) 2015-12-28 2015-12-28 Dynamic contextual re-ordering of suggested query hints

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2015/000937 WO2017116259A1 (en) 2015-12-28 2015-12-28 Dynamic contextual re-ordering of suggested query hints

Publications (1)

Publication Number Publication Date
WO2017116259A1 true WO2017116259A1 (en) 2017-07-06

Family

ID=59225706

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2015/000937 WO2017116259A1 (en) 2015-12-28 2015-12-28 Dynamic contextual re-ordering of suggested query hints

Country Status (1)

Country Link
WO (1) WO2017116259A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110914787A (en) * 2017-09-05 2020-03-24 三星电子株式会社 Accessing data items on a computing device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070112714A1 (en) * 2002-02-01 2007-05-17 John Fairweather System and method for managing knowledge
US20120269116A1 (en) * 2011-04-25 2012-10-25 Bo Xing Context-aware mobile search based on user activities
US9037598B1 (en) * 2013-01-25 2015-05-19 Google Inc. Variable query generation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070112714A1 (en) * 2002-02-01 2007-05-17 John Fairweather System and method for managing knowledge
US20120269116A1 (en) * 2011-04-25 2012-10-25 Bo Xing Context-aware mobile search based on user activities
US9037598B1 (en) * 2013-01-25 2015-05-19 Google Inc. Variable query generation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110914787A (en) * 2017-09-05 2020-03-24 三星电子株式会社 Accessing data items on a computing device
CN110914787B (en) * 2017-09-05 2022-07-05 三星电子株式会社 Accessing data items on a computing device

Similar Documents

Publication Publication Date Title
US10599256B2 (en) Program, electronic device, system, and control method with which touch target is predicted on basis of operation history
US9383827B1 (en) Multi-modal command display
US8601019B1 (en) Presenting autocomplete suggestions
EP3262637B1 (en) Local persisting of data for selectively offline capable voice action in a voice-enabled electronic device
KR101872549B1 (en) Registration for system level search user interface
US20150378983A1 (en) Incremental multi-word recognition
US9292203B2 (en) Providing a vertical candidate bar with an on-screen keyboard
US10049091B2 (en) Method, device, and terminal equipment for enabling intelligent association in input method
WO2018132152A1 (en) Application extension for generating automatic search queries
US9836443B2 (en) Changing text input modes
US11115463B2 (en) Remote and local predictions
EP2641194A1 (en) System level search user interface
US10810370B2 (en) System and method for generating predictions
KR20150143774A (en) Consistent text suggestion output
WO2015134292A1 (en) Adaptive key-based navigation on a form
US20160239186A1 (en) Systems and methods for automated generation of graphical user interfaces
US20160259547A1 (en) Techniques for predicting user input on touch screen devices
WO2022253181A1 (en) Icon arrangement method and apparatus, and electronic device
WO2017116259A1 (en) Dynamic contextual re-ordering of suggested query hints
EP3298761B1 (en) Multi-switch option scanning
EP2534586B1 (en) Managing a navigation history
CN109101168A (en) Data entry device, device and mobile terminal
EP3008554B1 (en) Modifying input delivery to applications
KR100833278B1 (en) Mobile communication device and the operating method
US10739990B1 (en) Gesture-based mobile device user interface

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15912139

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15912139

Country of ref document: EP

Kind code of ref document: A1