CN105320435B - Apparatus and method for recognizing word for changing user input - Google Patents
Apparatus and method for recognizing word for changing user input Download PDFInfo
- Publication number
- CN105320435B CN105320435B CN201510148623.8A CN201510148623A CN105320435B CN 105320435 B CN105320435 B CN 105320435B CN 201510148623 A CN201510148623 A CN 201510148623A CN 105320435 B CN105320435 B CN 105320435B
- Authority
- CN
- China
- Prior art keywords
- character
- word
- alternative
- input
- characters
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
- G06F3/0237—Character input methods using prediction or retrieval techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/274—Converting codes to words; Guess-ahead of partial word inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
- G06F3/0236—Character input methods using selection techniques to select from displayed items
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/232—Orthographic correction, e.g. spell checking or vowelisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
The application relates to an apparatus and method for identifying words for altering user input. In one aspect, the apparatus includes a display, a processor, and a memory accessible by the processor. The memory carries instructions executable by the processor to: receiving a first input relating to at least two characters including a first character and a second character; presenting at least a first character and a second character on a display; receiving a second input corresponding to the first character but not the second character; presenting a recommendation of at least one alternative character to the first character on the display in response to receiving the second input; and presenting the at least one alternate character on the display in place of the first character in response to a third input corresponding to the at least one alternate character.
Description
Technical Field
The present application relates generally to identifying alterations of one or more words for user input of one or more characters.
Background
When a user input having one or more characters is provided to the device, for example, the user may misspell a word and/or there may be one or more alternative words corresponding to the input that the user intended. However, current devices only provide static alternatives to the user input that do not change based on what the user considers to be incorrect in the user input.
Disclosure of Invention
Accordingly, in one aspect, an apparatus includes a display, a processor, and a memory accessible by the processor. The memory carries instructions executable by the processor to: receiving a first input relating to at least two characters including a first character and a second character; presenting at least a first character and a second character on a display; receiving a second input corresponding to the first character but not the second character; presenting a recommendation of at least one alternative character to the first character on the display in response to receiving the second input; and presenting the at least one alternative character on the display in place of the first character in response to a third input corresponding to the at least one alternative character.
In another aspect, a method comprises: presenting at least one representation of at least one character comprising a first representation of a first character on a display; and receiving a first input corresponding to a location on the display adjacent to the first representation of the first character, wherein the location is one of at least substantially to the left of the first representation and at least substantially to the right of the first representation. The method also includes attempting to identify at least one word that includes the first character based on the location.
In yet another aspect, a non-carrier computer readable storage medium carries instructions executable by a processor to: presenting respective representations of characters in a sequence of characters on a display of an apparatus, wherein the sequence comprises at least a first character at a first position in the sequence and a second character at a second position in the sequence, and wherein the respective representations are presented sequentially according to the sequence. The instructions are further executable to: in response to receiving a first input corresponding to a representation of a first character but not a representation of a second character, at least attempting to identify at least one word that includes a third character based on the sequence and replacing the first character with the third character at a first position, the word being created if the first character at the first position in the sequence is replaced with the third character, wherein the third character is different from the first character.
The details of the present principles, both as to its structure and operation, can best be understood in reference to the accompanying drawings, in which like reference numerals refer to like parts.
Drawings
FIG. 1 is a block diagram of an exemplary system in accordance with the present principles;
FIG. 2 is a block diagram of a network of devices in accordance with the present principles;
FIG. 3 is a flow chart illustrating an exemplary algorithm in accordance with the present principles;
4-6 and 8 are example User Interfaces (UIs) in accordance with the present principles; and
fig. 7 is an exemplary data table in accordance with the present principles.
Detailed Description
The present disclosure relates generally to device-based information. With respect to any of the computer systems discussed herein, a system can include a server component and a client component that are connected over a network such that data can be exchanged between the client component and the server component. The client components may include one or more computing devices including televisions (e.g., smart TVs, internet-accessible TVs), computers (e.g., desktop, laptop, and tablet computers), so-called foldable devices (e.g., having tablet and laptop configurations), and other mobile devices including smart phones. As non-limiting examples, these client devices may employ an operating system from apple, google, or microsoft corporation. A Unix operating system or similar operating system such as Linux may be used. These operating systems may run one or more browsers (such as those manufactured by microsoft corporation or google or Mozilla) or other browser programs that may access web applications hosted by internet servers over a network (such as the internet, a local area network, or a virtual private network).
As used herein, instructions refer to computer-executed steps for processing information in a system. The instructions may be implemented in software, firmware, or hardware; accordingly, exemplary components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality.
The processor may be any conventional general purpose single-chip processor or multi-chip processor capable of executing logic by means of various lines, such as address, data and control lines, as well as registers and shift registers. Furthermore, any of the logic blocks, modules, and circuits described herein may be implemented or performed with other than a general purpose processor by or in a Digital Signal Processor (DSP), a Field Programmable Gate Array (FPGA) or other programmable logic device (e.g., an Application Specific Integrated Circuit (ASIC), discrete gate or transistor logic, discrete hardware components), or any combination thereof designed to perform the functions described herein. A processor may be implemented by a combination of controllers or state machines or computing devices.
Any software and/or applications and/or user interfaces described herein by way of flowcharts may include various subroutines, procedures, and the like. It will be appreciated that logic described as being performed by, for example, a module, may be redistributed to other software modules and/or combined together in a single module and/or available in a shareable library.
When the logic is implemented in software, the logic may be written in a suitable language such as, but not limited to, C # or C + +, and the logic may be stored on or transmitted over a computer-readable storage medium (e.g., a computer-readable storage medium that may not be a carrier wave), such as Random Access Memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), portable compact disc read-only memory (CD-ROM), or other optical disc storage such as a Digital Versatile Disc (DVD), magnetic disk storage or other magnetic storage devices including a removable thumb drive, etc. The connection may create a computer-readable medium. Such connections may include, for example, hard-wired cables including optical fibers and coaxial wires as well as twisted pairs. Such connections may include wireless communication connections including infrared and radio.
In an example, the processor may access information from a data store (e.g., a computer-readable storage medium) via an input line to the processor, and/or the processor may wirelessly access information from an internet server by activating a wireless transceiver to send and receive data. Typically data is converted from an analog signal to a digital signal by a circuit between a register of the processor and the antenna when received and data is converted from a digital signal to an analog signal when transmitted. The processor then processes the data through the processor's shift register to output the calculated data on an output line to present the calculated data on the device.
Components included in one embodiment may be used in other embodiments in any suitable combination. For example, any of the various components described herein and/or depicted in the figures may be combined, interchanged, or excluded from other embodiments.
"a system having at least one of A, B and C" (likewise, "a system having at least one of A, B or C" and "a system having at least one of A, B, C") includes a system having only a, a system having only B, a system having only C, a system having a and B, a system having a and C, a system having B and C, and/or a system having A, B and C, and the like.
"systems having A, B and one or more of C" (likewise, "systems having one or more of A, B or C" and "systems having one or more of A, B, C") include systems having only a, systems having only B, systems having only C, systems having a and B, systems having a and C, systems having B and C, and/or systems having A, B and C, and the like.
The term "circuit" or "circuit" is used in the summary, the description and/or the claims. As is well known in the art, the term "circuit" includes all levels of available integration, e.g., from discrete logic circuits to the highest level of circuit integration (e.g., VLSI), and includes programmable logic components programmed to perform the functions of an embodiment, as well as general or special purpose processors programmed with instructions to perform those functions.
Referring now specifically to FIG. 1, FIG. 1 illustrates an example block diagram of an information handling system and/or computer system 100. Note that in some embodiments, system 100 may be a desktop computer system, such as that sold by Association of America (USA) located in Morievel, N.C.OrOf a series of personal computersOne, or workstation, computer, such as sold by Lenovo (USA) Inc. of Morisville, N.CHowever, as is apparent from the description herein, a client device, server, or other machine in accordance with the present principles may include other features or only some of the features of system 100. System 100 may also be, for example, a gaming console, such asOr
As shown in fig. 1, system 100 includes a so-called chipset 110. A chipset refers to a group of integrated circuits or chips that are designed to work together. Chipsets are typically sold as a single product (e.g., consider branding)Etc. sold chipsets).
In the example of FIG. 1, chipset 110 has a particular architecture that may vary to some extent depending on brand or manufacturer. The architecture of chipset 110 includes a core and memory control group 120 and an I/O control hub 150, the core and memory control group 120 and the I/O control hub 150 exchanging information (e.g., data, signals, commands, etc.) via, for example, a direct management interface or Direct Media Interface (DMI)142 or a link controller 144. In the example of fig. 1, the DMI 142 is a chip-to-chip interface (sometimes referred to as a link between a "north bridge" and a "south bridge").
The core and memory control group 120 includes one or more processors 122 (e.g., single core or multi-core, etc.) and a memory control hub 126, with the one or more processors 122 and memory control hub 126 exchanging information via a Front Side Bus (FSB) 124. As described herein, the various components of the core and memory control group 120 may be integrated onto a single processor die (die), for example, to produce a chip that replaces the traditional "Northbridge" architecture.
The memory control hub 126 interfaces with the memory 140. For example, the memory controller hub 126 may provide support for DDR (double data Rate) SDRAM (synchronous dynamic random Access memory) memory (e.g., DDR2, DDR3, etc.). Typically, memory 140 is a type of Random Access Memory (RAM). It is commonly referred to as "system memory".
The memory control hub 126 also includes a low voltage differential signaling interface (LVDS) 132. The LVDS 132 may be a so-called LVDS Display Interface (LDI) for supporting a display device 192 (e.g., CRT (cathode ray tube), flat panel, projector, touch display, etc.). Block 138 includes some examples of technologies that may be supported via LVDS interface 132 (e.g., Serial Digital Video (SDVO), HDMI (high-definition multimedia interface)/DVI (digital video interface), displayport). The memory controller hub 126 also includes one or more PCI-express interfaces (PCI-E)134 for supporting, for example, a stand-alone graphics card 136. Stand-alone graphics cards using a PCI-E interface have become an alternative to the Accelerated Graphics Port (AGP). For example, the memory controller hub 126 may include a 16-way (x16) PCI-E port for an external PCI-E based graphics card (including, for example, one of more GPUs). An example system may include AGP or PCI-E for supporting graphics.
The I/O control hub 150 includes various interfaces. The example of figure 1 includes a SATA (serial advanced technology attachment) interface 151, one or more PCI-E (high speed external component interconnect) interfaces 152 (optionally one or more legacy PCI interfaces), one or more USB interfaces 153, a LAN interface 154 (more generally a network interface for communicating over at least one network (e.g., the internet, a WAN (wide area network), a LAN (local area network), etc.) under the direction of one or more processors 122, a general purpose I/O interface (GPIO)155, a Low Pin Count (LPC) interface 170, a power management interface 161, a clock generator interface 162, an audio interface 163 (e.g., for a speaker 194 to output audio), a Total Cost of Operation (TCO) interface 164, a system management bus interface (e.g., a multi-master serial computer bus interface) 165, and a serial peripheral flash/controller interface (SPI flash) 166, which in the example of fig. 1 includes BIOS 168 and boot code 190. With respect to network connections, I/O control hub 150 may comprise integrated gigabit Ethernet controller lines multiplexed with PCI-E interface ports. Other network features may operate independently of the PCI-E interface.
The interface of the I/O control hub 150 provides communication with various devices, networks, etc. For example, the SATA interface 151 provides for reading information from, writing information to, or both reading and writing information to one or more drives 180, such as a HDD (hard disk drive), SDD (solid state drive), or a combination thereof, but in any case, the drives 180 are understood to be, for example, tangible computer-readable memory media that may not be a carrier wave. The I/O control hub 150 may also include an Advanced Host Controller Interface (AHCI) to support one or more drivers 180. The PCI-E interface 152 allows a wireless connection 182 to a device, network, etc. The USB interface 153 provides for an input device 184 such as a Keyboard (KB), mouse, or various other devices (e.g., camera, phone, memory, media player, etc.).
In the example of fig. 1, LPC interface 170 is used by one or more ASICs (application specific integrated circuits) 171, Trusted Platform Module (TPM)172, super I/O173, firmware hub 174, BIOS support 175, and various types of memory 176, such as ROM 177, flash memory 178, and non-volatile ram (nvram) 179. For TPM 172, this module may be in the form of a chip that may be used to authenticate software and hardware devices. For example, the TPM may be capable of platform validation and may be used to validate whether a system seeking access is the desired system.
The system 100, when powered on, may be configured to execute boot code 190 for the BIOS 168, stored within the SPI flash 166, and thereafter, the system 100 processes data under the control of one or more operating systems and application software (e.g., stored in the system memory 140). The operating system may be stored at any of a variety of locations and accessed, for example, according to instructions of the BIOS 168.
Further, although not shown for clarity, in some embodiments, system 100 may include a gyroscope for sensing and/or measuring, for example, the orientation of system 100, an accelerometer for sensing, for example, acceleration and/or movement of system 100, and an audio receiver/microphone in communication with processor 122 and providing input to processor 122 based on, for example, a user providing audio input to the microphone. Further, also not shown for clarity, the system 100 may include a GPS transceiver configured to receive geographic location information, for example, from at least one satellite and provide the information to the processor 122. However, it will be understood that another suitable position receiver, rather than a GPS receiver, may be used in accordance with the present principles, for example, to determine the position of the system 100. Further, at least one camera may be included on the system 100 that may be in communication with the processor 122 and provide input to the processor 122. The one or more cameras may be, for example, thermal imaging cameras, digital cameras (such as webcams), and/or cameras integrated into the system 100 and controllable by the processor 122 to collect photos/images and/or video.
Before proceeding to fig. 2, it will be understood that an example client device or other machine/computer may include fewer or more features than shown on the system 100 of fig. 1. In any event, based at least on the foregoing, it will be appreciated that the system 100 is configured to implement the present principles.
Turning now to fig. 2, fig. 2 illustrates an example apparatus that communicates over a network 200 (e.g., the internet) in accordance with the present principles. It will be understood that each of the devices described, for example, with reference to fig. 2 may include at least some of the features, components, and/or elements of the system 100 described above. In any case, fig. 2 shows a notebook computer 202, a desktop computer 204, a wearable device 206 (e.g., a smart watch), a smart Television (TV)208, a smart phone 210, a tablet computer 212, and a server 214 according to the present principles, such as an internet server, which may, for example, provide cloud storage accessible by devices 202-212. It will be understood that the devices 202-214 are configured to communicate with each other over the network 200 to implement the present principles.
Referring to fig. 3, fig. 3 illustrates example logic that may be executed by an apparatus (hereinafter "the present apparatus"), such as the system 100 in accordance with the present principles. Beginning at block 300, logic launches and/or executes a user input application in accordance with the present principles, such as a text messaging application, an email application, a social networking application, a calendar and/or appointment application, a personal assistance application, a search application, a word processing application, an internet browser, and the like. In any case, the logic proceeds after block 300 to block 302 where the logic receives a first user input sequence of at least two characters including a first character and a second character, such as numeric characters (e.g., arabic numerals), alphabetic characters (e.g., english alphabetic characters from a to Z), punctuation characters, symbols, and the like, at block 302. The input received at block 302 may be, for example, audible input from a user detected by a microphone of the present device, input based on manipulation of at least a keyboard in communication with the present device (e.g., a tangible keyboard and/or a keyboard presented on a touch-sensitive display of the present device), and/or the like.
From block 302, the logic proceeds to block 304, where the logic presents a representation of the characters on a display of the device in the order in which the characters were received on the device and/or the order in which the characters were provided by the user. The order may be related to, for example, the reading style of the language to which the input belongs, e.g., the input of english characters is left-to-right order. In any case, it will be understood that the representation may be presented, for example, in a text entry field selected by the user and/or where the input is represented.
After block 304, the logic may move to decision diamond 306 in some embodiments, however it will be appreciated that in other embodiments the logic may proceed to block 310 described later instead of decision diamond 306. In any event, at decision diamond 306 the logic may determine whether any recommendations can be made and/or indicated for alternative characters of at least one of the characters provided by the first input and/or may determine whether any recommendations can be made and/or indicated for alternative menu words of the first input, e.g., based on logic that accesses a data table of words (such as table 700 described further below). A determination may be made at diamond 306, for example, in response to determining that the first user input did not create a correctly spelled word, and thus the logic may provide one or more recommended words that contain many of the same characters and that one of the characters from the first user input is replaced with one of the characters that is capable of creating a correctly spelled word with the other characters from the first user input.
A negative determination at diamond 306 may cause the logic to proceed directly to block 310, but a positive determination at diamond 306 may cause the logic to move first to block 308. Thus, at block 308, the logic may indicate and/or highlight one or more of the following characters on the display of the present device: replacement characters and/or words for the one or more characters are identified based on the determination at diamond 306 and/or the data table accessed at diamond 306. Examples of such indications are discussed further below with reference to fig. 4.
The logic then proceeds from block 308 to block 310, where the logic receives a second user input corresponding to the first character from the first user input presented on the display (e.g., the character indicated and/or highlighted at block 308). The second user input is identified and/or determined to correspond to the first character based on input at a display location at least adjacent to where the representation of the first character is presented within a (e.g., predefined or user-defined) threshold distance of the representation of the first character (e.g., touch-based selection and/or positioning of a cursor (e.g., an inserter) at the display location of the display) and/or input at the display location where the representation of the first character is presented. In any event, however, it will be understood that in an example embodiment, the second input corresponds to the first character but does not correspond to and/or select the second character (e.g., and/or any other character that may be presented on a display of the present apparatus). For example, the second input may correspond to the first character and/or a selection of the first character but not to the entire first user input and/or an entire word created based on the first user input, such that a change in the first user input may be determined and/or recognized based on a change and/or replacement of the first character, and such that other changes in the first user input based on a change and/or replacement of another one of the characters may not be determined and/or recognized.
From block 310, the logic proceeds to block 312, where at block 312 the logic identifies one or more alternative characters (and/or one or more words) that may replace the first character to create, for example, alternative words for the first user input (e.g., if not already done so (e.g., based on the steps performed at diamond 306 and block 308)). The logic may identify one or more alternative characters to at least one of the characters provided in the first input, e.g., based on logic accessing a word data table (e.g., table 700 described further below).
The logic then proceeds from block 312 to decision diamond 314, where the logic determines whether at least one alternative character (and/or alternative word) has been recognized at decision diamond 314. A positive determination at diamond 314 will advance the logic directly to block 318, which is described later. However, a negative determination at diamond 314 moves the logic to block 316, where the logic may select a character adjacent to (e.g., before or after) the first character in the sequence and attempt to identify one or more alternate characters that are adjacent to the character rather than the first character at block 316. Thus, in this example, if, for example, the user provided input corresponding to the first character as presented on the display and no alternative characters are available for the first character, and/or the user actually wanted to direct input to adjacent characters for which alternative characters are available, the logic may identify alternative characters for the adjacent characters at block 316.
From block 316, the logic proceeds to block 318, where at block 318 the logic presents a representation of the at least one alternative character that has been identified (and/or the alternative word that has been identified) on the display for selection by the user, such that a representation of the alternative character (and/or the alternative word) is presented at a location corresponding to the representation of the first character in place of the first character (and/or in place of the representation of the first input if it is an alternative menu word). Further, note that in some embodiments, the logic may automatically replace and/or replace the first character and/or (e.g., the entire) first user input with the identified alternative character and/or alternative menu word, respectively, without further user input being required at block 318.
Following block 318 the logic moves to block 320 where the logic receives a selection from the user of one of the alternative characters and/or words presented on the display at block 320 (e.g., embodiments where the first character and/or the currently presented character is not automatically replaced with the identified alternative character and/or word at block 318), and accordingly, the alternative character and/or word is presented in place of the representation of the first character and/or the representation of the first user input. Further, at block 320, if instead of receiving user input to select one of the alternative characters and/or words, user input is received corresponding to a second character that is different from the first character presented on the display (e.g., the user wishes to see other recommendations for the other characters, and/or the user initially provided incorrect input corresponding to the first character when intending to provide input corresponding to the second character, etc.), the logic may return to block 312 and proceed from block 312 to identify one or more alternative characters for the second character instead of the first character in response to such input received at block 320.
Referring now to fig. 4, fig. 4 illustrates an example User Interface (UI)400 presented on a display of an apparatus (e.g., system 100). In this example, UI 400 is used for a text messaging application. As shown, UI 400 includes a text entry field 402 that may represent input from a user. As can be appreciated from FIG. 4, in this example, the user provides an input spelled "poul". Note that at least one indication 404 of at least one character entered is shown, the indication 404 indicating that a correctly spelled word would be created if replaced with a different character. In this case, the indication 404 is juxtaposed under the respective characters ("p" and "l") associated with the indication 404. Also note that the cursor inserter 406 is shown adjacent to the character "l," and the cursor inserter 406 may be manipulated by the user to be juxtaposed adjacent to the character "l" in order to select the character "l" as the character for which the user wishes to present an alternate character. It is also noted that instead of or in addition to manipulating the caret 406 as set forth above, the user may also touch a portion of the UI 400 on the touch-sensitive display where the character "l" is present, or at least touch an area proximate to (e.g., within a threshold distance of) the character "l".
In any case, in response to user input corresponding to the character "l" shown on the UI 400, as shown in fig. 5, one or more recommendations of alternative words may be automatically presented on the UI 400 without further user input. Thus, as shown in FIG. 5, recommendations for alternative menu words may be presented, for example, in box 500, wherein each of the alternative words 502 presented in box 500 may be selected to replace the representation of "poul" with the selected word. Note that in this example, because the character "l" was selected, the word 502 was recognized by the device and presented in box 500, box 500 still contains other characters provided in the user input in the order in which the characters were provided and represented on the display ("pou"), and even if, for example, the device determined an alternative to the character "p" as indicated by one of indications 404, the word 502 was still provided (e.g., only) with the replacement character "l" instead of the replacement character "p", whereby each replacement word still contains the characters "pou" in the order of "pou". Also note that if the corresponding word 502 is selected, each of the words 502 contains an indication of one or more characters in the corresponding word 502 (e.g., in this case, because the character "l" is the fourth character from left to right in the sequence "poul," the indication is located at the fourth character in left to right order), which indicates that the character "l" is replaced at the same position as the character "l".
Still referring to FIG. 5, it is further noted that the character "nd" has been presented in sequence in block 500, and that the character "nd" (e.g., collectively) can be selected to replace the representation of the character "l" with the character "nd" to create the word "pound" in field 402. Thus, it will be understood that a single character or any combination of multiple characters, as well as a correctly spelled word, may be included as a recommendation presented in block 500.
It is even further noted that the appropriate term "Poutine" is also presented for selection by the user. Thus, it will be understood that in some embodiments, the logic may determine and recommend the following words: in addition to the selected character "l" in the same sequence as provided by the user, at least the character provided by the user is included, but also additional characters beyond or in addition to the number of characters provided by the user in the sequence.
Before moving to fig. 6, it will be appreciated that in accordance with UI 400 (as shown in box 500 in fig. 5), the user may direct input to another character, e.g., "p," in field 402, which may cause the device to update box 500 (e.g., dynamically) with the character "p" instead of the character "l," e.g., providing the recommended words "soul" and "foul. Thus, in this regard, for example, at least different portions of the input represented in field 402 may be touched to cycle through different possible alternative lists.
Referring now to FIG. 6, UI 400 is again shown after the user has selected the word "pour" from block 500 to replace "poul" in field 402, thereby showing a representation of the word "pour" in field 402 of FIG. 6. Also note that, in accordance with the present principles, even though the pour is a correctly spelled word, an indication 404 is shown, which indication 404 indicates that the individual characters ("p" and "r") with the indication 404 may be replaced with other characters.
Continuing with the detailed description with reference to FIG. 7, FIG. 7 illustrates an exemplary word data table 700, which word data table 700 may be accessed by an apparatus to perform the following operations in accordance with the present principles: such as determining whether the input from the user constitutes a correctly spelled word and/or determining whether a replacement for a character that has been selected by the user in accordance with the present principles can be identified and recommended. Thus, the table 700 includes at least one list of words 702, shown in alphabetical order in the example. As an example, described above with reference to fig. 4-6, in response to a user input selecting the character "l" as the character for which a recommendation should be provided, the apparatus may access data table 700 and proceed alphabetically until an entry beginning with the character sequence "pou" is located, to then determine an entry in table 700 that includes "pou" and/or begins with the character "pou" and includes a character other than "l". Once located, one or more located words from table 700 may be presented on a UI, such as UI 400 described above (e.g., in block 500) as a recommendation to a user in accordance with the present principles.
Referring now to fig. 8, there is shown an example UI 800 that may be presented on a display of an apparatus, such as system 100, for configuring settings of an apparatus that performs the present principles. The UI 800 includes a first setting 802, the first setting 802 for the user to select the following adjacent characters in the sequence of characters: the device will select the adjacent character in an attempt to identify one or more alternate characters of the adjacent character; rather than selecting the character that failed to recognize (e.g., at block 316 of the logic described above). Thus, a first selector element 804 is provided, the first selector element 804 being selectable to automatically configure the apparatus without further user input to select a character to the right of which an alternative further character is not recognised; whilst a second selector element 806 is provided, the second selector element 806 may be selected to automatically configure the device without further user input to select the character to the left of which the alternative further character is not recognised. Note, however, that if there are no adjacent characters on both the right and left sides of a character in the sequence, but there are only adjacent characters on one side or the other (right or left), then regardless of the configuration of setting 802, the device selects only the characters immediately adjacent to the character for which no alternative character can be recognized.
The UI 800 also includes a second setting 808, the second setting 808 being used to configure a threshold distance for user input of a selection character in accordance with the present principles (e.g., for use by the apparatus at block 310 of the above logic). Thus, a first selector element 810 is provided, the first selector element 810 being selectable to automatically configure the apparatus to create a threshold distance of two millimeters without further user input; a second selector element 812 is provided, the second selector element 812 being selectable to automatically configure the device without further user input to create a threshold distance of five millimeters; and a third selector element 814 is provided, the third selector element 814 being selectable to configure the apparatus to create a threshold distance of another length specified by the user (e.g., using a pop-up window and/or an overlay window into which the user may enter a number and units of that number (e.g., millimeters, centimeters, etc.).
Still referring to fig. 8, the UI 800 also includes a third setting 816, the third setting 816 being used, in accordance with present principles, to set the maximum number of alternative recommendations that the device may present on its display as replacements (e.g., in block 500 described above). Thus, a first selector element 818 is provided, the first selector element 818 being selectable to automatically configure the device without further user input to create the number as two recommendations; a second selector element 820 is provided, the second selector element 820 being selectable to automatically configure the device without further user input to create the number as five recommendations; and a third selector element 822 is provided, the third selector element 822 being selectable to configure the apparatus to create another maximum number of recommendations to be presented as specified by the user (e.g., using a pop-up window and/or an overlay window where the user may input numbers).
Although not shown in fig. 8, it will be understood that the UI 800 may also include other settings for configuration by the user. For example, settings may be presented for a user to configure the device to automatically replace one character with an alternate character (e.g., at block 318 as described above) or to configure the device to avoid automatically replacing one character with an alternate character.
Without reference to any particular figure, it will be understood that an apparatus in accordance with the present principles may also determine that one or more characters can be added to a sequence of input from a user instead of replacing characters from the input, instead of or in addition to recommending that one character replace another as described herein. Thus, for example, if a user touches a single character presented on the display, one or more words that include the character may be determined, rather than replacing the character. For example, if the user enters (e.g., only) the character "t", the user may inadvertently miss a letter rather than mistyping it. If the user touches a location on the display that precedes the representation of the letter "t" (e.g., to the left of the letter), the apparatus may determine a word suggestion that recommends the character contained in the word sequence that precedes the letter "t", thereby creating a word that includes the letter "t", e.g., "it" or "at". Similarly, by the user touching a location after the letter "t" (to the right of the letter), the device may determine word suggestions that recommend characters included in the word sequence after the letter "t", thereby creating a word that includes the letter "t", such as "to" or "the".
As another example, if the user enters the letter "o," touching the front of the letter "o" may cause the device to recommend words, such as "to," so, "and/or" go, "while touching the back of the letter" o "may cause the device to recommend words" on, "" off, "and/or" okay. The foregoing applies even when, for example, the user indicates multiple characters (e.g., touching the front of multiple characters may cause the device to recommend a word that includes other characters in the word sequence of the word that precede the characters from the partially created word input by the user). However, instead of or in addition to the foregoing recommendations, for example, for the letter "o", words created from a single letter may also be recommended as alternatives to the letter "o", such as the words "a" and "I".
Next, it will be understood that in addition to the threshold distance described herein, in some implementations, a threshold number of characters may be created for selection of characters, the threshold number of characters being distant from no available alternative characters and/or not indicated as having at least one alternative selected character. For example, the threshold character distance may be two characters away in either direction in the sequence.
Also, without reference to any particular figure, it will be understood that, for example, if a touch input is received at an area between two characters of a touch display, various determinations may be made in accordance with the present principles with respect to which character is selected to present an alternative. For example, if only one of the two characters has a possible alternative, the character may be selected. If both characters have possible alternatives, the character to which the input is most closely directed is selected.
Further, in some embodiments, the user can not only select a single character for which alternatives can be presented, but can also select a group of characters consecutively in the sequence to cause the apparatus to provide alternatives in place of the group (or at least one character in the group).
Further, in some embodiments, it will be understood that selection of characters to present alternatives and/or cursor manipulation of character selection may be provided by a user, for example using voice input (e.g., "show alternatives to the letter' p") and touch input, and further selection may be made using, for example, a mouse and/or keyboard.
In addition to the foregoing, it will be appreciated that when the present application is directed to rendering an alternate character on a display in place of and/or in place of another (first) character, then it may be necessary to replace only the first character with the alternate character and/or replace the entire representation of the user input with a word containing the alternate character (e.g., to produce a final user-related result in which only the alternate character changes).
It can now be appreciated that the present principles provide: the location of a user's touch to a word presented on the display is detected when making text corrections to the word. For example, based on the location at which the user touched (and/or clicked) a portion of a word, suggestions for automatic correction may be presented and/or updated according to potential corrections that may be made at characters corresponding to, for example, the current cursor location. If there is no potential correction at the location where the user selected a portion of the word, then the nearby letter locations may be used to determine an auto-correction suggestion.
For example, if the user touches the beginning portion of a word, the auto-correction suggestion may prioritize alternative menu words to be presented based on words having a different beginning portion than the "active" word provided by the user. If the user touches the end of a word, the auto-correction suggestion may prioritize the alternate menu words to be presented based on words having different ends than the "active" word.
Thus, providing an example, the input from the user may be "poul". A touch at the beginning of a word may result in a suggestion "fool", whereas a touch at the end of a word may result in a suggestion "pour".
If the input from the user is "caboe," a touch at the middle portion of the word may result in a suggestion of "canoe," whereas a touch at the end of the word may result in a suggestion of "cable" (e.g., when there is no possible alternative to the character "e" and/or when the character "l" is selected).
If the input from the user is "teal," a touch at the beginning of a word may result in a suggestion of "seal" and/or "heal," whereas a touch at the end of a word may result in a suggestion of "tell" or "team.
At the conclusion, it will be appreciated that while software applications for implementing the present principles may be sold with devices such as system 100, for example, the present principles apply to instances where such applications are downloaded to the devices from a server over a network such as the internet, for example. Moreover, the present principles apply to examples in which such applications are included, for example, on a computer-readable storage medium being sold and/or provided that is not carrier wave and/or another signal in nature.
Although certain "identifying one or more words for alteration of user input of one or more characters" has been shown and described in detail herein, it is to be understood that the subject matter encompassed by the present application is limited only by the claims.
Claims (20)
1. An information processing apparatus comprising:
a display;
a processor;
a memory accessible by the processor and carrying instructions executable by the processor to:
receiving a first input relating to at least two characters including a first character and a second character;
presenting at least the first character and the second character on the display;
determining whether any recommendations can be made and/or indicated for alternative characters to at least one of the characters provided by the first input;
if any recommendations can be made and/or indicated for alternative characters to at least one of the characters provided by the first input, indicating on the display one or more characters that can be replaced to create an alternative menu word;
receiving a second input corresponding to the first character but not the second character;
in response to receiving the second input, identifying at least one alternative character to the first character;
identifying at least one alternative character to an adjacent character to the first character if the at least one alternative character to the first character is not identified;
presenting the identified recommendation of the at least one alternative character on the display; and
presenting the at least one alternative character on the display in place of the first character in response to a third input corresponding to the at least one alternative character;
wherein the recommended alternative character can create a correctly spelled word with other characters from the first input.
2. The apparatus of claim 1, wherein the first input is an audible input to the apparatus.
3. The apparatus of claim 1, wherein the first character and the second character are presented in a text entry field of a user interface presented on the display.
4. The apparatus of claim 1, wherein the display is a touch display, and wherein the second input is received at a location on the touch display that corresponds to the first character.
5. The apparatus of claim 4, wherein the location is at least a portion of the touch display adjacent to a location of the first character.
6. The apparatus of claim 4, wherein the location is a portion of the touch display that presents the first character.
7. The apparatus of claim 1, wherein the second input is received based on a manipulation of a cursor to a location adjacent at least the first character.
8. The apparatus of claim 1, wherein the recommendation comprises a plurality of words, wherein at least a first word of the plurality of words contains the alternative character at a word position that is: the word position is a word position in the first word that corresponds to a position of a first character received in the first input.
9. The apparatus of claim 8, wherein the first word contains the second character.
10. The apparatus of claim 1, wherein the recommendation is presented in response to identifying a word containing the alternative character at a word position from a data table comprising a plurality of words: the word position is a word position corresponding to a position of the first character received in the first input.
11. An information processing method comprising:
presenting at least one representation of at least one character comprising a first representation of a first character on a display;
determining whether any recommendations can be made and/or indicated for alternative characters to the first character;
indicating the first character on the display if any recommendations can be made and/or indicated for alternative characters to the first character;
receiving a first input corresponding to a location on the display adjacent to a first representation of the first character, the location being one of at least to the left of the first representation and at least to the right of the first representation; and
identifying at least one alternative character to the first character;
identifying at least one alternative character to an adjacent character to the first character if the at least one alternative character to the first character is not identified;
wherein the recommended alternative character can create a correctly spelled word with other characters from the first input.
12. The method of claim 11, wherein the location is to the left of the first representation, and wherein the method includes identifying at least one word that includes at least a second character adjacent to the first character in the sequence of characters in which the word was created, the second character being to the left of the first character in the sequence of characters in which the word was created.
13. The method of claim 11, wherein the location is to the right of the first representation, and wherein the method includes identifying at least one word that includes at least a second character adjacent to the first character in the sequence of characters in which the word was created, the second character being to the right of the first character in the sequence of characters in which the word was created.
14. The method of claim 11, further comprising: identifying the at least one word and presenting a second representation adjacent to the first representation on the display, the second representation being a representation of the word, the second representation being selectable to present a representation of the word at a location of the display where at least a portion of the first representation is presented.
15. The method of claim 11, wherein the method comprises: when the at least one representation is presented, it is determined that the at least one character did not create a correctly spelled word, and an indication is made on the display of a character of the at least one character that would create a correctly spelled word if replaced with a different character.
16. The method of claim 11, wherein the display is a touch display, and wherein the first input is determined to correspond to the location based on determining that the first input has been provided to a portion of the touch display that is within a threshold distance of a first representation of the first character.
17. An information processing method comprising:
presenting respective representations of characters in a sequence of characters on a display of an apparatus, the sequence including at least a first character at a first position in the sequence and a second character at a second position in the sequence, the respective representations being presented sequentially according to the sequence; determining whether any recommendations can be made and/or indicated for alternative characters to the first character; indicating the first character on the display if any recommendations can be made and/or indicated for alternative characters to the first character; and
in response to receiving a first input corresponding to the representation of the first character but not the representation of the second character, identifying at least one alternative character to the first character; identifying at least one alternative character to an adjacent character to the first character if the at least one alternative character to the first character is not identified; attempting to identify at least one word including the at least one alternative character based at least on the sequence and with the at least one alternative character;
wherein the recognized word is a correctly spelled word.
18. The method of claim 17, wherein the word is a first word, and wherein the method further comprises:
in response to receiving a second input corresponding to the representation of the second character but not the representation of the first character, at least attempting to identify at least a second word that includes a fourth character based on the sequence and replacing the second character with the fourth character at the second location, wherein the second word will be created if the second character at the second location in the sequence is replaced with the fourth character, the fourth character being different from the second character.
19. The method of claim 18, further comprising:
in response to receiving the first input and without additional input from a user, identifying the first word and presenting a representation of the first word on the display; and
in response to receiving the second input and without additional input from a user, the second word is identified and a representation of the second word is presented on the display.
20. The method of claim 18, further comprising:
selecting a third character adjacent to the second character in the sequence and attempting to identify at least a third word including a fifth character based on at least the sequence and replacing the third character in the sequence with the fifth character in response to a failure to: identifying at least a second word comprising a fourth character based on the sequence and replacing the second character with the fourth character at the second location, wherein the second word would be created if the second character at the second location were replaced with the fourth character.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/310,700 US20150370345A1 (en) | 2014-06-20 | 2014-06-20 | Identifying one or more words for alteration of user input of one or more characters |
US14/310,700 | 2014-06-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105320435A CN105320435A (en) | 2016-02-10 |
CN105320435B true CN105320435B (en) | 2021-07-27 |
Family
ID=53784770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510148623.8A Active CN105320435B (en) | 2014-06-20 | 2015-03-31 | Apparatus and method for recognizing word for changing user input |
Country Status (4)
Country | Link |
---|---|
US (1) | US20150370345A1 (en) |
CN (1) | CN105320435B (en) |
DE (1) | DE102015109297A1 (en) |
GB (1) | GB2529513B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101755625B1 (en) * | 2013-01-07 | 2017-07-07 | 삼성전자주식회사 | Display apparatus, method for ui display thereof and computer-readable recording medium |
US10534532B2 (en) * | 2014-08-08 | 2020-01-14 | Samsung Electronics Co., Ltd. | Electronic device and method for processing letter input in electronic device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2081102A1 (en) * | 2008-01-09 | 2009-07-22 | Research In Motion Limited | Method of facilitating user input in handheld electronic device employing a text disambiguation function |
CN101971127A (en) * | 2008-03-11 | 2011-02-09 | 微软公司 | Interpreting ambiguous inputs on a touch-screen |
US20110179353A1 (en) * | 2010-01-19 | 2011-07-21 | Research In Motion Limited | Mobile Electronic Device and Associated Method Providing Proposed Spelling Corrections Based Upon a Location of Cursor At or Adjacent a Character of a Text Entry |
EP2579251A1 (en) * | 2011-10-03 | 2013-04-10 | Google Inc. | Interactive text editing |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040179044A1 (en) * | 2003-03-13 | 2004-09-16 | International Business Machines Corp. | Method, system, and computer program product for providing visual assistance in display of information on a display device |
US8756527B2 (en) * | 2008-01-18 | 2014-06-17 | Rpx Corporation | Method, apparatus and computer program product for providing a word input mechanism |
US8627231B2 (en) * | 2008-03-28 | 2014-01-07 | Sprint Communications Company L.P. | List-position locator |
US9101961B2 (en) * | 2009-09-24 | 2015-08-11 | Nec Corporation | Word recognition apparatus, word recognition method, non-transitory computer readable medium storing word recognition program, and delivery item sorting apparatus |
EP2345971B1 (en) * | 2010-01-19 | 2012-03-28 | Research In Motion Limited | Mobile electronic device and associated method providing proposed spelling corrections based upon cursor location |
US8749531B2 (en) * | 2010-03-31 | 2014-06-10 | Blackberry Limited | Method for receiving input on an electronic device and outputting characters based on sound stroke patterns |
US20150160855A1 (en) * | 2013-12-10 | 2015-06-11 | Google Inc. | Multiple character input with a single selection |
-
2014
- 2014-06-20 US US14/310,700 patent/US20150370345A1/en not_active Abandoned
-
2015
- 2015-03-31 CN CN201510148623.8A patent/CN105320435B/en active Active
- 2015-06-11 DE DE102015109297.2A patent/DE102015109297A1/en active Pending
- 2015-06-16 GB GB1510502.6A patent/GB2529513B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2081102A1 (en) * | 2008-01-09 | 2009-07-22 | Research In Motion Limited | Method of facilitating user input in handheld electronic device employing a text disambiguation function |
CN101971127A (en) * | 2008-03-11 | 2011-02-09 | 微软公司 | Interpreting ambiguous inputs on a touch-screen |
US20110179353A1 (en) * | 2010-01-19 | 2011-07-21 | Research In Motion Limited | Mobile Electronic Device and Associated Method Providing Proposed Spelling Corrections Based Upon a Location of Cursor At or Adjacent a Character of a Text Entry |
EP2579251A1 (en) * | 2011-10-03 | 2013-04-10 | Google Inc. | Interactive text editing |
Also Published As
Publication number | Publication date |
---|---|
GB201510502D0 (en) | 2015-07-29 |
GB2529513B (en) | 2019-05-01 |
CN105320435A (en) | 2016-02-10 |
DE102015109297A1 (en) | 2015-12-24 |
US20150370345A1 (en) | 2015-12-24 |
GB2529513A (en) | 2016-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8266544B1 (en) | HTML pop-up control | |
US10817124B2 (en) | Presenting user interface on a first device based on detection of a second device within a proximity to the first device | |
CN104915163B (en) | Presenting elements based on configuration of a device | |
US20160062984A1 (en) | Devices and methods for determining a recipient for a message | |
US20160154555A1 (en) | Initiating application and performing function based on input | |
US10222867B2 (en) | Continued presentation of area of focus while content loads | |
US10403238B2 (en) | Presentation of representations of input with contours having a width based on the size of the input | |
US20130135350A1 (en) | Slant and overlaying graphical keyboard | |
US20150169214A1 (en) | Graphical input-friendly function selection | |
US20150347364A1 (en) | Highlighting input area based on user input | |
CN105320435B (en) | Apparatus and method for recognizing word for changing user input | |
US11175746B1 (en) | Animation-based auto-complete suggestion | |
US11256410B2 (en) | Automatic launch and data fill of application | |
US10726197B2 (en) | Text correction using a second input | |
US10430503B2 (en) | Electronic display content fitting | |
US10838597B2 (en) | Processing objects on touch screen devices | |
US9870188B2 (en) | Content visibility management | |
US9933994B2 (en) | Receiving at a device audible input that is spelled | |
US11048462B1 (en) | Associating a selector with plural applications for presenting the plural applications on respective plural monitors | |
US9996185B2 (en) | Preventing the automatic display of an onscreen keyboard | |
US10878179B2 (en) | Simplified text correction on a touch screen | |
US20180349691A1 (en) | Systems and methods for presentation of handwriting input | |
US10955988B1 (en) | Execution of function based on user looking at one area of display while touching another area of display | |
US10991139B2 (en) | Presentation of graphical object(s) on display to avoid overlay on another item | |
US10866728B2 (en) | Notch taskbar |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |