Patent Description:
Advanced communication terminals are capable of performing composition functions. For example, in addition to call processing, a communication terminal provides various supplementary functions related to message transmission, wireless Internet, phonebook management, housekeeping book management, and schedule management. However, the communication terminal manages text information in a manner specific to each function. For example, received messages are managed separately from other functions. Created schedules are managed separately from other functions. In addition, the communication terminal provides different user interface tools for different functions, and the user may have to become familiar to different user interface tools for different functions.

In <CIT>, scheduling an event on an electronic communications device configured for sending and receiving electronic messages over a communications network is described, including extracting information from an electronic message at the communications device; displaying on a display of the communications device an event scheduling interface for scheduling an event, the event scheduling interface having a plurality of input fields for receiving information about the event; and automatically populating at least one of the input fields in dependence on the extracted information.

According to <CIT>, telephone numbers are identified and highlighted on any computer document being loaded into a graphical user interface (GUI) for viewing by a user. The user may click on any particular highlighted telephone number in the computer document while displayed in the GUI window in order to store the telephone number together with any desired context information associated therewith.

<CIT> involves using one or more statistical classifiers in order to perform task classification on natural language inputs. The statistical classifiers can be used in conjunction with a rule-based classifier to perform task classification. A statistical classifier can be used in order ascertain if an input is a search query or a natural-language input.

In such a communication terminal, text information is not shared between different functions. For example, a received message cannot be used to create a schedule. Hence, the communication terminal has to manage text information for each function in a piecewise manner, complicating text information management.

The present invention provides a communication terminal that enables sharing of text information between different functions, and a method of providing a unified interface for the same.

In accordance with an exemplary example, which is useful for understanding the present invention, there is provided a method of providing a unified interface to a communication terminal, including: determining, when text information containing many characters is created, whether the text information conforms to one of preset grammatical constraints; extracting, when the text information conforms to one of the grammatical constraints, tokens of one or more of characters from the text information, and extracting, when the text information does not conform to one of the grammatical constraints, one or more characters having an attribute probability higher than a reference probability as a token; and analyzing the extracted tokens to determine a function to handle the extracted tokens, and executing the determined function based on the extracted tokens.

In accordance with another exemplary example, which is useful for understanding the present invention, there is provided a method of providing a unified interface to a communication terminal, including: extracting, when a communication message containing text information composed of multiple characters is created, one or more characters having an attribute probability higher than a reference probability as a token by analyzing pre-stored attribute probabilities of consecutive characters; and executing a schedule entry function through rearrangement of extracted tokens.

In accordance with another exemplary example, which is useful for understanding the present invention, there is provided a method of providing a unified interface to a communication terminal, including: determining, when text information containing many characters is created, whether one or more consecutive characters are equal to an attribute keyword; extracting, when one or more consecutive characters are equal to an attribute keyword, two or more consecutive characters immediately following the attribute keyword as a token; and selecting a function to process the extracted token on the basis of the attribute keyword, and executing the selected function using the extracted token.

In accordance with another exemplary example, which is useful for understanding the present invention, there is provided a communication terminal including: a text information classifier determining, when text information containing many characters is created, whether the text information conforms to one of preset grammatical constraints; a grammatical extractor extracting, when the text information conforms to one of the grammatical constraints, tokens of one or more of characters from the text information; a non-grammatical extractor analyzing, when the text information does not conform to one of the grammatical constraints, pre-stored attribute probabilities of consecutive characters, and extracting one or more characters having an attribute probability higher than a reference probability as a token; and a token processor analyzing the extracted tokens for determining a function to handle the extracted tokens, and executing the determined function based on the extracted tokens.

In a feature of the present invention, in the communication terminal, when a piece of text information is created through one function, tokens can be extracted from the piece of text information and input to another function for further processing. Hence, text information can be shared between multiple functions, and the user can easily manage text information in the communication terminal.

The features and advantages of the present invention will be more apparent from the following detailed description in conjunction with the accompanying drawings, in which:.

