The present application claims the priority of Chinese Patent Application No. 201710184167.1, filed on Mar. 24, 2017, with the title of “Error-correcting word displaying method and apparatus, device and storage medium”, the entire disclosure of which is hereby incorporated by reference in its entirety.
The present disclosure relates to computer application technologies, and particularly to an error-correcting word displaying method and apparatus, a device and a storage medium.
Currently, along with intelligentization, mobility and fragmentation of various application scenarios, people are increasingly accustomed to operating on a portable smart terminal to complete his own daily demands such as shopping, travel, social communication, news and information browsing and the like. The smart terminal may include a mobile phone, tablet computer, vehicle-mounted device and the like.
Correspondingly, a mobile input method as a human-machine interaction means draws increasing attention, and iteration of its technology becomes faster and faster.
At present, mainstream mobile input methods in the industry all boost the user's experience under scenarios such as miss-input, less-input or miss-contact in a manner of supporting smart error correction.
, as a preferred candidate, is displayed to the user.
”, as a preferred candidate, is displayed to the user.
However, the above smart error-correcting manner has certain problems in practical application, for example, under the scenario that the user inputs precisely, too many and improper error-correcting words might be given.
For example, if the input code input by the user is “bengkui”, in addition to the precise word “”, error-correcting words “
” (‘g’ is considered as extra input) and “
” (‘k’ is corrected to ‘1’, and ‘i’ is corrected to ‘o’) are also displayed.
However, these error-correcting words are usually not be needed (not selected) by the user so that the accuracy of displaying results is reduced.
In view of the above, the present disclosure provides an error-correcting word displaying method and apparatus, a device and a storage medium, which can improve the accuracy of display results.
Specific technical solutions are as follows:
An error-correcting word displaying method, comprising:
obtaining a user-input input code;
obtaining a discreteness evaluation result of the input code;
determining an error-correcting adjustment policy according to the discreteness evaluation result;
displaying the error-correcting word corresponding to the input code according to the error-correcting adjustment policy.
An error-correcting word displaying apparatus, comprising: a collecting unit, an evaluating unit and an adjusting unit;
the collecting unit is configured to obtain an input code input by a user and send the input code to the evaluating unit;
the evaluating unit is configured to obtain a discreteness evaluation result of the input code and send the discreteness evaluation result to the adjusting unit;
the adjusting unit is configured to determine an error-correcting adjustment policy according to the discreteness evaluation result, and display error-correcting words corresponding to the input code according to the error-correcting adjustment policy.
A computer device, comprising a memory, a processor and a computer program which is stored on the memory and runs on the processor, the processor, upon executing the program, implementing the above-mentioned method.
A computer-readable storage medium on which a computer program is stored, the program, when executed by the processor, implementing the aforesaid method.
As can be seen from the above introduction, the solutions of the present disclosure may be employed to perform discreteness evaluation for the user-input input code to obtain the discreteness evaluation result, then determine an error-correcting adjustment policy according to the discreteness evaluation result, and display the error-correcting word corresponding to the input code according to the determined error-correcting adjustment policy, namely, to perform flexible adjustment of the display manner of the error-correcting words according to the user's input situations, thereby improving the accuracy of display results as compared with the prior art.
In view of problems existing in the prior art, the present disclosure provides an improved error-correcting word displaying method, according to which a discreteness evaluation result of input codes input by the user is obtained by evaluating quality of the user's input of each time from a discrete degree of falling points of keys, and the error-correcting degree is adjusted according to the discreteness evaluation result to give an error-correcting policy conforming to actual situations without affecting the user's experience of precise input.
A series of test corpuses may be collected. Each test corpus may include: an input code and a selected candidate word in one time of input that actually happened in the past. The selected candidate word may be precise word or an error-correcting word.
Furthermore, the text corpuses may be divided into two test groups. In one test group, what are selected are all precise words, and in another test group, what are selected are error-correcting words. Correspondingly, the two test groups may be respectively called a precise word test group and an error-correcting word test group.
It is feasible, for each test group, to respectively determine a discreteness evaluation result of the input code in each test corpus, and then compare the two test groups according to the determination results.
As shown in
As can be seen from
Technical solutions of the present disclosure will be described in more detail in conjunction with figures and embodiments to make technical solutions of the present disclosure clear and more apparent.
In 401, a user-input input code is obtained.
For example, the input code may be “women”, and the user may input each sub-code therein in turn, and the sub-codes form the input code in the input order.
It is possible to, while obtaining the user-input each sub-code, obtain falling point coordinates of each sub-code in the input code, and determine the discreteness evaluation result of the input code according to the falling point coordinates of each sub-code.
In 402 is obtained a discreteness evaluation result of the input code.
It is feasible to determine the discreteness evaluation result of the input code according to falling point coordinates of respective sub-codes after respectively obtaining the falling point coordinates of the respective sub-codes in the input code.
Specifically, the discreteness evaluation result of the input code may be obtained by calculation. The calculating manner includes but is not limited to: variance of distance, sum of squares, any simple function with the distance as a dependent variable, such as power function, exponential function, logarithmic function, trigonometric function and inverse trigonometric function, or a complex function related thereto.
For example, the discreteness evaluation result S of the input code may be obtained in the following manner:
Wherein (Xτ, Yτ) denotes coordinates of a center of a click response area corresponding to any sub-code i in the input code, (Px, Py) denotes falling point coordinates of the sub-code i, and T denotes a set of respective falling point coordinates.
In 403, an error-correcting adjustment policy is determined according to the discreteness evaluation results.
After the discreteness evaluation result of the input code is calculated, it is feasible to input the discreteness evaluation result to a preset mapping function to thereby obtain a mapping value, and determine an error-correcting adjustment policy corresponding to the mapping value, and consider the determined error-correcting adjustment policy as a desired error-correcting adjustment policy.
That is, R=E(S) (2)
Wherein E denotes the mapping function, R denotes the mapping value, and S denotes the discreteness evaluation result.
E may be a piecewise function or a continuous function. The specific function form is not limited and may be decided according to actual needs.
It is possible to preset the error-correcting adjusting policies respectively corresponding to different mapping values. A specific policy depends on actual needs.
The adjustment may comprise any one of the following or any combination thereof:
adjusting weight of error-correcting words, adjusting the number of displayed error-correcting words and adjusting display positions of error-correcting words and the like.
For example, it is possible to decrease or increase the weight of the error-correcting words. The magnitude of the weight affects a display sequence/position of the error-correcting words in the display results. It is feasible to limit the number of the displayed error-correcting words, limit the number of error-correcting words occurring before the precise word, or the like.
In 404, the error-correcting word corresponding to the input code is displayed according to the error-correcting adjustment policy.
In the prior art, when the user inputs the input code, the precise words and error-correcting words which correspond to the input code and are all usually in plurality are determined respectively. The determined precise words and error-correcting words may be sorted in a predetermined manner and then displayed to the user.
On this basis, it is feasible to determine the error-correcting adjustment policy in the manner stated in the present disclosure, and display error-correcting words corresponding to the input code according to the error-correcting adjustment policy, namely, display the error-correcting words according to the error-correcting word adjustment policy, for example, display the error-correcting words according to the limited number of displayed error-correcting words, display the error-correcting words according to the number of error-correcting words occurring before the precise word, or the like.
As compared with the prior art, in the solution of the present disclosure, it is possible to perform flexible adjustment of the display manner of the error-correcting words according to the user's input situations, thereby improving the accuracy of display results.
On this basis, the following optimization measures may be taken to further optimize and improve the solution of the present disclosure.
1) Optimization Manner 1
Before obtaining the discreteness evaluation result of the input code input by the user, it is feasible to first filter away sub-codes incompliant with predetermined requirements from the input code, and then obtain the discreteness evaluation result of the input code after the filtration processing.
That is, the sub-codes incompliant with predetermined requirements in the input code are considered as noise and filtered away, and the filtered-away sub-codes will not participate in the calculation of the discreteness evaluation result. How to filter is not limited and depends on actual needs.
For example, if a deviation between the falling point coordinates of a certain sub-code and the coordinates of a center of the click response area corresponding to the sub-cod is larger than a predetermined threshold, the sub-code may be filtered away.
Again for example, if the number of keys between the key corresponding to a certain sub-code and a desired key is larger than a predetermined threshold, the sub-code may be filtered away.
Calculating the discreteness evaluation result after the filtration may make the algorithm more adaptive and the calculation result more accurate.
2) Optimization Manner 2
It can be seen from the above introduction that the discreteness is in an association relationship with the length of the input code. Hence, it is feasible to input the discreteness evaluation result and the length of the input code simultaneously into a preset mapping function to obtain a mapping value and then determine the error-correcting adjustment policy corresponding to the mapping value.
That is, the mapping function in formula (2) may be optimized, and formula (2) becomes as follows:
R=E(S, L); (3)
L represents the length of the input code.
Fineness of the algorithm may be improved through formula (3).
3) Optimization Manner 3
The discreteness index varies might vary with different resolutions. It is feasible to employ an equal-scale scaling algorithm or a resolution fitting algorithm to eliminate the deviation caused by the difference in resolutions.
The equal-scale scaling algorithm may mean, before determining the discreteness evaluation result of the input code according to the falling point coordinates of sub-codes, first determining whether to perform standardization processing for falling points of the sub-codes in the input code; if yes, performing standardization processing for falling points of sub-codes in the input code, and determining the discreteness evaluation result of the input code according to the falling point coordinates of sub-codes after the standardization processing.
The resolution fitting algorithm may mean inputting the discreteness evaluation result, the length of the input code and resolution information of the input method panel into a preset mapping function to obtain a mapping value and determine the error-correcting adjustment policy corresponding to the mapping value.
R=E(S, L, Uw, Uh);
Wherein Uw and Uh respectively represent a width and height of the resolution of the input method panel.
In practical application, the solution of the present disclosure may be combined with a current input method model in an embedded manner or an add-on manner.
The above introduces the method embodiment. The solution of the present disclosure will be further described through an apparatus embodiment.
The collecting unit 501 is configured to obtain an input code input by a user and send the input code to the evaluating unit 502. The evaluating unit 502 is configured to obtain a discreteness evaluation result of the input code and send the discreteness evaluation result to the adjusting unit 503.
The adjusting unit 503 is configured to determine an error-correcting adjustment policy according to the discreteness evaluation result, and display error-correcting words corresponding to the input code according to the error-correcting adjustment policy.
The input code input by the user is comprised of a series of sub-codes. The sub-codes forms the input code in an input order, for example, the input code is “women”, wherein w is one of the sub-codes.
While obtaining the user-input sub-codes, the collecting unit 501 may further obtain falling point coordinates of sub-codes, and send the sub-codes and their falling point coordinates to the evaluating unit 502.
Correspondingly, the evaluating unit 502 may determine the discreteness evaluation result of the input code according to falling point coordinates of the respective sub-codes.
The evaluating unit 502 may calculate to obtain the discreteness evaluation result of the input code. The calculating manner includes but is not limited to: variance of distance, sum of squares, any simple function with the distance as a dependent variable, such as power function, exponential function, logarithmic function, trigonometric function and inverse trigonometric function, or a complex function related thereto.
The adjusting unit 503 may input the discreteness evaluation result obtained from the evaluating unit 502 to a preset mapping function to obtain a mapping value and then determine an error-correcting adjustment policy corresponding to the mapping value.
It is possible to preset the error-correcting adjusting policies respectively corresponding to different mapping values. A specific policy depends on actual needs.
The adjustment may comprise any one of the following or any combination thereof:
adjusting weight of error-correcting words, adjusting the number of displayed error-correcting words and adjusting display positions of error-correcting words and the like.
For example, it is possible to decrease or increase the weight of the error-correcting words. The magnitude of the weight affects a display sequence/position of the error-correcting words in the display results. It is feasible to limit the number of the displayed error-correcting words, limit the number of error-correcting words occurring before the precise word, or the like.
The adjusting unit 503 may display the error-correcting word corresponding to the input code according to the error-correcting adjustment policy.
On this basis, the following optimization measures may be taken:
The evaluating unit 502, before obtaining the discreteness evaluation result of the input code, first filters away sub-codes incompliant with predetermined requirements from the input code, and then obtain the discreteness evaluation result of the input code after the filtration processing;
In addition, the adjusting unit 503 may input the discreteness evaluation result and a length of the input code into a preset mapping function to obtain a mapping value and then determine the error-correcting adjustment policy corresponding to the mapping value;
The adjusting unit 503 may input the discreteness evaluation result, the length of the input code and resolution information of the input method panel into a preset mapping function to obtain a mapping value and determine the error-correcting adjustment policy corresponding to the mapping value.
Further, the evaluating unit 502 may further, before determining the discreteness evaluation result of the input code according to the falling point coordinates of sub-codes, determine whether to perform standardization processing for falling points of the sub-codes in the input code; if yes, perform standardization processing for falling points of sub-codes in the input code respectively, and determine the discreteness evaluation result of the input code according to the falling point coordinates of sub-codes after the standardization processing.
A specific workflow of the apparatus embodiment shown in
As shown in
Bus 18 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.
Computer system/server 12 typically includes a variety of computer system readable media. Such media may be any available media that is accessible by computer system/server 12, and it includes both volatile and non-volatile media, removable and non-removable media.
Memory 28 can include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and/or cache memory 32. Computer system/server 12 may further include other removable/non-removable, volatile/non-volatile computer system storage media. By way of example only, storage system 34 can be provided for reading from and writing to a non-removable, non-volatile magnetic media (not shown in
Program/utility 40, having a set (at least one) of program modules 42, may be stored in the system memory 28 by way of example, and not limitation, as well as an operating system, one or more disclosure programs, other program modules, and program data. Each of these examples or a certain combination thereof might include an implementation of a networking environment. Program modules 42 generally carry out the functions and/or methodologies of embodiments of the present disclosure.
Computer system/server 12 may also communicate with one or more external devices 14 such as a keyboard, a pointing device, a display 24, etc.; with one or more devices that enable a user to interact with computer system/server 12; and/or with any devices (e.g., network card, modem, etc.) that enable computer system/server 12 to communicate with one or more other computing devices. Such communication can occur via Input/Output (I/O) interfaces 22. Still yet, computer system/server 12 can communicate with one or more networks such as a local area network (LAN), a general wide area network (WAN), and/or a public network (e.g., the Internet) via network adapter 20. As depicted in
The processor 16 executes various function applications and data processing by running programs stored in the memory 28, for example, implement the method in the embodiment shown in
Reference may be made to relevant depictions in the above method embodiment for specific implementation, which will not be detailed any more here.
The present disclosure further provides a computer-readable storage medium on which a computer program is stored. The program, when executed by a processor, can implement the method in the embodiment shown in
The computer-readable medium of the present embodiment may employ any combinations of one or more computer-readable media. The machine readable medium may be a machine readable signal medium or a machine readable storage medium. A machine readable medium may include, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine readable storage medium would include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the text herein, the computer readable storage medium can be any tangible medium that include or store programs for use by an instruction execution system, apparatus or device or a combination thereof.
The computer-readable signal medium may be included in a baseband or serve as a data signal propagated by part of a carrier, and it carries a computer-readable program code therein. Such propagated data signal may take many forms, including, but not limited to, electromagnetic signal, optical signal or any suitable combinations thereof. The computer-readable signal medium may further be any computer-readable medium besides the computer-readable storage medium, and the computer-readable medium may send, propagate or transmit a program for use by an instruction execution system, apparatus or device or a combination thereof.
The program codes included by the computer-readable medium may be transmitted with any suitable medium, including, but not limited to radio, electric wire, optical cable, RF or the like, or any suitable combination thereof.
Computer program code for carrying out operations disclosed herein may be written in one or more programming languages or any combination thereof. These programming languages include an object oriented programming language such as Java, Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
In the embodiments provided by the present disclosure, it should be understood that the revealed apparatus and method can be implemented in other ways. For example, the above-described embodiments for the apparatus are only exemplary, e.g., the division of the units is merely logical one, and, in reality, they can be divided in other ways upon implementation.
The units described as separate parts may be or may not be physically separated, the parts shown as units may be or may not be physical units, i.e., they can be located in one place, or distributed in a plurality of network units. One can select some or all the units to achieve the purpose of the embodiment according to the actual needs.
Further, in the embodiments of the present disclosure, functional units can be integrated in one processing unit, or they can be separate physical presences; or two or more units can be integrated in one unit. The integrated unit described above can be implemented in the form of hardware, or they can be implemented with hardware plus software functional units.
The aforementioned integrated unit in the form of software function units may be stored in a computer readable storage medium. The aforementioned software function units are stored in a storage medium, including several instructions to instruct a computer device (a personal computer, server, or network equipment, etc.) or processor to perform some steps of the method described in the various embodiments of the present disclosure. The aforementioned storage medium includes various media that may store program codes, such as U disk, removable hard disk, Read-Only Memory (ROM), a Random Access Memory (RAM), magnetic disk, or an optical disk.
What are stated above are only preferred embodiments of the present disclosure and not intended to limit the present disclosure. Any modifications, equivalent substitutions and improvements made within the spirit and principle of the present disclosure all should be included in the extent of protection of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
201710184167.1 | Mar 2017 | CN | national |