WO2017005207A1 - 一种输入方法、输入装置、服务器和输入系统 - Google Patents

一种输入方法、输入装置、服务器和输入系统 Download PDF

Info

Publication number
WO2017005207A1
WO2017005207A1 PCT/CN2016/089113 CN2016089113W WO2017005207A1 WO 2017005207 A1 WO2017005207 A1 WO 2017005207A1 CN 2016089113 W CN2016089113 W CN 2016089113W WO 2017005207 A1 WO2017005207 A1 WO 2017005207A1
Authority
WO
WIPO (PCT)
Prior art keywords
sequence
button
input
operation positions
point
Prior art date
Application number
PCT/CN2016/089113
Other languages
English (en)
French (fr)
Inventor
刘辉
Original Assignee
北京搜狗科技发展有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京搜狗科技发展有限公司 filed Critical 北京搜狗科技发展有限公司
Publication of WO2017005207A1 publication Critical patent/WO2017005207A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer

Definitions

  • the present invention relates to the field of input methods, and in particular, to an input method, an input device, a server, and an input system.
  • electronic devices are one of the main devices for information exchange between users and computer systems, which can facilitate users to input data and information in various occasions. For example, a user may enter a keyword in a search engine to search for a web page, or enter text in an instant messaging tool to communicate with other users, or enter text in an office software to edit a document, and the like.
  • both the physical keyboard and the virtual keyboard need to be limited in size to the screen size of the electronic device, and the user has to click on a button in a limited-size keyboard to enter text, which makes the traditional input method inflexible.
  • the technical problem to be solved by the embodiments of the present invention is to provide an input method, an input device, a server and an input system for improving the flexibility and convenience of text input.
  • an input method including:
  • the present invention discloses an input device comprising:
  • a space generation module for generating a three-dimensional space
  • a sequence detecting module configured to detect a sequence of operating positions generated by the user in the three-dimensional space
  • An area determining module configured to determine a button area corresponding to the sequence of operation positions
  • a button determining module configured to determine, according to the button area, a button sequence corresponding to the sequence of operation positions
  • the candidate conversion module is configured to obtain corresponding candidates according to the key sequence conversion.
  • the present invention discloses a server, including:
  • a sequence receiving module configured to receive a sequence of operation locations sent by the terminal device
  • An area determining module configured to determine a button area corresponding to the sequence of operation positions
  • a button determining module configured to determine, according to the button area, a button sequence corresponding to the sequence of operation positions
  • the candidate conversion module is configured to obtain corresponding candidates according to the key sequence conversion.
  • the present invention discloses an input system including: a terminal device and the foregoing server;
  • the terminal device includes:
  • a space generation module for generating a three-dimensional space
  • a sequence detecting module configured to detect a sequence of operating positions generated by the user in the three-dimensional space
  • a sequence sending module configured to send the sequence of the operation locations to the server.
  • the embodiment of the present invention generates a three-dimensional space, detects a sequence of operation positions generated by the user in the three-dimensional space, and then determines a button area corresponding to the operation position sequence, and determines a key sequence corresponding to the operation position sequence according to the button area;
  • the embodiment of the present invention can provide the user with a wider three-dimensional space for generating a button operation, thereby improving the flexibility and convenience of text input.
  • the input can be realized by tapping alone, not only getting rid of the limitation of the input keyboard such as the physical keyboard, but also getting rid of the scene limitation such as running, thereby realizing the input anytime and anywhere. .
  • Embodiment 1 is a flow chart showing the steps of Embodiment 1 of an input method of the present invention
  • FIG. 2 is a diagram showing an example of the structure of a terminal device of the present invention.
  • FIG. 3 is a diagram showing an example of application of a terminal device of the present invention.
  • 4A is a diagram showing an example of a full keyboard button of the present invention.
  • 4B is a view showing an example of a nine-square grid button of the present invention.
  • 5A to 5B are diagrams showing an example of a associative process of the present invention.
  • Embodiment 2 is a flow chart showing the steps of Embodiment 2 of an input method of the present invention.
  • FIG. 7 is a flow chart showing the steps of Embodiment 3 of an input method of the present invention.
  • Figure 8 is a schematic illustration of an input scenario 1 of the present invention.
  • Figure 9 is a schematic illustration of an input scene 2 of the present invention.
  • Figure 10 is a block diagram showing the structure of an input device of the present invention.
  • FIG. 11 is a block diagram showing the structure of a server embodiment of the present invention.
  • Figure 12 is a block diagram showing the structure of a first embodiment of an input system of the present invention.
  • Figure 13 is a block diagram showing the structure of a second embodiment of an input system of the present invention.
  • Figure 14 is a block diagram of a computing device for performing an input method in accordance with the present invention.
  • Figure 15 is a memory unit for holding or carrying program code implementing an input method in accordance with the present invention.
  • FIG. 1 a flow chart of a first embodiment of an input method of the present invention is shown, which may specifically include the following steps:
  • Step 101 Generate a three-dimensional space
  • the three-dimensional space can be used to represent a detection space generated by a wireless signal such as a magnetic field, an infrared, an ultrasound, or an X-ray.
  • a wireless signal such as a magnetic field, an infrared, an ultrasound, or an X-ray.
  • the characteristic of the signal energy change in the three-dimensional space can be utilized to detect the position coordinates corresponding to the button operation, thereby realizing Key operation detection without input keyboard.
  • position coordinates in the embodiment of the present invention may be three-dimensional Cartesian coordinates, cylindrical coordinates, or spherical coordinates.
  • the embodiment of the present invention does not limit the representation of the position coordinates.
  • the three-dimensional space may be a spherical space centered on the terminal device, or a square space with the terminal device as a coordinate origin, and the like, and the specific shape of the three-dimensional space is not used in the embodiment of the present invention. limit.
  • the size of the three-dimensional space can be determined by the prior art The personnel set according to the actual situation.
  • the radius of the spherical space may be a value calculated according to the length of the ordinary person's arms.
  • a schematic structural diagram of a terminal device of the present invention is shown, which may specifically include: a wristband 200, which may include a signal transmitting module 201 and a USB (Universal Serial Bus) interface. 202, a locator 203, a flexible LED (Light Emitting Diode) strip 204, an elastic metal bracket 205, and a lithium ion battery 206.
  • the USB interface 202 can be connected to a mobile power source, a charger, etc., for charging the lithium ion battery 206; the flexible LED strip 204 can be used to identify the working state, and let the user perceive that it is in a standby state or a working state. For example, when the flexible LED strip 204 is illuminated, the identification bracelet 200 is in an active state, and when the flexible LED strip 204 is not lit, the identification bracelet 200 is in a standby state; the elastic metal bracket 205 can serve to fix and support the bracelet 200.
  • the function is such that the wristband 200 assumes a circular state to facilitate the user to wear the wristband 200 at the user's wrist; the lithium ion battery 206 can be used to provide operating power for the signal transmitting module 201, the locator 203, and the flexible LED strip 204.
  • FIG. 3 there is shown an application example diagram of a terminal device of the present invention, wherein the wristband 200 can be worn at the wrist of the user, and the locator 203 can be used to position the wrist.
  • the position of the wrist positioned by the locator 203 can be used as the coordinate origin of the three-dimensional space.
  • the signal transmitting module 201 may specifically include: a motion sensor and a signal transmitter, wherein the signal transmitter may use the locator 203 as a coordinate origin to emit a wireless signal to form a three-dimensional space; the motion sensor may be configured to detect a displacement of the user's finger in the three-dimensional space. The information enables the locator 203 to calculate the position coordinates of the corresponding position points of each finger when each button operation is generated, based on the displacement information obtained by the motion sensor.
  • wristband 200 is only an example of the terminal device.
  • those skilled in the art can implement various input devices to implement the input method of the present invention, and the embodiment of the present invention does not apply to a specific terminal device. limit.
  • Step 102 Detect a sequence of operation positions generated by the user in the three-dimensional space.
  • embodiments of the present invention can implement virtual input without an input keyboard.
  • the user's left index finger can control the buttons R, T, F, G, V, B.
  • the left middle finger can control the buttons E, D, C, and the left ring finger can be controlled.
  • Buttons W, S, X, left hand little finger can control button Q, A, Z, right index finger can control button Y, U, H, J, N, M, right middle finger can control button I, K, right hand ring finger can control button O , L, right hand little finger control button P.
  • the buttons F and J generally have projections, so they can be used as positioning keys.
  • the user can use the finger to generate each key operation on the imaginary QWERTY keyboard, and the embodiment of the present invention can use the motion sensor and the locator 203 to obtain the position of each finger corresponding to the position at which each key operation is generated. coordinate.
  • the sequence of the operation position may specifically include a plurality of position points
  • the sequence of the operation position may be understood as a sequence in which a plurality of position points are sequentially arranged, and the order here is mainly a time sequence of generation of each position point.
  • the sequence of operation positions generated by the user is ABCDEFG.
  • Step 103 Determine a button area corresponding to the sequence of operation positions
  • the position of the imaginary keyboard tends to be random.
  • the imaginary keyboard can be considered to be located.
  • the imaginary keyboard has no fixed plane to follow.
  • the size of the imaginary keyboard is also random for different users.
  • the position and the size of the imaginary keyboard are random, and the position coordinates (x, y, z) of each position point in the operation position sequence are used to dynamically determine the sequence corresponding to the operation position sequence.
  • the button area can be used as an actual keyboard area corresponding to the imaginary keyboard, and the actual keyboard area is used to determine a key sequence corresponding to the operation position sequence, for example, determining the operation position sequence ABCDEFG. The corresponding key sequence, and so on.
  • Sub-step S11 determining a button plane corresponding to the sequence of operation positions
  • Determining the first scheme determining a horizontal plane passing through the coordinate origin as a button plane corresponding to the sequence of operation positions;
  • the determining scheme 2 determines the button plane corresponding to the sequence of the operation position according to the coplanar attribute of the position point in the sequence of the operation position.
  • the coplanar attribute of the position point in the sequence of the operation position may specifically include: whether the position points of all the position points in the operation position sequence are coplanar, and which part position points are coplanar. For example, if AB is parallel to CD in the operating position sequence ABCDEFG, then A, B, C, and D can determine a plane 1, Alternatively, the three points A, B, and C can determine a plane 2, or the point E is not in plane 1 but on plane 2, and so on.
  • a plane including a maximum number of position points in the sequence of operation positions may be used as a button plane corresponding to the sequence of operation positions; or, when two or more planes are determined in a position point in the sequence of operation positions, The plane centered on the height coordinate is used as the button plane corresponding to the sequence of the operation position; or the plane passing through the coordinate origin and including the most position point is used as the button plane corresponding to the sequence of the operation position, and the like.
  • the specific process of determining the button plane corresponding to the sequence of operation positions is not limited in the embodiment of the present invention.
  • Sub-step S12 determining a button area corresponding to the sequence of operation positions according to a button point in the button plane corresponding to each position point in the sequence of operation positions.
  • the key points in the button plane corresponding to each position point in the sequence of operation positions may be determined by:
  • Sub-step S121 when the location point in the sequence of operation positions is located in the button plane, the corresponding location point is taken as its corresponding button point;
  • Sub-step S122 when the position point in the sequence of the operation position is not located in the button plane, the projection point of the corresponding position point on the button plane is taken as its corresponding button point.
  • the button plane may be a plane passing through the coordinate origin, and the following step may be used to determine whether the location point in the sequence of operation positions is located in the button plane:
  • Sub-step S1211 calculating an angle formed by the line connecting the position point and the coordinate origin with the button plane;
  • Sub-step S1212 when the angle is 0, it is determined that the position point in the sequence of operation positions is located on the button plane;
  • determining a button point corresponding to the position point may specifically include: using the position point as a starting point to make a vertical line to the button plane, and the vertical line and the button plane are The intersection point is a button point in the button plane corresponding to the position point.
  • the vertical line is perpendicular to the plane of the button.
  • the perpendicular line is a vertical line, perpendicular to the horizontal plane.
  • the button plane may also be a plane that does not pass the coordinate origin, and first needs to find a projection point of the coordinate origin in the button plane as a projection coordinate origin; and then calculate the location point.
  • the positions in the sequence of the operating positions are The step S12 of determining the button area corresponding to the sequence of the operation position corresponding to the button point in the button plane corresponding to the point may specifically include: using the effective button point in the button plane corresponding to each position point in the sequence of the operation position Combine to get the corresponding button area.
  • the valid key points can be used to indicate the key points corresponding to the valid input, and the valid input here is opposite to the invalid input generated by the erroneous operation.
  • a corresponding boundary area may be drawn according to a valid key point corresponding to each position point in the sequence of operation positions, and a line segment is drawn in the boundary area according to the valid key point to be used in the A single button area corresponding to each button in the keyboard style of the QWERTY keyboard of FIG. 4A or the nine-square grid keyboard of FIG. 4B is drawn in the boundary area, thereby obtaining the above-mentioned button area.
  • a preset button area may be pre-drawn according to the user feature information, and the position and size of the preset button area may be adjusted according to the effective button point, for example, according to the valid button point.
  • the above-mentioned adjustment is performed by the rule uniformly distributed in the preset button area.
  • the above-mentioned QWERTY keyboard and the nine-square grid keyboard are only an example of the keyboard style, and are not to be construed as limiting the use of the keyboard in the present invention. In fact, those skilled in the art can adopt various keyboard styles according to actual needs.
  • the user can also provide a keyboard style setting interface or a custom interface, so that the user can set or define a keyboard style suitable for oneself. For example, a user who is accustomed to one-handed input can set the above-mentioned nine-square grid keyboard, and a user who is accustomed to two-hand input can set The above QWERTY keyboard, the user who is accustomed to the vowel input can customize the vowel keyboard, and so on.
  • the user may continuously detect the sequence of operation positions generated by the user.
  • the corresponding button region may be obtained according to the initial sequence of operation positions, and then the subsequent operation positions may be utilized.
  • the sequence corrects the existing button area to obtain the current button area, that is, the button area of the embodiment of the present invention may continuously change as the sequence of operation positions increases.
  • user characteristic information may also be considered in determining the key area corresponding to the sequence of operation positions.
  • the user feature information may be information for identifying a user's body type feature.
  • the user feature information may include, but is not limited to, at least one of the following: palm size information, finger length information, user input. Feature information, arm spacing information, height information. Specifically, when the user's palm is large and the finger is long, the user is input. When the button is pressed, the range of the button is large, so the button area is also large; when the user's arms are separated by a large distance, the distance between the hands is also large, so the button area is also large; when the user is tall, the The spacing between the hands is also large, so the button area will be larger.
  • the user input feature information may also be information identifying the input feature. For example, a user is accustomed to entering a proper noun of the occupation due to a professional problem. Therefore, the button area of the button corresponding to the proper noun can be larger than the button area of other buttons.
  • user feature information is only an example.
  • other user feature information may be set according to an actual situation, which is not limited by the embodiment of the present invention.
  • other user feature information may be used by those skilled in the art according to actual needs, which is not limited by the embodiment of the present invention.
  • the user feature information may be user feature information of multiple users, and may be collected by the server, for example, by the user, or collected by the terminal device and then uploaded to the server.
  • the server may push the collected user characteristic information of the plurality of users to the terminal device periodically (for example, every weekend) or from time to time.
  • user feature information such as palm size information, finger length information, user input feature information, dual-arm distance information, height information, and the like can be collected in a large amount, that is, different input habits, different ages, and different hand types can be accumulated.
  • User data Further, the input method model can be constructed based on the user data, so that the relationship between the hand position and the input can be determined, and the recognition accuracy of the input is greatly improved.
  • the user feature information may be collected at the current time, or the user feature information may be collected in advance.
  • the specific collection time and the collection mode of the user feature information are not limited in the embodiment of the present invention.
  • the corresponding button area can be obtained by combining the effective key points in the button plane corresponding to each position point in the operation position sequence. Then the present invention can provide the following effective key point determination scheme:
  • the input displacement can be calculated (usually measured by the distance between the position points of the two adjacent inputs, for example, the input displacement corresponding to the button point can be set as: the sequence of the operation position corresponding to the button point The distance between the position point and the position point corresponding to the previous or next button point), and determining whether it is a valid button point according to the input displacement of the button point; if the input displacement corresponding to a button point exceeds the preset first
  • the first input displacement range may be set by a person skilled in the art according to actual requirements.
  • the boundary value of the first input displacement range may be a value determined according to a single arm length, and, for example, the boundary value may also be The value determined by the boundary of the last button area, and so on.
  • the input angle can be calculated (for example, the input angle corresponding to the button point can be set as: the angle between the line connecting the position point of the operation position sequence corresponding to the button point and the coordinate origin and the button plane) And determining whether it is a valid button point according to the input angle of the button point; if the input angle corresponding to a button point exceeds the preset first input angle range, for example, the first input angle range may be -90° ⁇ ⁇ ⁇ 90 °, you can judge that the button point is an invalid button point, otherwise, you can judge that the button point is a valid button point.
  • the embodiment of the present invention does not limit the specific first input angle range.
  • the input frequency can be calculated (usually measured by the time interval of the button input by the user continuously, for example, the input frequency of the button point can be set as: the generation time of the position point in the sequence of the operation position corresponding to the button point And the time interval between the generation time of the previous or next position point), and determining whether it is a valid key point according to the input frequency of the button point; if the input frequency corresponding to a button point exceeds the preset input frequency range, then It can be judged that the button point is an invalid button point, and vice versa, it can be judged that the button point is a valid button point.
  • the effective input can be judged by judging the speed of the specific button of the user.
  • the speed of one-hand typing is less than 60 words/min, and the average number of single-word keys is 2.98.
  • the two-hand input frequency threshold is generally greater than the one-hand input frequency threshold. If the input frequency exceeds the two-hand input frequency threshold, it can be judged as invalid input. If the input frequency does not exceed the two-hand input frequency threshold, it can be judged as valid input.
  • Step 104 Determine a key sequence corresponding to the sequence of operation positions according to the button area.
  • Sub-step S21 extracting, from the button area, a button corresponding to each position point in the sequence of operation positions;
  • the button area can also be understood as a plane area in the three-dimensional space, wherein each button has a corresponding position coordinate, and each position in the sequence of operation positions is extracted from the button area.
  • the process of matching the corresponding button may be a process of matching the position coordinates of each position point in the sequence of the operation position with the position coordinates of the button in the button area, and the embodiment of the present invention does not limit the specific matching process. .
  • Sub-step S22 determining a location according to a button corresponding to each position point in the sequence of operation positions The sequence of keys corresponding to the sequence of operating positions.
  • the projection vector may specifically include parameters such as an input distance and an input angle.
  • the input angle may be used to indicate an angle between the projection vector and the Y axis, for example, three position points of the user.
  • the angles corresponding to the projection vector and the Y axis of B, C are ⁇ 1, ⁇ 2, and ⁇ 3, respectively;
  • the input distance can be used to indicate the distance between the end point of the projection vector and the Y axis, for example, the corresponding projections of the user's three position points A, B, and C.
  • the distance between the vector and the Y axis is D1, D2 and D3 respectively.
  • the key sequence obtained according to the button corresponding to each position point in the sequence of operation positions may be directly used as the key sequence corresponding to the sequence of operation positions.
  • the button operation generated by the user according to the imaginary keyboard may be more or less erroneously input, and is determined by the embodiment of the present invention.
  • the button area may have a certain error with the above imaginary keyboard. Therefore, in the embodiment of the present invention, the key sequence corresponding to the operation position sequence may be subjected to matching processing and/or error correction processing and/or association processing, and the processed key sequence is used as the key sequence corresponding to the operation position sequence.
  • the matching processing mainly includes: legal verification of the key sequence, matching of the key sequence and the lexicon, and the like; in a specific implementation, the rule of the key sequence may be performed by using a verification rule such as a pinyin rule and a glyph rule. check. For example, when the above key sequence is the pinyin string "pinqiong”, it is verified as a legal key sequence; and when the above key sequence is the pinyin strings "pimqiong”, “pibqiong” and “pinqong”, it is verified as illegal. Key sequence.
  • the key sequence when the matching process of the button sequence fails (such as the above key sequence does not conform to the pinyin rule, or the term corresponding to the button sequence does not exist in the thesaurus), the key sequence may be error-corrected.
  • the specific triggering conditions of the error correction processing are not limited in the embodiment of the present invention.
  • the embodiment does not limit the specific error correction method.
  • the error correction rule may be preset, and the error correction rule may specifically include: an error correction rule corresponding to the recode, an error correction rule corresponding to the edit distance, and an error correction rule corresponding to the fuzzy tone. And so on, the embodiment of the present invention does not limit the specific error correction rules.
  • the step of performing error correction processing on the key sequence may specifically include:
  • Sub-step S31 performing editing processing on the key sequence, and the edit distance between the obtained error correction key sequence and the key sequence is less than a distance threshold.
  • the edit distance can be used to represent the minimum number of edit operations required between two key sequences, one to another.
  • the above editing operation may specifically include an operation of replacing one character with another character, inserting one character, and deleting one character, and the like.
  • the above-mentioned distance threshold can be determined by a person skilled in the art according to actual needs, for example, it can be a value of 1, 2, etc., and the specific distance threshold is not limited in the embodiment of the present invention.
  • the embodiment of the present invention can also solve the error correction problem in various situations by using the above edit distance, such as error pressing, less pressing, multiple pressing, error correction in the case where two adjacent character positions are reversed, and the like.
  • the step of performing error correction processing on the key sequence may further include:
  • Sub-step S32 calculating a first probability of the error correction key sequence in the context based on context information of the key sequence
  • Sub-step S33 screening the error correction key sequence according to the first probability.
  • the context information can be used to represent the upper screen content of the user in the input environment (context), such as the upper screen content in the current application hosted by the input method program, the upper screen content refers to the user has completed input and display Content.
  • the error correction key sequence when the number of error correction key sequences is greater than or equal to 2, the error correction key sequence may be filtered to obtain a context-correction key sequence, so that the error correction candidate text string is more consistent with the input. Context to improve the accuracy of error correction.
  • the embodiment of the present invention obtains the context information from the upper screen content, and subsequently follows the context. The information determines the error correction key sequence.
  • the embodiment of the present invention can select any value between 1 and 3 according to the actual situation and the computing power of the electronic device used by the user. For example, when the user is in the continuous input process, the surplus of the resource may be calculated according to the electronic device. When the resource is the most abundant, X is 3, and when it is the worst, 1 is taken. Of course, in the actual process, X may also take any integer greater than 3. The embodiment of the present invention does not limit the value of X.
  • the foregoing context information may specifically include: a context string and/or a context string.
  • a context string and/or a context string For example, if the above key sequence "ysnjing" is "your”, the corresponding context string and context string are "your” and “nide”, respectively.
  • the obtaining the context information from the upper screen content may further include: acquiring an upper screen text string from the upper screen content as a context text string; using the upper screen text string corresponding character string as a context string; using the context text
  • the string and/or context string constitute the context information.
  • sub-step S33 may sort the error-correcting key sequence according to the first probability from large to small, and select the first N error-correcting key sequences, where N is a natural number, and the value of N is not used in the embodiment of the present invention. limit.
  • the calculating, by the sub-step S32, the first probability that the error correction key sequence is in the context based on the context information of the key sequence may include:
  • Sub-step S321 calculating a probability that the error correction key sequence appears on the basis of the context information
  • Sub-step S322 calculating a probability that the error correction key sequence is mis-transduced into the key sequence on the basis of the context information
  • Sub-step S323 determining a first probability of the error correction key sequence in the context based on a probability of occurrence of the error correction key sequence and a probability that the error correction key sequence is misregistered into the key sequence.
  • the combination information between the at least two words may be stored using binary and binary relation data, and the relationship data is obtained by using binary and binary relation data.
  • the probability of occurrence of a wrong key sequence and the probability that the error correction key sequence is mistyped into the key sequence may be stored using binary and binary relation data, and the relationship data is obtained by using binary and binary relation data.
  • a binary relationship also known as 2-gram, can be used to indicate the probability that two elements will appear one after another.
  • the elements here can be phonemes, syllables, stroke strings, letters or words.
  • the binary specific may include a binary relationship of vocabulary, a binary relationship of syllables, a binary relationship of phonemes and letters.
  • a relationship of more than two is used to indicate the probability that two or more elements appear one after another.
  • a ternary relationship can be used to indicate the probability that the words "your", "eye” and "betrayal” appear one after another. The following mainly describes the binary relationship as an example. For the relationship of two or more, please refer to it.
  • the binary relation data of Chinese/English vocabulary, and/or English/English vocabulary, and/or medium/medium vocabulary can be used to obtain a binary library.
  • the corpus may be an Internet corpus acquired based on a web crawling technology, or may be a corpus accumulated by a cloud computing input method; in addition, the Internet may be an internet blog corpus, an internet news corpus, and/or an internet forum corpus, etc.
  • the embodiments of the present invention do not limit the specific corpus.
  • the co-occurrence probability of A and B can be calculated by the following formula:
  • the first column represents a collocation relationship between two character strings
  • the second column represents a connection parameter of the collocation relationship
  • the connection parameter may include: an adjacent co-occurrence probability, a co-occurrence frequency or a connection strength value, etc., wherein the adjacent co-occurrence probability may be obtained according to the corpus statistics, and the co-occurrence probability may be based on two words adjacent to each other The co-occurrence probability and the word frequency calculation of the two words are obtained, and the connection strength value can be calculated according to the adjacent co-occurrence probability and the co-occurrence probability of the two words.
  • connection parameter may be any value indicating the strength of the collocation relationship, which is not limited by the embodiment of the present invention.
  • the form of the binary relationship may be arbitrarily set as needed, which is not limited by the embodiment of the present invention.
  • the second row to the fourth row in Table 1 respectively describe the probability distribution of "yanjing", “tanjing”, and “hanjing” under the condition of the given context string "nide”; the fifth to sixth rows in Table 1
  • the probability distributions of "maoba” and “maoma” appear under the condition that the given context string "huma” is respectively described. Based on this, for each string, the above method can be used to calculate the probability of occurrence of other strings when it is used as a context string.
  • the probability that the error correction key sequence is misdirected into the key sequence may be obtained by a statistical method on the basis of the context information. Referring to Table 2, an example of a fragment of a binary relationship of the present invention is shown, where the first column indicates the probability that a character string is mistyped into another character string in the case of a given context string, and second Column indicates the collocation relationship Connection parameters.
  • Nide-yanjing >ysnjing 0.3732
  • Nide-tanjing >ysning 0.0023
  • Nide-hanjing >ysnjing 0.0769
  • the second to fourth lines describe the probability that the strings “yanjing”, “tanjing”, and “hanjing” are each mistakenly converted to “ysnjing” on the premise that the given context string "nide”. Based on this, for each string, the above method can be used to calculate the probability that one string is mistyped into another string when it is used as a context string.
  • the probability of occurrence of the error correction key sequence and the probability that the error correction key sequence is misdirected into the key sequence is determined in sub-step S323, and the error correction button is determined.
  • the first probability of the sequence in the context, the first probability of the error correction key sequence in the context can be determined by the following formula:
  • src represents the encoded string of the user input containing the context string, wherein the encoded string contains the wrong string, and dst represents the error correcting candidate string containing the context string
  • equation (2) Given the encoded string containing the context string, the probability of the error correction candidate key sequence in the encoded string, ie the first probability of the error correction candidate string key sequence in the context string, is determined.
  • dst) can be used to represent an error correction model combined with a context string, which can be obtained by Table 2;
  • p(dst) can be used to represent a binary relationship combined with a context string, which can be obtained through Table 1. Obtained;
  • p(src) is a fixed value.
  • the above association processing is mainly used to predict the content that the user will input.
  • the button input by the user is the pinyin string “guose”
  • one of the candidate words of “guose” is “national color”, and after “national color”, it can be predicted that the user inputs “tianxiang”, then When “National Color” is selected by the user to display the screen, “Tianxiang” can be displayed immediately.
  • the error correction model and the prediction model can be established according to different input habits, user data of different ages and different hand types, and the key sequence is determined by using the established error correction model. Perform error correction processing and use the established pre- The measurement model performs association processing on the above key sequence and the like.
  • the embodiment of the present invention performs matching processing and/or error correction processing and/or association processing on the above key sequence, ensures correctness of input when there is no input device, and avoids repeated input by the user when an error occurs, thereby further improving input efficiency.
  • Step 105 Convert the corresponding candidate according to the above key sequence conversion.
  • Step 105 may adopt corresponding conversion rules, and obtain corresponding candidates according to the key sequence conversion.
  • the key sequence herein may specifically include: an original key sequence and/or an error correction key sequence obtained by correcting the original key sequence and / or Lenovo key sequence obtained by associating the original key sequence.
  • the above conversion rules may specifically include: a five-stroke rule, a simple spelling rule, a full-stitching rule, a double-stitching rule, and the like.
  • a mapping relationship between a key sequence and a term may be established for a conversion rule, and the mapping relationship is stored in a thesaurus to convert the key sequence into corresponding candidates by using a search term library, and the present invention
  • the embodiment does not limit the specific conversion process. For example, for the error correction key sequence "yanjing", it can be converted into an "eye" candidate according to the full spelling rule.
  • the vocabulary of the embodiment of the present invention may specifically include: a general vocabulary, a user vocabulary, a popular vocabulary, etc., wherein the general vocabulary can be used to store common terms; the user vocabulary can be used to store user input.
  • the term, popular vocabulary can be used to store the latest hot terms, which can be pushed by the server to the client periodically.
  • the foregoing term may be a vocabulary term, an idiom term or a short sentence term, and the like, and the embodiment of the present invention does not limit the specific term.
  • the embodiment of the present invention generates a three-dimensional space, detects a sequence of operation positions generated by the user in the three-dimensional space, and then determines a button area corresponding to the operation position sequence, and determines a button corresponding to the operation position sequence according to the button area.
  • the present invention can provide a user with a wider three-dimensional space for generating a button operation, and thus can effectively avoid the limitation of the keyboard size in the existing solution.
  • the resulting button difficulty and erroneous input can reduce the difficulty of the button, effectively reduce the occurrence of erroneous input, and thus improve the input efficiency.
  • the input can be realized by tapping alone, not only getting rid of the limitation of the input keyboard such as the keyboard, but also getting rid of the scene limitation such as running, thereby realizing the input anytime and anywhere. Greatly improved input efficiency.
  • the terminal device may perform the foregoing steps 101 and 102 to send the sequence of the operation position to the electronic device, and the electronic device performs step 103, step 104 and step 105 to obtain a corresponding key sequence and candidate.
  • the terminal device may perform step 101 and step 102 above, and send the sequence of operation positions to the server, and the server performs step 103, step 104 and step 105 to obtain a corresponding key sequence and Candidate. Because the terminal device can only be executed The detection operation of the line position sequence, a large amount of operation work is performed in the server, so that the calculation amount of the terminal device can be greatly reduced, that is, the resource consumption of the terminal device can be greatly reduced, thereby improving the running time and operation efficiency of the terminal device, and It can improve the practicability of the terminal device; and it can also take advantage of the rich computing resources of the server side (cloud resources in the cloud server), thereby ensuring the accuracy of no keyboard input.
  • the server side cloud resources in the cloud server
  • FIG. 6 a flow chart of the steps of the second embodiment of the input method of the present invention is shown, which may specifically include the following steps:
  • Step 601 Generate a three-dimensional space.
  • Step 602 Detect a sequence of operation positions generated by the user in the three-dimensional space.
  • Step 603 detecting, according to the sequence of the operation position, the hand information for input in the three-dimensional space; wherein the hand information may specifically include: one hand or two hands;
  • Step 604 determining a button area corresponding to the sequence of the operation position; wherein, when the hand information is a single hand, the operation position sequence corresponds to a button area; or, when the hand information is a two-hand, the operation position sequence corresponds to Two button areas;
  • Step 605 Determine, according to the button area, a key sequence corresponding to the sequence of operation positions
  • Step 606 Convert the corresponding candidate according to the key sequence conversion.
  • the embodiment may further detect hand information for input in the three-dimensional space according to the sequence of operation positions before the step of determining the button area corresponding to the sequence of operation positions. And determining, according to the hand information, the number of the button areas, wherein the operation position sequence may correspond to one button area when the hand information is a single hand; or, when the hand information is two hands,
  • the sequence of operation positions may correspond to two button regions, and step 605 may splicing the corresponding buttons in the sequence of the operation positions in the two button regions in sequence to obtain a corresponding button sequence;
  • the area may be coplanar or not coplanar, and the specific positional relationship of the two button areas is not limited in the embodiment of the present invention.
  • step 603 may specifically include the following sub-steps:
  • Sub-step S41 when a fixed position point and a changed position point are detected in the three-dimensional space, determining that the hand information is a single hand;
  • Sub-step S42 when two fixed position points and one changed position point are detected in the three-dimensional space, it is determined that the hand information is a two-handed hand.
  • step 603 may specifically include the following sub-steps:
  • Sub-step S51 calculating input displacements of two adjacent inputs in the three-dimensional space according to each position point of the sequence of operation positions;
  • Sub-step S52 searching for an input displacement range to which the input displacement belongs; wherein the input displacement range includes: a one-hand input displacement range and a two-hand input displacement range;
  • Sub-step S53 when the input displacement belongs to the one-hand input displacement range, determining that the hand information is a single hand;
  • Sub-step S54 when the input displacement belongs to the two-hand input displacement range, it is determined that the hand information is a two-handed hand.
  • the input hand can be calculated based on two dimensions, the first dimension is the input frequency (or the keystroke frequency), and the second dimension is the input displacement (or the keystroke range).
  • Each position point may correspond to time information, and the two position points adjacent to the time information may indicate the adjacent two inputs, and the ratio of the time difference between the time information of the adjacent two input position points may be referred to as current time.
  • the input frequency; the distance between the two adjacent input points can be called the input displacement.
  • the embodiment of the present invention can pre-collect the one-hand input frequency and the two-hand input frequency, the corresponding one-hand input displacement and the two-hand input displacement of the user when inputting a button, and generate a one-hand input frequency range and two-hand input after post processing.
  • the next step is to input "a". If the input displacement does not exceed a reasonable threshold (the range that a finger of a hand can reach, one-handed In the case where the finger coverage is up to the letters "H” and "G", it is impossible to click the button "a". In the case of one-handed input, if you need to click the button "a", you need to move the hand, so that the input frequency is reduced; in the case of two-hand input, if you need to click the button "a", you only need to move the left hand. The little finger does not need to move the wrist; therefore, the two-hand input displacement range is often smaller than the one-hand input displacement range, and the two-hand input frequency range is generally higher than the one-hand input frequency range.
  • the sub-step S41-sub-step S42 and the sub-step S51-sub-step S54 may be applied separately, or in the case that the sub-step S41-sub-step S42 cannot be successfully detected, The detection is further performed by the sub-step S51-sub-step S54, which is not limited by the embodiment of the present invention.
  • the embodiment can support one-hand or two-hand input to meet the user's needs for habits, input efficiency, and the like.
  • FIG. 7 a flow chart of the steps of the third embodiment of the input method of the present invention is shown, which may specifically include the following steps:
  • Step 701 Generate a three-dimensional space.
  • Step 702 Detect a sequence of operation positions generated by the user in the three-dimensional space.
  • Step 703 Determine a button area corresponding to the sequence of operation positions.
  • Step 704 Determine, according to the button area, a key sequence corresponding to the sequence of operation positions
  • Step 705 Send the key sequence to the connected electronic device to display the key sequence and the candidate converted according to the key sequence in the electronic device.
  • the electronic device may be a fixed device such as a computer, an in-vehicle terminal, or a smart TV, or may be a mobile device such as a mobile phone or a tablet computer.
  • a fixed device such as a computer, an in-vehicle terminal, or a smart TV
  • a mobile device such as a mobile phone or a tablet computer.
  • the specific electronic device in the embodiment of the present invention is not limited.
  • steps 701 and 702 may be performed in a terminal device
  • steps 703 and 704 may be performed in a server
  • step 705 may be performed in a terminal device or a server, that is, the electronic device may be connected to the terminal device or The server communicates to receive the above sequence of keys.
  • the electronic device and the smart terminal or the server may be connected to each other through a wireless manner such as Bluetooth or WIFI (Wireless Fidelity), or may be connected by a wired connection such as a data line, and the embodiment of the present invention is between the electronic device and the intelligent terminal or the server.
  • the connection method is not limited.
  • the cursor flashes in the electronic device, it can be determined that an input box appears, and an input is required, so that the process of the embodiment of the present invention can be started.
  • the mode and start conditions are not limited.
  • FIG. 8 there is shown a schematic diagram of an input scene 1 of the present invention, which is mainly applicable to a one-hand input situation in which a user can generate a key operation in a three-dimensional sphere space 801 by one hand.
  • the coordinate origin O of the three-dimensional sphere space is the center of the wrist; the processing flow of the embodiment of the present invention may specifically include:
  • Step S51 detecting a position point 802 corresponding to each key operation, and a sequence of operation positions corresponding to the continuous key operation;
  • Step S52 determining a button plane 803 corresponding to the sequence of operation positions according to the coplanar attribute of the position point 802 in the sequence of operation positions (the button plane 803 is the coordinate origin);
  • Step S53 determining a button area 804 corresponding to the sequence of operation positions according to a button point in the button plane 803 corresponding to each position point 802 in the sequence of operation positions;
  • Step S54 extracting, from the button area 804, a button corresponding to each position point in the sequence of operation positions;
  • Step S55 obtaining a corresponding key sequence according to a button corresponding to each position point in the operation position sequence
  • Step S56 Send the key sequence to the electronic device to display the key sequence and the candidate converted according to the key sequence in the electronic device.
  • FIG. 9 there is shown a schematic diagram of an input scene 2 of the present invention, which is primarily applicable to the case of two-handed input in which a user can generate a key operation in a three-dimensional sphere space 901 by means of both hands, the three-dimensional
  • the coordinate origin O of the sphere space is the center of the wrist; the processing flow of the embodiment of the present invention may specifically include:
  • Step S61 detecting a position point 902 corresponding to each key operation, and a sequence of operation positions corresponding to the continuous key operation;
  • Step S62 Determine, according to the coplanar attribute of the position point 902 in the sequence of operation positions, a first button plane 903 and a second button plane 904 corresponding to the sequence of operation positions (the first button plane 903 and the second button plane 904 are both Is the plane passing through the origin of the coordinates);
  • Step S63 determining, according to the button point in the first button plane 903 and the button point in the second button plane 904 corresponding to each position point 902 in the sequence of operation positions, determining a first button corresponding to the sequence of operation positions a region 905 and a second button region 906; wherein the first button region 905 corresponds to the first button plane 903, and the second button region 906 corresponds to the second button plane 904;
  • Step S64 extracting, from the first button area 905 and the second button area 906, buttons corresponding to the position points 902 in the sequence of operation positions;
  • Step S65 according to the button corresponding to each position point 902 in the sequence of operation positions, obtaining a corresponding key sequence
  • Step S66 Send the key sequence to the electronic device to display the key sequence and the candidate converted according to the key sequence in the electronic device.
  • FIG. 10 a structural block diagram of an embodiment of an input device according to the present invention is shown, which may specifically include the following modules:
  • a space generation module 1001 configured to generate a three-dimensional space
  • the sequence detection module 1002 is configured to detect a sequence of operation positions generated by the user in the three-dimensional space
  • the area determining module 1003 is configured to determine a button area corresponding to the sequence of operation positions
  • a button determining module 1004 configured to determine, according to the button area, a key sequence corresponding to the sequence of operating positions;
  • the candidate conversion module 1005 is configured to obtain corresponding candidates according to the key sequence conversion.
  • the sequence of operation positions may specifically include a plurality of location points
  • the area determining module 1003 may specifically include:
  • a first determining module configured to determine a button plane corresponding to the sequence of operating positions
  • a second determining module configured to determine, according to the button points in the button plane corresponding to each position point in the sequence of operation positions, a button area corresponding to the sequence of operation positions.
  • the first determining module may be specifically configured to determine a horizontal plane passing through a coordinate origin as a button plane corresponding to the sequence of operating positions; or, according to the sequence of operating positions The coplanar attribute of the location point determines a button plane corresponding to the sequence of operation positions.
  • the second determining module is specifically configured to obtain a corresponding button area by using a combination of valid key points in the button plane corresponding to each position point in the sequence of operation positions. .
  • the apparatus may further include: a button point determining module for determining a button point in the button plane corresponding to each position point in the sequence of operating positions:
  • the button point determining module may specifically include:
  • a third determining module configured to: when the location point in the sequence of the operation position is located in the button plane, use the corresponding location point as its corresponding button point;
  • a fourth determining module configured to: when the position point in the sequence of the operation position is not located in the button plane, the projection point of the corresponding position point on the button plane is used as the corresponding button point.
  • the button plane may be a plane passing through the origin of the coordinate
  • the apparatus may further include: determining whether the location point in the sequence of the operation position is located on the button plane Judging module
  • the determining module includes:
  • a first calculating module configured to calculate an angle formed by a line connecting the position point and a coordinate origin with the button plane
  • a first determining module configured to determine that a position point in the sequence of operating positions is located in the button plane when the angle is 0;
  • the second determining module is configured to determine that the location point in the sequence of the operating positions is not located in the button plane when the angle is not zero.
  • the sequence of operation positions may specifically include a plurality of location points
  • the button determining module 1004 may specifically include:
  • An extraction module configured to extract, from the button area, a button corresponding to each position point in the sequence of operation positions
  • the fifth determining module is configured to determine a key sequence corresponding to the sequence of the operation position according to the button corresponding to each position point in the sequence of the operation position.
  • the sequence of operating positions may specifically include a plurality of location points
  • the button determining module 1004 may specifically include:
  • a sixth determining module configured to determine a key sequence corresponding to the sequence of the operation position according to a projection vector of the input vector formed by each position point and the coordinate origin in the sequence of operation positions on the button area.
  • the device may further include:
  • the sequence processing module is configured to perform matching processing and/or error correction processing and/or association processing on the key sequence corresponding to the operation position sequence, and use the processed key sequence as the key sequence corresponding to the operation position sequence.
  • sequence processing module may specifically include:
  • the editing processing module is configured to perform editing processing on the key sequence, and the edit distance between the obtained error correction key sequence and the key sequence is less than a distance threshold.
  • sequence processing module may further include:
  • a probability calculation module configured to calculate a first probability of the error correction key sequence in a context based on context information of the key sequence
  • a screening module configured to filter the error correction key sequence according to the first probability.
  • the probability calculation module may specifically include:
  • a first calculating unit configured to calculate a probability that the error correction key sequence appears on the basis of the context information
  • a second calculating unit configured to calculate, on the basis of the context information, a probability that the error correction key sequence is mis-transduced into the key sequence
  • a determining unit configured to determine a first probability of the error correction key sequence in the context based on a probability of occurrence of the error correction key sequence and a probability that the error correction key sequence is misdirected into the key sequence.
  • the apparatus may further include:
  • a hand detection module configured to detect hand information for input in the three-dimensional space according to the sequence of operation positions before the area determining module determines a button area corresponding to the sequence of operation positions; wherein
  • the hand information includes: one hand, or both hands; when the hand information is a single hand, the operation position sequence corresponds to one button area; or, when the hand information is two hands, the operation position sequence corresponds to Two button areas.
  • the hand detection module may specifically include:
  • a third determining module configured to determine that the hand information is one-handed when a fixed position point and a changed position point are detected in the three-dimensional space;
  • the fourth determining module is configured to determine that the hand information is a two-handed hand when two fixed position points and one changed position point are detected in the three-dimensional space.
  • the hand detection module may specifically include:
  • a second calculating module configured to calculate an input displacement of two adjacent inputs in the three-dimensional space according to each position point of the sequence of operation positions
  • a search module configured to find an input displacement range to which the input displacement belongs; wherein the input displacement range includes: a one-hand input displacement range and a two-hand input displacement range;
  • a fifth determining module configured to determine that the hand information is a one-handed hand when the input displacement belongs to the one-hand input displacement range
  • the sixth determining module is configured to determine that the hand information is a two-handed hand when the input displacement belongs to the two-hand input displacement range.
  • the description is relatively simple, and the relevant parts can be referred to the description of the method embodiment.
  • FIG. 11 a structural block diagram of a server embodiment of the present invention is shown, which may specifically include the following modules:
  • the sequence receiving module 1101 is configured to receive a sequence of operation locations sent by the terminal device.
  • the area determining module 1102 is configured to determine a button area corresponding to the sequence of operating positions
  • a button determining module 1103 configured to determine, according to the button region, a button sequence corresponding to the sequence of operating positions
  • the candidate conversion module 1104 is configured to obtain corresponding candidates according to the key sequence conversion.
  • the sequence of operation positions may specifically include a plurality of location points
  • the area determining module 1102 may specifically include:
  • a first determining module configured to determine a button plane corresponding to the sequence of operating positions
  • a second determining module configured to determine, according to the button points in the button plane corresponding to each position point in the sequence of operation positions, a button area corresponding to the sequence of operation positions.
  • the first determining module may be specifically configured to determine a horizontal plane passing through a coordinate origin as a button plane corresponding to the sequence of operating positions; or, according to the sequence of operating positions The coplanar attribute of the location point determines a button plane corresponding to the sequence of operation positions.
  • the second determining module is specifically configured to obtain a corresponding button area by using a combination of valid key points in the button plane corresponding to each position point in the sequence of operation positions. .
  • the apparatus may further include: a button point determining module for determining a button point in the button plane corresponding to each position point in the sequence of operating positions:
  • the button point determining module may specifically include:
  • a third determining module configured to: when the location point in the sequence of the operation position is located in the button plane, use the corresponding location point as its corresponding button point;
  • a fourth determining module configured to: when the position point in the sequence of the operation position is not located in the button plane, the projection point of the corresponding position point on the button plane is used as the corresponding button point.
  • the button plane may be a plane passing through the origin of the coordinate
  • the apparatus may further include: determining whether the location point in the sequence of the operation position is located on the button plane Judging module
  • the determining module includes:
  • a first calculating module configured to calculate an angle formed by a line connecting the position point and a coordinate origin with the button plane
  • a first determining module configured to determine that a position point in the sequence of operating positions is located in the button plane when the angle is 0;
  • the second determining module is configured to determine that the location point in the sequence of the operating positions is not located in the button plane when the angle is not zero.
  • sequence of operation positions may specifically include multiple Location point
  • the button determining module 1103 may specifically include:
  • An extraction module configured to extract, from the button area, a button corresponding to each position point in the sequence of operation positions
  • the fifth determining module is configured to determine a key sequence corresponding to the sequence of the operation position according to the button corresponding to each position point in the sequence of the operation position.
  • the sequence of operating positions may specifically include a plurality of location points
  • the button determining module 1103 may specifically include:
  • a sixth determining module configured to determine a key sequence corresponding to the sequence of the operation position according to a projection vector of the input vector formed by each position point and the coordinate origin in the sequence of operation positions on the button area.
  • the device may further include:
  • the sequence processing module is configured to perform matching processing and/or error correction processing and/or association processing on the key sequence corresponding to the operation position sequence, and use the processed key sequence as the key sequence corresponding to the operation position sequence.
  • sequence processing module may specifically include:
  • the editing processing module is configured to perform editing processing on the key sequence, and the edit distance between the obtained error correction key sequence and the key sequence is less than a distance threshold.
  • sequence processing module may further include:
  • a probability calculation module configured to calculate a first probability of the error correction key sequence in a context based on context information of the key sequence
  • a screening module configured to filter the error correction key sequence according to the first probability.
  • the probability calculation module may specifically include:
  • a first calculating unit configured to calculate a probability that the error correction key sequence appears on the basis of the context information
  • a second calculating unit configured to calculate, on the basis of the context information, a probability that the error correction key sequence is mis-transduced into the key sequence
  • a determining unit configured to determine a first probability of the error correction key sequence in the context based on a probability of occurrence of the error correction key sequence and a probability that the error correction key sequence is misdirected into the key sequence.
  • the apparatus may further include:
  • a hand detection module configured to detect hand information for input in the three-dimensional space according to the sequence of operation positions before the area determining module determines a button area corresponding to the sequence of operation positions; wherein Hand information includes: one hand, or both hands; when the hand letter When the information is a single hand, the sequence of operation positions corresponds to one button area; or, when the hand information is two hands, the sequence of operation positions corresponds to two button areas.
  • the hand detection module may specifically include:
  • a third determining module configured to determine that the hand information is one-handed when a fixed position point and a changed position point are detected in the three-dimensional space;
  • the fourth determining module is configured to determine that the hand information is a two-handed hand when two fixed position points and one changed position point are detected in the three-dimensional space.
  • the hand detection module may specifically include:
  • a second calculating module configured to calculate an input displacement of two adjacent inputs in the three-dimensional space according to each position point of the sequence of operation positions
  • a search module configured to find an input displacement range to which the input displacement belongs; wherein the input displacement range includes: a one-hand input displacement range and a two-hand input displacement range;
  • a fifth determining module configured to determine that the hand information is a one-handed hand when the input displacement belongs to the one-hand input displacement range
  • the sixth determining module is configured to determine that the hand information is a two-handed hand when the input displacement belongs to the two-hand input displacement range.
  • the description is relatively simple, and the relevant parts can be referred to the description of the method embodiment.
  • the present invention also provides an input system, which may specifically include: a terminal device and the foregoing server;
  • the terminal device may specifically include:
  • a space generation module for generating a three-dimensional space
  • a sequence detecting module configured to detect a sequence of operating positions generated by the user in the three-dimensional space
  • a sequence sending module configured to send the sequence of the operation locations to the server.
  • FIG. 12 there is shown a block diagram of an embodiment of an input system of the present invention, specifically including a server 1210 and a terminal device 1220;
  • the terminal device 1220 may specifically include the following modules:
  • a space generation module 1221 configured to generate a three-dimensional space
  • the sequence detecting module 1222 is configured to detect a sequence of operating positions generated by the user in the three-dimensional space.
  • a sequence sending module 1223 configured to send the sequence of the operation location to the server
  • the server 1210 may specifically include the following modules:
  • the sequence receiving module 1211 is configured to receive a sequence of operation locations sent by the terminal device.
  • the area determining module 1212 is configured to determine a button area corresponding to the sequence of operation positions
  • a button determining module 1213 configured to determine, according to the button area, a button sequence corresponding to the sequence of operating positions
  • the candidate conversion module 1214 is configured to obtain corresponding candidates according to the key sequence conversion.
  • the server 1210 may further include: a sending module for transmitting the candidate to the terminal device 1220.
  • FIG. 13 there is shown a block diagram of an embodiment of an input system of the present invention, specifically including a server 1310, a terminal device 1320, and an electronic device 1330;
  • the terminal device 1320 may specifically include the following modules:
  • a space generation module 1321 configured to generate a three-dimensional space
  • the sequence detecting module 1322 is configured to detect a sequence of operating positions generated by the user in the three-dimensional space
  • the sequence sending module 1323 is configured to send the sequence of the operation location to the server
  • a first candidate receiving module 1324 configured to receive a candidate sent by the server 1310
  • a first candidate sending module 1325 configured to send the candidate to the electronic device 1330;
  • the server 1310 may specifically include the following modules:
  • the sequence receiving module 1311 is configured to receive a sequence of operation locations sent by the terminal device.
  • the area determining module 1312 is configured to determine a button area corresponding to the sequence of operating positions.
  • a button determining module 1313 configured to determine, according to the button area, a button sequence corresponding to the sequence of operating positions
  • the candidate conversion module 1314 is configured to obtain a corresponding candidate according to the key sequence conversion
  • a second candidate sending module 1315 configured to send the candidate to the terminal device 1320;
  • the electronic device 1330 may specifically include:
  • a second candidate receiving module 1331 configured to receive a candidate sent by the terminal device 1310
  • the display module 1332 is configured to display the candidate.
  • the operating position sequence may also be sent to the electronic device, so that the electronic device processes the operating position sequence into a corresponding key sequence and candidate. It should be noted that, in this case, the electronic device can obtain the latest hot entry from the cloud server, such as “Tiger Mom and Dad”, etc., so that the key sequence matches to obtain the candidate that best meets the user's intention.
  • the server may also send a key sequence to the terminal device, and the terminal device may convert the key sequence into a candidate and send it to the electronic device, or may directly The key sequence is sent to the electronic device, so that the electronic device converts the key sequence into a candidate. That is, the embodiment of the present invention does not limit which device (server, electronic device, and terminal device) each module belongs to.
  • embodiments of the embodiments of the invention may be provided as a method, apparatus, or computer program product.
  • embodiments of the invention may be in the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware.
  • embodiments of the invention may take the form of a computer program product embodied on one or more computer usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
  • Embodiments of the invention are described with reference to flowchart illustrations and/or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flowchart illustrations and/or FIG.
  • These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor or other programmable data processing terminal device to produce a machine such that instructions are executed by a processor of a computer or other programmable data processing terminal device
  • Means are provided for implementing the functions specified in one or more of the flow or in one or more blocks of the flow chart.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the instruction device implements the functions specified in one or more blocks of the flowchart or in a flow or block of the flowchart.
  • Figure 14 illustrates a computing device for performing an input method in accordance with the present invention.
  • the computing device conventionally includes a processor 1410 and a program product or readable medium in the form of a memory 1420.
  • the memory 1420 may be an electronic memory such as a flash memory, an EEPROM (Electrically Erasable Programmable Read Only Memory), an EPROM, or a ROM.
  • the memory 1420 has a function for execution
  • storage space 1430 for program code may include various program code 1431 for implementing various steps in the above methods, respectively.
  • These program codes can be read from or written to one or more program products.
  • These program products include program code carriers such as memory cards.
  • Such a program product is typically a portable or fixed storage unit as described with reference to FIG.
  • the storage unit may have storage segments, storage spaces, and the like that are similarly arranged to memory 1420 in the computing device of FIG.
  • the program code can be compressed, for example, in an appropriate form.
  • the storage unit includes readable code 1431', ie, code that can be read by, for example, a processor such as 1410, which when executed by the computing device causes the computing device to perform various steps in the methods described above .

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

一种输入方法、输入装置、服务器和输入系统,其中的方法具体包括:生成三维空间(101);检测用户在所述三维空间中产生的操作位置序列(102);确定所述操作位置序列对应的按键区域(103);依据所述按键区域确定所述操作位置序列对应的按键序列(104);依据所述按键序列转换得到相应的候选项(105)。上述方法能够提高文字输入的灵活性和方便性。

Description

一种输入方法、输入装置、服务器和输入系统
本申请要求在2015年7月9日提交中国专利局、申请号为201510401579.7、发明名称为“一种输入方法、输入装置、服务器和输入系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及输入法技术领域,特别是涉及一种输入方法、一种输入装置、一种服务器和一种输入系统。
背景技术
电子设备作为计算机与用户或其他设备通信的桥梁,是用户和计算机系统之间进行信息交互的主要装置之一,其可以方便用户在各种场合中输入数据和信息。例如,用户可以在搜索引擎中输入关键词以搜索网页,也可以在即时通讯工具中输入文字以与其他用户进行交流,还可以在办公软件中输入文字以编辑文档等等。
目前,电子设备的大规模普及,在很大程度上改变了用户的生活和工作的方式,满足了用户随时随地输入信息的需求,例如完成工作邮件处理、审批流程等。
然而,上述随时随地输入的需求容易受到硬件本身的约束。例如,实体键盘和虚拟键盘的尺寸均需要受限于电子设备的屏幕尺寸,而用户必须点击尺寸受限的键盘中按键才能进行文字输入,这使得传统输入方法缺乏灵活性。
发明内容
本发明实施例所要解决的技术问题是提供一种输入方法、一种输入装置、一种服务器和一种输入系统,用以提高文字输入的灵活性和方便性。
为了解决上述问题,本发明公开了一种输入方法,包括:
生成三维空间;
检测用户在所述三维空间中产生的操作位置序列;
确定所述操作位置序列对应的按键区域;
依据所述按键区域确定所述操作位置序列对应的按键序列;
依据所述按键序列转换得到相应的候选项。
另一方面,本发明公开了一种输入装置,包括:
空间生成模块,用于生成三维空间;
序列检测模块,用于检测用户在所述三维空间中产生的操作位置序列;
区域确定模块,用于确定所述操作位置序列对应的按键区域;
按键确定模块,用于依据所述按键区域确定所述操作位置序列对应的按键序列;及
候选转换模块,用于依据所述按键序列转换得到相应的候选项。
再一方面,本发明公开了一种服务器,包括:
序列接收模块,用于接收终端设备发送的操作位置序列;
区域确定模块,用于确定所述操作位置序列对应的按键区域;
按键确定模块,用于依据所述按键区域确定所述操作位置序列对应的按键序列;及
候选转换模块,用于依据所述按键序列转换得到相应的候选项。
又一方面,本发明公开了一种输入系统,包括:终端设备和前述的服务器;
其中,所述终端设备包括:
空间生成模块,用于生成三维空间;
序列检测模块,用于检测用户在所述三维空间中产生的操作位置序列;及
序列发送模块,用于向所述服务器发送所述操作位置序列。
与背景技术相比,本发明实施例包括以下优点:
本发明实施例生成三维空间,检测用户在上述三维空间中产生的操作位置序列,继而确定该操作位置序列对应的按键区域,并依据所述按键区域确定所述操作位置序列对应的按键序列;相对于现有方案中通过点击按键进行输入,本发明实施例可以向用户提供用于产生按键操作的、更广阔的三维空间,因此,能够提高文字输入的灵活性和方便性。
并且,在用户熟悉按键排布的情况下,可以单凭敲击即可实现输入,不仅摆脱了诸如实体键盘等输入键盘的限制,而且摆脱了诸如跑步等情景限制,从而实现了随时随地的输入。
附图说明
图1是本发明的一种输入方法实施例一的步骤流程图;
图2是本发明的一种终端设备的结构示例图;
图3是本发明的一种终端设备的应用示例图;
图4A是本发明的一种全键盘按键示例图;
图4B是本发明的一种九宫格按键示例图;
图5A至图5B是本发明的一种联想处理的示例图;
图6是本发明的一种输入方法实施例二的步骤流程图;
图7是本发明的一种输入方法实施例三的步骤流程图;
图8是本发明的一种输入场景1的示意图;
图9是本发明的一种输入场景2的示意图;
图10是本发明一种输入装置实施例的结构框图;
图11是本发明的一种服务器实施例的结构框图;
图12是本发明的一种输入系统实施例一的结构框图;
图13是本发明的一种输入系统实施例二的结构框图;
图14是用于执行根据本发明的输入方法的计算设备的框图;
图15是用于保持或者携带实现根据本发明的输入方法的程序代码的存储单元。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
方法实施例一
参照图1,示出了本发明的一种输入方法实施例一的步骤流程图,具体可以包括如下步骤:
步骤101、生成三维空间;
本发明实施例中,三维空间可用于表示依据磁场、红外、超声、X射线等无线信号生成的检测空间。当用户在该三维空间内产生按键操作时,该三维空间中无线信号的能量会发生变化,因此,可以利用该三维空间中信号能量变化的特性,探测该按键操作对应的位置坐标,从而可以实现在无输入键盘的情况下的按键操作检测。
需要说明的是,本发明实施例中的位置坐标,可以为三维笛卡尔坐标,也可以是圆柱坐标,也可以是球面坐标,本发明实施例对位置坐标的表现形式不加以限制。
在具体实现中,该三维空间可以为以终端设备为圆心的球形空间,也可以为以该终端设备为坐标原点的方体空间,等等,本发明实施例对该三维空间的具体形状不加以限制。另外,该三维空间的尺寸可由本领域技术 人员根据实际情况进行设定,例如,球形空间的半径可以是根据普通人双臂长度经过计算后得出的一个值。
参照图2,示出了本发明的一种终端设备的结构示意图,其具体可以包括:手环200,该手环200可以包括信号发射模块201、USB(Universal Serial Bus,通用串行总线)接口202、定位仪203、柔性LED(Light Emitting Diode,发光二极管)灯带204、弹性金属支架205和锂离子电池206。
其中,USB接口202可以接入移动电源、充电器等设备,用于为锂离子电池206充电;柔性LED灯带204可以用于标识工作状态,让用户感知到其是在待机状态或工作状态,例如柔性LED灯带204点亮时,标识手环200处于工作状态,柔性LED灯带204未点亮时,标识手环200处于待机状态;弹性金属支架205可以起到固定和支撑手环200的作用,使得手环200呈现圆环状态,以方便用户将手环200佩戴在用户手腕处;锂离子电池206可以用于为信号发射模块201、定位仪203和柔性LED灯带204提供工作电源。
参照图3,示出了本发明的一种终端设备的应用示例图,其中,该手环200可被佩戴在用户的手腕处,定位仪203可以用于定位手腕所在位置。本发明实施例中,可以将该定位仪203定位的手腕所在位置作为三维空间的坐标原点。
信号发射模块201具体可以包括:运动传感器和信号发射器,其中,信号发射器可以定位仪203作为坐标原点,发出无线信号,形成三维空间;运动传感器可用于探测用户手指在该三维空间内的位移信息,使得定位仪203可以根据运动传感器得到的位移信息,计算出各手指在产生每一次按键操作时所对应位置点的位置坐标。
需要说明的是,上述手环200只是作为终端设备的一种示例,实际上,本领域技术人员可以采用各种终端设备来实施本发明的输入方法,本发明实施例对具体的终端设备不加以限制。
步骤102、检测用户在上述三维空间中产生的操作位置序列;
由于输入键盘(例如虚拟键盘和实体键盘)的广泛普及,用户已经对输入键盘的布局十分熟悉。因此,本发明实施例可以实现在无输入键盘的情况下的虚拟输入。
以QWERTY键盘(又称柯蒂键盘、全键盘)作为示例,用户的左手食指可以控制按键R、T、F、G、V、B,左手中指可以控制按键E、D、C,左手无名指可以控制按键W、S、X,左手小指可以控制按键Q、A、Z,右手食指可以控制按键Y、U、H、J、N、M,右手中指可以控制按键I、K,右手无名指可以控制按键O、L,右手小指控制按键P。其中, 按键F、J一般具有凸起,故可以作为定位键。针对该示例,用户可以利用手指在假想的QWERTY键盘上产生每一次按键操作,而本发明实施例可以利用上述运动传感器和定位仪203获取各手指在产生每一次按键操作时所对应位置点的位置坐标。
在实际应用中,上述操作位置序列具体可以包括多个位置点,则上述操作位置序列可以理解为多个位置点按照顺序组成的序列,这里的顺序主要为各位置点的产生时间顺序。假设用户依次在上述三维空间中产生了A、B、C、D、E、F、G等6个位置点,则可认为用户产生的操作位置序列为ABCDEFG。
步骤103、确定上述操作位置序列对应的按键区域;
由于用户是在QWERTY键盘、九宫格键盘等键盘样式的假想键盘上产生按键操作,而该假想键盘的位置往往具有随机性,例如,当用户在桌面上方产生按键操作时,则可认为该假想键盘位于该桌面上,又如,当用户在胳膊、被褥等非平面上方产生按键操作时,该假想键盘并没有固定的平面可依。并且,对于不同的用户,该假想键盘的尺寸也具有随机性。
针对上述假想键盘的位置和尺寸具有随机性的特点,本发明实施例可以利用上述操作位置序列中各位置点的位置坐标(x,y,z)等信息,动态地确定上述操作位置序列对应的按键区域;也即,本发明实施例可以将该按键区域作为与上述假想键盘相应的实际键盘区域,并利用该实际键盘区域确定上述操作位置序列对应的按键序列,例如,确定上述操作位置序列ABCDEFG对应的按键序列,等等。
在本发明的一种优选实施例中,上述操作位置序列具体可以包括多个位置点;则所述确定上述操作位置序列对应的按键区域的步骤,具体可以包括:
子步骤S11、确定所述操作位置序列对应的按键平面;
本发明实施例可以提供如下确定所述操作位置序列对应的按键平面的技术方案:
确定方案一、将经过坐标原点的水平面确定为所述操作位置序列对应的按键平面;或者
确定方案二、依据所述操作位置序列中位置点的共面属性,确定所述操作位置序列对应的按键平面。
操作位置序列中位置点的共面属性具体可以包括:操作位置序列中所有位置点是否共面、以及哪些部分位置点共面等属性。例如,操作位置序列ABCDEFG中AB与CD平行,则A、B、C和D可以确定一个平面1, 或者,A、B和C三个点可以确定一个平面2,或者,E点不在平面1但在平面2上等等。在实际应用中,可以将包含所述操作位置序列中最多位置点的平面作为所述操作位置序列对应的按键平面;或者,所述操作位置序列中位置点确定2个以上平面时,也可以将高度坐标居中的平面作为所述操作位置序列对应的按键平面;或者,将经过坐标原点且包含最多位置点的平面作为所述操作位置序列对应的按键平面,等等。本发明实施例对确定所述操作位置序列对应的按键平面的具体过程不加以限制。
子步骤S12、依据所述操作位置序列中各位置点对应的所述按键平面中按键点,确定所述操作位置序列对应的按键区域。
在本发明的一种优选实施例中,可以通过如下步骤确定所述操作位置序列中各位置点对应的所述按键平面中按键点:
子步骤S121、当所述操作位置序列中位置点位于所述按键平面时,将相应位置点作为其对应的按键点;
子步骤S122、当所述操作位置序列中位置点不位于所述按键平面时,将相应位置点在所述按键平面上的投影点作为其对应的按键点。
在具体实现中,所述按键平面可以为经过所述坐标原点的平面,则可以通过如下步骤判断所述操作位置序列中位置点是否位于所述按键平面:
子步骤S1211、计算所述位置点与坐标原点的连线与所述按键平面形成的夹角;
子步骤S1212、在所述夹角为0时,判定所述操作位置序列中位置点位于所述按键平面;
子步骤S1213、在所述夹角不为0时,判定所述操作位置序列中位置点不位于所述按键平面。
另外,对于不位于所述按键平面中的位置点,确定该位置点对应的按键点,具体可以包括:以该位置点为起点向该按键平面做垂线,将该垂线与该按键平面的交点作为该位置点对应的所述按键平面中的按键点。
需要说明的是,该垂线垂直于该按键平面。当该按键平面是经过坐标原点的水平面时,该垂线是铅垂线,垂直于水平面。
在具体实现中,所述按键平面还可以为不经过所述坐标原点的平面,则首先需要找到所述坐标原点在所述按键平面中的投影点,作为投影坐标原点;然后计算所述位置点与投影坐标原点的连线与所述按键平面形成的夹角;在所述夹角为0时,判定所述操作位置序列中位置点位于所述按键平面;在所述夹角不为0时,判定所述操作位置序列中位置点不位于所述按键平面。
在本发明的一种优选实施例中,所述依据所述操作位置序列中各位置 点对应的所述按键平面中按键点,确定所述操作位置序列对应的按键区域的步骤S12,具体可以包括:利用所述操作位置序列中各位置点对应的所述按键平面中的有效按键点组合得到对应的按键区域。
本发明实施例中,上述有效按键点可用于表示有效输入对应的按键点,这里的有效输入与误操作产生的无效输入是相对立的。
在本发明的一种应用示例中,可以依据所述操作位置序列中各位置点对应的有效按键点,绘制相应的边界区域,并依据上述有效按键点在该边界区域中绘制线段,以在该边界区域中绘制图4A的QWERTY键盘或图4B的九宫格键盘等键盘样式中各按键对应的单按键区域,从而得到上述按键区域。
在本发明的另一种应用示例中,可以依据用户特征信息预先绘制一个预置按键区域,并依据上述有效按键点调整上述预置按键区域的位置和尺寸,例如,可以依据上述有效按键点在上述预置按键区域中均匀分布的规则进行上述调整。
可以理解,本发明对绘制边界区域、单按键区域的具体过程不加以限制,也对利用所述操作位置序列中各位置点对应的有效按键点组合得到对应的按键区域的具体过程不加以限制。
需要说明的是,上述QWERTY键盘、九宫格键盘只是作为键盘样式的一种示例,而不理解为本发明对于键盘的使用限制,实际上,本领域技术人员可以根据实际需求,采用各种键盘样式,另外,还可以向用户提供键盘样式的设置接口或者自定义接口,以便于用户设置或者定义适合自己的键盘样式,例如,习惯单手输入的用户可以设置上述九宫格键盘,习惯双手输入的用户可以设置上述QWERTY键盘,习惯声韵母输入的用户可以自定义声韵母键盘,等等。
另外,需要说明的是,在用户使用终端设备进行文字输入的过程中,可以持续检测用户产生的操作位置序列,首先可以依据最初的操作位置序列得到对应的按键区域,然后可以利用后续的操作位置序列对已有的按键区域进行修正,得到当前最新的按键区域,也即,本发明实施例的按键区域可以随着操作位置序列的增加而不断变化。
在本发明的一种优选实施例中,在确定上述操作位置序列对应的按键区域的过程中,还可以考虑用户特征信息。
其中,用户特征信息可以为标识用户体型特征的信息,在本发明实施例的一种应用示例中,所述用户特征信息可以包括但不限于以下至少一个:手掌大小信息、手指长短信息、用户输入特征信息、双臂间距信息、身高信息。具体而言,当用户手掌较大、手指较长时,使得该用户在输入 按键时点击的范围较大,因此按键区域也会较大;而当用户双臂间距较大时,其双手的间距也较大,因此按键区域也会较大;当用户身高较高时,其双手的间距也较大,因此按键区域也会较大。
用户输入特征信息还可以为标识输入特征的信息。例如,某个用户由于职业问题,习惯输入该职业的专有名词,因此,该专有名词对应的按键的按键区域可以比其他按键的按键区域大。
当然,上述用户特征信息只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他用户特征信息,本发明实施例对此不加以限制。另外,除了上述用户特征信息外,本领域技术人员还可以根据实际需要采用其它用户特征信息,本发明实施例对此也不加以限制。
在本发明的一个实施例中,用户特征信息可以为多个用户的用户特征信息,可以由服务器进行采集,例如,由用户自己提交,或者,由终端设备采集后再上传至服务器。服务器可以定时(例如每个周末)或者不定时将采集到的多个用户的用户特征信息推送到终端设备中。在本发明实施例中,可以大量收集诸如手掌大小信息、手指长短信息、用户输入特征信息、双臂间距信息、身高信息等的用户特征信息,即可以累积不同输入习惯、不同年龄和不同手型的用户数据。进一步地,可以根据这些用户数据构建输入法模型,使得可以确定手位与输入的关系,大大提高了输入的识别精确度。
需要说明的是,可以在当前时间采集用户特征信息,也可以预先采集用户特征信息,本发明实施例对用户特征信息的具体采集时间和采集方式不加以限制。
上述提到,本发明实施例中,可以利用所述操作位置序列中各位置点对应的所述按键平面中的有效按键点组合得到对应的按键区域。则本发明可以提供如下有效按键点的判断方案:
判断方案一
判断方案一中,可以计算输入位移(通常用相邻两次输入的位置点之间的距离衡量,例如可以设定按键点对应的输入位移为:该按键点对应的所述操作位置序列中的位置点与上一或下一按键点对应的位置点之间的距离),并依据按键点的输入位移判断其是否为有效按键点;如果某一按键点对应的输入位移超过预设的第一输入位移范围,则可以判断该按键点为无效按键点,反之,则可以判断该按键点为有效按键点。其中,所述第一输入位移范围可以由本领域技术人员依据实际需求设定,例如,所述第一输入位移范围的边界值可以为依据单手臂长度确定的值,又如,边界值还可以为上次按键区域的边界确定的值,等等。
判断方案二
判断方案二中,可以计算输入角度(例如可以设定按键点对应的输入角度为:该按键点对应的操作位置序列中的位置点与坐标原点的连线与所述按键平面形成的夹角),并依据按键点的输入角度判断其是否为有效按键点;如果某一按键点对应的输入角度超过预设第一输入角度范围,例如,第一输入角度范围可以为-90°<α<90°,则可以判断该按键点为无效按键点,反之,则可以判断该按键点为有效按键点。本发明实施例对具体的第一输入角度范围不加以限制。
判断方案三
判断方案三中,可以计算输入频率(通常用用户连续输入的按键时间间隔衡量,例如,可以设定按键点的输入频率为:该按键点对应的所述操作位置序列中的位置点的产生时间与上一或下一位置点的产生时间之间的时间间隔),并依据按键点的输入频率判断其是否为有效按键点;如果某一按键点对应的输入频率超过预设输入频率范围,则可以判断该按键点为无效按键点,反之,则可以判断该按键点为有效按键点。在输入频率的角度上,有效输入可以通过判断用户具体按键的速度进行判断。一般情况下,单手打字时的速度小于60字/分,平均单字按键个数为2.98个,则可以对单手打字的输入频率设置单手输入频率阈值,该单手输入频率阈值可以为60*2.98/60=2.98个/秒;而双手打字时的速度小于150字/分,均单字按键个数为2.98个,则可以对双手打字的输入频率设置单手输入频率阈值,该双手输入频率阈值可以为150*2.98/60=7.45/秒。而双手输入频率阈值一般会大于单手输入频率阈值,则输入频率超过双手输入频率阈值则可以判断为无效输入,输入频率未超过双手输入频率阈值则可以判断为有效输入。
步骤104、依据上述按键区域确定上述操作位置序列对应的按键序列。
在本发明的一种优选实施例中,所述操作位置序列具体可以包括多个位置点;则依据所述按键区域确定所述操作位置序列对应的按键序列的步骤,具体可以包括:
子步骤S21、从所述按键区域中提取所述操作位置序列中各位置点对应的按键;
在实际应用中,所述按键区域也可被理解为上述三维空间中的一个平面区域,其中每一个按键均具有对应的位置坐标,则从所述按键区域中提取所述操作位置序列中各位置点对应的按键的过程,具体可以为将所述操作位置序列中各位置点的位置坐标与所述按键区域中按键的位置坐标进行匹配的过程,本发明实施例对具体的匹配过程不加以限制。
子步骤S22、将依据所述操作位置序列中各位置点对应的按键,确定所 述操作位置序列对应的按键序列。
在本发明的另一种优选实施例中,所述操作位置序列具体可以包括多个位置点;则依据所述按键区域确定所述操作位置序列对应的按键序列的步骤,具体可以包括:依据所述操作位置序列中各位置点与坐标原点形成的输入矢量在所述按键区域上的投影矢量,确定所述操作位置序列对应的按键序列。
在具体实现中,所述投影矢量具体可以包括:输入距离和输入角度等参数,如图4A所示,输入角度可用于表示该投影矢量与Y轴的夹角,例如用户的三个位置点A、B、C对应投影矢量与Y轴的夹角分别为α1、α2和α3;输入距离可用于表示投影矢量的终点与Y轴的距离,例如用户的三个位置点A、B、C对应投影矢量与Y轴的距离分别为D1、D2和D3,则在α1<α3<α2,且D1>D2>D3时,可以确定A、B、C对应投影点分别位于按键区域的上、中和下区域,且,分别位于按键区域的右、左、右区域,因此,可以大致确定A、B、C对应的按键序列为“ysn”,同理,可以确定D、E、F、G对应的按键序列为“jing”等。
在本发明的一种实施例中,可以将依据所述操作位置序列中各位置点对应的按键得到的按键序列,直接作为所述操作位置序列对应的按键序列。
在本发明的另一种实施例中,考虑到终端设备侧并没有对键盘进行实际展示,用户按照假想键盘产生的按键操作或多或少会存在误输入的情况,并且,本发明实施例确定的按键区域可能与上述假想键盘存在一定的误差。因此在本发明实施例还可以对所述操作位置序列对应的按键序列进行匹配处理和/或纠错处理和/或联想处理,并将处理后按键序列作为所述操作位置序列对应的按键序列。
其中,上述匹配处理主要包括:对于上述按键序列的合法校验、上述按键序列与词库的匹配等等;在具体实现中,可以采用拼音规则、字形规则等校验规则进行上述按键序列的合法校验。例如,当上述按键序列为拼音串“pinqiong”时,其被校验为合法按键序列;而当上述按键序列为拼音串“pimqiong”、“pibqiong”和“pinqong”,其被校验为不合法按键序列。
在具体实现中,在上述按键序列的匹配处理失败(如上述按键序列不符合拼音规则,或者,词库中不存在上述按键序列对应的词条等)时,可以对上述按键序列进行纠错处理,本发明实施例对于纠错处理的具体触发条件不加以限制。
本领域技术人员可以根据实际需求采用各种各样的纠错处理,本发明 实施例对具体的纠错方法不加以限制。例如,在本发明的另一种应用示例中,可以预置纠错规则,上述纠错规则具体可以包括:重码对应的纠错规则、编辑距离对应的纠错规则、模糊音对应的纠错规则,等等,本发明实施例对具体的纠错规则不加以限制。
在本发明的一种优选实施例中,所述对所述按键序列进行纠错处理的步骤,具体可以包括:
子步骤S31、对所述按键序列进行编辑处理,得到的纠错按键序列与所述按键序列之间的编辑距离小于距离阈值。
本发明实施例中,编辑距离可用于表示两个按键序列之间,由一个转成另一个所需的最少编辑操作次数。上述编辑操作具体可以包括将一个字符替换成另一个字符、插入一个字符、及删除一个字符的操作等等。
如图4A所示,假设用户使用全拼输入法,则ABCDEFG中“ysn”不符合全拼规则,因此,需要对其进行纠错处理;例如,可以通过编辑处理将“ysn”纠错为“yan”、“tan”、“han”等,从而得到“yanjing”、“tanjing”和“hanjing”等纠错按键序列,其中,“yan”、“tan”、“han”与“ysn”的编辑距离分别为1、2、2。
可以理解,本领域技术人员可以根据实际需要确定上述距离阈值,如,其可以为1、2等数值,本发明实施例对具体的距离阈值不加以限制。另外,本发明实施例还可以利用上述编辑距离解决在多种情形下的纠错问题,如错按、少按、多按、相邻两个字符位置颠倒情形下的纠错问题等等。
在本发明的另一种优选实施例中,所述对所述按键序列进行纠错处理的步骤,还可以包括:
子步骤S32、基于所述按键序列的上下文信息计算所述纠错按键序列在上下文中的第一概率;
子步骤S33、依据所述第一概率对所述纠错按键序列进行筛选。
上下文信息可用于表示用户在输入环境(语境)中的上屏内容,如在输入法程序所寄宿的当前应用程序中的上屏内容,所述上屏内容指的是用户已完成输入并展示的内容。
本优选实施例可以在纠错按键序列的数目大于等于2时,可以对纠错按键序列进行筛选,以得到符合上下文语境的纠错按键序列,从而使得到的纠错候选文字串更加符合输入的语境,提高纠错的准确性。
在文字输入过程中,通常候选项出现的概率与其前X个上屏项(上屏文字)有关,为了提高纠错的准确性,本发明实施例从上屏内容中获取上下文信息,后续依据上下文信息确定纠错按键序列。
通常状况下,取X≤3可以满足用户的输入需求,即可得到较高的准 确性,因此,本发明实施例为了减少对资源的浪费,提高计算的效率,可以根据实际情况及用户所使用电子设备的计算能力选定X取1~3之间的任一值。例如,当用户处于连续输入过程中时,可以根据电子设备计算资源的富余情况,资源最富余时X取3,最差时取1等。当然,实际处理中X也可以取大于3的任意整数,本发明实施例对X的值不作限定。
在实际应用中,上述上下文信息具体可以包括:上下文字符串和/或上下文文字串。例如,按键序列“ysnjing”的上文为“你的”,则对应的上下文文字串和上下文字符串分别为“你的”和“nide”。具体地,从上屏内容中获取上下文信息可以进一步包括:从上屏内容中获取上屏文字串作为上下文文字串;将所述上屏文字串对应字符串作为上下文字符串;采用所述上下文文字串和/或上下文字符串构成所述上下文信息。
在具体实现中,子步骤S33可以按照第一概率由大到小对纠错按键序列进行排序,选择前N个纠错按键序列,其中,N为自然数,本发明实施例对N的值不加以限制。
在本发明的一种优选实施例中,子步骤S32所述基于所述按键序列的上下文信息计算所述纠错按键序列在上下文中的第一概率,具体可以包括:
子步骤S321、计算在所述上下文信息的基础上,所述纠错按键序列出现的概率;
子步骤S322、计算在所述上下文信息的基础上,所述纠错按键序列被错输成所述按键序列的概率;
子步骤S323、基于所述纠错按键序列出现的概率和所述纠错按键序列被错输成所述按键序列的概率,确定所述纠错按键序列在上下文中的第一概率。
在本发明的一种优选实施例中,可以采用二元和二元以上的关系数据存储上述至少两个词汇之间的组合信息,并利用二元和二元以上的关系数据,得到所述纠错按键序列出现的概率和所述纠错按键序列被错输成所述按键序列的概率。
二元关系,又称2-gram,可用于表示两个元素相继出现的概率,在输入法领域,这里的元素可以是音素、音节、笔画字符串、字母或单词等。本发明实施例中,所述二元具体可以包括词汇的二元关系、音节的二元关系、音素和字母的二元关系。二元以上的关系则可用于表示两个以上元素相继出现的概率,例如,可用三元关系表示词汇“你的”、“眼睛”和“背叛”相继出现的概率。以下主要以二元关系为例进行说明,二元以上的关系请参照即可。
为保证二元关系数据的准确性、代表性,在本发明的一种优选实施例 中,可以采用同一语料库对中/英词汇、和/或英/英词汇、和/或中/中词汇的二元关系数据进行统计,得到二元库。其中,所述语料库可以为基于网络爬虫技术获取的互联网语料库,也可以为云计算输入法积累的语料库;另外,所述互联网可以为互联网博客语料库、互联网新闻语料库和/或互联网论坛语料库等等,本发明实施例对具体的语料库不加以限制。
假设纠错按键字符串为B,上下文字符串为A,则A和B的同现概率,可以采用如下公式计算:
p(dst)=p(A,B)=p(A)*p(B|A)            (1)
参照表1,示出了本发明一种二元关系的片段示例,这里,第一列表示两个字符串之间的搭配关系,第二列表示所述搭配关系的连接参数;进一步,所述连接参数可以包括:相邻同现概率、同现频率或连接强度值等,其中,所述相邻同现概率可依据所述语料库统计获得,所述同现概率可依据两个词汇的相邻同现概率以及所述两个词汇的词频计算获得,所述连接强度值可依据两个词汇的相邻同现概率和同现概率计算获得。可以理解,所述连接参数可以是任一种表明词汇搭配关系强度的数值,本发明实施例对此不加以限制。另外,所述二元关系的形式可以根据需要任意设置,本发明实施例对此不作限定。
表1
搭配关系 连接参数
nide-yanjing 0.8732
nide-tanjing 0.0023
nide-hanjing 0.0018
huma-maoba 0.8769
huma-maoma 0.0028
表1中第二行到第四行分别描述了给定上下文字符串“nide”的条件下,出现“yanjing”、“tanjing”、“hanjing”的概率分布;表1中第五行到第六行分别描述了给定上下文字符串“huma”的条件下,出现“maoba”、“maoma”的概率分布。基于此,对于每一个字符串,均可以采用上述方法计算以其作为上下文字符串时其它字符串出现的概率。
在具体实现中,可以通过统计的方法获得,在所述上下文信息的基础上,所述纠错按键序列被错输成所述按键序列的概率。参照表2,示出了本发明一种二元关系的片段示例,这里,第一列表示在给定上下文字符串的情况下,一个字符串被错输为另一个字符串的概率,第二列表示所述搭配关系的 连接参数。
搭配关系 连接参数
nide-yanjing=>ysnjing 0.3732
nide-tanjing=>ysning 0.0023
nide-hanjing=>ysnjing 0.0769
表2中,第二行到第四行描述了给定上下文字符串“nide”的前提下,字符串“yanjing”、“tanjing”、“hanjing”各自被错输为“ysnjing”的概率。基于此,对于每一个字符串,均可以采用上述方法计算以其作为上下文字符串时一个字符串被错输为另一个字符串的概率。
在本发明的一种实施例中,子步骤S323所述的基于所述纠错按键序列出现的概率和所述纠错按键序列被错输成所述按键序列的概率,确定所述纠错按键序列在上下文中的第一概率,可以通过如下公式确定所述纠错按键序列在上下文中的第一概率:
Figure PCTCN2016089113-appb-000001
其中,src代表包含上下文字符串的用户输入的编码字符串,其中该编码字符串中包含错输串,dst代表包含上下文字符串的纠错候选字符串,则公式(2)表达的含义为,在给定包含上下文字符串的编码字符串的前提下,确定纠错候选按键序列在该编码字符串中的概率,即纠错候选字符串按键序列在上下文字符串中的第一概率。
其中,p(src|dst)可用于表示结合了上下文字符串的纠错模型,其可通过表2得到;p(dst)可用于表示结合了上下文字符串的二元关系,其可通过表1得到;p(src)为固定值。
假设对于“yanjing”、“tanjing”和“hanjing”等纠错按键序列,其中“yanjing”在上下文中的第一概率最大,故可以将其作为最优的纠错按键序列,提供给用户。
上述联想处理主要用于预测用户将要输入的内容。如图5A和图5B所示,当用户输入的按键为拼音串“guose”,“guose”的其中一个候选词汇为“国色”,“国色”之后可以预测用户会输入“天香”,则当“国色”被用户选择上屏时可以立即展示“天香”。
在具体实现中,可以在大样本用户数据的基础上,依据不同输入习惯、不同年龄和不同手型的用户数据,建立纠错模型和预测模型,并利用所建立的纠错模型对上述按键序列进行纠错处理,以及,利用所建立的预 测模型对上述按键序列进行联想处理等等。
本发明实施例对上述按键序列进行匹配处理和/或纠错处理和/或联想处理,确保了无输入设备时输入的正确性,避免出错时用户重复进行输入,进一步提高输入效率。
步骤105、依据上述按键序列转换得到相应的候选项。
步骤105可以采用对应转换规则,依据所述按键序列转换得到相应的候选项,这里的按键序列具体可以包括:原有按键序列和/或对原有按键序列进行纠错得到的纠错按键序列和/或对原有按键序列进行联想得到的联想按键序列等。例如,对于汉字输入,上述转换规则具体可以包括:五笔规则、简拼规则、全拼规则、双拼规则等。在具体实现中,可以针对转换规则建立按键序列与词条之间的映射关系,并将该映射关系存储至词库,以通过检索词库将所述按键序列转换为相应的候选项,本发明实施例对具体的转换过程不加以限制。例如,对于纠错按键序列“yanjing”,可以依据全拼规则将其转换为“眼睛”候选项。
需要说明的是,本发明实施例的词库具体可以包括:普通词库、用户词库、热门词库等,其中,普通词库可用于存储普通词条;用户词库可用于存储用户已经输入的词条,热门词库可用于存储最新的热门词条,该热门词条可由服务器定期向客户端推送得到。在具体实现中,上述词条可以为词汇词条、成语词条或者短句词条等等,本发明实施例对于具体的词条不加以限制。
综上,本发明实施例生成三维空间,检测用户在上述三维空间中产生的操作位置序列,继而确定该操作位置序列对应的按键区域,并依据所述按键区域确定所述操作位置序列对应的按键序列;相对于现有方案中键盘尺寸受限的问题,本发明实施例可以向用户提供用于产生按键操作的、更广阔的三维空间,因此,能够有效避免现有方案中键盘尺寸受限而导致的按键困难、误输入等现象,从而能够降低按键的难易程度,有效减少误输入的发生,从而能够提高输入效率。
并且,在用户熟悉按键排布的情况下,可以单凭敲击即可实现输入,不仅摆脱了诸如键盘等输入键盘的限制,而且摆脱了诸如跑步等情景限制,从而实现了随时随地的输入,大大地提高了输入效率。
需要说明的是,终端设备可以执行上述步骤101和步骤102,将上述操作位置序列发送至电子设备,由电子设备执行步骤103、步骤104和步骤105以得到相应的按键序列和候选项。
在本发明的一种优选实施例中,终端设备可以执行上述步骤101和步骤102,并将上述操作位置序列发送至服务器,由服务器执行步骤103、步骤104和步骤105以得到相应的按键序列和候选项。由于终端设备可以仅仅执 行位置序列的检测操作,大量的运算工作在服务器中执行,故能够大大降低终端设备的运算量,也即能够大大降低终端设备的资源消耗,从而能够提高终端设备的运行时间和运行效率,且能够提高终端设备的实用性;并且,还能够发挥服务器侧计算资源(云服务器中云资源)丰富的优势,从而能够保证无键盘输入的准确性。
方法实施例二
参照图6,示出了本发明的一种输入方法实施例二的步骤流程图,具体可以包括如下步骤:
步骤601、生成三维空间;
步骤602、检测用户在上述三维空间中产生的操作位置序列;
步骤603、根据上述操作位置序列检测在上述三维空间中用于输入的手部信息;其中,上述手部信息具体可以包括:单手、或者双手;
步骤604、确定上述操作位置序列对应的按键区域;其中,当上述手部信息为单手时,上述操作位置序列对应一个按键区域;或者,当上述手部信息为双手时,上述操作位置序列对应两个按键区域;
步骤605、依据上述按键区域确定上述操作位置序列对应的按键序列;
步骤606、依据所述按键序列转换得到相应的候选项。
相对于方法实施例一,本实施例还可以在所述确定所述操作位置序列对应的按键区的步骤之前,根据所述操作位置序列检测在所述三维空间中用于输入的手部信息,并根据所述手部信息确定上述按键区域的数目,其中,在所述手部信息为单手时,所述操作位置序列可以对应一个按键区域;或者,在所述手部信息为双手时,所述操作位置序列可以对应两个按键区域,步骤605可以按照顺序将上述操作位置序列中各位置点在该两个按键区域中对应的按键进行拼接,得到相应的按键序列;这里的两个按键区域可以共面或者不共面,本发明实施例对该两个按键区域的具体位置关系不加以限制。
在本发明的一种优选实施例中,上述步骤603具体可以包括如下子步骤:
子步骤S41、当在所述三维空间中检测到一个固定的位置点和一个变动的位置点时,判定所述手部信息为单手;
子步骤S42、当在所述三维空间中检测到两个固定的位置点和一个变动的位置点时,判定所述手部信息为双手。
在实际应用中,一般每个手指都会有由其负责的按键,因此用户在输入时一般会有不动的可靠点,即手腕。这样,如果检测到一个不动(或固定)的点(或位置点,即手腕)叠加一个不断变化的点(或位置点,即手指), 则可以表示用户是采用单手进行输入;如果检测到两个不动(或固定)的点(或位置点,即手腕)叠加一个不断变化的点(或位置点,即手指),则可以表示用户是采用双手进行输入。并且,不动(或固定)的点的面积一般大于不断变化的点(手指)。
在本发明的一种优选实施例中,上述步骤603具体可以包括如下子步骤:
子步骤S51、根据所述操作位置序列的各位置点计算在所述三维空间中相邻两次输入的输入位移;
子步骤S52、查找所述输入位移所属的输入位移范围;其中,所述输入位移范围包括:单手输入位移范围和双手输入位移范围;
子步骤S53、当所述输入位移属于所述单手输入位移范围时,判定所述手部信息为单手;
子步骤S54、当所述输入位移属于所述双手输入位移范围时,判定所述手部信息为双手。
在本发明实施例中,输入的手部可以基于两个维度去计算,第一个维度是输入频率(或者称击键频率),第二维度是输入位移(或者称击键范围)。各位置点可以对应有时间信息,时间信息相邻的两个位置点可以指示相邻的两次输入,相邻两次输入的位置点的时间信息之间的时间差的比值,可以称为当次的输入频率;而相邻两次输入的位置点之间的距离,可以称为输入位移。
应用本发明实施例,可以预先收集用户在输入按键时的单手输入频率和双手输入频率、及其对应的单手输入位移和双手输入位移,经过后期处理,生成单手输入频率范围和双手输入频率范围、及其对应的单手输入位移范围和双手输入位移范围;其中,单手输入频率范围小于大于双手输入频率范围,单手输入位移范围往往大于双手输入位移范围,在实际应用中,可以结合使用单手输入频率范围和单手输入位移范围,以及双手输入频率范围和双手输入位移范围。
例如用户欲输入“pangbian”,如果采用单手输入,在输入按键“p”之后,接下来需要输入“a”,如果输入位移不超过合理阈值(一个手的手指所能到达的范围,单手情况下手指覆盖范围最大到字母“H”、“G”部分),是无法点击到按键“a”的。在单手输入的情况下,如果需要点击到按键“a”,则需要进行手部的移动,使得输入频率下降;在双手输入的情况下,如果需要点击到按键“a”,只需要移动左手小指,而一般无需移动手腕;因此,双手输入位移范围往往小于单手输入位移范围,双手输入频率范围一般高于单手输入频率范围。
需要说明的是,在检测用于输入的手部时,子步骤S41-子步骤S42和子步骤S51-子步骤S54可以单独应用,也可以在子步骤S41-子步骤S42无法成功检测的情况下,采用子步骤S51-子步骤S54进一步进行检测,本发明实施例对此不加以限制。
综上,本实施例可以支持单手或者双手输入,以满足用户对于习惯、输入效率等方面的需求。
方法实施例三
参照图7,示出了本发明的一种输入方法实施例三的步骤流程图,具体可以包括如下步骤:
步骤701、生成三维空间;
步骤702、检测用户在上述三维空间中产生的操作位置序列;
步骤703、确定上述操作位置序列对应的按键区域;
步骤704、依据上述按键区域确定上述操作位置序列对应的按键序列;
步骤705、将上述按键序列发送至相连接的电子设备,以在上述电子设备中显示上述按键序列和依据上述按键序列转换得到的候选项。
本实施例中,该电子设备可以为电脑、车载终端、智能电视等固定设备,也可以为手机、平板电脑等移动设备,本发明实施例具体的电子设备不加以限制。
在具体实现中,步骤701、步骤702可以在终端设备中执行,步骤703和步骤704可以在服务器中执行,步骤705可以在终端设备或服务器中执行,也即,该电子设备可以与终端设备或服务器通信以接收上述按键序列。
该电子设备与上述智能终端或服务器可以通过蓝牙、WIFI(无线保真)等无线方式相连,也可以通过数据线等有线方式相连,本发明实施例对该电子设备与上述智能终端或服务器之间的连接方式不加以限制。
在本发明的一种应用示例中,如果电子设备中出现光标闪动,可以判断有输入框出现,需要进行输入,于是可以启动本发明实施例的流程,当然,本发明实施例对具体的启动方式和启动条件不加以限制。
为使本领域技术人员更好地理解本发明实施例,在此提供本发明实施例的如下输入场景:
输入场景1、
参照图8,示出了本发明的一种输入场景1的示意图,其主要适用于单手输入的情形,在该输入场景1中,用户可以通过单手在三维球体空间801中产生按键操作,该三维球体空间的坐标原点O为手腕的中心;则本发明实施例的处理流程具体可以包括:
步骤S51、检测每次按键操作对应的位置点802、以及连续的按键操作对应的操作位置序列;
步骤S52、依据所述操作位置序列中位置点802的共面属性,确定所述操作位置序列对应的按键平面803(按键平面803为经过坐标原点);
步骤S53、依据所述操作位置序列中各位置点802对应的所述按键平面803中按键点,确定所述操作位置序列对应的按键区域804;
步骤S54、从所述按键区域804中提取所述操作位置序列中各位置点对应的按键;
步骤S55、依据所述操作位置序列中各位置点对应的按键,得到对应的按键序列;
步骤S56、将所述按键序列发送至电子设备,以在上述电子设备中显示上述按键序列和依据所述按键序列转换得到的候选项。
输入场景2、
参照图9,示出了本发明的一种输入场景2的示意图,其主要适用于双手输入的情形,在该输入场景2中,用户可以通过双手在三维球体空间901中产生按键操作,该三维球体空间的坐标原点O为手腕的中心;则本发明实施例的处理流程具体可以包括:
步骤S61、检测每次按键操作对应的位置点902、以及连续的按键操作对应的操作位置序列;
步骤S62、依据所述操作位置序列中位置点902的共面属性,确定所述操作位置序列对应的第一按键平面903和第二按键平面904(第一按键平面903和第二按键平面904均为经过坐标原点的平面);
步骤S63、分别依据所述操作位置序列中各位置点902对应的所述第一按键平面903中按键点和所述第二按键平面904中按键点,确定所述操作位置序列对应的第一按键区域905和第二按键区域906;其中,第一按键区域905与第一按键平面903相应,第二按键区域906与第二按键平面904相应;
步骤S64、分别从第一按键区域905和第二按键区域906中提取所述操作位置序列中各位置点902对应的按键;
步骤S65、依据所述操作位置序列中各位置点902对应的按键,得到对应的按键序列;
步骤S66、将所述按键序列发送至电子设备,以在上述电子设备中显示上述按键序列和依据所述按键序列转换得到的候选项。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所 描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
装置实施例
参照图10,示出了本发明一种输入装置实施例的结构框图,具体可以包括如下模块:
空间生成模块1001,用于生成三维空间;
序列检测模块1002,用于检测用户在所述三维空间中产生的操作位置序列;
区域确定模块1003,用于确定所述操作位置序列对应的按键区域;
按键确定模块1004,用于依据所述按键区域确定所述操作位置序列对应的按键序列;及
候选转换模块1005,用于依据所述按键序列转换得到相应的候选项。
在本发明的一种优选实施例中,所述操作位置序列具体可以包括多个位置点;
则所述区域确定模块1003,具体可以包括:
第一确定模块,用于确定所述操作位置序列对应的按键平面;
第二确定模块,用于依据所述操作位置序列中各位置点对应的所述按键平面中按键点,确定所述操作位置序列对应的按键区域。
在本发明的另一种优选实施例中,所述第一确定模块,可具体用于将经过坐标原点的水平面确定为所述操作位置序列对应的按键平面;或者,依据所述操作位置序列中位置点的共面属性,确定所述操作位置序列对应的按键平面。
在本发明的再一种优选实施例中,所述第二确定模块,可具体用于利用所述操作位置序列中各位置点对应的所述按键平面中的有效按键点组合得到对应的按键区域。
在本发明的又一种优选实施例中,所述装置还可以包括:用于确定所述操作位置序列中各位置点对应的所述按键平面中按键点的按键点确定模块:
所述按键点确定模块,具体可以包括:
第三确定模块,用于当所述操作位置序列中位置点位于所述按键平面时,将相应位置点作为其对应的按键点;及
第四确定模块,用于当所述操作位置序列中位置点不位于所述按键平面时,将相应位置点在所述按键平面上的投影点作为其对应的按键点。
在本发明的一种优选实施例中,所述按键平面可以为经过所述坐标原点的平面,则所述装置还可以包括:用于判断所述操作位置序列中位置点是否位于所述按键平面的判断模块;
所述判断模块,包括:
第一计算模块,用于计算所述位置点与坐标原点的连线与所述按键平面形成的夹角;
第一判定模块,用于在所述夹角为0时,判定所述操作位置序列中位置点位于所述按键平面;及
第二判定模块,用于在所述夹角不为0时,判定所述操作位置序列中位置点不位于所述按键平面。
在本发明的另一种优选实施例中,所述操作位置序列具体可以包括多个位置点;
则所述按键确定模块1004,具体可以包括:
提取模块,用于从所述按键区域中提取所述操作位置序列中各位置点对应的按键;及
第五确定模块,用于依据所述操作位置序列中各位置点对应的按键,确定所述操作位置序列对应的按键序列。
在本发明的再一种优选实施例中,所述操作位置序列具体可以包括多个位置点;
则所述按键确定模块1004,具体可以包括:
第六确定模块,用于依据所述操作位置序列中各位置点与坐标原点形成的输入矢量在所述按键区域上的投影矢量,确定所述操作位置序列对应的按键序列。
在本发明实施例中,优选的是,所述装置还可以包括:
序列处理模块,用于对所述操作位置序列对应的按键序列进行匹配处理和/或纠错处理和/或联想处理,并将处理后按键序列作为所述操作位置序列对应的按键序列。
在本发明的一种优选实施例中,所述序列处理模块,具体可以包括:
编辑处理模块,用于对所述按键序列进行编辑处理,得到的纠错按键序列与所述按键序列之间的编辑距离小于距离阈值。
在本发明的另一种优选实施例中,所述序列处理模块,还可以包括:
概率计算模块,用于基于所述按键序列的上下文信息计算所述纠错按键序列在上下文中的第一概率;
筛选模块,用于依据所述第一概率对所述纠错按键序列进行筛选。
在本发明的再一种优选实施例中,所述概率计算模块,具体可以包括:
第一计算单元,用于计算在所述上下文信息的基础上,所述纠错按键序列出现的概率;
第二计算单元,用于计算在所述上下文信息的基础上,所述纠错按键序列被错输成所述按键序列的概率;及
确定单元,用于基于所述纠错按键序列出现的概率和所述纠错按键序列被错输成所述按键序列的概率,确定所述纠错按键序列在上下文中的第一概率。
在本发明的又一种优选实施例中,所述装置还可以包括:
手部检测模块,用于在所述区域确定模块确定所述操作位置序列对应的按键区域之前,根据所述操作位置序列检测在所述三维空间中用于输入的手部信息;其中,所述手部信息包括:单手、或者双手;当所述手部信息为单手时,所述操作位置序列对应一个按键区域;或者,当所述手部信息为双手时,所述操作位置序列对应两个按键区域。
在本发明的一种优选实施例中,所述手部检测模块,具体可以包括:
第三判定模块,用于当在所述三维空间中检测到一个固定的位置点和一个变动的位置点时,判定所述手部信息为单手;及
第四判定模块,用于当在所述三维空间中检测到两个固定的位置点和一个变动的位置点时,判定所述手部信息为双手。
在本发明的另一种优选实施例中,所述手部检测模块,具体可以包括:
第二计算模块,用于根据所述操作位置序列的各位置点计算在所述三维空间中相邻两次输入的输入位移;
查找模块,用于查找所述输入位移所属的输入位移范围;其中,所述输入位移范围包括:单手输入位移范围和双手输入位移范围;
第五判定模块,用于当所述输入位移属于所述单手输入位移范围时,判定所述手部信息为单手;及
第六判定模块,用于当所述输入位移属于所述双手输入位移范围时,判定所述手部信息为双手。
对于输入装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
服务器实施例
参照图11,示出了本发明一种服务器实施例的结构框图,具体可以包括如下模块:
序列接收模块1101,用于接收终端设备发送的操作位置序列;
区域确定模块1102,用于确定所述操作位置序列对应的按键区域;
按键确定模块1103,用于依据所述按键区域确定所述操作位置序列对应的按键序列;及
候选转换模块1104,用于依据所述按键序列转换得到相应的候选项。
在本发明的一种优选实施例中,所述操作位置序列具体可以包括多个位置点;
则所述区域确定模块1102,具体可以包括:
第一确定模块,用于确定所述操作位置序列对应的按键平面;
第二确定模块,用于依据所述操作位置序列中各位置点对应的所述按键平面中按键点,确定所述操作位置序列对应的按键区域。
在本发明的另一种优选实施例中,所述第一确定模块,可具体用于将经过坐标原点的水平面确定为所述操作位置序列对应的按键平面;或者,依据所述操作位置序列中位置点的共面属性,确定所述操作位置序列对应的按键平面。
在本发明的再一种优选实施例中,所述第二确定模块,可具体用于利用所述操作位置序列中各位置点对应的所述按键平面中的有效按键点组合得到对应的按键区域。
在本发明的又一种优选实施例中,所述装置还可以包括:用于确定所述操作位置序列中各位置点对应的所述按键平面中按键点的按键点确定模块:
所述按键点确定模块,具体可以包括:
第三确定模块,用于当所述操作位置序列中位置点位于所述按键平面时,将相应位置点作为其对应的按键点;及
第四确定模块,用于当所述操作位置序列中位置点不位于所述按键平面时,将相应位置点在所述按键平面上的投影点作为其对应的按键点。
在本发明的一种优选实施例中,所述按键平面可以为经过所述坐标原点的平面,则所述装置还可以包括:用于判断所述操作位置序列中位置点是否位于所述按键平面的判断模块;
所述判断模块,包括:
第一计算模块,用于计算所述位置点与坐标原点的连线与所述按键平面形成的夹角;
第一判定模块,用于在所述夹角为0时,判定所述操作位置序列中位置点位于所述按键平面;及
第二判定模块,用于在所述夹角不为0时,判定所述操作位置序列中位置点不位于所述按键平面。
在本发明的另一种优选实施例中,所述操作位置序列具体可以包括多 个位置点;
则所述按键确定模块1103,具体可以包括:
提取模块,用于从所述按键区域中提取所述操作位置序列中各位置点对应的按键;及
第五确定模块,用于依据所述操作位置序列中各位置点对应的按键,确定所述操作位置序列对应的按键序列。
在本发明的再一种优选实施例中,所述操作位置序列具体可以包括多个位置点;
则所述按键确定模块1103,具体可以包括:
第六确定模块,用于依据所述操作位置序列中各位置点与坐标原点形成的输入矢量在所述按键区域上的投影矢量,确定所述操作位置序列对应的按键序列。
在本发明实施例中,优选的是,所述装置还可以包括:
序列处理模块,用于对所述操作位置序列对应的按键序列进行匹配处理和/或纠错处理和/或联想处理,并将处理后按键序列作为所述操作位置序列对应的按键序列。
在本发明的一种优选实施例中,所述序列处理模块,具体可以包括:
编辑处理模块,用于对所述按键序列进行编辑处理,得到的纠错按键序列与所述按键序列之间的编辑距离小于距离阈值。
在本发明的另一种优选实施例中,所述序列处理模块,还可以包括:
概率计算模块,用于基于所述按键序列的上下文信息计算所述纠错按键序列在上下文中的第一概率;
筛选模块,用于依据所述第一概率对所述纠错按键序列进行筛选。
在本发明的再一种优选实施例中,所述概率计算模块,具体可以包括:
第一计算单元,用于计算在所述上下文信息的基础上,所述纠错按键序列出现的概率;
第二计算单元,用于计算在所述上下文信息的基础上,所述纠错按键序列被错输成所述按键序列的概率;及
确定单元,用于基于所述纠错按键序列出现的概率和所述纠错按键序列被错输成所述按键序列的概率,确定所述纠错按键序列在上下文中的第一概率。
在本发明的又一种优选实施例中,所述装置还可以包括:
手部检测模块,用于在所述区域确定模块确定所述操作位置序列对应的按键区域之前,根据所述操作位置序列检测在所述三维空间中用于输入的手部信息;其中,所述手部信息包括:单手、或者双手;当所述手部信 息为单手时,所述操作位置序列对应一个按键区域;或者,当所述手部信息为双手时,所述操作位置序列对应两个按键区域。
在本发明的一种优选实施例中,所述手部检测模块,具体可以包括:
第三判定模块,用于当在所述三维空间中检测到一个固定的位置点和一个变动的位置点时,判定所述手部信息为单手;及
第四判定模块,用于当在所述三维空间中检测到两个固定的位置点和一个变动的位置点时,判定所述手部信息为双手。
在本发明的另一种优选实施例中,所述手部检测模块,具体可以包括:
第二计算模块,用于根据所述操作位置序列的各位置点计算在所述三维空间中相邻两次输入的输入位移;
查找模块,用于查找所述输入位移所属的输入位移范围;其中,所述输入位移范围包括:单手输入位移范围和双手输入位移范围;
第五判定模块,用于当所述输入位移属于所述单手输入位移范围时,判定所述手部信息为单手;及
第六判定模块,用于当所述输入位移属于所述双手输入位移范围时,判定所述手部信息为双手。
对于服务器实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明还提供了一种输入系统,其具体可以包括:终端设备和前述的服务器;
其中,所述终端设备具体可以包括:
空间生成模块,用于生成三维空间;
序列检测模块,用于检测用户在所述三维空间中产生的操作位置序列;及
序列发送模块,用于向所述服务器发送所述操作位置序列。
输入系统实施例一
参照图12,示出了本发明一种输入系统实施例的结构框图,具体可以包括服务器1210和终端设备1220;
其中,所述终端设备1220具体可以包括如下模块:
空间生成模块1221,用于生成三维空间;
序列检测模块1222,用于检测用户在所述三维空间中产生的操作位置序列;及
序列发送模块1223,用于向所述服务器发送所述操作位置序列;
所述服务器1210具体可以包括如下模块:
序列接收模块1211,用于接收终端设备发送的操作位置序列;
区域确定模块1212,用于确定所述操作位置序列对应的按键区域;
按键确定模块1213,用于依据所述按键区域确定所述操作位置序列对应的按键序列;及
候选转换模块1214,用于依据所述按键序列转换得到相应的候选项。
在本发明的一种优选实施例中,所述服务器1210还可以包括:用于向所述终端设备1220发送所述候选项的发送模块。
输入系统实施例二
参照图13,示出了本发明一种输入系统实施例的结构框图,具体可以包括服务器1310、终端设备1320和电子设备1330;
其中,所述终端设备1320具体可以包括如下模块:
空间生成模块1321,用于生成三维空间;
序列检测模块1322,用于检测用户在所述三维空间中产生的操作位置序列;
序列发送模块1323,用于向所述服务器发送所述操作位置序列;
第一候选接收模块1324,用于接收所述服务器1310发送的候选项;及
第一候选发送模块1325,用于向所述电子设备1330发送所述候选项;
所述服务器1310具体可以包括如下模块:
序列接收模块1311,用于接收终端设备发送的操作位置序列;
区域确定模块1312,用于确定所述操作位置序列对应的按键区域;及
按键确定模块1313,用于依据所述按键区域确定所述操作位置序列对应的按键序列;
候选转换模块1314,用于依据所述按键序列转换得到相应的候选项;
第二候选发送模块1315,用于向所述终端设备1320发送所述候选项;
所述电子设备1330具体可以包括:
第二候选接收模块1331,用于接收所述终端设备1310发送的候选项;及
显示模块1332,用于显示所述候选项。
需要说明的是,在本发明的一种实施例中,也可以向所述电子设备发送所述操作位置序列,以使所述电子设备将所述操作位置序列处理为对应的按键序列和候选项,需要说明的是,此种情况下,所述电子设备可以从云服务器获取最新的热门词条,如“虎妈猫爸”等,以为按键序列匹配得到最符合用户意图的候选项。
在本发明的另一种实施例中,服务器也可以向终端设备发送按键序列,终端设备可以将该按键序列转换为候选项并发送给电子设备,或者,可以直 接将该按键序列发送给电子设备,以使该电子设备将该按键序列转换为候选项,也即,本发明实施例对于各模块属于哪个设备(服务器、电子设备和终端设备)不加以限制。
对于输入系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
例如,图14示出了用于执行根据本发明的输入方法的计算设备。该计算设备传统上包括处理器1410和以存储器1420形式的程序产品或者可读介质。存储器1420可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM或者ROM之类的电子存储器。存储器1420具有用于执行上 述方法中的任何方法步骤的程序代码1431的存储空间1430。例如,用于程序代码的存储空间1430可以包括分别用于实现上面的方法中的各种步骤的各个程序代码1431。这些程序代码可以从一个或者多个程序产品中读出或者写入到这一个或者多个程序产品中。这些程序产品包括诸如存储卡之类的程序代码载体。这样的程序产品通常为如参考图15所述的便携式或者固定存储单元。该存储单元可以具有与图14的计算设备中的存储器1420类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元包括可读代码1431’,即可以由例如诸如1410之类的处理器读取的代码,这些代码当由计算设备运行时,导致该计算设备执行上面所描述的方法中的各个步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种输入方法、一种输入装置、一种服务器和一种输入系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (20)

  1. 一种输入方法,其特征在于,包括:
    生成三维空间;
    检测用户在所述三维空间中产生的操作位置序列;
    确定所述操作位置序列对应的按键区域;
    依据所述按键区域确定所述操作位置序列对应的按键序列;
    依据所述按键序列转换得到相应的候选项。
  2. 根据权利要求1所述的方法,其特征在于,所述操作位置序列包括多个位置点;
    则所述确定所述操作位置序列对应的按键区域的步骤,包括:
    确定所述操作位置序列对应的按键平面;
    依据所述操作位置序列中各位置点对应的所述按键平面中按键点,确定所述操作位置序列对应的按键区域。
  3. 根据权利要求2所述的方法,其特征在于,所述确定所述操作位置序列对应的按键平面的步骤,包括:
    将经过坐标原点的水平面确定为所述操作位置序列对应的按键平面;
    或者,
    依据所述操作位置序列中位置点的共面属性,确定所述操作位置序列对应的按键平面。
  4. 根据权利要求2所述的方法,其特征在于,所述依据所述操作位置序列中各位置点对应的所述按键平面中按键点,确定所述操作位置序列对应的按键区域的步骤,包括:
    利用所述操作位置序列中各位置点对应的所述按键平面中的有效按键点组合得到对应的按键区域。
  5. 根据权利要求2或3所述的方法,其特征在于,通过如下步骤确定所述操作位置序列中各位置点对应的所述按键平面中按键点:
    判断所述操作位置序列中位置点是否位于所述按键平面;
    当所述操作位置序列中位置点位于所述按键平面时,将相应位置点作为其对应的按键点;
    当所述操作位置序列中位置点不位于所述按键平面时,将相应位置点在所述按键平面上的投影点作为其对应的按键点。
  6. 根据权利要求5所述的方法,其特征在于,所述按键平面为经过所述坐标原点的平面,则通过如下步骤判断所述操作位置序列中位置点是否位于所述按键平面:
    计算所述位置点与坐标原点的连线与所述按键平面形成的夹角;
    在所述夹角为0时,判定所述操作位置序列中位置点位于所述按键平面;
    在所述夹角不为0时,判定所述操作位置序列中位置点不位于所述按键平面。
  7. 根据权利要求1所述的方法,其特征在于,所述操作位置序列包括多个位置点;
    则所述依据所述按键区域确定所述操作位置序列对应的按键序列的步骤,包括:
    从所述按键区域中提取所述操作位置序列中各位置点对应的按键;
    依据所述操作位置序列中各位置点对应的按键,确定所述操作位置序列对应的按键序列。
  8. 根据权利要求1所述的方法,其特征在于,所述操作位置序列包括多个位置点;
    则所述依据所述按键区域确定所述操作位置序列对应的按键序列的步骤,包括:
    依据所述操作位置序列中各位置点与坐标原点形成的输入矢量在所述按键区域上的投影矢量,确定所述操作位置序列对应的按键序列。
  9. 根据权利要求7或8所述的方法,其特征在于,所述方法还包括:对所述操作位置序列对应的按键序列进行匹配处理和/或纠错处理和/或联想处理,并将处理后按键序列作为所述操作位置序列对应的按键序列。
  10. 根据权利要求9所述的方法,其特征在于,所述对所述按键序列进行纠错处理,包括:
    对所述按键序列进行编辑处理,得到的纠错按键序列与所述按键序列之间的编辑距离小于距离阈值。
  11. 根据权利要求10所述的方法,其特征在于,所述对所述按键序列进行纠错处理,还包括:
    基于所述按键序列的上下文信息计算所述纠错按键序列在上下文中的第一概率;
    依据所述第一概率对所述纠错按键序列进行筛选。
  12. 根据权利要求11所述的方法,其特征在于,所述基于所述按键序列的上下文信息计算所述纠错按键序列在上下文中的第一概率,包括:
    计算在所述上下文信息的基础上,所述纠错按键序列出现的概率;
    计算在所述上下文信息的基础上,所述纠错按键序列被错输成所述按键序列的概率;
    基于所述纠错按键序列出现的概率和所述纠错按键序列被错输成所述 按键序列的概率,确定所述纠错按键序列在上下文中的第一概率。
  13. 根据权利要求1至12中任一所述的方法,其特征在于,在所述确定所述操作位置序列对应的按键区域之前,所述方法还包括:
    根据所述操作位置序列检测在所述三维空间中用于输入的手部信息;其中,所述手部信息包括:单手、或者双手;
    当所述手部信息为单手时,所述操作位置序列对应一个按键区域;当所述手部信息为双手时,所述操作位置序列对应两个按键区域。
  14. 根据权利要求13所述的方法,其特征在于,所述根据所述操作位置序列检测在所述三维空间中用于输入的手部信息,包括:
    当在所述三维空间中检测到一个固定的位置点和一个变动的位置点时,判定所述手部信息为单手;
    当在所述三维空间中检测到两个固定的位置点和一个变动的位置点时,判定所述手部信息为双手。
  15. 根据权利要求13所述的方法,其特征在于,所述根据所述操作位置序列检测在所述三维空间中用于输入的手部信息的步骤,包括:
    根据所述操作位置序列的各位置点计算在所述三维空间中相邻两次输入的输入位移;
    查找所述输入位移所属的输入位移范围;其中,所述输入位移范围包括:单手输入位移范围和双手输入位移范围;
    当所述输入位移属于所述单手输入位移范围时,判定所述手部信息为单手;
    当所述输入位移属于所述双手输入位移范围时,判定所述手部信息为双手。
  16. 一种输入装置,其特征在于,包括:
    空间生成模块,用于生成三维空间;
    序列检测模块,用于检测用户在所述三维空间中产生的操作位置序列;
    区域确定模块,用于确定所述操作位置序列对应的按键区域;
    按键确定模块,用于依据所述按键区域确定所述操作位置序列对应的按键序列;及
    候选转换模块,用于依据所述按键序列转换得到相应的候选项。
  17. 一种服务器,其特征在于,包括:
    序列接收模块,用于接收终端设备发送的操作位置序列;
    区域确定模块,用于确定所述操作位置序列对应的按键区域;
    按键确定模块,用于依据所述按键区域确定所述操作位置序列对应的 按键序列;及
    候选转换模块,用于依据所述按键序列转换得到相应的候选项。
  18. 一种输入系统,其特征在于,包括:终端设备和前述权利要求17所述的服务器;
    其中,所述终端设备包括:
    空间生成模块,用于生成三维空间;
    序列检测模块,用于检测用户在所述三维空间中产生的操作位置序列;及
    序列发送模块,用于向所述服务器发送所述操作位置序列。
  19. 一种程序,包括可读代码,当所述可读代码在计算设备上运行时,导致所述计算设备执行根据权利要求1至15中的任一项所述的输入方法。
  20. 一种可读介质,其中存储了如权利要求19所述的程序。
PCT/CN2016/089113 2015-07-09 2016-07-07 一种输入方法、输入装置、服务器和输入系统 WO2017005207A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510401579.7 2015-07-09
CN201510401579.7A CN106325488B (zh) 2015-07-09 2015-07-09 一种输入方法、输入装置、服务器和输入系统

Publications (1)

Publication Number Publication Date
WO2017005207A1 true WO2017005207A1 (zh) 2017-01-12

Family

ID=57684843

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/089113 WO2017005207A1 (zh) 2015-07-09 2016-07-07 一种输入方法、输入装置、服务器和输入系统

Country Status (2)

Country Link
CN (1) CN106325488B (zh)
WO (1) WO2017005207A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110009976A (zh) * 2019-05-27 2019-07-12 安康学院 一种大学数学概率教学演示装置
CN110764647A (zh) * 2019-10-21 2020-02-07 科大讯飞股份有限公司 输入纠错方法、装置、电子设备和存储介质
CN111522448A (zh) * 2019-02-02 2020-08-11 北京搜狗科技发展有限公司 一种提供输入候选项的方法、装置和设备
CN112015279A (zh) * 2019-05-28 2020-12-01 北京搜狗科技发展有限公司 按键误触纠错方法及装置
CN113495656A (zh) * 2020-04-08 2021-10-12 北京搜狗科技发展有限公司 一种输入方法、装置和用于输入的装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109471538B (zh) * 2017-09-08 2022-07-05 北京搜狗科技发展有限公司 一种输入方法、装置和用于输入的装置
CN109214167B (zh) * 2018-08-01 2021-04-16 深圳市文鼎创数据科技有限公司 一种智能密钥安全设备及其密钥恢复方法、存储介质
CN109857264B (zh) * 2019-01-02 2022-09-20 众安信息技术服务有限公司 一种基于空间键位的拼音纠错方法及装置
CN111580663A (zh) * 2020-05-11 2020-08-25 清华大学 一种信息输入方法、系统、电子设备及存储介质
CN116562278B (zh) * 2023-03-02 2024-05-14 华中科技大学 一种词语相似性检测方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1439151A (zh) * 2000-02-11 2003-08-27 卡尼斯塔公司 利用虚拟输入装置输入数据的方法和设备
CN101901106A (zh) * 2009-05-26 2010-12-01 美国智能科技有限公司 用于数据输入的方法及装置
CN102681756A (zh) * 2011-03-11 2012-09-19 北京千橡网景科技发展有限公司 文本输入方法和设备
CN103105930A (zh) * 2013-01-16 2013-05-15 中国科学院自动化研究所 一种基于视频图像的非接触式智能输入方法及装置
US20140320408A1 (en) * 2013-04-26 2014-10-30 Leap Motion, Inc. Non-tactile interface systems and methods

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1439151A (zh) * 2000-02-11 2003-08-27 卡尼斯塔公司 利用虚拟输入装置输入数据的方法和设备
CN101901106A (zh) * 2009-05-26 2010-12-01 美国智能科技有限公司 用于数据输入的方法及装置
CN101901051A (zh) * 2009-05-26 2010-12-01 美国智能科技有限公司 基于区别的输入对象的数据输入方法及装置
CN102681756A (zh) * 2011-03-11 2012-09-19 北京千橡网景科技发展有限公司 文本输入方法和设备
CN103105930A (zh) * 2013-01-16 2013-05-15 中国科学院自动化研究所 一种基于视频图像的非接触式智能输入方法及装置
US20140320408A1 (en) * 2013-04-26 2014-10-30 Leap Motion, Inc. Non-tactile interface systems and methods

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111522448A (zh) * 2019-02-02 2020-08-11 北京搜狗科技发展有限公司 一种提供输入候选项的方法、装置和设备
CN111522448B (zh) * 2019-02-02 2024-04-30 北京搜狗科技发展有限公司 一种提供输入候选项的方法、装置和设备
CN110009976A (zh) * 2019-05-27 2019-07-12 安康学院 一种大学数学概率教学演示装置
CN112015279A (zh) * 2019-05-28 2020-12-01 北京搜狗科技发展有限公司 按键误触纠错方法及装置
CN112015279B (zh) * 2019-05-28 2024-02-13 北京搜狗科技发展有限公司 按键误触纠错方法及装置
CN110764647A (zh) * 2019-10-21 2020-02-07 科大讯飞股份有限公司 输入纠错方法、装置、电子设备和存储介质
CN110764647B (zh) * 2019-10-21 2023-10-31 科大讯飞股份有限公司 输入纠错方法、装置、电子设备和存储介质
CN113495656A (zh) * 2020-04-08 2021-10-12 北京搜狗科技发展有限公司 一种输入方法、装置和用于输入的装置

Also Published As

Publication number Publication date
CN106325488B (zh) 2019-07-09
CN106325488A (zh) 2017-01-11

Similar Documents

Publication Publication Date Title
WO2017005207A1 (zh) 一种输入方法、输入装置、服务器和输入系统
EP3648099B1 (en) Voice recognition method, device, apparatus, and storage medium
US10156981B2 (en) User-centric soft keyboard predictive technologies
TWI690919B (zh) 語音關鍵字識別方法、裝置、終端、伺服器、電腦可讀儲存介質及電腦程式產品
US10402493B2 (en) System and method for inputting text into electronic devices
CN107436691B (zh) 一种输入法进行纠错的方法、客户端、服务器及装置
CN111625635A (zh) 问答处理、语言模型的训练方法、装置、设备及存储介质
WO2021135469A1 (zh) 基于机器学习的信息抽取方法、装置、计算机设备及介质
WO2018076450A1 (zh) 一种输入方法和装置、一种用于输入的装置
Tinwala et al. Eyes-free text entry with error correction on touchscreen mobile devices
US20200301919A1 (en) Method and system of mining information, electronic device and readable storable medium
US20140028603A1 (en) System and method for implementing sliding input of text based upon on-screen soft keyboard on electronic equipment
JP5948671B2 (ja) マルチメディア情報検索方法及び電子機器
US10664658B2 (en) Abbreviated handwritten entry translation
CN106708929B (zh) 视频节目的搜索方法和装置
CN104685451A (zh) 姿势适应选择
CN108170650B (zh) 文本比较方法以及文本比较装置
CN102750552B (zh) 一种手写识别方法、系统及手写识别终端
CN108803890B (zh) 一种输入方法、输入装置和用于输入的装置
CN109543014B (zh) 人机对话方法、装置、终端及服务器
WO2024036616A1 (zh) 一种基于终端的问答方法及装置
WO2016041428A1 (zh) 一种英文的输入方法和装置
CN110727769B (zh) 语料库生成方法及装置、人机交互处理方法及装置
WO2015078383A1 (zh) 手写字符识别方法和系统
CN106570196B (zh) 视频节目的搜索方法和装置

Legal Events

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

Ref document number: 16820858

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16820858

Country of ref document: EP

Kind code of ref document: A1