Exemplary examples, which are useful for understanding the present invention are described in detail with reference to the accompanying drawings. The same reference symbols are used throughout the drawings to refer to the same or like parts. Detailed descriptions of well-known functions and structures incorporated herein may be omitted to avoid obscuring the subject matter of the present invention.

In the description, the term "function"refers to a behavioral operation carried out by an application program in the communication terminal. A function may be, for example, related to call processing, message transmission and reception, wireless Internet, phonebook management, housekeeping book management, schedule management, or navigation. It would be recognized that the list of function shown is not to be considered limiting and other functions may benefit from the integration of operations disclosed in the present invention.

The term "text information" refers to strings of characters composed of numbers, symbols, Hangul and English characters, as well as characters and symbols of other languages, e.g., Greek, Russian, etc., and can be created through a particular function of a communication terminal. Text information can be received from the outside, or generated by the communication terminal. Text information can be contained in communication messages such as short messages, multimedia messages, voice mails and e-mail messages. Text information can be created by executing a text composition tool of the communication terminal. Voice mail messages may be translated into text information prior to being operated on by the invention disclosed herein. Such voice to text conversion is well-known in the art and need not be discussed herein.

The term "tokens" refers to a piece of data composed of one or more consecutive characters in text information. Tokens can be a morpheme or word. In the communication terminal, tokens can be defined by pre-selected attributes such as date, time, currency, name, place, phone number, and command for function invocation and execution. Tokens may be separated from each other by regular characters, white spaces, and/or delimiters.

The term "descriptive data" refers to data describing text information from the time of creation. For example, creation date and creation time of the text information or identification information for the text information like writer or recipient can be descriptive data.

The term "grammatical constraint" denotes a rule for arranging tokens in text information. That is, a grammatical constraint indicates that positions of tokens to be extracted are preset in text information. A grammatical constraint can be set in relation to an "attribute keyword". Here, an attribute keyword is an identification keyword separating first text information from second text information. An attribute keyword can be a token contained in text information. An attribute keyword can also be a command for invoking and executing a function that handles tokens to be extracted from text information.

The term "attribute probability"
is a number assigned to at least one character in text information to indicate the possibility that the character forms a token. Attribute probabilities can be divided into first attribute probabilities and second attribute probabilities. A first attribute probability is a number indicating the possibility that a single character forms a token. A second attribute probability is a number indicating the possibility that two or more consecutive characters form a token. In addition, the term "reference probability"⊚is a preset number to be compared with an attribute probability. A reference probability is used as a reference to check whether a particular character forms a token.

<FIG> is a block diagram of a communication terminal according to an exemplary embodiment of the present invention. In the description, the communication terminal is assumed to be a mobile phone. However, the communication terminal may be any type of terminal that can perform at least one of the functions described herein. It is also assumed that a first function is a function for creating text information and a second function is a function for processing text information.

<FIG> illustrates a memory unit of the communication terminal in <FIG>; <FIG> illustrates a control unit of the communication terminal in <FIG>; <FIG> illustrates a grammatical extracting section of the control unit in <FIG>; and <FIG> illustrates a non-grammatical extracting section of the control unit in <FIG>.

Referring to <FIG>, the communication terminal <NUM> includes a radio communication unit <NUM>, memory unit <NUM>, control unit <NUM>, display unit <NUM>, and key input unit <NUM>.

The radio communication unit <NUM> performs wireless communication for the communication terminal <NUM>. The radio communication unit <NUM> includes a radio frequency (RF) transmitter for up-converting the frequency of a signal to be transmitted and amplifying the signal, and an RF receiver for low-noise amplifying a received signal and down-converting the frequency of the received signal.

The memory unit <NUM> can include a program storage section and a data storage section. The program storage section stores programs for controlling the overall operation of the communication terminal <NUM>. In particular, the program storage section can store programs for managing text information. The data storage section stores data generated by execution of the programs. As shown in <FIG>, the memory unit <NUM> includes a text information area <NUM>, grammatical constraint area <NUM>, attribute probability area <NUM>, and standard information area <NUM>.

The text information area <NUM> can store text information matched with a first function, and tokens of text information matched with a second function. The grammatical constraint area <NUM> stores preset grammatical constraints. The grammatical constraint area <NUM> can store grammatical constraints for their corresponding attribute keywords. The attribute probability area <NUM> stores preset attribute probabilities. That is, the attribute probability area <NUM> stores first attribute probabilities and second attribute probabilities. The attribute probability area <NUM> further stores reference probabilities. The standard information area <NUM> stores standard information used for refining tokens according to preset criteria.

The control unit <NUM> controls the overall operation of the communication terminal <NUM>. The control unit <NUM> includes a data processor that encodes and modulates a signal to be transmitted, and demodulates and decodes a received signal. The data processor can include a modulator/demodulator (modem) and a coder/decoder (codec). The codec includes a data codec for processing packet data, and an audio codec for processing an audio signal such as a voice signal. As shown in <FIG>, the control unit <NUM> includes a text information processor <NUM>, token extracting section <NUM>, and token processor <NUM>.

The text information processor <NUM> extracts, when text information is created through a first function, descriptive data of the text information. The text information processor <NUM> corrects spelling and spacing errors in text information.

The token extracting section <NUM> extracts tokens from text information. There to, the token extracting section <NUM> includes a text information classifier <NUM>, grammatical extractor <NUM>, and non-grammatical extractor <NUM>. The text information classifier <NUM> determines whether tokens in text information are arranged in accordance with a grammatical constraint, and classifies the text information on the basis of the determination. If tokens in text information are arranged in accordance with a grammatical constraint, the grammatical extractor <NUM> extracts tokens from the text information according to the grammatical constraint. That is, the grammatical extractor <NUM> extracts tokens at preset positions. If tokens in text information are not arranged in accordance with a grammatical constraint, the non-grammatical extractor <NUM> checks attribute probabilities of characters, and extracts one or more of the characters having an attribute probability greater than the reference probability as a token. The non-grammatical extractor <NUM> extracts a token on the basis of attribute probabilities.

As shown in <FIG>, the grammatical extractor <NUM> includes a first grammatical extractor <NUM> and second grammatical extractor <NUM>. When text information containing an attribute keyword is created in a standardized format, the first grammatical extractor <NUM> extracts tokens at preset positions of the text information. The first grammatical extractor <NUM> includes a plurality of keyword agents <NUM> to <NUM>, which extract tokens according to their grammatical constraints matched with different attribute keywords. For example, the first grammatical extractor <NUM> can extract tokens from text information in a standardized format like credit card billing information. In text information containing an attribute keyword, the second grammatical extractor <NUM> extracts a token that is adjacent to the attribute keyword. The second grammatical extractor <NUM> includes a plurality of constraint agents <NUM> to <NUM>, which extract tokens according to their grammatical constraints matched with different attribute keywords.

As shown in <FIG>, the non-grammatical extractor <NUM> includes a finite state extractor <NUM> and probabilistic extractor <NUM>. The finite state extractor <NUM> extracts tokens according to a finite state constraint. The finite state extractor <NUM> can be a finite state machine that sequentially extracts characters corresponding to tokens. The finite state extractor <NUM> sequentially analyzes characters in text information. A finite state constraint is a set of finite characters defined for extractability. For example, the set of digits <NUM> to <NUM> is a finite state constraint. When characters are composed of one or more consecutive digits, the finite state extractor <NUM> can extract the consecutive digits as a token. The probabilistic extractor <NUM> finds in sequence attribute probabilities of characters in text information, and extracts one or more of the characters having an attribute probability greater than the reference probability as a token. The probabilistic extractor <NUM> can be a naive Bayes classifier.

The token processor <NUM> analyzes extracted tokens, selects a second function to handle the extracted tokens, and executes the second function. The token processor <NUM> can also utilize descriptive data in execution of the second function.

The display unit <NUM> (<FIG>) displays user data from the control unit <NUM>. The display unit <NUM> can include a panel of liquid crystal display (LCD) devices, an LCD controller, and a video memory for storing video data. If the panel has a touch screen, the display unit <NUM> can also act as an input means. The touch screen detects an action such as touch, drop, or drag on the basis of a change in a physical quantity such as electrostatic capacity, and converts the physical change into a touch signal.

