Embodiments of the present invention include methods and systems for using search engines, text corpora, and electronic dictionaries.
An electronic dictionary may include a software program supporting the dictionary as well as stored dictionary information. The software program may include a shell, which provides a graphical user interface, morphology models, context searching, a teaching module, and other features. A dictionary may comprise separate units which may include text or compiled files.
The dictionary software program may be installed locally on a user's computer, remotely on a server connected by a local area network or by a wide area network such the Internet. The dictionaries may be independently stored in different locations.
In one embodiment, the system provides a method, comprising: receiving one or more queries from a user computer device; determining what custom messages are applicable based on such one or more queries; and delivering any applicable custom messages to the user computer device. The invention is not limited to a specific system configuration. In one embodiment the system uses client-server architecture with certain functions running locally at a user computer device and other functions performed at one or more servers. In other embodiments all the functions are performed at a server level and the user device interfaces with a software application using, for example, an internet browser or the like. Conversely, all the capabilities may be performed locally by the user computer device. It should be understood that a server means one or more servers, including various distributed architectures. A user device may be any device with which the user interacts including a personal computer, handheld device, a tablet, or another device.
The custom messages may be selected and customized by a server device based on one or more customization control parameters. In one embodiment, the customization control parameters may include the interface language, the regional settings, the version of the product, statistical data about user's search queries and statistics concerning user's interaction with the user interface.
Trial or custom versions of dictionaries may provide the messages that are different from the messages in paid or non-trial versions. For example, for a trial version, a warning message may be sent informing the user that the trial period is about to expire. Additionally, the server device has the capability to detect whether the version used by a user is a bootleg copy and send customized messages to users of bootleg versions.
The system of one embodiment includes a dictionary system that allows a user to obtain translations from additional sources, e.g. additional dictionaries. For example, if the user has not found a suitable translation based on a first search of available dictionaries, the user may click on a link and obtain search results from additional dictionaries. The user can customize the list of additional dictionaries in accordance with user's preferences.
The user computer device 102 may comprise a general purpose computer, such as a desktop personal computer (PC), a laptop computer, a tablet device, a mobile hand-held device, or another computing device.
The user computer device 102 may include application 108 comprising a dictionary shell 110 and one or more local dictionaries 112. The server device 104 may also be implemented using the hardware of
As noted, while client-server configuration is discussed here, in another embodiment the capabilities may be differently allocated among the system components, including entirely cloud-based applications and local hand-held products.
The dictionary shell 110 may provide a graphical user interface (GUI) to facilitate searching of the local and online dictionaries. One embodiment of the GUI 200 is illustrated in
The local and online dictionaries that can be accessed with the application 108 may be presented as a bookshelf 210 for a selected pair 212 of languages. The bookshelf 210 comprises icons, each representing a particular dictionary, e.g. “Auto”, “Accounting”, “Computers”. In one embodiment, only the dictionaries whose icons are displayed on the bookshelf 210 may be used for translation. In other embodiments search results from other sources may be offered to the user. In some embodiments, a user may be allowed to choose a bookshelf from a drop-down list of bookshelves. Available bookshelves may, for example, include “All Dictionaries,” “General Dictionaries,” “Science Dictionaries.” A user may disable any dictionary on the bookshelf 210 by clicking on its icon. A disabled dictionary is not used in translation or search even though it is shown on the bookshelf 210. Icons corresponding to disable dictionaries are distinguished visually e.g., in one embodiment, they are “grayed out.” The same dictionary may be placed on several bookshelves. Enabling or disabling a dictionary on one bookshelf does not affect its status on other bookshelves.
The user enters a search string or a query comprising one word or a combination of words using any of the input methods provided by the GUI 200. As noted, the control panel of GOU 200 is illustrated as 201 in
In response to the entered search string, the client dictionary application 108 performs a search (also “first search”) of at least one source (also “first source”) for information responsive to a query. The first source may comprise the local dictionaries 112. The result of the first search may be displayed in one or more dictionary windows 208 (See
In accordance with one embodiment, there may be at least two ways in which additional dictionaries may be located using the server 104. First the shell 110 may “know” about a dictionary. In this case, a link to the dictionary is stored in the shell and may be activated by the shell 110 either automatically or optionally. This type of a remote dictionary is termed “connected.” In addition, a dictionary may simply be located on or through the server 104 without local information about the dictionary. This type of a remote dictionary is termed “not connected.” Both connected and not connected dictionaries may be stored on the server or on another computer accessible to the server over a network, for example, the Internet.
In one embodiment, a user may immediately obtain translations and definitions found both in the locally-installed dictionaries and in the online dictionaries. If no entries are found in the local dictionaries, the entries from the online dictionaries are displayed. Entries from online dictionaries may be shown in the same window as from the local dictionaries or in separate windows.
In one embodiment, entries from additional dictionaries may be shown as a link which allows the user to see these entries. The additional translations, which are found in the “not connected” dictionaries may be shown by a link which, for example, states “7 more (online entries)>>.” When the user selects such a link, additional translations or definitions are downloaded into the dictionary window of GUI. In another embodiment, the user may set up the shell so as to obtain translations from the online dictionaries only upon clicking an appropriate link (e.g. “view entries from online dictionaries”).
In still another embodiment, the number of lookups in the “not connected” dictionaries may be restricted. For example, the user may have a restricted number of free connections and the user would need to make a payment to permanently connect a dictionary or another condition may be imposed on the usage of “not connected” dictionaries. Each dictionary on the server may be provided with a counter, which controls the number of free dictionary lookups available to a user. Once the number of free lookups has been used up, the user would still be informed that the dictionary contains the requested word, but the user would need to connect this dictionary to the shell in order to view the entry.
In still another embodiment, a dictionary may be advertised. In this case, together with the translations from the connected online dictionaries, the user would also obtain translations from an advertised dictionary, which counter would be disabled for a certain time period for promotional purposes. The entries from the advertised dictionary may include a small advertising banner with a link to a website with detailed information about the dictionary. In still another embodiment, the additional dictionary may be free and/or created by a user. An additional dictionary may be offered based on the language of the interface, regional settings, and other parameters. Additional dictionaries may be created for restricted user groups and may be downloaded depending on user's rights. There may be online-dictionaries that can be enriched by users directly.
When connecting a dictionary to the shell, the user may select an installation method: the dictionary may be downloaded and installed locally or it may be used remotely as an online dictionary, i.e. the shell would need to access the server to obtain entries from this dictionary. The shell may also display a catalog of dictionaries located on the server and updated at regular intervals so that the user may see information about dictionaries without visiting the corresponding websites, add words from the online dictionaries to the wordlist (the list of entries from one or more dictionaries), and display the found translations when the user points to a word on the display.
The described embodiments provide the user with additional search results from online dictionaries and may also be viewed as a mechanism for selling dictionary content. A dictionary may be advertised or it may be offered when the user needs to look up words in it, such as, when there is a matching language pair and entry.
Additionally, the use of online dictionaries greatly reduces the size of distribution packages. For example, when a user decides to download a trial version, the size of the distribution package matters. In still another embodiment, the distribution package may include only online dictionaries which the user may download at a later stage if required. Additionally, the user may separately download sound and media files, morphological dictionaries and application resources required for localization. In other embodiments, the user can use dictionaries as cloud applications so that the local device would be used to provide an internet browser.
In one embodiment, users receive custom messages. The messages may be customized based on a type of a license under which the dictionaries have been provided, the dictionaries that have been used by the client dictionary application 108, as well as using other parameters.
Referring to
The messages provided to the user may be selected and customized based on one or more customization control parameters. In one embodiment, the customization control parameters may include the interface language, the regional settings, the version of the product, statistical data about user's search queries, and statistical data about user's interaction with the shell interface. For example, during a given time interval, a general theme of user's queries has been identified as relating to the sports. In this case, a message provided to the banner 216 may contain information about a dictionary of sport's terms or an advertisement of sporting goods. In forming a message the system can also take into account user's language and regional settings.
A custom message may also suggest to a user certain features and capabilities of the system. For example, if a user has not used the full-text search feature, which may help him/her to see word usage or a word combination absent in the word list of a dictionary, the corresponding custom message may suggest using such a feature. A custom message may be used to improve user's interaction with the interface, particularly, when the interface provides useful controls underutilized by the user. For example, depending on how a given interface button has been used, the system may provide information as part of the message regarding the usage and advantages of the particular button.
In one embodiment, messages provided to the user are independent from user's expertise in using the system—the same advice is provided to an experience and a new user. In another embodiment, users may be categorized based on their experience in using the dictionary system interface or the amount and variety of search queries that they have executed, so that the system would adjust the messages to user's experience. A user may post his/her experience with the system to a social network so that the server identifies this information and adjusts the messages accordingly.
Trial versions of dictionaries may have messages that differ from the messages provided in paid or non-trial versions. For example, in the trial versions, a warning message may be sent informing the user that the trial period is about to expire. Additionally, the server 104 has the capability to detect whether the version used by a user is bootleg or not, and send customized messages to users of bootleg versions.
As discussed above, the information banner 216 may be used to display tips and advice on working with the product. It may also be used to inform the user about new dictionaries, releases, or related products, and to organize competitions and polls. Additionally, the information banner 216 may be used to communicate to the users of the trial versions the benefits of corresponding non-trial versions. The information banner 216 may contain graphics, sound, and other media files, e.g., pictures, sound files, Flash content.
From time to time, the client dictionary application 108 sends user-related information to the server 104 as illustrated in block 520. The information about the user and his/her actions, queries and user settings is then stored (block 530) and saved by the server dictionary software 114. Also from time to time the server application 114 creates (block 540) a custom message based on analyzing of the stored user information. The exemplary steps of collecting and analyzing information as well as creating custom messages are shown on
Referring to
From time to time, the server application 114 parses the user information stored in the database of the server. In one embodiment, parsing 547 may use several criteria, for example, the user location and language, user's interface experience, such as a number of times a given interface feature has been activated or which features have not been utilized. For example, the system may identify an underutilized capability if the user does not use a given interface button, which may provide valuable assistance to user's interactions. The parsing subsystem may be set up so that if the user pushes a given interface button less than a certain number of times, then the system should provide advice concerning the usage of the button.
Also, in one embodiment, the parsing subsystem may identify a subject that is the most interesting for a user. Based on user's interest, a helpful message or a targeted advertisement may be provided. For example a sports dictionary available in the US may be advertised to a US user who often looks up sports terms. The parsing subsystem first determines user's location, and then user's subjects of interest, based on the terms that have been translated. As noted, if the primary subject of translations has been determined to relate to sports, the server application 114 may form a message advertising sports-related goods. Various methods, including the simpler ones, such as heuristics, and the more complex ones, such as classifying, may be used for determining a subject based on the history of searchers.
As shown on
The hardware of
For additional storage, the hardware 600 may also include one or more mass storage devices 610, e.g., a removable disk drive, a hard disk drive, a Direct Access Storage Device (DASD), an optical drive (e.g. a Compact Disk (CD) drive, a Digital Versatile Disk (DVD) drive, etc.) and/or a tape drive, among others. Distributed storage may also be used. Furthermore, the hardware may include an interface with one or more networks 612 (e.g., a local area network (LAN), a wide area network (WAN), a wireless network, and/or the Internet among others) to permit the communication of information with other computers coupled to the networks. It should be appreciated that the hardware of
The hardware of
In general, the routines executed to implement the embodiments of the invention may be implemented as part of an operating system or a specific application, component, program, object, module or sequence of instructions referred to as “computer programs.” The computer programs typically comprise one or more instructions set at various times in various memory and storage devices in a computer, and that, when read and executed by one or more processors in a computer, cause the computer to perform operations necessary to execute elements involving the various aspects of the embodiments. Moreover, while the embodiments have been described in the context of fully functioning computers and computer systems, those skilled in the art will appreciate that the various embodiments of the invention are capable of being distributed as a program product in a variety of forms, and that the invention applies equally regardless of the particular type of computer-readable media used to actually effect the distribution. Examples of computer-readable media include but are not limited to recordable type media such as volatile and non-volatile memory devices, floppy and other removable disks, hard disk drives, optical disks (e.g., Compact Disk Read-Only Memory (CD-ROMs), Digital Versatile Disks (DVDs), flash-memory etc.), among others. The other type of distribution may be downloading files from an internet-site. In addition the entire application may be cloud-based.
While certain exemplary embodiments have been described and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative and not restrictive of the broad invention and that this invention is not limited to the specific constructions and arrangements shown and described, since various other modifications may occur to those ordinarily skilled in the art upon studying this disclosure.
This application is a Continuation-in-part of U.S. patent application Ser. No. 12/540,184 filed on Aug. 12, 2009 which claims the benefit of priority to U.S. Patent Application Nos. 61/088,191 and 61/088,199, both of which were filed on Aug. 12, 2008. The entire specifications of all of the above parent applications are incorporated herein by reference to the extent that they do not conflict with the present disclosure.
Number | Date | Country | |
---|---|---|---|
61088191 | Aug 2008 | US | |
61088199 | Aug 2008 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12540184 | Aug 2009 | US |
Child | 13430526 | US |