The key input unit <NUM> (<FIG>) includes keys for inputting text information, and function keys for setting various functions.

<FIG> is a flow chart for a method of managing text information according to an exemplary example, which are useful for understanding the present invention. <FIG> are screen representations for the method illustrated in <FIG>. The screens represented by <FIG>, <FIG>, <FIG> and <FIG> are related to creation of text information; and the screens represented by <FIG>, <FIG>, <FIG> and <FIG> are related to processing of tokens.

Referring to <FIG> for the method of managing text information, the control unit <NUM> of the communication terminal <NUM> checks whether text information is created through a first function (S411). When text information is created, the control unit <NUM> processes the text information (S413). At step S413, the control unit <NUM> can store the text information in correspondence with the first function. For example, when a short message containing text information is received as shown by <FIG> or <FIG>, or when text information is created in a text composition mode as shown by <FIG> or <FIG>, the control unit <NUM> detects creation of the text information at step S411, and processes the text information at step S413. During the processing, the control unit <NUM> extracts descriptive data associated with the text information, and can correct spelling and spacing errors in the text information according to a preset scheme. Examples of extracted descriptive data and text information are illustrated in Table <NUM>.

Thereafter, the control unit <NUM> checks whether the text information conforms to a grammatical constraint stored in the grammatical constraint area <NUM> (S415). That is, the control unit <NUM> analyzes each character in the text information to examine whether tokens are arranged in accordance with grammatical constraints. Here, the control unit <NUM> can determine whether an attribute keyword is present in the text information.

If the text information conforms to a grammatical constraint, the control unit <NUM> grammatically extracts tokens from the text information (S417). That is, the control unit <NUM> extracts tokens according to a grammatical constraint matched with an attribute keyword. A procedure of grammatically extracting tokens is described in more detail in connection with <FIG>.

<FIG> is a flow chart for a procedure of grammatically extracting tokens in the method of <FIG>.

Referring to <FIG>, the control unit <NUM> determines the grammatical constraint associated with an attribute keyword (S511). That is, the control unit <NUM> identifies the positions of tokens to be extracted, which are preset according to the associated attribute keyword, in the text information. The grammatical constraint area <NUM> can store grammatical constraints associated with attribute keywords as a grammatical constraint table as shown in Table <NUM>. In the grammatical constraint table, second functions can be further stored to process tokens extracted according to grammatical constraints. The control unit <NUM> extracts tokens at positions defined by the determined grammatical constraint in the text information (S513), and returns to <FIG>.

For example, when text information is "AA card approved Apr. <NUM><NUM> <NUM> BB gas station <NUM>,<NUM> Won (lump sum)" the control unit <NUM> can extract tokens according to the grammatical constraint matched with an attribute keyword 'AA card' as illustrated in Table <NUM>. When text information is "#CCC012-<NUM>-<NUM>", the control unit <NUM> can extract tokens according to the grammatical constraint matched with an attribute keyword '#' as illustrated in Table <NUM>.

Referring back to <FIG>, if the text information does not conform to a grammatical constraint, the control unit <NUM> extracts tokens not associated with a grammatical constrain (non-grammatical token) from the text information (S419). That is, the control unit <NUM> extracts a token by combining and analyzing one or more consecutive characters in the text information. A procedure of extracting non-grammatical tokens is described in more detail in connection with <FIG>.

<FIG> is a flow chart for a procedure of extracting non-grammatical tokens in the method of <FIG>.

Referring to <FIG>, the control unit <NUM> extracts a token according to a finite state constraint (S611). A finite state constraint is a set of finite characters defined for extractability. For example, the set of digits <NUM> to <NUM> is a finite state constraint. At step S611, the control unit <NUM> analyzes in sequence characters in the text information, and, if one or more consecutive digits are found, can extract the digits as a token. Here, the control unit <NUM> can extract a token related to an attribute such as date, time, or monetary amount. For example, when one or more digits are followed by one or more characters such as 'day', 'month', 'today',⊚or 'Monday', the finite state extractor <NUM> can extract a token related to date. When one or more digits are followed by one or more characters such as ':'. 'PM', 'AM' or 'later', the finite state extractor <NUM> can extract a token related to time. When one or more digits are followed by one or more characters such as 'won', 'dallar', '<IMG>' or '$', the finite state extractor <NUM> can extract a token related to currency. Further, the finite state extractor <NUM> may extract a token related to a day of the week by analyzing a sequence of characters in the text information.

Thereafter, the control unit <NUM> extracts tokens using attribute probabilities (S613), and returns to <FIG>. At step S613, the control unit <NUM> checks in sequence attribute probabilities of characters in the text information, and can extract one or more characters having an attribute probability higher than the reference probability as a token. In this case, extracted tokens can be related to an attribute of time or location.

Extraction of tokens using attribute probabilities is described in more detail in connection with <FIG>.

<FIG> is a flow chart for a step of extracting tokens using attribute probabilities in the procedure of <FIG>.

Referring to <FIG>, the probabilistic extractor <NUM> initializes a variable N to <NUM> (S811). N indicates the position in text information of a character being checked. That is, the first one of characters in the text information is analyzed first. The probabilistic extractor <NUM> examines the first attribute probability of an Nth character (S813), and examines the second attribute probability of a combination of the Nth and the (N+<NUM>)th characters (S815). Here, the attribute probability area <NUM> can store attribute probabilities of characters or character combinations in an attribute probability table as shown in Table <NUM>. In the attribute probability table, the attribute probability of a character or character combination can be labeled as B (beginning) when the character or character combination is the beginning of a token, labeled as I (inside) when the character or character combination is a middle one of a token, labeled as E (end) when the character or character combination is the ending of a token, and labeled as S (single) when the character is a single character token. Additionally, in the attribute probability table, the attribute probability of a character or character combination can be labeled as L (location) when the character or character combination is a token with a location attribute, and labeled as C (content) when the character or character combination is a token with a content attribute.

For example, the text information is "at park", the probabilistic extractor <NUM> examines the attribute probability of 'p' and the attribute probability of 'pa'. In Table <NUM>, for 'p', the value labeled LB is highest and the probabilistic extractor <NUM> can set the attribute probability of 'p' to <NUM>. For 'pa' the value labeled LB is highest and the probabilistic extractor <NUM> can set the attribute probability of 'p' to <NUM>.

The probabilistic extractor <NUM> checks whether the first attribute probability of the Nth character is higher than the second attribute probability of the combination of the Nth and the (N+<NUM>) characters (S817). If the first attribute probability is higher than the second attribute probability, the probabilistic extractor <NUM> checks whether the first attribute probability is higher than the reference probability (S819). If the first attribute probability is higher than a reference probability, the probabilistic extractor <NUM> extracts the Nth character as a part of a token. For example, as the attribute probability of 'pa' is higher than that of 'p' and the reference probability, the probabilistic extractor <NUM> extracts 'p' as the initial character of a token. If the first attribute probability is not higher than the second attribute probability, the probabilistic extractor <NUM> checks whether the second attribute probability is higher than the reference probability (S823). If the second attribute probability is higher than the reference probability, the probabilistic extractor <NUM> extracts the combination of the Nth and the (N+<NUM>)th characters as a part of a token (S825).

Thereafter, the probabilistic extractor <NUM> increments the variable N by <NUM> to analyze the next character (S827). The probabilistic extractor <NUM> checks whether the next character to be analyzed is present (S829). If the next character to be analyzed is not present, the probabilistic extractor <NUM> determines a token (S831) based on the extracted data, and processing is completed. If the next character to be analyzed is present, the probabilistic extractor <NUM> returns to step S813 for processing the next character.

For example, the probabilistic extractor <NUM> examines the attribute probabilities of 'rk' and 'k'. For 'rk', the value for the ending of a token is highest and the probabilistic extractor <NUM> sets the attribute probability of 'rk' to that value. For 'k', the value for the ending of a token is highest and the probabilistic extractor <NUM> sets the attribute probability of 'k' to that value. As the attribute probability of 'k' is higher than that of 'rk', the probabilistic extractor <NUM> can extract 'k' as the ending of a token. As a result, the probabilistic extractor <NUM> can extract a token 'park' with the beginning 'p' and the ending 'k' in relation to a location attribute.

In the above description on the use of attribute probabilities, to extract a token, the probabilistic extractor <NUM> compares the first attribute probability of the Nth character with the second attribute probability of a combination of the Nth and the (N+<NUM>)th characters. However, the probabilistic extractor <NUM> may also compare the first attribute probability of the (N-<NUM>)th character with the second attribute probability of a combination of the (N-<NUM>)th and the Nth characters. Further, to extract a token, the probabilistic extractor <NUM> compares the first attribute probability of a single character with the second attribute probability of a combination of two consecutive characters. However, the probabilistic extractor <NUM> may also compare the first attribute probability of a single character with the second attribute probability of a combination of two or more characters.

The finite state extractor <NUM> and probabilistic extractor <NUM> can extract tokens as shown in Table <NUM>.

For example, when text information is "See you at LMN park April <NUM><NUM>", the finite state extractor <NUM> can extract tokens 'April <NUM>' and '<NUM>' and the probabilistic extractor <NUM> can extract a token 'LMN park.

Referring back to <FIG>, the control unit <NUM> processes the extracted tokens (S421). The control unit <NUM> can match, at least in part, the descriptive data and extracted tokens with the second function. For example, the token processor <NUM> can process descriptive data and tokens as shown in <FIG>, <FIG>, <FIG> and <FIG>.

Next, a procedure of processing tokens is described in detail with reference to <FIG> is a flow chart for a procedure of processing tokens in the method of <FIG>.

Referring to <FIG>, the control unit <NUM> analyzes extracted tokens and determines a second function to handle the tokens (S911). The control unit <NUM> can determine a second function matched with an attribute keyword of text information as illustrated in Table <NUM>. The control unit <NUM> can also determine a second function on the basis of extracted tokens. For example, when tokens extracted from the same text information are related to date, time and location attributes as illustrated in Table <NUM>, the control unit <NUM> can select a schedule management function as a second function.

The control unit <NUM> standardizes tokens according to preset formats (S913). For example, the control unit <NUM> may standardize the formats of tokens related to date, time and currency. The control unit <NUM> may standardize tokens according to creation date and time. The token processor <NUM> can standardize tokens on the basis of standardization information stored in the standard information area <NUM>. The standard information area <NUM> can store a standardization table as shown in Table <NUM>.

For example, when a token is 'April <NUM>' or '<NUM>/<NUM>' and its creation date is 'April <NUM><NUM>', the control unit <NUM> can standardize 'April <NUM>' or '<NUM>/<NUM>' into '<NUM>'. When a token is '5D' and its creation date is 'March <NUM><NUM>', the control unit <NUM> can standardize '5D' into a form of '<NUM>' (after the creation date).

Thereafter, the control unit <NUM> executes the determined second function using the tokens (S915). The control unit <NUM> may rearrange the tokens in a form applicable to the second function before execution.

As apparent from the above description, when text information is created through one function of a communication terminal, tokens can be extracted from the text information and input to another function for further processing. Hence, the text information can be shared between multiple functions, and the user can easily manage text information in the communication terminal.

Claim 1:
A method, executed by a communication terminal (<NUM>), including the steps of:
receiving (<NUM>) a message containing text information;
providing the received message via a messaging application executed by a processor of the terminal;
extracting (<NUM>) at least one token, which is shared between a plurality of functions, from the text information included in the message, wherein the token is a piece of data composed of one or more consecutive characters in text information;
based on the extracted at least one token, determining at least one function to share the extracted token;
standardizing the extracted at least one token in a form applicable to the at least one function; and
executing the at least one function by using the standardized at least one token as an input to the at least one function.