WO2012074338A2 - 자연어 및 수학식 처리 방법과 그를 위한 장치 - Google Patents

자연어 및 수학식 처리 방법과 그를 위한 장치 Download PDF

Info

Publication number
WO2012074338A2
WO2012074338A2 PCT/KR2011/009333 KR2011009333W WO2012074338A2 WO 2012074338 A2 WO2012074338 A2 WO 2012074338A2 KR 2011009333 W KR2011009333 W KR 2011009333W WO 2012074338 A2 WO2012074338 A2 WO 2012074338A2
Authority
WO
WIPO (PCT)
Prior art keywords
natural language
information
formula
data
semantic
Prior art date
Application number
PCT/KR2011/009333
Other languages
English (en)
French (fr)
Other versions
WO2012074338A3 (ko
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
Priority claimed from KR1020100122025A external-priority patent/KR101406000B1/ko
Priority claimed from KR1020100132141A external-priority patent/KR101476225B1/ko
Priority claimed from KR1020100133761A external-priority patent/KR101417928B1/ko
Priority claimed from KR1020100138531A external-priority patent/KR101476230B1/ko
Priority claimed from KR1020110001282A external-priority patent/KR101476232B1/ko
Priority claimed from KR20110014968A external-priority patent/KR101444671B1/ko
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to CN201180064528.XA priority Critical patent/CN103299292B/zh
Publication of WO2012074338A2 publication Critical patent/WO2012074338A2/ko
Publication of WO2012074338A3 publication Critical patent/WO2012074338A3/ko
Priority to US13/908,366 priority patent/US20130268263A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/111Mathematical or scientific formatting; Subscripts; Superscripts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Definitions

  • This embodiment relates to a natural language and mathematical processing method and apparatus therefor. More specifically, it provides a separate input tool for the user to input natural language and formula, generate semantic information, automatically extract semantic semantic information, and analyze the data of the combination of natural language and formula It is structured to manage natural language and formula based on recombination data, expresses complex sentence including natural language and mathematical expression to have logical relationship automatically, and structured user query based on semantic information. A method of processing natural language and mathematical expressions to be indexed, and apparatus for the same.
  • Natural language input can be used in almost any software application for interacting with a person.
  • the general natural language processing process separates natural language into tokens, maps them to one or more operations provided by a software application, and sets each software application to have a unique set of operations.
  • software developers write code that interprets natural language input and map the input to the appropriate behavior for each application.
  • the present embodiment provides a separate input tool for a user to input a natural language and a formula, generates semantic information, and automatically extracts semantic semantic information.
  • Structured natural language and formulas can be managed as recombination data based on the analysis of the combined data, and complex sentences containing natural language and mathematical expressions are automatically expressed in a logical relationship, and the user is based on semantic information. Its main purpose is to provide a method and apparatus for processing natural language and mathematical expressions such that the structured information of a query is indexed together.
  • a natural language and formula input unit for receiving a natural language and a formula;
  • An information generation unit for generating parsing semantic information about an equation from combination data consisting of the combination of the natural language and the equation;
  • a motion information extraction unit for extracting motion information using a logical condition from the combination data;
  • Natural language and mathematical structurer for recombining and analyzing the combined data according to a specific meaning;
  • An action structurer for structuring the action information;
  • a natural language and a mathematical indexing unit for indexing the combination data.
  • a first natural language input processor for providing a text input tool for receiving a natural language
  • a first formula input processor for providing a formula input tool for receiving a formula
  • a first information processor configured to transfer aggregated data obtained by combining the input natural language and the equation
  • a first parser configured to receive the collected data and to analyze semantic information constituting the natural language and the equation and to generate semantic information according to a specific meaning
  • a first data manager configured to recombine and store at least one or more of the configuration information, the natural language, the mathematical expression, and the semantic information.
  • a second information input unit for receiving a combination data consisting of a combination of natural language and formula;
  • a second separator for separating the natural language and the equation from the combination data;
  • a second natural language processing unit for analyzing each first information constituting the separated natural language and classifying the separated natural language according to a specific meaning;
  • a second equation processing unit for analyzing each second information constituting the separated equation and classifying it according to a specific meaning;
  • a second data manager configured to recombine and store at least one or more information among the first information, the second information, the natural language, and the equation as recombinant data.
  • a third information input unit for receiving a combination data consisting of a combination of natural language and formula;
  • a third semantic parser for separating the natural language and the formula from the combination data, and analyzing semantic information constituting the separated natural language and the formula and generating semantic information according to a specific meaning;
  • a third data manager configured to recombine and store at least one or more of the configuration information, the natural language, the formula, and the semantic information as recombination data;
  • a third query parser configured to extract and structure keywords included in the input user query;
  • a third index unit which generates semantic index information indexing the semantic information and generates query index information matching the keyword information to the semantic index information.
  • a fourth information input unit for receiving a compound sentence including a natural language and a formula;
  • a fourth separator for separating the natural language and the formula from the compound sentence;
  • a fourth natural language processing unit generating a natural language token by tokenizing the separated natural language;
  • a fourth equation processing unit for parsing the separated equation and extracting semantic meanings to generate a mathematical token;
  • a fourth rule storage unit for storing a rule combining natural language and a logical condition of an equation and operation information corresponding to the logical condition;
  • a fourth motion extracting unit for comparing the generated natural token and the mathematical token with logical conditions of the stored rule and extracting motion information of the compound sentence from the stored rule. to provide.
  • a fifth information input unit for receiving a compound sentence including a natural language and a formula;
  • a fifth sentence analysis unit analyzing the sentence structure of the compound sentence and generating a mathematical token and a natural language token by tokenizing a mathematical data and a natural language, respectively;
  • a fifth motion extracting unit extracting motion information corresponding to the meaning of the natural token by referring to the natural token;
  • a fifth operation execution unit configured to structure the extracted operation information with respect to the expression token.
  • a sixth information input unit for receiving formula data representing a formula
  • a sixth formula data structurer configured to extract and structure an operator and a parameter from the formula data
  • a sixth operator parsing unit configured to extract semantic meanings of the operator with respect to the structured operator and combine the extracted semantic meanings and parameters associated with the operator to generate parsing semantic information.
  • the natural language and mathematical expression processing apparatus for processing a natural language and mathematical expressions, natural language and mathematical expression input process for receiving natural language and mathematical expressions;
  • An information generation process of generating parsing semantic information about an equation from combination data consisting of the combination of the natural language and the equation;
  • a motion information extraction process of extracting motion information using a logical condition from the combination data;
  • a natural language and a mathematical structuring process of analyzing the combination data and classifying them according to a specific meaning;
  • An action structuring process for structuring the action information;
  • a natural language and a mathematical indexing process of indexing the combination data for processing a natural language and mathematical expressions, natural language and mathematical expression input process for receiving natural language and mathematical expressions.
  • a method of processing a natural language and a mathematical expression by a natural language and a mathematical expression processing apparatus comprising: a first natural language input processing process for providing a text input tool for receiving a natural language; A first equation input processing step of providing an equation input tool for receiving an equation; A first information processing step of delivering aggregated data obtained by combining the input natural language and the equation; A first parsing process for receiving the aggregated data and analyzing semantic information constituting the natural language and the formula and generating semantic information according to a specific meaning; And a first data management process of recombining and storing at least one or more of the configuration information, the natural language, the equation, and the semantic information.
  • a method of processing a natural language and a mathematical expression by a natural language and a mathematical expression processing apparatus comprising: a second information input process for receiving a combination of data consisting of a combination of natural language and a mathematical expression; A second separation step of separating the natural language and the equation from the combination data; A second natural language processing process of analyzing each first information constituting the separated natural language and classifying the separated natural language according to a specific meaning; A second formula processing step of analyzing each second information constituting the separated formula and classifying the separated formula according to a specific meaning; And a second data management process of recombining and storing at least one or more information of the first information, the second information, the natural language, and the equation as recombination data.
  • a method of processing a natural language and a mathematical expression by a natural language and a mathematical expression processing apparatus comprising: a third information input process for receiving a combination of data consisting of a combination of natural language and a mathematical expression; A third semantic parser process for separating the natural language and the formula from the combined data, and analyzing semantic information constituting the separated natural language and the formula and generating semantic information according to a specific meaning; A third data management process of recombining at least one or more of the configuration information, the natural language, the formula, and the semantic information and storing the information as recombinant data; A third query parser process of extracting and structuring a keyword included in an input user query; And generating a semantic index information obtained by indexing the semantic information, and generating query index information matching the keyword information to the semantic index information. do.
  • a natural language and a mathematical expression processing apparatus comprising: a fourth information input process for receiving a compound sentence including natural language and mathematical expression; A fourth separation process of separating the natural language and the expression from the compound sentence; A fourth natural language processing step of generating a natural language token by tokenizing the separated natural language; A fourth equation processing step of parsing the separated equation and extracting semantic meaning to generate a mathematical token; A fourth rule storing process of storing a rule combining natural language and a logical condition of an equation and operation information corresponding to the logical condition; And a fourth motion extraction process of extracting motion information of the compound sentence from the stored rule by comparing the generated natural token and the mathematical token with logical conditions of the stored rule.
  • the natural language and mathematical expression processing apparatus comprising: a fifth information input process of receiving a compound sentence including natural language and mathematical expressions; A fifth sentence analysis process of analyzing the sentence structure of the compound sentence and generating a mathematical token and a natural language token by tokenizing a mathematical data and a natural language, respectively; A fifth motion extraction process of extracting motion information corresponding to the meaning of the natural token by referring to a natural token; And a fifth operation execution step of structuring the extracted operation information with respect to the expression token.
  • the natural language and mathematical expression processing apparatus comprising: a sixth information input process for receiving mathematical data representing the mathematical expression; A sixth formula data structuring process of extracting and structuring an operator and a parameter from the formula data; And a sixth operator parsing process of extracting semantic meaning of the operator with respect to the structured operator and combining the extracted semantic meaning and parameters associated with the operator to generate parsing semantic information.
  • a sixth information input process for receiving mathematical data representing the mathematical expression
  • a sixth formula data structuring process of extracting and structuring an operator and a parameter from the formula data
  • a sixth operator parsing process of extracting semantic meaning of the operator with respect to the structured operator and combining the extracted semantic meaning and parameters associated with the operator to generate parsing semantic information.
  • a separate input tool is provided so that a user can input natural language and formula, generate semantic information, automatically extract semantic semantic information, and combine natural language and formula.
  • Structured natural language and formulas can be managed as recombined data based on the analyzed data, and complex sentences including natural language and mathematical expressions are automatically expressed in a logical relationship, and user queries based on semantic information
  • the structured information can be indexed together.
  • a separate text input tool and a formula input tool are provided for a user to input a natural language and a formula, and the natural language and formula input through the text input tool and the formula input tool are input.
  • the natural language and the formula can be managed as recombination data based on the analysis content of the combination of the natural language and the mathematical expression.
  • the similarity is analyzed through the index of the combined data of the natural language and the formula by indexing the information in which the user query is structured together based on the semantic information which is performed together with the natural language processing and the formula processing. This has the effect of providing scored ranking results.
  • FIG. 1 is a block diagram schematically illustrating a natural language and a mathematical expression processing apparatus according to a first embodiment
  • FIG. 2 is a flowchart illustrating a natural language and a mathematical expression input method according to a first embodiment
  • FIG. 3 is an exemplary view showing a configuration of XML according to the first embodiment
  • FIG. 4 is a block diagram schematically illustrating a natural language and a mathematical expression processing apparatus according to a second embodiment
  • FIG. 5 is a block diagram schematically illustrating a natural language processor according to a second embodiment
  • FIG. 6 is a block diagram schematically illustrating a modification processing unit according to a second embodiment
  • FIG. 7 is a flowchart illustrating a natural language and mathematical expression structuring method according to a second embodiment
  • FIG. 8 is an exemplary view showing a tree form representation of an equation according to a second embodiment
  • FIG. 9 is an exemplary diagram of a system in which a natural language and a mathematical expression processing device according to a second embodiment provide data to cloud computing;
  • FIG. 10 is an exemplary diagram illustrating a method of analyzing information constituting natural language and a formula according to a second embodiment and classifying the information according to a specific meaning
  • FIG. 11 is a block diagram schematically illustrating a natural language and a mathematical expression processing device according to a third embodiment
  • FIG. 12 is a flowchart for explaining a natural language and a formula indexing method according to a third embodiment
  • FIG. 13 is a flowchart for explaining a method of providing a ranking result of indexed query information according to a third embodiment
  • 16 is an exemplary diagram of a system in which a natural language and a mathematical expression processing device according to a third embodiment provide data to cloud computing;
  • 17 is an exemplary diagram illustrating a method of analyzing natural information and information constituting a mathematical expression and classifying the information according to a specific meaning according to the third embodiment.
  • FIG. 18 is a block diagram schematically illustrating a natural language and a mathematical expression processing apparatus of a compound sentence according to a fourth embodiment
  • FIG. 19 is a diagram illustrating a form of a mathematical problem according to a fourth embodiment in a tree structure
  • 20 is a diagram illustrating a procedure of generating a rule according to a fourth embodiment
  • 21 is a diagram illustrating a process of extracting configuration and operation information of a rule engine used as a rule storage unit according to a fourth embodiment
  • 22 is a diagram briefly showing a procedure of acquiring a mathematical object according to the fourth embodiment
  • 24 is a diagram illustrating a method of extracting operation information by rule matching according to the fourth embodiment
  • 25 is an exemplary diagram of a system in which a natural language and a mathematical expression processing apparatus of a compound sentence according to a fourth embodiment provide data to cloud computing;
  • 26 is a block diagram schematically illustrating an apparatus for processing natural language and mathematical expressions of a compound sentence according to a fifth embodiment
  • FIG. 27 is a block diagram schematically illustrating a sentence analyzing unit according to a fifth embodiment
  • 29 is a block diagram schematically showing a modification processing unit according to the fifth embodiment.
  • FIG. 30 is a flowchart illustrating a method of converting a logical expression of a compound sentence according to a fifth embodiment
  • 31 is an exemplary view showing a tree form representation of a compound sentence according to the fifth embodiment.
  • FIG. 32 is an exemplary diagram of a system in which a natural language and a mathematical expression processing apparatus of a compound sentence according to a fifth embodiment provide data to cloud computing;
  • FIG. 33 is a block diagram schematically illustrating an equation and a natural language processing device according to a sixth embodiment
  • 34 and 35 are views illustrating a result of performing an operator parsing equation data in which equations are expressed according to the sixth embodiment
  • 36 is a diagram illustrating a traversal order of nodes reflecting cMathML characteristics according to the sixth embodiment
  • FIG. 37 is a diagram illustrating semantic information combining formula data combining parsing semantic information (b) and input formula data (a) according to the sixth embodiment
  • 39 is an exemplary diagram of a system in which a natural language and a mathematical expression processing device according to a sixth embodiment provide data to cloud computing;
  • 40 is a flowchart illustrating a method of generating mathematical semantic information according to a sixth embodiment.
  • the natural language and mathematical expression processing apparatus 100 described in this embodiment includes a natural language and mathematical expression input unit for the first embodiment, a natural language and mathematical structure structure unit for the second embodiment, a natural language and mathematical indexing unit for the third embodiment , An operation information extractor for the fourth embodiment, an operation structurer for the fifth embodiment, and an information generator for the sixth embodiment, may be implemented as one apparatus.
  • the natural language and the formula input unit receives the natural language and the formula
  • the natural language and the formula structurer analyzes the combination data consisting of the combination of the natural language and the formula and classifies and recombines according to a specific meaning
  • the natural language and formula indexing unit Can be indexed
  • the motion information extractor may extract motion information using a logical condition from the combination data
  • the motion structurer may structure the motion information
  • the information generator may generate parsing semantic information about the equation from the combination data.
  • the natural language and formula input unit provides a text input tool for inputting a natural language, a formula input tool for inputting a formula, generates aggregate data combining the input natural language and formula, and constructs a natural language and a formula.
  • Each piece of configuration information is analyzed to generate semantic information that is classified according to a specific meaning, and at least one or more pieces of information of the configuration information, natural language, formula, and semantic information are recombined and stored.
  • the natural language and formula structuring unit receives the combination data, separates the natural language and the formula from the combination data, analyzes each piece of first information constituting the separated natural language according to a specific meaning, and constructs the separated formula.
  • Each of the second information is analyzed and classified according to a specific meaning, and at least one or more information of the first information, the second information, the natural language, and the expression are recombined and stored as recombinant data.
  • the natural language and formula indexing unit receives the combination data, separates the natural language and the formula from the combination data, analyzes each component of the separated natural language and the formula, and generates semantic information according to a specific meaning. Recombines at least one or more of composition information, natural language, formula, and semantic information and stores them as recombination data, extracts and constructs keywords included in the input user query, generates semantic index information that indexes semantic information, and generates semantic information. Generate query index information matching keyword information with index information.
  • the motion information extracting unit receives the combination data, separates the natural language and the formula from the combination data, generates a natural language token by tokenizing the separated natural language, parses the separated formula and extracts semantic meanings, and generates a mathematical token. And storing the rule combining the natural language and the logical condition of the mathematical expression and operation information corresponding to the logical condition, and comparing the generated natural token and the mathematical token with the logical condition of the stored rule to perform the operation on the combined data from the stored rule. Extract the information.
  • the motion structuring unit receives the combination data, analyzes the sentence structure of the combination data, and generates a formula token and a natural language token by tokenizing the formula and the natural language, respectively, and obtains motion information corresponding to the meaning of the natural token by referring to the rules of the natural token.
  • the extracted motion information is structured with respect to the mathematical token.
  • the information generating unit receives formula data expressing a formula, extracts and constructs an operator and a parameter from the formula data, extracts an operator's semantic meaning with respect to the structured operator, and parses the extracted semantic meaning and parameters associated with the operator. Generates semantic information.
  • the remaining operations (generating and extracting semantic information, structuring and indexing the natural language and formula, etc.) in any order
  • the semantic information is preferably generated, the semantic semantic information is automatically extracted, and the natural language and the formula can be managed as the recombined data based on the analysis contents of the data combining the natural language and the formula.
  • It can be implemented by constructing a structured expression, expressing a complex sentence including natural language and a mathematical expression to have a logical relationship automatically, and indexing the structured information of a user query based on semantic information. That is, since the present embodiments all have independent characteristics, the present invention is not limited to the following process only when a certain process is performed, and each independent process may be performed.
  • the natural language and formula processing apparatus 100 provides a text input tool for receiving a natural language and a mathematical input tool for receiving a mathematical formula.
  • the natural language and mathematical expression processing apparatus 100 may be implemented in hardware or software and mounted on a server or a terminal.
  • FIG. 1 is a block diagram schematically illustrating a natural language and a mathematical expression processing apparatus according to a first embodiment.
  • the natural language and mathematical expression processing apparatus 100 may include a first natural language input processor 110, a first mathematical input processor 120, a first image converter 130, a first information processor 140, The first parser 150 and the first data manager 160 are included. Meanwhile, in the first embodiment, the natural language and mathematical expression processing apparatus 100 may include the first natural language input processor 110, the first mathematical expression input processor 120, the first image converter 130, and the first information processor 140. Although it is described as including only the first parser 150 and the first data manager 160, this is merely illustrative of the technical idea of the first embodiment, and is common in the technical field to which the first embodiment belongs. Those skilled in the art may apply various modifications and variations to the components included in the natural language and the expression processing apparatus 100 without departing from the essential characteristics of the first embodiment.
  • the first natural language input processor 110 provides a text input tool for receiving natural language.
  • the first natural language input processor 110 provides a separate text input tool for inputting natural language.
  • the first natural language input processor 110 of the natural language and the expression processing apparatus 100 may provide a text input tool through the corresponding server.
  • the first natural language input processor 110 of the natural language and mathematical processing unit 100 may provide a text input tool to the terminal
  • the first natural language input processor 110 of the natural language and mathematical expression processing apparatus 100 is provided through a display unit. It can be implemented by providing a text input tool.
  • the text information input to the first natural language input processor 110 is preferably information corresponding to text among mathematical contents including a mathematical problem and a mathematical proof, but is not necessarily limited thereto.
  • a user may directly input text information through a text input tool provided by the first natural language input processor 110, but is not limited thereto. Input text information corresponding to natural language from a separate external server or terminal. You might get it.
  • the first formula input processor 120 provides a formula input tool for receiving a formula.
  • the first equation input processor 120 receives an equation in the form of Mathmatic Markup Language (ML) through an equation input tool.
  • the first equation input processor 120 refers to a tool that supports at least one technology of Java Applet, SilverLight, and ActiveX.
  • the first formula input processor 120 of the natural language and the expression processing apparatus 100 may provide a formula input tool through the corresponding server.
  • the first formula input processor 120 of the natural language and formula processing apparatus 100 may provide a formula input tool to the terminal
  • the first mathematical expression input processor 120 of the natural language and mathematical expression processing apparatus 100 is provided through a display unit. It can be implemented by providing a mathematical input tool.
  • the formula information input to the first formula input processor 120 is preferably information corresponding to text among mathematical contents including a mathematical problem, a formula proof, and the like, but is not necessarily limited thereto.
  • a user may directly input formula information through a formula input tool provided by the first formula input processor 120, but is not limited thereto.
  • Input formula information corresponding to natural language from a separate external server or terminal. You might get it.
  • the first image converter 130 controls the expression to be displayed through the equation input tool after converting the equation input through the first equation input processor 120 into an image. That is, the first image converter 130 may increase the resolution of the equation by converting the equation of the Math ML type inputted through the first equation input processor 120 into an image, and again, the first equation input processor ( By controlling the expression to be displayed through the equation input tool (120), a high resolution equation image is provided to the user who inputs the equation.
  • the first image converting unit 130 may convert the formula inputted through the first formula input processor 120 into a formula image.
  • the equation in the Math ML format input by the first image conversion unit 130 is converted into an image.
  • the user experience can be enhanced by providing.
  • the first information processor 140 delivers aggregated data obtained by combining the input natural language and the mathematical expression. That is, the first information processor 140 receives the natural language from the first natural language input processor 110, receives the mathematical expression from the first mathematical input processor 120, collects them, and transfers them to the first parser 150. It is.
  • the first information processor 140 transfers the aggregated data to the first parser 150 using PHP (Personal Hypertext Preprocessor). That is, the first information processor 140 may transfer the aggregated data in XML form to the first parser 150 using PHP.
  • the first parser 150 may be made of any programming language, and may be set in a form of waiting for a plurality of PHP connections to be connected while the socket is open.
  • the semantic information output through the first parser 150 may be stored in the form of XML again or based on necessary semantic information.
  • the first parser 150 receives the aggregated data, and analyzes the respective pieces of configuration information constituting the natural language and the formula included in the aggregated data and generates semantic information that is classified according to a specific meaning.
  • the first parser 150 parses a string in which a natural language and an expression are combined by using JavaScript. For example, the first parser 150 clearly distinguishes between natural language and expression when attempting to parse a string combining natural language input from the Web and math in the form of Math ML using JavaScript technology. It is structured in a form consistent with a particular system.
  • the first parser 150 analyzes each piece of configuration information constituting the natural language and the expression and generates semantic information for distinguishing according to a specific meaning. To describe in detail the process performed by the first parser 150, when the natural language and the formula are input, the first parser 150 analyzes each piece of configuration information constituting the natural language according to a specific meaning. do. The first parser 150 generates a natural language token that tokenizes the natural language, generates word filtering data that filters the stop word based on the natural language token, and removes duplicates from the stop word filtering data. The deduplication filtering data that has been filtered is generated and the operation information to which the predefined meaning is assigned to the deduplication filtering data is matched.
  • tokenization refers to a unit that can be distinguished from consecutive sentences
  • tokenization refers to a process of dividing a natural language into units of words, which are units that can be understood by the natural language and the expression processing apparatus 100.
  • tokenization is largely divided into natural language tokenization and mathematical tokenization.
  • Natural language tokenization refers to a process of recognizing each word corresponding to a result of separating natural language included in a combination data (math problem) based on a space as a natural language token. In order to more clearly understand the meaning of each token, further stemming of the token may be performed.
  • formula tokenization refers to a process of recognizing individual unit information obtained after parsing a formula included in combination data (math problem) as a formula token.
  • the information corresponding to the natural language token is 'Find', 'the', 'function', 'value', 'with', and the formula token is returned after parsing the information through parsing.
  • the first parser 150 generates a natural language token by performing tokenization on configuration information constituting the natural language, and performs stop word filtering to select and remove the natural language token determined as a preset stop word from the natural language token.
  • the stop word refers to a set of words predefined in order to remove a portion corresponding to a token that is not necessary in the analysis of a sentence or an expression. That is, in [Example 1], 'the' (in addition to a or to, etc.) is predefined in the system as a dictionary.
  • the dictionary means a list including a set of words.
  • the first parser 150 performs a process of removing the stop word, which is not necessary for the analysis.
  • the stop word filtering is performed when the math problem becomes long (descriptive problem, etc.). It works to prevent too many tokens from entering the system and to speed up the system's processing.
  • the first parser 150 generates deduplication filtering data by selecting and removing duplicate data from the stop word filtering data to generate deduplication filtering data, and then defines data corresponding to predicates in the deduplication filtering data.
  • the motion information refers to summary information that can be extracted based on natural language tokens or mathematical tokens.
  • the motion information 'Solve' may be extracted based on a natural language token or a mathematical token.
  • the reason for matching and storing the data corresponding to the predicate in the deduplication filtering data is to obtain information on the representative operation of the entire sentence in the process of defining the combination data (math problem) as the schema. It is intended to be used as a helpful tool when analyzing search or similarity between problems later.
  • the first parser 150 analyzes each piece of configuration information constituting the equation and classifies it according to a specific meaning.
  • the first parser 150 converts the formula into a tree, performs a traverse process on the formula converted into a tree, and performs tokenization on the formula on which the traversing process is performed.
  • the first parser 150 converts an equation written in Math ML (Mathematical Markup Language) into an XML tree and then converts it into a DOM (Document Object Tree).
  • the first parser 150 performs traversal in a depth-first search manner in which configuration information constituting an equation is transferred from a lowermost node to an upper node gradually.
  • the formula is generally in the form of Math ML, which is composed of a tree, the process of traversing the tree is called a traversal process, When performing the process, use depth-first search. Since the traversal process starts at the root of the tree, enters the child node, and moves to the parent node after all child nodes have been searched, all information contained in the child node is transferred to the parent node. In terms of time complexity, it is efficient because only the number of edges needs to be searched.
  • the first data manager 160 recombines and stores at least one or more pieces of information of configuration information, natural language, mathematical expressions, and semantic information as recombination data.
  • the first data manager 160 converts the recombined data into document data.
  • FIG. 2 is a flowchart illustrating a natural language and a mathematical expression input method according to a first embodiment.
  • the natural language and formula processing apparatus 100 provides a text input tool for receiving a natural language and a formula input tool for receiving a formula, and receives a natural language and a formula through a text input tool and a formula input tool (S210).
  • the natural language and the expression processing apparatus 100 may provide a text input tool and a formula input tool through the corresponding server.
  • the natural language and mathematical expression processing apparatus 100 may provide a text input tool and a mathematical expression input tool to the corresponding terminal, and the natural language and mathematical expression processing apparatus 100 is externally provided.
  • the natural language and mathematical expression processing apparatus 100 may be implemented by providing a text input tool and a mathematical input tool through a display unit.
  • the natural language and the mathematical expression input to the natural language and mathematical expression processing apparatus 100 is preferably information corresponding to text among mathematical contents including mathematical problems, mathematical proofs, and the like, but is not necessarily limited thereto.
  • the formula input through the formula input tool is in the form of Math ML, the formula input tool refers to a tool that supports at least one technology of Java applet, Silverlight, ActiveX.
  • the natural language and the formula processing apparatus 100 when the natural language and the formula processing apparatus 100 is applied to the web and interlocks with a separate external server, the user inputs the natural language and the formula through the web, and the external server is a web request / response or ajax.
  • the natural language and the mathematical expression inputted through the technology are transmitted to the natural language and the mathematical expression processing device 100.
  • PHP running on an external server transmits to the natural language and mathematical expression processing apparatus 100 through a socket connection.
  • the delivery format may be delivered as data in a tree form including Math ML, and may be delivered as XML data in which a plurality of natural languages and expressions are combined.
  • XML should have a standardized form to be understood by the natural language and the expression processing apparatus 100.
  • the natural language and mathematical expression processing apparatus 100 controls the expression to be displayed through the mathematical expression input tool after converting the mathematical expression input through the mathematical expression input tool (S220). That is, the natural language and the expression processing apparatus 100 may increase the resolution of the equation by converting the equation of the Math ML type inputted through the equation input tool into an image, which is again inputted by the equation input processor 120. By controlling it to appear through the tool, a high resolution mathematical image is provided to the user who enters the mathematical expression.
  • the natural language and the mathematical expression processing apparatus 100 may convert the mathematical expression input through the mathematical expression input tool into a mathematical image. That is, since the formula input tool does not provide an API for directly converting an input formula into an image, the user experiences by converting and providing an Math ML format formula input by the first image converter 130 into an image. It can increase.
  • the natural language and the mathematical expression processing apparatus 100 collect the input natural language and the mathematical expression (S230). That is, the natural language and mathematical expression processing apparatus 100 receives a natural language through a natural language input tool, receives a mathematical expression through a mathematical input tool, and collects them.
  • the natural language and mathematical expression processing apparatus 100 analyzes each piece of configuration information constituting the natural language and the mathematical expression included in the combined data combining the natural language and the mathematical expression and generates semantic information for distinguishing according to a specific meaning (S240).
  • the natural language and mathematical expression processing apparatus 100 parses a string in which the natural language and the mathematical expression are combined using JavaScript. .
  • the natural language and mathematical expression processing apparatus 100 analyzes the respective pieces of configuration information constituting the natural language and the mathematical expression and generates semantic information that is classified according to a specific meaning. To describe in detail the process performed by the natural language and the formula processing apparatus 100, when the natural language and the formula processing apparatus is input, the natural language and the formula processing apparatus 100 analyzes each piece of configuration information constituting the natural language to a specific meaning. According to the classification.
  • the natural language and formula processing apparatus 100 generates a natural language tokenized token of the natural language, generates word filtering data filtering the stop word based on the natural language token, and deduplication that performs deduplication filtering on the stop word filtering data. The filtering data is generated and matched with operation information to which a predefined meaning is added to the deduplication filtering data.
  • the natural language and the expression processing apparatus 100 generates a natural language token by performing tokenization on the configuration information constituting the natural language, and stop words for selecting and removing the natural language token determined as a preset stop word from the natural language token.
  • Filtering generates stop word filtering data
  • the natural language and formula processing apparatus 100 performs deduplication filtering to select and remove duplicate data from the stop word filtering data to generate deduplication filtering data, and then deduplication.
  • the data corresponding to the predicate in the filtering data is matched and stored with operation information to which a predefined meaning is given.
  • the natural language and the expression processing apparatus 100 analyze each piece of configuration information constituting the equation and classify them according to a specific meaning.
  • the natural language and mathematical expression processing apparatus 100 converts the mathematical expression into a tree form, performs a traversal process on the formula converted into a tree form, and performs tokenization on the mathematical expression on which the traversal process is performed.
  • the natural language and equation processing apparatus 100 converts an equation written in Math ML into an XML tree and then converts the equation into DOM.
  • the first parser 150 performs the traversal in a depth-first search method so that the configuration information constituting the equation is gradually transferred from the lowest node to the upper node.
  • the XML stream combining the natural language and the mathematical expression delivered to the natural language and the mathematical expression processing apparatus 100 may be delivered to a socket waiting for the corresponding data, and may be processed by being divided into natural language and mathematical expression at the processing stage. That is, the natural language and the mathematical expression processing apparatus 100 may extract information on how to connect to surrounding equations based on the characteristics of the natural language, and extract semantic information required from the corresponding content based on the characteristics. On the other hand, the natural language and mathematical expression processing apparatus 100 may extract semantic information related to the mathematical expression through parsing the input Math ML-type mathematical expression in accordance with a standard format.
  • the natural language and the mathematical expression processing apparatus 100 recombine and store at least one or more information among the configuration information, the natural language, the mathematical expression, and the semantic information as recombination data (S250).
  • the first data manager 160 converts the recombined data into document data. That is, semantic information may be stored in a DB or file system in a form suitable for future use of the system.
  • steps S210 to S250 are described as being sequentially executed.
  • this is merely illustrative of the technical idea of the first embodiment, and a person having ordinary knowledge in the technical field to which the first embodiment belongs is described. 2 may be applied in various modifications and variations, such as by changing the order described in FIG. 2 or executing one or more steps of steps S210 to S250 in parallel without departing from the essential characteristics of the first embodiment. The order is not limited.
  • FIG 3 is an exemplary view showing the configuration of XML according to the first embodiment.
  • FIG. 3 illustrates an example of a natural language and a mathematical expression input by a user using a text input tool and a mathematical expression input tool provided by the natural language and mathematical expression processing apparatus 100 in a general XML form. That is, since the mathematical problem is a combination of natural language and expressions, XML should be written to cover natural language and expressions. In other words, XML uses multiple ⁇ Text> ⁇ / Text> parts and ⁇ Mathbody> ⁇ / Mathbody> including Math ML.
  • XML can transform information about input math problems into forms required by a particular system. That is, the natural language and the mathematical expression input through the natural language and the mathematical expression processing device 100 may be managed in a form that can be understood by the machine, and the semantic information extracted for the natural language and the mathematical expression may be stored and managed. For example, when a user wants to input a mathematical problem for a 'secondary equation', the user may input natural language and a formula through a text input tool and a formula input tool provided by the natural language and formula processing apparatus 100, respectively. In addition, the user may be further provided with information related to the 'secondary equation' input by the user.
  • the natural language and formula processing apparatus 100 described in the second embodiment refers to an apparatus for structuring (DB) each natural language and formula in combination data composed of a combination of natural language and mathematical formula.
  • the equation processing apparatus 100 may be implemented in hardware or software and mounted on a server or a terminal.
  • FIG. 4 is a block diagram schematically illustrating a natural language and a mathematical expression processing apparatus according to a second embodiment.
  • the natural language and mathematical expression processing apparatus 100 includes a second information input unit 410, a second separating unit 420, a second natural language processing unit 430, a second mathematical processing unit 440, and second data.
  • the management unit 450 is included.
  • the natural language and mathematical expression processing apparatus 100 may include the second information input unit 410, the second separating unit 420, the second natural language processing unit 430, the second mathematical processing unit 440, and the second.
  • the second information input unit 410 receives combination data consisting of a combination of natural language and expression.
  • the combination data is preferably mathematical content including mathematical problems, mathematical proofs, and the like, but is not limited thereto.
  • the combination data consisting of a combination of natural language and formula may be directly input by a user's manipulation or command, but is not necessarily limited thereto and may receive document data consisting of a combination of natural language and formula from a separate external server. will be.
  • the second separator 420 separates natural words and mathematical expressions from the combined data. That is, the second separator 420 separates and recognizes the natural language and the formula included in the combination data when the combination data including the combination of the natural language and the formula is input through the second information input unit 410.
  • the second natural language processor 430 analyzes each piece of first information constituting the separated natural language and classifies it according to a specific meaning. Meanwhile, to specifically describe an operation performed by the second natural language processor 430 to identify a specific meaning, the second natural language processor 430 analyzes the first information constituting the natural language and then constructs a sentence. A specific meaning may be grasped using at least one or more pieces of information included in the keyword. That is, the second natural language processor 430 may determine a specific meaning by operating based on a predetermined rule, and the second natural language processor 430 may analyze the first information constituting the natural language according to the specific meaning. A detailed method of classifying will be described with reference to FIG. 10.
  • the second natural language processor 430 generates a natural language token that tokenizes the natural language.
  • the token refers to a unit that can be distinguished from consecutive sentences
  • tokenization refers to a process of dividing a natural language into units of words, which are units that can be understood by the natural language and the expression processing apparatus 100.
  • tokenization is largely divided into natural language tokenization and mathematical tokenization.
  • Natural language tokenization refers to a process of recognizing each word corresponding to a result of separating natural language included in a combination data (math problem) based on a space as a natural language token. In order to more clearly understand the meaning of each token, further stemming of the token may be performed.
  • formula tokenization refers to a process of recognizing individual unit information obtained after parsing a formula included in combination data (math problem) as a formula token.
  • the information corresponding to the natural language token is 'Find', 'the', 'function', 'value', 'with', and the formula token is returned after parsing the information through parsing.
  • the second natural language processor 430 generates word filtering data that filters the stop word based on the natural language token, and generates deduplication filtering data that performs deduplication filtering from the stop word filtering data.
  • the stop word refers to a set of words predefined in order to remove a portion corresponding to a token that is not necessary in the analysis of a sentence or an expression. That is, in [Example 1], 'the' (in addition to a or to, etc.) is predefined in the system as a dictionary.
  • the dictionary means a list including a set of words. That is, after generating the natural language token, the second natural language processing unit 430 performs a process of removing the stop word, which is not necessary for the analysis.
  • the stop word filtering is performed when the math problem becomes long (descriptive problem, etc.). It works to prevent too many tokens from entering the system and to speed up the system's processing.
  • the second natural language processor 430 matches action information to which a predefined meaning is added to the deduplication filtering data.
  • the motion information refers to summary information that can be extracted based on natural language tokens or mathematical tokens.
  • the motion information 'Solve' may be extracted based on a natural language token or a mathematical token.
  • the reason for matching and storing the data corresponding to the predicate in the deduplication filtering data is to obtain information on the representative operation of the entire sentence in the process of defining the combination data (math problem) as the schema. It is intended to be used as a helpful tool when analyzing search or similarity between problems later.
  • the second natural language processor 430 generates a natural language token by performing tokenization on the first information constituting the natural language.
  • the second natural language processor 430 generates stop word filtering data by performing stop word filtering to select and remove the natural language token determined as the preset stop word from the natural language token.
  • the second natural language processor 430 generates deduplication filtering data by performing deduplication filtering to select and remove duplicate data from the stop word filtering data.
  • the second natural language processor 430 matches and stores data corresponding to the predicate in the deduplication filtering data with operation information having a predefined meaning.
  • the second equation processing unit 440 analyzes each piece of second information constituting the separated equation and classifies it according to a specific meaning. Meanwhile, to specifically describe an operation performed by the second formula processing unit 440 to determine a specific meaning, the second formula processing unit 440 analyzes the second information constituting the formula and then displays the type information of the formula. To understand the specific meaning. That is, the second formula processing unit 440 may operate based on a preset rule to determine a specific meaning, and the second formula processing unit 440 may analyze the second information constituting the formula according to the specific meaning. A detailed method of classifying will be described with reference to FIG. 10.
  • the second equation processing unit 440 converts the equation into a tree shape, performs a traverse process on the equation converted into a tree shape, and performs tokenization on the equation on which the traverse process is performed.
  • the second equation processing unit 440 converts an equation written in Math ML (Mathematical Markup Language) into an XML tree and then converts it into a DOM (Document Object Model).
  • the second equation processing unit 440 traverses in a depth-first search manner so that the second information constituting the equation is gradually transferred from the lowest node to the higher node.
  • the formula is generally in the form of Math ML, which is composed of a tree, the process of traversing the tree is called a traversal process, When performing the process, use depth-first search. Since the traversal process starts at the root of the tree, enters the child node, and moves to the parent node after all child nodes have been searched, all information contained in the child node is transferred to the parent node. In terms of time complexity, it is efficient because only the number of edges needs to be searched.
  • the second data manager 450 may include the first information analyzed by the second natural language processor 430, the second information analyzed by the second equation processor 440, and the natural language recognized by the second separator 420. And recombine and store at least one piece of information in the formula.
  • the second data manager 450 converts the recombined data into document data.
  • the second data manager 450 may define XML so that the first information, the second information, the natural language, and the formula are stored as one XML tree.
  • the second data manager 450 may define XML. Should be omitted.
  • the defined XML can be divided into two parts. The first is the 'problem description' and the two
  • the second can be divided into 'semantic' parts based on information extracted from natural language and expressions.
  • the semantic portion may be added or changed in the future according to the discovery of a new mathematical problem.
  • the mathematical problem is configured in a tree form, and the information necessary for the mathematical problem is organized into semantic parts of the entire tree. Indexing) and the like. That is, according to the mathematical problem formed in a tree form, the mathematical content represented by the natural language and the standardized formula is converted into a form that the natural language and the expression processing apparatus 100 can understand (recognize), and the meaning of the natural language and the mathematical formula Based on this, semantic information can be extracted and structured into an XML tree.
  • the natural language and formula processing apparatus 100 may store computing resources such as hardware or software for structuring natural language and formulas, and provide computing resources required by a client to a corresponding terminal through cloud computing. There will be. A detailed description thereof will be provided with reference to FIG. 9.
  • FIG. 5 is a block diagram schematically illustrating a natural language processor according to a second embodiment.
  • the second natural language processor 430 may include a second natural language tokenizer 510, a second stop word filter 520, a second deduplication filter 530, and a second motion matcher 540. ). Meanwhile, in the second embodiment, the second natural language processor 430 uses the second natural language tokenizer 510, the second stop word filtering unit 520, the second deduplication filtering unit 530, and the second motion matching unit ( It is described as including only 540, which is merely illustrative of the technical idea of the second embodiment, and those skilled in the art to which the second embodiment belongs will not depart from the essential characteristics of the second embodiment. Various modifications and variations to the components included in the second natural language processor 430 in the range will be applicable.
  • the second natural language tokenizer 510 generates a natural language token obtained by tokenizing the natural language.
  • the second natural language tokenizer 510 generates a natural language token by performing tokenization on the first information constituting the natural language.
  • the natural language token refers to each word corresponding to a result of separating the natural language included in the combination data (math problem) based on a space.
  • the natural language and mathematical expression processing apparatus 100 may individually input natural language nodes included in the combination data or the entire natural language nodes using the second natural language tokenizer 510.
  • the natural language has a property of a sentence composed of a plurality of words, but the node itself is not limited to a perfect sentence.
  • such natural language nodes are divided into word units, which are units that can be understood by the natural language and the expression processing apparatus 100.
  • This process is called a tokenization process.
  • a natural language node is composed of a combination data (math problem) as a schema
  • the natural language and expressions are mixed regardless of the order, in which case the portion corresponding to the natural language is called a natural language node. That is, a plurality of natural language parts may be included in one problem (ie, schema).
  • Example 1 contains two natural language nodes, where 'Find the function value' and 'with' are natural language nodes. Therefore, when input to the system, the tokenization process is performed to split the natural language node into a unit that the system can understand.
  • the natural language token refers to each word corresponding to a result of separating the natural language included in the combination data (math problem) based on a space.
  • the second stop word filtering unit 520 generates stop word filtering data obtained by filtering the stop word based on the natural language token.
  • the second stop word filtering unit 520 generates stop word filtering data by performing stop word filtering to select and remove the natural language token determined as the preset stop word from the natural language token.
  • the stop word means a set of words predefined in order to remove a portion corresponding to a token that is not necessary in the analysis of a sentence or an expression. That is, in [Example 1], 'the' (in addition to a or to, etc.) is predefined in the system as a dictionary.
  • the dictionary means a list including a set of words.
  • the second natural language processing unit 430 performs a process of removing the stop word, which is not necessary for the analysis.
  • the stop word filtering is performed when the math problem becomes long (descriptive problem, etc.). It works to prevent too many tokens from entering the system and to speed up the system's processing. That is, after the tokenization process is performed using the second stop word filtering unit 520, the natural language and the expression processing apparatus 100 may separate the natural language and the mathematical information by separating each first information constituting the natural language into a plurality of tokens. Once input to the processing apparatus 100, the next step is to remove the stop word. This process removes tokens that are not needed to extract semantic semantics. For example, 'i', 'low', 'here' and 'there' may be set as stop words, but the present invention is not necessarily limited thereto. Can be.
  • the second deduplication filtering unit 530 generates deduplication filtering data that performs deduplication filtering on the stop word filtering data.
  • the second deduplication filtering unit 530 generates deduplication filtering data by performing deduplication filtering to select and remove duplicate data from the stop word filtering data. That is, the natural language and expression processing apparatus 100 performs a process of removing duplicates after filtering stop words using the second deduplication filtering unit 530, and natural words by removing duplicate words through deduplication filtering. And the processing load of the equation processing apparatus 100 can be lowered.
  • the second operation matching unit 540 matches operation information to which a predefined meaning is added to the deduplication filtering data.
  • the second operation matching unit 540 matches and stores data corresponding to a predicate in the deduplication filtering data with operation information to which a predefined meaning is assigned.
  • the motion information refers to summary information that can be extracted based on natural language tokens or mathematical tokens.
  • the motion information 'Solve' may be extracted based on a natural language token or a mathematical token.
  • the reason for matching and storing the data corresponding to the predicate in the deduplication filtering data is to obtain information on the representative operation of the entire sentence in the process of defining the combination data (math problem) as the schema.
  • the natural language and mathematical expression processing apparatus 100 analyzes the characteristics of the combination data through pre-processing using the second motion matching unit 540 and compares the motions with the predefined meanings with the tokens. Will be saved. That is, the natural language and the mathematical expression processing apparatus 100 may use the second motion matching unit 540 to determine the expressions included in the combination data based on the result obtained by the second natural language processing unit 430 in the condition or definition. Or semantic meaning of the mathematical content itself.
  • FIG. 6 is a block diagram schematically illustrating a mathematical expression processor according to a second embodiment.
  • the second equation processing unit 440 includes a second tree transform unit 610, a second semantic parser unit 620, and a second equation tokenizer 630. Meanwhile, in the second embodiment, the second equation processing unit 440 includes only the second tree transform unit 610, the second semantic parser unit 620, and the second equation tokenizer 630.
  • the technical ideas of the second embodiment are merely illustrative, and those skilled in the art to which the second embodiment belongs include the second mathematical expression processor 440 without departing from the essential characteristics of the second embodiment. Various modifications and variations to the components to be applied will be applicable.
  • semantic means that the device can understand and logically infer the meaning of specific information.
  • the natural language and mathematical expression processing apparatus 100 receives an individual mathematical formula written in a standardized format through the second information input unit 410, and transmits it to the second mathematical expression processing unit 440. That is, the formula delivered to the second formula processor 440 forms an XML tag based on Mathmatic Markup Language (ML), which is a standard defined by the World Wide Web Consortium (W3C). However, the formula transmitted to the second formula processor 440 is preferably Math ML, but is not necessarily limited thereto.
  • ML Mathmatic Markup Language
  • W3C World Wide Web Consortium
  • the second tree converter 610 converts an expression into a tree form.
  • the second tree converter 610 converts an equation written in Math ML into an XML tree and then converts the equation into DOM.
  • the natural language and mathematical expression processing apparatus 100 converts the mathematical expression into a Math ML type XML tree using the second tree transforming unit 610, which is converted into a DOM and converted into a tree form accessible to a program.
  • the second semantic parser 620 performs a traversal process on the equation converted into a tree shape.
  • the second semantic parser unit 620 traverses the depth-first search method so that the second information constituting the equation is gradually transferred from the lowest node to the upper node.
  • the natural language and the expression processing apparatus 100 go through a traversal process to determine the semantic meaning of the equation by using the second semantic parser 620.
  • the second semantic parser 620 is gradually higher at the lowest node.
  • Depth-first retrieval in the form of passing information to nodes, performs traversal As a result, all of the second information collected through the second semantic parser 620 is collected at the top node, and a process of creating a token of a formula is performed based on this information.
  • the formula is generally in the form of Math ML, which consists of a tree, and the traversal process is called the traversal process.
  • Math ML which consists of a tree
  • the traversal process is called the traversal process.
  • the traversal process uses a depth-first search. Since the traversal process starts at the root of the tree and enters the child node first and then moves to the parent node after all child nodes have been searched, all information contained in the child node is transferred to the parent node. In terms of time complexity, it is efficient because only the number of edges needs to be searched.
  • the second mathematical tokenization unit 630 generates a mathematical token that performs tokenization on the mathematical expression on which the traversal process is performed.
  • the formula token refers to individual unit information obtained after parsing the formula included in the combination data (math problem). That is, the tokenized formula token refers to a token made of Mathematical Natural Language. Modified tokens, on the other hand, are treated differently from natural language tokens. That is, the second natural language processing unit 430 matches the operation based on the natural language token, while the second mathematical processing unit 440 generates a mathematical token as a result, and in the future, the mathematical token searches for mathematical content through a search. It can be used to.
  • FIG. 7 is a flowchart illustrating a natural language and mathematical expression structuring method according to the second embodiment.
  • the natural language and mathematical expression processing apparatus 100 receives the combination data composed of the combination of the natural language and the mathematical expression (S710).
  • the combination data consisting of a combination of natural language and formula may be directly input by a user's manipulation or command, but is not necessarily limited thereto, and may receive document data consisting of a combination of natural language and formula from a separate external server.
  • the natural language and mathematical expression processing apparatus 100 separate natural language and mathematical expressions from the combined data, respectively (S720). That is, the natural language and mathematical expression processing apparatus 100 separates and recognizes the natural language and the mathematical expression included in the combination data when the combination data composed of the combination of the natural language and the mathematical expression is input.
  • the natural language and the mathematical expression processing apparatus 100 process a process of analyzing each first information constituting the separated natural language and classifying them according to a specific meaning (S730). That is, the natural language and formula processing apparatus 100 generates a natural language token that tokenizes the natural language, generates word filtering data that filters the stop word based on the natural language token, and performs deduplication filtering on the stop word filtering data. The deduplication filtering data is generated, and the operation information to which the predefined meaning is assigned to the deduplication filtering data is matched. The natural language and mathematical expression processing apparatus 100 generates a natural language token by performing tokenization on the first information constituting the natural language.
  • the natural language and mathematical expression processing apparatus 100 generates stop word filtering data by performing stop word filtering to select and remove a natural language token determined as a preset stop word from the natural language token.
  • the natural language and expression processing apparatus 100 generates deduplication filtering data by performing deduplication filtering to select and remove duplicate data from the stop word filtering data.
  • the natural language and mathematical expression processing apparatus 100 matches and stores data corresponding to a predicate in the deduplication filtering data with operation information to which a predefined meaning is given.
  • the natural language and the mathematical expression processing apparatus 100 process a process of analyzing each second information constituting the separated mathematical expression and classifying it according to a specific meaning (S740).
  • the natural language and mathematical expression processing apparatus 100 converts the mathematical expression into a tree form, performs a traversal process on the formula converted into a tree form, and performs tokenization on the mathematical expression on which the traversal process is performed.
  • the natural language and equation processing apparatus 100 converts an equation written in Math ML into an XML tree and then converts the equation into DOM.
  • the natural language and mathematical expression processing apparatus 100 performs the traversal in a depth-first search method so that the second information constituting the mathematical expression is gradually transmitted from the lowest node to the upper node.
  • the natural language and the mathematical expression processing apparatus 100 recombine and store at least one or more information among the first information, the second information, the natural language, and the mathematical expression as recombination data (S750).
  • the natural language and mathematical expression processing apparatus 100 converts the recombined data into document data. That is, by performing steps S710 to S750, the natural language and the formula may be stored and managed as the recombined data through the natural language and the formula processing apparatus 100. You will be able to extract the semantics that follow.
  • steps S710 to S750 are described as being sequentially executed.
  • this is merely illustrative of the technical idea of the second embodiment, and a person having ordinary knowledge in the technical field to which the second embodiment belongs is described. 7 may be applied in various modifications and variations, such as by changing the order described in FIG. 7 or executing one or more steps of steps S710 to S750 in parallel without departing from the essential characteristics of the second embodiment. The order is not limited.
  • FIG. 8 is an exemplary view showing a tree form representation of a mathematical expression according to the second embodiment.
  • each natural language has a special meaning in accordance with the order of connection of the sentences.
  • many mathematical contents are structured by binding formulas based on natural language.
  • a formula following a natural language may be connected as a specific condition, or a formula following may be defined.
  • the semantic meaning can be extracted by integrating the natural language as well as the meaning and connection relationship of the natural language of each node. That is, in order to classify the operation such as solving the equation or explaining the expression required by the mathematical content, it is used to grasp the direction of the problem by tying the whole natural language together to grasp the meaning.
  • FIG. 9 is an exemplary diagram of a system in which a natural language and a mathematical expression processing device according to a second embodiment provide data to cloud computing.
  • a system including a terminal 910, a communication network 920, and a second cloud computing device 930 is required.
  • the terminal 910 refers to a terminal capable of transmitting and receiving various data via the communication network 920 according to a user's command or operation, and includes a tablet PC, a laptop, and a personal computer. It may be any one of a personal computer, a smart phone, a personal digital assistant (PDA), a mobile communication terminal, and the like.
  • the terminal 910 may be a cloud computing terminal that supports cloud computing (Cloud Computing) that can use services such as data reading and writing and storing, network, and content use through the communication network 920. That is, the terminal 910 includes a memory for storing a program for accessing the second cloud computing device 930 via the communication network 920, a microprocessor for executing and operating the program, and the like. Means.
  • the terminal 910 may be any terminal as long as it is connected to the communication network 920 and server-client communication with the second cloud computing device 930 is possible, and any communication computing such as a notebook computer, a mobile communication terminal, a PDA, etc. It is a broad concept that includes all of the devices.
  • the terminal 910 is preferably manufactured in the form having a touch screen, but is not necessarily limited thereto.
  • the terminal 910 may structure natural language and mathematical expressions in a cloud computing manner through the second cloud computing device 930. That is, the terminal 910 is a separate input / output interface for providing an input / output interface with a storage medium stored in the second cloud computing device 930 to structure natural language and equations from the second cloud computing device 930 in a cloud computing manner. It may include a unit, and may include an interface control unit to read and write data to the storage medium stored in the second cloud computing device 930 through the input and output interface unit. In more detail, the terminal 910 may input combination data including a combination of natural language and formula into the second cloud computing device 930 through the input / output interface unit, and the second cloud computing device 930.
  • the natural language and the formula are separated from the combined data, and the first information constituting the separated natural language is analyzed and classified according to a specific meaning, and the second information constituting the separated formula is analyzed. According to a specific meaning, it is possible to generate / store the recombination data recombination of at least one or more information of the first information, the second information, natural language, and formulas, the terminal 910 is substantially natural language and without any application installation You can structure your formulas.
  • the communication network 920 refers to a network capable of transmitting and receiving data using an internet protocol using various wired and wireless communication technologies such as an internet network, an intranet network, a mobile communication network, a satellite communication network, and the terminal 910 and the second cloud computing device 930. It performs the function of relaying data between them.
  • the communication network 920 may be coupled with the second cloud computing device 930 to store computing resources such as hardware and software, and provide a computing resource required by the client to the terminal 910. It may include.
  • the second cloud computing device 930 may be implemented based on the natural language and mathematical expression processing device 100, and may be configured as a terminal 910 so that the natural language and mathematical expressions may be structured through the terminal 910 through cloud computing. Allow the user to read and write data on the storage medium stored in the second cloud computing device 930, and input combination data composed of a combination of natural words and formulas, and separate the natural words and formulas from the combination data. Analyze each piece of first information constituting the natural language according to a specific meaning, and analyze each piece of second information constituting the separated equation according to a specific meaning.
  • the first information and the second information A computer-readable recording medium for generating recombination data recombining at least one or more of natural language and formulas, It transmits only each portion of the data recording medium to the device 910, and the device 910 can provide a cloud computing, which allows the structured natural language, and the formula without the installation of an application.
  • the second cloud computing device 930 includes a storage unit storing a storage medium and a terminal 910 to read and write data on the storage medium in order to structure natural language and equations in a cloud computing manner.
  • the computing unit may be further provided.
  • FIG. 10 is an exemplary diagram illustrating a method of analyzing natural information and information constituting a mathematical expression and classifying the information according to a specific meaning according to the second embodiment.
  • the second natural language processor 430 and the second mathematical processor 440 may be different from the natural language.
  • the user can grasp the specific meaning using at least one or more of the structure of the sentence, the included keywords, and the type of the formula. Can be generated.
  • the second natural language processor 430 and the second formula processor 440 may operate based on a predetermined rule to determine a specific meaning. Specifically, as illustrated in FIG. 10A, the natural language And four mathematical sentences P1, P2, P3, and P4 composed of a combination of equations are input through the second information input unit 410, as shown in FIG. 10B. 430 and the second expression processor 440 may generate a result of analyzing (parsed) the first information constituting the natural language and the second information constituting the equation.
  • the second natural language processor 430 or the second mathematical processor 440 may extract all operation information that satisfies a logical condition of a pre-stored rule. If the logical condition of the combination of the natural language token and the mathematical token is satisfied, the logical condition of the stored rule may be satisfied. In this case, one mathematical problem includes several motion information. If the token combination does not satisfy any logical condition, the compound sentence may be determined to be a missing or incorrect mathematical statement in the analysis of the mathematical sentence (combination data) when the rule is generated or not included in the analysis process. In addition, the second natural language processing unit 430 or the second mathematical processing unit 440 may match an equation that is a target of the natural language token generated as a result of the natural language parsing, among the mathematical tokens.
  • the natural language and formula processing apparatus 100 described in the third embodiment is based on semantic information when structured by a natural language and a formula (DB) in combination data composed of a combination of a natural language and a mathematical formula.
  • DB formula
  • the natural language and mathematical expression processing apparatus 100 may be implemented in hardware or software and mounted on a server or a terminal.
  • FIG. 11 is a block diagram schematically illustrating a natural language and a mathematical expression processing apparatus according to the third embodiment.
  • the natural language and mathematical expression processing apparatus 100 includes a third information input unit 1110, a third semantic parser unit 1120, a third data management unit 1130, a third index unit 1140, and a third unit.
  • the natural language and mathematical expression processing apparatus 100 may include the third information input unit 1110, the third semantic parser unit 1120, the third data management unit 1130, the third index unit 1140, and the third unit.
  • 3 user query input unit 1150, third query parser unit 1160, third scorer 1170, third result page provider 1180, third storage unit 1190, and third cloud computing unit 1192 It is described as including only), but this is only illustrative of the technical idea of the third embodiment, a person of ordinary skill in the art to which the third embodiment belongs does not depart from the essential characteristics of the third embodiment In the natural language and equation processing apparatus 100 will be applicable to various modifications and variations to the components included in.
  • the third information input unit 1110 receives combination data consisting of a combination of natural language and mathematical expression.
  • the combination data is preferably mathematical content including mathematical problems, mathematical proofs, and the like, but is not limited thereto.
  • the combination data consisting of a combination of natural language and formula may be directly input by a user's manipulation or command, but is not necessarily limited thereto and may receive document data consisting of a combination of natural language and formula from a separate external server. will be.
  • the third semantic parser 1120 separates the natural language and the mathematical expression from the combined data, and analyzes the respective pieces of configuration information constituting the separated natural language and the mathematical expression to generate semantic information according to a specific meaning.
  • the semantic information may include at least one index among an operation index, a semantic index, and a problem list index, and the problem list may be sorted by a problem ID.
  • the third semantic parser 1120 analyzes each piece of configuration information constituting a natural language and a formula. The specific meaning is grasped using at least one or more pieces of information of the structure of the sentence, the included keyword, and the type of the formula.
  • the third semantic parser 1120 may operate based on a predetermined rule to grasp a specific meaning, and the third semantic parser 1120 may analyze each piece of configuration information constituting a natural language and a formula. A specific method of dividing according to a specific meaning will be described with reference to FIG. 17.
  • the third semantic parser 1120 to analyze each piece of configuration information constituting the natural language and the expression will be described in detail. Separate each expression. That is, the third semantic parser 1120 separates and recognizes the natural language and the formula included in the combination data when the combination data including the combination of the natural language and the formula is input through the third information input unit 1110. The third semantic parser 1120 analyzes each piece of configuration information constituting the separated natural language and classifies it according to a specific meaning. The third semantic parser unit 1120 generates a natural language token that tokenizes the natural language.
  • the token refers to a unit that can be distinguished from consecutive sentences
  • tokenization refers to a process of dividing a natural language into units of words, which are units that can be understood by the natural language and the expression processing apparatus 100.
  • tokenization is largely divided into natural language tokenization and mathematical tokenization.
  • Natural language tokenization refers to a process of recognizing each word corresponding to a result of separating natural language included in a combination data (math problem) based on a space as a natural language token. In order to more clearly understand the meaning of each token, further stemming of the token may be performed.
  • formula tokenization refers to a process of recognizing individual unit information obtained after parsing a formula included in combination data (math problem) as a formula token.
  • the information corresponding to the natural language token is 'Find', 'the', 'function', 'value', 'with', and the formula token is returned after parsing the information through parsing.
  • the third semantic parser 1120 generates word filtering data that filters the stop word based on the natural language token, and generates deduplication filtering data that performs deduplication filtering on the stop word filtering data.
  • the stop word refers to a set of words predefined in order to remove a portion corresponding to a token that is not necessary in the analysis of a sentence or an expression. That is, in [Example 1], 'the' (in addition to a or to, etc.) is predefined in the system as a dictionary.
  • the dictionary means a list including a set of words. That is, after generating the natural language token, the third semantic parser 1120 performs a process of removing the stop word, which is not necessary for the analysis.
  • the stop word filtering is performed when the math problem is long (descriptive problem, etc.). It works to prevent too many tokens from entering the process and to speed up the system's processing.
  • the third semantic parser 1120 matches operation information with a predefined meaning in the deduplication filtering data.
  • the motion information refers to summary information that can be extracted based on natural language tokens or mathematical tokens.
  • the motion information 'Solve' may be extracted based on a natural language token or a mathematical token.
  • the reason for matching and storing the data corresponding to the predicate in the deduplication filtering data is to obtain information on the representative operation of the entire sentence in the process of defining the combination data (math problem) as the schema. It is intended to be used as a helpful tool when analyzing search or similarity between problems later.
  • the third semantic parser 1120 generates a natural language token by performing tokenization on the configuration information constituting the natural language.
  • the third semantic parser 1120 generates stop word filtering data by performing stop word filtering to select and remove a natural language token determined as a preset stop word from the natural language token.
  • the third semantic parser 1120 generates deduplication filtering data by performing deduplication filtering to select and remove duplicate data from the stop word filtering data.
  • the third semantic parser 1120 matches and stores data corresponding to a predicate in the deduplication filtering data with operation information to which a predefined meaning is assigned.
  • the third semantic parser 1120 analyzes each piece of configuration information constituting the separated equation and classifies it according to a specific meaning.
  • the third semantic parser 1120 converts the formula into a tree, performs a traverse process on the formula converted into a tree, and performs tokenization on the formula on which the traversing process is performed.
  • the third semantic parser 1120 converts an expression written in Math ML (Mathematical Markup Language) into an XML tree and then converts it into a DOM (Document Object Model).
  • the third semantic parser 1120 performs the traversal in a depth-first search manner so that the configuration information constituting the equation is gradually transferred from the lowest node to the upper node.
  • the formula is generally in the form of Math ML, which is composed of a tree, the process of traversing the tree is called a traversal process, When performing the process, use depth-first search. Since the traversal process starts at the root of the tree, enters the child node, and moves to the parent node after all child nodes have been searched, all information contained in the child node is transferred to the parent node. In terms of time complexity, it is efficient because only the number of edges needs to be searched.
  • the third data manager 1130 may recombine and store at least one or more pieces of information of configuration information, natural language, mathematical expressions, and semantic information as recombination data.
  • the third data manager 1130 converts the recombined data into document data.
  • the third indexer 1140 indexes the semantic information received through the third semantic parser 1120 and the third data manager 1130, and indexes the semantic information. Information is generated, and query index information matching keyword information to semantic index information is generated.
  • an equation which is a Math ML based on a content of an XML structure included in the combination data input through the third information input unit 1110, is input to the third semantic parser unit 1120 and based on the XML input. Then, the semantic information of the natural language and the expression are extracted, and the third data management unit 1130 derives them again as XML results. That is, the XML result including the semantic information is indexed after the indexing process by the third indexing unit 1140.
  • the third user query input unit 1150 transfers the input user query to the third query parser 1160.
  • the user query is a kind of search query and includes a keyword inputted by the user to search.
  • the third query parser 1160 extracts and constructs a keyword included in the input user query.
  • the third scoring unit 1170 scores the query index information based on the correlation between the keyword and the semantic index information.
  • the third scoring unit 1170 uses cosine similarity to perform scoring.
  • the third scoring unit 1170 may perform scoring using Equation 1.
  • the third result page providing unit 1180 provides a ranking result page of the query index information scored by the third scoring unit 1170.
  • the third result page providing unit 1180 may provide the ranking result page to the server or the terminal requesting the ranking result page.
  • the third result page providing unit 1180 is not limited thereto, and the natural language and formula processing apparatus 100 may stand alone. When implemented as a device, the corresponding ranking result page may be displayed through the provided display unit.
  • the user query input through the third user query input unit 1150 is parsed by the third query parser 1160, transferred to the third indexer 1140, and the third scoring unit 1170 is stored in advance. Scoring is performed by comparing the correlation based on the index of the mathematical content and the index of the user query, and the third result page providing unit 1180 outputs a ranking on the user result page.
  • the natural language and formula processing apparatus 100 separately to provide cloud computing to index the information structured to the user query when structuring the data combined with the natural language and formula without installing an application on the terminal corresponding to the client
  • the third storage unit 1190 and the third cloud computing unit 1192 may be included.
  • the third storage unit 1190 when receiving the combination data consisting of a combination of natural words and formulas, the third storage unit 1190 separates the natural words and formulas from the combination data, and analyzes each piece of configuration information constituting the separated natural words and formulas.
  • Generate semantic information distinguished according to a specific meaning recombine and store at least one or more information of configuration information, natural language, formula, and semantic information as recombination data, extract and structure keywords included in an input user query, Generating a semantic index information indexing the semantic information, and storing a storage medium for generating query index information matching the keyword information to the semantic index information, and the third cloud computing unit 1192 allows the terminal corresponding to the client to execute the terminal.
  • 3 Read and write data on the storage medium stored in the storage unit 1190. .
  • the natural language and formula processing apparatus 100 may index information structured to a user query when the natural language and the formula are combined through the third storage unit 1190 and the third cloud computing unit 1192.
  • Computing resources such as hardware or software can be stored, and the computing resources required by the client can be provided to the corresponding terminal through cloud computing. A detailed description thereof will be provided with reference to FIG. 16.
  • FIG. 12 is a flowchart for describing a natural language and a mathematical indexing method according to a third embodiment.
  • the natural language and mathematical expression processing apparatus 100 receives the combination data composed of the combination of the natural language and the mathematical expression (S1210).
  • the combination data consisting of a combination of natural language and formula may be directly input by a user's manipulation or command, but is not necessarily limited thereto, and may receive document data consisting of a combination of natural language and formula from a separate external server. will be.
  • the natural language and mathematical expression processing apparatus 100 separates the natural language and the mathematical expression from the combined data, and analyzes the respective pieces of configuration information constituting the separated natural language and the mathematical expression to generate semantic information for distinguishing according to a specific meaning (S1220). . More specifically, the natural language and mathematical expression processing apparatus 100 separates the natural language and the mathematical expression from the combination data, respectively. That is, the natural language and mathematical expression processing apparatus 100 separates and recognizes the natural language and the mathematical expression included in the combination data when the combination data composed of the combination of the natural language and the mathematical expression is input. The natural language and mathematical expression processing apparatus 100 processes a process of analyzing each piece of configuration information constituting the separated natural language and classifying it according to a specific meaning.
  • the natural language and formula processing apparatus 100 generates a natural language token that tokenizes the natural language, generates word filtering data that filters the stop word based on the natural language token, and performs deduplication filtering on the stop word filtering data.
  • the deduplication filtering data is generated, and the operation information to which the predefined meaning is assigned to the deduplication filtering data is matched.
  • the natural language and mathematical expression processing apparatus 100 generates a natural language token by performing tokenization on configuration information constituting the natural language.
  • the natural language and mathematical expression processing apparatus 100 generates stop word filtering data by performing stop word filtering to select and remove a natural language token determined as a preset stop word from the natural language token.
  • the natural language and expression processing apparatus 100 generates deduplication filtering data by performing deduplication filtering to select and remove duplicate data from the stop word filtering data.
  • the natural language and mathematical expression processing apparatus 100 matches and stores data corresponding to a predicate in the deduplication filtering data with operation information to which a predefined meaning is given.
  • the natural language and the mathematical expression processing apparatus 100 process a process of analyzing each piece of configuration information constituting the separated mathematical expression and classifying it according to a specific meaning.
  • the natural language and mathematical expression processing apparatus 100 converts the mathematical expression into a tree form, performs a traversal process on the formula converted into a tree form, and performs tokenization on the mathematical expression on which the traversal process is performed.
  • the natural language and equation processing apparatus 100 converts an equation written in Math ML into an XML tree and then converts the equation into DOM.
  • the natural language and mathematical expression processing apparatus 100 performs the traversal in a depth-first search method so that the configuration information constituting the mathematical expression is gradually transmitted from the lowest node to the upper node.
  • the natural language and the mathematical expression processing apparatus 100 recombine and store at least one or more information among the configuration information, the natural language, the mathematical expression, and the semantic information as recombinant data (S1230).
  • the natural language and mathematical expression processing apparatus 100 converts the recombined data into document data.
  • the natural language and mathematical expression processing apparatus 100 indexes semantic information (S1240). For example, the natural language and mathematical expression processing apparatus 100 performs indexing to number the semantic information.
  • steps S1210 to S1240 are described as being sequentially executed.
  • this is merely illustrative of the technical idea of the third embodiment, and a person having ordinary knowledge in the technical field to which the third embodiment belongs is described.
  • 12 may be applied in various modifications and variations, such as by changing the order described in FIG. 12 or executing one or more steps in steps S1210 to S1240 in parallel without departing from the essential characteristics of the third embodiment. The order is not limited.
  • the natural language and mathematical indexing method according to the third embodiment of FIG. 12 may be implemented in a program and recorded in a computer-readable recording medium.
  • the computer-readable recording medium having recorded thereon a program for implementing the natural language and mathematical indexing method according to the third embodiment includes all kinds of recording devices storing data that can be read by a computer system. Examples of such computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, and are implemented in the form of a carrier wave (for example, transmission over the Internet). It includes being.
  • the computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. Also, functional programs, codes and code segments for implementing the third embodiment may be easily inferred by programmers in the art to which the third embodiment belongs.
  • FIG. 13 is a flowchart illustrating a method of providing a ranking result of indexed query information according to a third embodiment.
  • the natural language and formula processing apparatus 100 receives a user query in operation S1310.
  • the user query is a kind of search query and includes a keyword inputted by the user to search.
  • the natural language and the expression processing apparatus 100 extract and structure a keyword included in the input user query (S1320).
  • the natural language and mathematical expression processing apparatus 100 generates query index information matching keyword information to semantic index information obtained by indexing semantic information (S1330).
  • the natural language and mathematical expression processing apparatus 100 scores the query index information based on the correlation between the keyword and the semantic index information (S1340).
  • the third scoring unit 1170 uses cosine similarity to perform scoring. In addition, the third scoring unit 1170 may perform scoring using Equation 1.
  • the natural language and mathematical expression processing apparatus 100 provides a ranking result page of the query index information scored by the third scoring unit 1170 (S1350).
  • the third result page providing unit 1180 may provide the ranking result page to the server or the terminal requesting the ranking result page.
  • the third result page providing unit 1180 is not limited thereto, and the natural language and formula processing apparatus 100 may stand alone. When implemented as a device, the corresponding ranking result page may be displayed through the provided display unit.
  • steps S1310 to S1350 are described as being sequentially executed.
  • this is merely illustrative of the technical idea of the third embodiment, and a person having ordinary knowledge in the technical field to which the third embodiment belongs is described. 13 may be applied by various modifications and variations, such as by changing the order described in FIG. 13 or by executing one or more steps of steps S1310 to S1350 in parallel without departing from the essential characteristics of the third embodiment. The order is not limited.
  • FIG. 14 An index of the inverted file structure included in the semantic information generated by the third semantic parser unit 1120 of the natural language and the expression processing apparatus 100 is illustrated in FIG. 14.
  • the semantic information used in the inverted file structure is not mentioned in the form of XML.
  • the function type, operation, and semantic keywords are all stored in a hierarchical structure. That is, the semantic information includes at least one index among an operation index, a semantic index, and a problem list index, and the problem list is sorted by a problem ID.
  • the two lists can thus be merged by linear time.
  • FIG. 15 illustrates an index included in semantic information according to a third embodiment as a Boolean vector.
  • the third scoring unit 1170 of the natural language and mathematical expression processing apparatus 100 may use cosine similarity to perform scoring. That is, to express the index included in the semantic information as a Boolean vector, it is as shown in FIG.
  • a value of '0' means that there is no matching 'term' or 'keyword' in the row or it is not related to the problem in that column.
  • a value of '1' indicates that there is a 'term' or 'keyword' that matches the row, or that it is not relevant to the problem in that column.
  • a cosine angle between two problem vectors p and a query vector q may be calculated, and an equation for calculating a cosine angle is expressed by Equation 1 below.
  • cos (q, p) is referred to as the cosine similarity of q and p, or the cosine angle of q and p. Since cosine is a monotonically decreasing function at '0 °' and '180 °', the two problems can be said to have similarities if the value is small or large.
  • a weight may be applied instead of a Boolean shape. For example, more weight may be given to an action or a math object having important meaning among semantic information.
  • relatively infrequent functions among the functions can be given a smaller weight than the frequent functions. This can be formulated as follows.
  • the problem frequency is the number of problems given 'term' and 'keyword'
  • the value is the opposite of terminology information
  • the inverse problem frequency (ipf, Inverse Problem) Frequency) is used.
  • ipf can be calculated as N / pf, where N represents the total number of problems.
  • 16 is an exemplary diagram of a system in which a natural language and a mathematical expression processing device according to a third embodiment provide data to cloud computing.
  • a system including a terminal 910, a communication network 920, and a third cloud computing device 1600 is required.
  • the terminal 910 refers to a terminal capable of transmitting and receiving various data via the communication network 920 according to a user's command or operation, tablet PC, laptop, personal computer, smart phone, personal portable information terminal and mobile It may be any one of a communication terminal.
  • the terminal 910 may be a cloud computing terminal that supports cloud computing that can use services such as data reading and writing and storing, network, and content use through the communication network 920. That is, the terminal 910 is provided with a memory for storing a program for accessing the third cloud computing device 1600 via the communication network 920, a microprocessor for executing the program, and controlling the program. Means.
  • the terminal 910 is connected to the communication network 920, any server can be any server-client communication with the third cloud computing device 1600, and any communication computing, such as a notebook computer, mobile communication terminal, PDA, etc. It is a broad concept that includes all of the devices.
  • the terminal 910 is preferably manufactured in the form having a touch screen, but is not necessarily limited thereto.
  • the terminal 910 When the terminal 910 structures the data combining the natural language and the formula through the cloud computing scheme through the third cloud computing device 1600, the terminal 910 allows the information structured for the user query to be indexed together. That is, the terminal 910 is a separate input / output interface for providing an input / output interface with a storage medium stored in the third cloud computing device 1600 in order to structure natural language and equations from the third cloud computing device 1600 in a cloud computing manner.
  • the control unit may include an interface controller, and may include an interface controller configured to read and write data to a storage medium stored in the third cloud computing device 1600 through an input / output interface unit.
  • the terminal 910 may input combination data, which is a combination of natural language and formula, to the third cloud computing device 1600 through the input / output interface unit, and through this, the third cloud computing device ( Since 1600 generates / stores query index information matching keyword information to semantic index information, the terminal 910 substantially constructs a user query when structuring data combining natural language and formula without installing any application. Make sure the information is indexed together.
  • the communication network 920 refers to a network capable of transmitting and receiving data using an internet protocol using various wired and wireless communication technologies such as an internet network, an intranet network, a mobile communication network, a satellite communication network, and the terminal 910 and the third cloud computing device 1600. It performs the function of relaying data between them.
  • the communication network 920 may be coupled with the third cloud computing device 1600 to store computing resources such as hardware and software, and provide a computing resource required by the client to the terminal 910. It may include.
  • the third cloud computing device 1600 may be implemented based on the natural language and the formula processing apparatus 100.
  • the third cloud computing device 1600 may structure a user query when structuring data combining natural language and formula through the terminal 910 through cloud computing.
  • the terminal 910 reads and writes data on a storage medium stored in the third cloud computing device 1600, but inputs combination data composed of a combination of natural language and formula.
  • 17 is an exemplary diagram illustrating a method of analyzing natural information and information constituting a mathematical expression and classifying the information according to a specific meaning according to the third embodiment.
  • the third semantic parser unit 1120 analyzes each piece of configuration information constituting a natural language and a formula, and then executes a sentence.
  • the specific meaning may be grasped using at least one or more pieces of information of the structure, the included keyword, and the type information of the formula, and semantic information may be generated classified by the identified specific meaning.
  • the third semantic parser 1120 may operate based on a preset rule to grasp a specific meaning. Specifically, as illustrated in FIG. 17A, four third semantic parser 1120 may be formed of a combination of natural language and expression. When the three mathematical sentences P1, P2, P3, and P4 are input through the third information input unit 1110, as shown in FIG. 17B, the third semantic parser unit 1120 A result of analyzing (parsed) each piece of configuration information constituting the equation may be generated.
  • the third semantic parser 1120 may extract all operation information satisfying a logical condition of a pre-stored rule. If the logical condition of the combination of the natural language token and the mathematical token is satisfied, the logical condition of the stored rule may be satisfied. In this case, one mathematical problem includes several motion information. If the token combination does not satisfy any logical condition, the compound sentence may be determined to be a missing or incorrect mathematical statement in the analysis of the mathematical sentence (combination data) when the rule is generated or not included in the analysis process. In addition, the third semantic parser 1120 may match a formula, which is a target of the natural language token generated as a result of natural language parsing, among mathematical formula tokens.
  • FIG. 18 is a block diagram schematically illustrating an apparatus for processing natural language and mathematical expressions of compound sentences according to a fourth embodiment.
  • the natural language and mathematical expression processing apparatus 100 of the compound sentence according to the fourth embodiment includes a fourth information input unit 1810, a fourth separating unit 1820, a fourth natural language processing unit 1830, a fourth mathematical expression processing unit 1840, A fourth motion extractor 1850, a fourth object generator 1860, and a fourth rule storage unit 1870 may be included.
  • the fourth information input unit 1810 receives a compound sentence including natural language and expressions.
  • the fourth separator 1820 separates the natural language and the expression from the compound sentence.
  • the fourth natural language processor 1830 generates a natural language token by tokenizing the separated natural language.
  • the fourth equation processing unit 1840 parses the separated equation and extracts semantic meaning to generate a mathematical token.
  • the fourth rule storage unit 1870 stores a rule combining motion information corresponding to a combination of natural language and mathematical expression.
  • the fourth motion extractor 1850 extracts the motion information of the compound sentence from the rules stored in the fourth rule storage unit 1870 by comparing the generated natural language token and the mathematical token with a combination of the natural language and the mathematical expression in the stored rule. .
  • the fourth object generator 1860 generates a mathematical object by matching a mathematical expression that is a target of the natural token among the mathematical tokens generated by the fourth mathematical expression processor 1840.
  • the following steps are performed to extract and express the actual meaning of a mathematical sentence composed of a compound sentence including a natural language and an expression.
  • the semantic information of the math sentence may include motion information and a math object.
  • the action (Action) represents the purpose that the mathematical problem is basically solved. For example, it is information extracted from a problem based on information that allows an actual solver to take action as to whether a corresponding sentence solves a problem or explains a concept. This information can be generated by pre-processing and defining rules through natural language and mathematical tokens.
  • Math objects are used to represent each subdivided entity included in a math problem. In other words, it can indicate what techniques or facts are needed to solve this math problem, and what types of functions are included in the math problem. The concept of this object can help with extensibility to support a variety of math problems.
  • This information can be a mathematical object information obtained from the natural language and the information obtained from the equation.
  • FIG. 19 is a diagram illustrating a form of a mathematical problem in a tree structure.
  • a structure that a single mathematical content can have is represented as a tree
  • child nodes constituting the corresponding mathematical content maintain word order information, which is one of important meanings.
  • word order information which is one of important meanings.
  • each natural language has a special meaning in accordance with the order of connection of the sentences. For example, a formula following a natural language may be connected as a specific condition, or a formula following may be defined.
  • the input of the program for analyzing the natural language and the equation will be a mixture of the two, as shown in FIG.
  • XML that conforms to the MathML standard standardized in natural language and the World Wide Web Consortium (W3C) can be input.
  • the fourth information input unit 1810 receives a combination data (composite sentence) composed of a combination of natural language and expression.
  • the combination data is preferably mathematical content including mathematical problems, mathematical proofs, and the like, but is not limited thereto.
  • the combination data consisting of a combination of natural language and formula may be directly input by a user's manipulation or command, but is not necessarily limited thereto and may receive document data consisting of a combination of natural language and formula from a separate external server. will be.
  • the fourth separator 1820 separates natural words and expressions from the combined data. That is, when the combination data consisting of a combination of natural words and equations is input through the fourth information input unit 1810, the fourth separator 1820 separates and recognizes natural words and equations included in the combination data.
  • the formula may be generated in the form of content-based MathML (cMathML).
  • the fourth natural language processor 1830 generates a natural word tokenized from the natural language, generates stop word filtering data filtering the stop word from the generated natural language token, and performs deduplication filtering on the stop word filtering data.
  • the deduplication filtering data is generated to match the operation information to which the deduplication filtering data has a predefined meaning.
  • the token refers to a unit that can be distinguished from consecutive sentences
  • tokenization refers to a process of dividing a natural language into word units, which are units that can be understood by the natural language and the expression processing apparatus 100 of a compound sentence.
  • the fourth natural language processor 1830 generates stop word filtering data by performing stop word filtering to select and remove the natural language token determined as the preset stop word from the natural language token.
  • the fourth natural language processor 1830 generates deduplication filtering data by performing deduplication filtering to select and remove duplicate data from the stop word filtering data.
  • the fourth natural language processor 1830 may extract natural language tokens by matching the data corresponding to the predicates with the operation information to which the predefined meaning is applied in the deduplication filtering data.
  • tokenization may be classified into natural language tokenization and mathematical tokenization in the fourth embodiment.
  • naturalization tokenization refers to natural language included in combination data (math problem or compound sentence). Refers to a process of recognizing each word corresponding to a result separated by a space as a natural language token.
  • formula tokenization refers to a process of recognizing individual unit information obtained after parsing a formula included in the combination data as a formula token.
  • the information corresponding to the natural language token is 'Find', 'the', 'function', 'value', 'with', and the formula token is returned after parsing the information through parsing.
  • the stop word means a set of words that are predefined in order to remove a portion corresponding to a token that is not necessary in the analysis of a sentence or a formula. That is, among the words of [Example 1], a word such as 'the' (in addition to a or to, etc.) is a stop word and is a dictionary form in the natural language and the expression processing apparatus 100 of the compound sentence according to the fourth embodiment. It is predefined.
  • the dictionary means a list including a set of words.
  • the fourth natural language processing unit 1830 performs a process of removing a stop word, which is a part that is not necessary for analysis after generating a natural language token, and the stop word filtering is performed when the math problem is long (descriptive problem, etc.). It works to prevent too many tokens from entering, and to speed up math problems. And, deduplication filtering, for example, "One solution in this equation is three, find another solution that the equation has.” If there is a mathematical problem of tokenizing natural language, two tokens of "equation” and "solution” may be extracted. In this case, one of two duplicated equations and two “solutions" may be removed one by one, and motion information may be extracted using the removed data.
  • the fourth equation processing unit 1840 parses the equation separated from the compound sentence and extracts the semantic meaning to generate a mathematical token.
  • the fourth equation processing unit 1840 converts the equation into a tree shape, performs a traverse process on the equation converted into a tree shape, and performs tokenization on the equation on which the traverse process is performed.
  • the fourth equation processing unit 1840 may convert an equation written in Math ML (Mathematical Markup Language) into an XML tree and then convert it into a DOM (Document Object Model).
  • the fourth equation processing unit 1840 extracts the semantic meaning by executing the traversal in a depth-first search method, which is gradually transferred from the lowest node of the information constituting the equation to the higher node.
  • the traversal process and the depth-first search are described in general, and the formula is generally in the form of Math ML, which is composed of a tree, and the process of searching for nodes of such a tree to extract information from such a tree. Is called a traversal process, and when performing the traversal process, a depth-first search may be used. Since the depth-first search traversal process starts at the root of the tree, enters the child node, and then moves to the parent node after all child nodes have been searched, all information held by the child node is passed to the parent node. It is efficient because only the number of edges, which are connecting lines between nodes, needs to be searched.
  • depth-first search is illustrated here, the fourth embodiment is not limited thereto.
  • 20 is a diagram illustrating a procedure of generating a rule.
  • the fourth rule storage unit 1870 stores a rule combining operation information corresponding to a combination of a natural token and a mathematical token.
  • the rules stored in the fourth rule storage unit 1870 may include logical conditions of one or more natural tokens and mathematical tokens, and operation information that can be generated corresponding to the logical conditions.
  • S2010 a procedure for determining which natural language token and mathematical semantic token combination is present based on a mathematical problem is performed (S2010).
  • Logical conditions can consist of several tokens and define the logical relationships of the tokens. That is, a plurality of natural language tokens and mathematical tokens can be defined as logical relationships by using and conditions that two tokens must satisfy at the same time, and only one of the two or conditions.
  • an action corresponding to a logical condition consisting of a defined natural language token and a mathematical token (for example, may be stored as RHS (Right Hand Side) on a binary tree type data structure) and is defined (S2020). Therefore, if the mathematical sentence to extract the motion information by such a definition satisfies the logical condition of any rule stored in the fourth rule storage unit 1870, it may be a form of generating the motion information corresponding to the rule.
  • the rule defined as described above may be generated as a file (S2030), and the generated file may be stored in the fourth rule storage unit 1870 by inputting the generated file into the rule engine in XML format (S2040).
  • the fourth motion extractor 1850 uses the natural language token and the mathematical token generated by the fourth natural language processor 1830 and the fourth equation processor 1840 to store the natural language and mathematics of the rules stored in the fourth rule storage unit 1870.
  • the motion information corresponding to the stored rule is extracted and generated as the motion information of the compound sentence.
  • 24 is a diagram illustrating a method of extracting motion information by rule matching.
  • the fourth natural language processor 1830 and the fourth mathematical expression processor 1840 as shown in (B). May be parsed.
  • the result of being parsed by the fourth natural language processing unit 1830 indicates that the formula name is "Find” and its type is a verb VB, and is parsed by the fourth expression processing unit 1840.
  • the results show that the equation is true and that the polynomial is true, and this is matched to R1 among the rules R1, R2, and R3 when compared to the logical conditions of the stored rule as (C). Can be. Therefore, "Solve”, which is operation information that satisfies the logical condition, can be extracted from the matched rule as shown in (D).
  • the fourth operation extractor 1850 may extract all operation information satisfying the logical condition of the rule stored in the fourth rule storage unit 1870. If the logical condition of the combination of the natural language token and the mathematical token is satisfied, the logical condition of the stored rule may be satisfied. In this case, one mathematical problem includes several motion information. If the token combination does not satisfy any logical condition, the compound sentence may be determined to be an item that is missing from the analysis of the mathematical sentence or is not included in the analysis process or an incorrect mathematical sentence when the rule is generated.
  • the fourth object generator 1860 matches a mathematical expression that is a target of the natural token generated as a result of parsing the natural language among mathematical tokens.
  • FIG. 21 is a diagram illustrating a process of extracting configuration and operation information of a rule engine used as the fourth rule storage unit 1870.
  • the token of the natural language extracted by the fourth natural language processor 1830 and the mathematical token having the semantic meaning of the equation extracted by the fourth mathematical processor 1840 extract the meaning of the entire operation of the corresponding mathematical problem. It is used to As described above, when a natural language token and a mathematical semantic token are input through the pre-processing of a mathematical problem, the motion information to be extracted is input in XML (S2110) and defined as a rule. And stored (S2120).
  • the compound sentence to be analyzed is parsed into natural tokens and mathematical tokens (S2130, S2140), and each token is input to the fourth motion extractor 1850 as a fact (S2150) (S2150), and the fourth motion extractor
  • the rule engine capable of searching for the rule is driven to refer to the fourth rule storage unit 1870 in which the rule is defined and stored (for example, in XML format) (S2160).
  • the rule engine compares the input fact with the stored rule and generates operation information of the corresponding rule that satisfies the logical condition (S2170).
  • 22 is a diagram briefly showing a procedure of obtaining a mathematical object.
  • Flow charts S2240, S2250, and S2260 of the left part of FIG. 22 include information corresponding to knowledge, such as technique, definition, and theorem, which should be known in a mathematical problem in natural language. Extract. This information can be created and added to the desired category if there is more information needed through problem analysis.
  • the flowcharts S2210, S2220, and S2230 of the right part illustrate a process of extracting semantic information through parsing of a mathematical expression coming in the form of MathML standardized in W3C. That is, when the mathematical token is input (S2210), the fourth equation processing unit 1840 forms XML in a tree form using a general Document Object Model (DOM) and then, through the depth first search, the information of the lowest node. The information is collected in such a manner as to grasp and transmitted to an upper node, parsing an equation (S2220), and extracting semantic information (S2230). Description of the semantic information extraction of the equation is omitted because it is beyond the scope of the fourth embodiment.
  • DOM Document Object Model
  • a natural language is input (S2240)
  • a natural language is generated by parsing the natural language (S2250), and a process of matching a formula, which is a target of the generated natural language token, among mathematical formula tokens generated by the fourth formula processing unit 1840 is performed.
  • the mathematical object is extracted (S2260) and the mathematical object is stored in a form combined with the natural language token (S2270).
  • the mathematical object may be stored in various forms according to the storing method, which may be expressed in parallel, serial, nested form, and the like. That is, a plurality of mathematical objects may be arranged in series, arranged in parallel, or included in another mathematical object in one mathematical object.
  • the fourth embodiment includes both operation information of a math problem and information about what the math problem does and what information it contains. Based on this mathematical problem semantic information, the scope of application is very wide. For example, if someone wants to practice the problem of solving quadratic equations, instead of comparing natural language, parsing all the XML in MathML form, and verifying that they have the information they want, instead of comparing them with current math problems, Based on the information, you can provide the information you want quickly. It may also be used in the process of determining the ranking between the searched problems, and this operation may help the user to obtain an optimal search result.
  • FIG. 23 is a flowchart illustrating a semantic information extraction method of a compound sentence according to the fourth embodiment.
  • An object generation step (S2360) of matching among the expression tokens is included.
  • the information input step S2310 corresponds to the operation of the fourth information input unit 1810
  • the separation step S2320 corresponds to the operation of the fourth separation unit 1820
  • the natural language processing step S2330 is the fourth operation.
  • the formula processing step (S2340) corresponds to the operation of the fourth formula processing unit 1840
  • the operation extraction step (S2350) to the operation of the fourth motion extraction unit (1850)
  • the object generation step S2360 corresponds to the operation of the fourth object generation unit 1860, detailed description thereof will be omitted.
  • the semantic information extraction method of the compound sentence according to the fourth embodiment described in FIG. 23 may be implemented in a program and recorded in a computer-readable recording medium.
  • a computer-readable recording medium having recorded thereon a program for implementing the method of extracting semantic information of a compound sentence according to the fourth embodiment includes all kinds of recording devices storing data that can be read by a computer system. Examples of such computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, and are implemented in the form of a carrier wave (for example, transmission over the Internet). It includes being.
  • the computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. Further, functional programs, codes and code segments for implementing the fourth embodiment may be easily inferred by programmers in the art to which the fourth embodiment belongs.
  • FIG. 25 is an exemplary diagram of a system in which a natural language and a mathematical expression processing apparatus of a compound sentence according to a fourth embodiment provide data to cloud computing.
  • a system including a terminal 910, a communication network 920, and a fourth cloud computing device 2500 is required.
  • the terminal 910 refers to a terminal capable of transmitting and receiving various data via the communication network 920 according to a user's command or operation, tablet PC, laptop, personal computer, smart phone, personal portable information terminal and wireless It may be any one of a communication terminal.
  • the terminal 910 may be a cloud computing terminal that supports cloud computing that can use services such as data reading, input and storage, network, and content use through the communication network 920. That is, the terminal 910 includes a memory for storing a program for accessing the fourth cloud computing device 2500 via the communication network 920, a microprocessor for executing and operating the program, and the like. Means.
  • the terminal 910 may be any terminal as long as it is connected to the communication network 920 and client-server communication with the fourth cloud computing device 2500 is possible, and any communication computing such as a notebook computer, a mobile communication terminal, a PDA, etc. It is a broad concept that includes all of the devices.
  • the terminal 910 is preferably manufactured in the form having a touch screen, but is not necessarily limited thereto.
  • the terminal 910 inputs a compound sentence into the fourth cloud computing device 2500, and the fourth cloud computing device 2500 extracts semantic information of the compound sentence of the compound sentence in a cloud computing manner through the cloud computing method and provides the terminal to the terminal 910. can do. That is, the terminal 910 may include a separate input / output interface unit that provides an input / output interface with the fourth cloud computing device 2500 for input / output of data from the fourth cloud computing device 2500 in a cloud computing manner.
  • the controller may include an interface controller configured to read and write data on a storage medium stored in the fourth cloud computing device 2500 through the interface unit.
  • the terminal 910 may input a complex sentence, which is a combination of natural language and formula, to the fourth cloud computing device 2500 through the input / output interface unit, and the fourth cloud computing device 2500.
  • Receives a compound sentence containing natural language and formula separates the natural language and the formula from the compound sentence, generates a natural language token by tokenizing the separated natural language, parses the separated formula and extracts the semantic meaning.
  • extract the motion information of the compound sentence from the rule by comparing the generated natural token and the mathematical token with the logical condition of the stored rule using a rule combining the natural language and the logical condition of the equation and the motion information corresponding to the logical condition. Therefore, the terminal 910 substantially extracts the semantic information of the compound sentence without mounting any application. Can.
  • the communication network 920 refers to a network capable of transmitting and receiving data using an internet protocol using various wired and wireless communication technologies such as an internet network, an intranet network, a mobile communication network, a satellite communication network, and the terminal 910 and the fourth cloud computing device 2500. It performs the function of relaying data between them.
  • the fourth cloud computing device 2500 may be implemented based on the natural language and the expression processing device 100, and may extract the semantic information of the compound sentence to the terminal 910 by the cloud computing method. Allow a user to read and write data on a storage medium stored in the fourth cloud computing device 2500, and when a compound sentence composed of a combination of natural language and formula is input, separate the natural language and the formula from the compound sentence, Analyze the semantic meaning by analyzing each information constituting the natural language and the formula, extract the motion information corresponding to the meaning of the natural token by referring to the natural language token rule, and store the data in the recording medium. By transmitting to the terminal 910, the logical representation of the compound sentence can be converted in the terminal 910 without mounting the application. It can provide a lock cloud computing.
  • the fourth cloud computing device 2500 allows the fourth semantic information extractor 2510 and the terminal 910 to store the result of extracting semantic information of the compound sentence in a cloud computing method, and the fourth semantic information extractor 2510.
  • the fourth cloud computing unit 2520 may be configured to read and write data stored in the storage medium.
  • FIG. 26 is a block diagram schematically illustrating an apparatus for processing natural language and mathematical expressions of compound sentences according to a fifth embodiment.
  • the natural sentence and mathematical expression processing apparatus 100 of the compound sentence according to the fifth embodiment includes a fifth information input unit 2610, a fifth sentence analysis unit 2620, a fifth operation extractor 2630, and a fifth operation execution unit ( 2640).
  • the fifth information input unit 2610 receives a compound sentence including natural language and expressions.
  • the fifth sentence analysis unit 2620 analyzes the sentence structure of the compound sentence and generates a mathematical token and a natural language token by tokenizing the mathematical data and the natural language, respectively.
  • the fifth motion extractor 2630 extracts motion information corresponding to the meaning of the natural token by referring to the natural token.
  • the fifth operation execution unit 2640 structures the extracted operation information with respect to the mathematical token.
  • the structuring means structuring the extracted motion information by combining it with the formula token.
  • FIG. 27 is a block diagram schematically illustrating a fifth sentence analyzing unit 2620 according to a fifth embodiment.
  • the fifth sentence analysis unit 2620 may include a fifth separation unit 2710 for separating natural words and expressions from the combined data, and a fifth natural language processing unit for extracting semantic meanings by analyzing each natural language information constituting the separated natural language. And a fifth equation processing unit 2730 for extracting semantic meaning by analyzing each equation information constituting the separated equation.
  • the fifth information input unit 2610 receives combination data consisting of a combination of natural language and mathematical expression.
  • the combination data is preferably mathematical content including mathematical problems, mathematical proofs, and the like, but is not limited thereto.
  • the combination data consisting of a combination of natural language and formula may be directly input by a user's manipulation or command, but is not necessarily limited thereto and may receive document data consisting of a combination of natural language and formula from a separate external server. will be.
  • the fifth separator 2710 separates natural words and mathematical expressions from the combined data. That is, when the combination data composed of the combination of natural language and formula is input through the fifth information input unit 2610, the fifth separator 2710 recognizes the natural language and the formula included in the combination data separately.
  • the fifth natural language processor 2720 extracts semantic meaning by analyzing natural language information constituting the separated natural language.
  • the fifth natural language processor 2720 generates a natural language token that tokenizes the natural language, generates stop word filtering data that filters the stop word preset based on the natural language token, and stop word filtering data. Generates deduplication filtering data that has performed deduplication filtering.
  • the token refers to a unit that can be distinguished from consecutive sentences
  • tokenization refers to a process of dividing a natural language into word units, which are units that can be understood by the natural language and the expression processing apparatus 100 of a compound sentence.
  • tokenization is largely divided into natural language tokenization and mathematical tokenization in the fifth embodiment.
  • Natural language tokenization refers to a process of recognizing each word corresponding to a result of separating natural language included in a combination data (math problem or compound sentence) based on a space as a natural language token.
  • the formula tokenization refers to a process of recognizing individual unit information obtained after parsing a formula included in the combination data as a formula token.
  • the information corresponding to the natural language token is 'Find', 'the', 'function', 'value', 'with', and the formula token is returned after parsing the information through parsing.
  • the stop word means a set of words that are predefined in order to remove a portion corresponding to a token that is not necessary in the analysis of a sentence or a formula
  • the fifth natural language processor 2720 May be performed by referring to a list of stop words that define unnecessary tokens among natural language tokens. That is, among the words of [Example 1], a word such as 'the' (in addition to a or to, etc.) is a stop word and is predefined in a dictionary form in the system.
  • the dictionary means a list including a set of words.
  • the fifth natural language processor 2720 performs a process of removing a stop word that is not necessary for analysis after generating a natural language token, and the stop word filtering is performed when the math problem becomes long (descriptive problem, etc.). It prevents too many tokens from entering and works to speed up the system.
  • the fifth natural language processor 2720 generates deduplication filtering data by performing deduplication filtering to select and remove duplicate data from the stop word filtering data.
  • the fifth motion extractor 2630 extracts motion information corresponding to the meaning of the natural token by referring to the natural token rule defined in the deduplication filtering data in the fifth natural language processor 2720.
  • Action information is information extracted from a problem based on information that allows an actual solver to take action as to whether an input compound sentence solves a problem or explains a concept. That is, the motion information refers to summary information that can be extracted based on a token included in a math problem. For example, from the mathematical content of [Example 1] above, the motion information called solve can be extracted based on the natural language token and the mathematical token. In this way, in the process of defining a mathematical problem as a schema, it is possible to have information on the representative operation of the entire problem. This can be a useful tool later on when searching for or analyzing the similarity between problems.
  • the fifth equation processing unit 2730 extracts semantic meaning by analyzing each equation information constituting the separated equation.
  • the fifth equation processing unit 2730 converts the equation into a tree shape, performs a traverse process on the equation converted into a tree shape, and performs tokenization on the equation on which the traverse process is performed.
  • the fifth equation processing unit 2730 converts an equation written in Math ML (Mathematical Markup Language) into an XML tree and then into a DOM (Document Object Model).
  • the fifth equation processing unit 2730 performs the traversal in a depth-first search manner so that the equation information constituting the equation is gradually transferred from the lowest node to the higher node.
  • the traversal process and depth-first search are explained in detail.
  • the formula is in the form of Math ML, which is composed of a tree, and the nodes of the tree are searched to extract information from the tree.
  • the exit process is called a traversal process, and when performing the traversal process, a depth-first search can be used. Since the depth-first search traversal process starts at the root of the tree, enters the child node, and then moves to the parent node after all child nodes have been searched, all information held by the child node is passed to the parent node. It is efficient because only the number of edges, which are connecting lines between nodes, needs to be searched.
  • FIG. 28 is a block diagram schematically illustrating a natural language processor according to a fifth embodiment.
  • the fifth natural language processor 2720 includes a fifth natural language tokenizer 2810, a fifth stop word filter 2820, and a fifth deduplication filter 2830. Meanwhile, in the fifth exemplary embodiment, the fifth natural language processor 2720 includes only the fifth natural language tokenizer 2810, the fifth stop word filter 2820, and the fifth deduplication filter 2830. This is merely illustrative of the technical idea of the fifth embodiment, and a person of ordinary skill in the art to which the fifth embodiment belongs includes the fifth natural language processor 2720 without departing from the essential characteristics of the fifth embodiment. Various modifications and variations to the components included in the will be applicable.
  • the fifth natural language tokenizer 2810 generates a natural language token obtained by tokenizing the natural language.
  • the fifth natural language tokenizer 2810 generates a natural language token by performing tokenization on the natural language information constituting the natural language.
  • the natural language and mathematical expression processing apparatus 100 of the compound sentence may individually input natural language nodes included in the combination data or all natural language nodes at once using the fifth natural language tokenizer 2810.
  • the natural language has a property of a sentence composed of a plurality of words, but the node itself is not limited to a perfect sentence. That is, such natural language nodes are split into word units, which are units that can be understood by the natural language and the expression processing apparatus 100 of the compound sentence. This process is called a tokenization process.
  • the fifth stop word filtering unit 2820 generates stop word filtering data obtained by filtering the stop word based on the natural language token.
  • the fifth stop word filtering unit 2820 generates stop word filtering data by performing stop word filtering to select and remove the natural language token determined as the preset stop word from the natural language token. That is, after the tokenization process is performed using the fifth stop word filtering unit 2820, the natural language and the expression processing apparatus 100 of the compound sentence may be separated into a plurality of tokens. When the natural language and the mathematical expression processing apparatus 100 are input, the stop word is removed in the next step. This process removes tokens that are not needed to extract semantic semantics. For example, 'i', 'low', 'here' and 'there' may be set as stop words, but the present invention is not necessarily limited thereto. Can be.
  • the fifth deduplication filtering unit 2830 generates deduplication filtering data in which deduplication filtering is performed on the stop word filtering data.
  • the fifth deduplication filtering unit 2830 generates deduplication filtering data by performing deduplication filtering to select and remove duplicate data from the stop word filtering data. That is, the natural language and expression processing apparatus 100 of the compound sentence performs a process of removing duplicates after filtering the stop word using the fifth deduplication filtering unit 2830, and using the deduplication filtering to remove duplicate words. By removing it, the processing load of the natural language and the expression processing apparatus 100 of the compound sentence can be lowered.
  • the fifth motion extractor 2630 extracts motion information corresponding to the meaning of the natural token by referring to the natural token.
  • the natural token refers to a rule that defines the operation information of the natural token, defines various semantic meanings in the natural language (meaning of the natural language token), and includes the point where the direction of the natural token and the influence of the natural token are affected. can do.
  • the directionality indicates whether the natural token in the mathematical content is related to the equation in front of the natural token, the equation in the back or is independent.
  • 29 is a block diagram schematically illustrating a modification processing unit according to a fifth embodiment.
  • the fifth equation processing unit 2730 includes a fifth tree transform unit 2910, a fifth semantic parser 2920, and a fifth equation tokenizer 2930. Meanwhile, in the fifth exemplary embodiment, the fifth equation processing unit 2730 includes only the fifth tree transform unit 2910, the fifth semantic parser 2920, and the fifth equation tokenizer 2930, but this is described.
  • the technical spirit of the fifth embodiment is merely described by way of example, and those skilled in the art to which the fifth embodiment belongs may be included in the fifth modification processor 2730 without departing from the essential characteristics of the fifth embodiment.
  • semantic means information that enables the logical device to understand the meaning of specific information in the corresponding device.
  • the natural language and formula processing apparatus 100 of the compound sentence receives an individual formula written in a standardized form through the fifth information input unit 2610 and transmits it to the fifth formula processing unit 2730. That is, the formula transmitted to the fifth formula processor 2730 forms an XML tag based on Mathmatic Markup Language (ML), which is a standard defined by the World Wide Web Consortium (W3C). However, the formula transferred to the fifth formula processing unit 2730 is preferably Math ML, but is not necessarily limited thereto.
  • ML Mathmatic Markup Language
  • W3C World Wide Web Consortium
  • the fifth tree converter 2910 converts an expression into a tree form.
  • the fifth tree conversion unit 2910 converts an equation written in Math ML into an XML tree and then converts the equation into DOM.
  • the natural language and expression processing apparatus 100 of the compound sentence converts an expression into an XML tree of Math ML type using the fifth tree converter 2910, which is converted into a DOM (Document Object Model) and accessible to a program. Converted to tree form.
  • the fifth semantic parser 2920 performs a traversal process on the equation converted into a tree shape.
  • the fifth semantic parser 2920 performs the traversal in a depth-first search method so that the mathematical information constituting the mathematical expression is gradually transmitted from the lowest node to the upper node.
  • the natural language and the expression processing apparatus 100 of the compound sentence undergo a traversal process to determine the semantic meaning of the expression using the fifth semantic parser 2920.
  • the fifth semantic parser 2920 is the lowest node.
  • the traversal is performed by depth-first search, which is a form in which information is gradually passed from the node to the higher node. Accordingly, as a result, all the information constituting the formula collected through the fifth semantic parser 2920 is collected at the top node, the process of making a token of the formula based on this information.
  • the fifth formula tokenization unit 2930 performs tokenization on the formula on which the traversal process is performed. That is, the tokenized formula token refers to a token made of Mathematical Natural Language. Modified tokens, on the other hand, are treated differently from natural language tokens. That is, the fifth natural language processing unit 2720 matches the motion information based on the natural language token, whereas the fifth natural language processing unit 2730 results in a mathematical token, and in the future, the mathematical token is searched for mathematical content. Can be used for work.
  • the fifth operation execution unit 2640 combines the structured operation information extracted by the fifth operation extraction unit 2630 with respect to the formula token, and outputs the structured information in a predetermined defined schema form (for example, structured in XML) or on a storage medium. Can be stored.
  • a predetermined defined schema form for example, structured in XML
  • FIG. 30 is a flowchart for explaining a method of converting a logical expression of a compound sentence according to the fifth embodiment.
  • the natural language and formula processing apparatus 100 of the compound sentence receives a compound sentence composed of a combination of the natural language and the formula (S3010).
  • the compound sentence composed of a combination of natural language and formula may be directly input by a user's manipulation or command, but is not necessarily limited thereto.
  • the compound sentence composed of a combination of natural language and formula may be input from a separate external server. will be.
  • the natural language and the expression processing apparatus 100 of the compound sentence separate the natural language and the expression from the compound sentence, respectively (S3020). That is, the natural language and the expression processing apparatus 100 of the compound sentence, when a compound sentence composed of a combination of the natural language and the formula is input, recognizes the natural language and the formula included in the compound sentence, respectively.
  • the natural language and the expression processing apparatus 100 of the compound sentence process a process of extracting semantic meaning by analyzing natural language information constituting the separated natural language (S3030). That is, the natural language and the expression processing apparatus 100 of the compound sentence generates a natural language token that tokenizes the natural language, generates word filtering data filtering the stop word based on the natural language token, and deduplication filtering from the stop word filtering data. The deduplicated filtering data is generated, and operation information with a predetermined meaning is added to the deduplicated filtering data.
  • the natural language and mathematical expression processing apparatus 100 of the compound sentence generates a natural language token by performing tokenization on the natural language information constituting the natural language.
  • the natural language and mathematical expression processing apparatus 100 of the compound sentence generates stop word filtering data by performing stop word filtering to select and remove the natural language token determined as the preset stop word from the natural language token.
  • the natural language and expression processing apparatus 100 of the compound sentence generates deduplication filtering data by performing deduplication filtering to select and remove duplicate data from the stop word filtering data.
  • the natural language and the expression processing apparatus 100 of the compound sentence process a process of extracting semantic meaning by analyzing each formula information constituting the separated formula (S3040).
  • the natural language and mathematical expression processing apparatus 100 of the compound sentence converts the formula into a tree, performs a traversal process on the formula converted into a tree, and performs tokenization on the formula on which the traversal process is performed.
  • the natural language and formula processing apparatus 100 of the compound sentence converts the formula written in Math ML into the XML tree form and then into the DOM form.
  • the natural language and mathematical expression processing apparatus 100 of the compound sentence performs a traversal in a depth-first search method so that the mathematical information constituting the mathematical expression is gradually transferred from the lowest node to the upper node.
  • the natural language and formula processing apparatus 100 of the compound sentence extracts the motion information corresponding to the meaning of the natural language token with reference to the natural language token rule (S3050), and structures the extracted motion information with respect to the formula token. It may be output in the form or stored in the storage medium (S3060).
  • steps S3010 to S3060 are described as being sequentially executed. However, this is merely illustrative of the technical idea of the fifth embodiment, and a person having ordinary knowledge in the technical field to which the fifth embodiment belongs is described. 30 may be applied in various modifications and variations, such as by changing the order described in FIG. 30 or executing one or more steps of steps S3010 to S3060 in parallel without departing from the essential characteristics of the fifth embodiment. The order is not limited.
  • a computer-readable recording medium having recorded thereon a program for implementing a method of converting a logical sentence of a compound sentence according to a fifth embodiment includes all kinds of recording devices storing data that can be read by a computer system. Examples of such computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, and are implemented in the form of a carrier wave (for example, transmission over the Internet). It includes being.
  • the computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. Also, functional programs, codes and code segments for implementing the fifth embodiment may be easily inferred by programmers in the art to which the fifth embodiment belongs.
  • 31 is an exemplary view showing a tree form representation of a compound sentence according to the fifth embodiment.
  • each natural language has a special meaning in accordance with the order of connection of the sentences.
  • many mathematical contents are structured by binding formulas based on natural language.
  • a formula following a natural language may be connected as a specific condition, or a formula following may be defined.
  • the semantic meaning can be extracted by integrating the natural language as well as the meaning and connection relationship of the natural language of each node. That is, in order to classify the operation such as solving the equation or explaining the expression required by the mathematical content, it is used to grasp the direction of the problem by tying the whole natural language together to grasp the meaning.
  • FIG. 32 is an exemplary diagram of a system in which a logical expression conversion apparatus of a compound sentence according to a fifth embodiment provides data to cloud computing.
  • a system including the terminal 910, the communication network 920, and the fifth sentence of the compound cloud computing device 3200 is required. .
  • the terminal 910 refers to a terminal capable of transmitting and receiving various data via the communication network 920 according to a user's command or operation, tablet PC, laptop, personal computer, smart phone, personal portable information terminal and wireless It may be any one of a communication terminal.
  • the terminal 910 may be a cloud computing terminal that supports cloud computing that can use services such as data reading, input and storage, network, and content use through the communication network 920. That is, the terminal 910 is provided with a memory for storing a program for connecting to the fifth cloud computing device 3200 of the compound sentence via the communication network 920, a microprocessor for executing and operating the program, and the like. Means the device being played.
  • the terminal 910 may be connected to the communication network 920 and any terminal may be possible if the client-server communication with the fifth cloud computing device 3200 of the compound sentence is possible. It is a broad concept that includes all one communication computing device.
  • the terminal 910 is preferably manufactured in the form having a touch screen, but is not necessarily limited thereto.
  • the terminal 910 inputs a compound sentence into the fifth sentence of the cloud computing device 3200 of the compound sentence and converts the expression to have a logical relationship of the compound sentence in the cloud computing manner through the fifth sentence of the cloud computing device 3200 of the compound sentence. And may be provided to the terminal 910. That is, the terminal 910 is a separate input / output interface unit that provides an input / output interface with the fifth cloud computing device 3200 of the compound sentence for input / output of data from the fifth cloud computing device 3200 of the compound sentence in a cloud computing manner.
  • the controller may include an interface controller configured to read and write data on a storage medium stored in the fifth cloud computing device 3200 of the compound sentence through the input / output interface unit.
  • the terminal 910 may input a compound sentence, which is a combination of natural language and formula, into the fifth cloud computing device 3200 of the compound sentence through the input / output interface unit, and the fifth sentence of the compound sentence.
  • the cloud computing device 3200 separates the natural language and the formula from the compound sentence, analyzes the natural language information and the formula information constituting the separated natural language, extracts semantic meanings, and refers to the natural token.
  • the terminal 910 can substantially convert the logical expression of the compound sentence without mounting any application.
  • the communication network 920 refers to a network capable of transmitting and receiving data using an internet protocol using various wired and wireless communication technologies such as an internet network, an intranet network, a mobile communication network, a satellite communication network, and the terminal 910 and the fifth cloud computing device 3200. It performs the function of relaying data between them.
  • the fifth cloud computing device 3200 may be implemented based on the natural language and the expression processing device 100, and the terminal 910 to provide the terminal 910 with the logical expression conversion result of the compound sentence in a cloud computing method.
  • To read and write data on the storage medium stored in the fifth cloud computing device 3200 of the compound sentence and when the compound sentence composed of a combination of natural language and formula is inputted, the natural sentence and formula are inputted from the compound sentence.
  • the semantic meaning is extracted by analyzing each piece of information that separates the separated natural language and formula, and the motion information extracted from motion information corresponding to the meaning of natural token is referenced by referring to the rules of natural token. And store the data on the computer-readable recording medium, and transmit the data of the recording medium to the terminal 910.
  • the fifth cloud computing device 3200 of the compound sentence causes the fifth logical expression converter 3210 and the terminal 910 to store the result of converting the logical expression of the compound sentence in a cloud computing scheme.
  • the conversion unit 3210 may include a fifth cloud computing unit 3220 to read and write data stored in the storage medium.
  • 33 is a block diagram schematically illustrating a mathematical expression and natural language processing device according to a sixth embodiment.
  • the natural language and mathematical expression processing apparatus 100 includes a sixth information input unit 3310, a sixth mathematical data structurer 3320, a sixth operator parser 3330, and a sixth semantic information combiner 3340. It may be configured to include). In some cases, the sixth semantic information combiner 3340 may be omitted.
  • the sixth information input unit 3310 receives formula data representing a formula (or Mathematical Formula) and transmits the formula data to the sixth formula data structurer 3320.
  • the sixth formula data structurer 3320 extracts and organizes an operator and a parameter from the formula data received from the sixth information input unit 3310.
  • the sixth operator parsing unit 3330 extracts the semantic meaning of the operator with respect to the structured operator in the sixth equation data structurer 3320, and generates parsing semantic information by combining the extracted semantic meaning and parameters associated with the operator.
  • the sixth semantic information combiner 3340 combines the parsing semantic information generated by the sixth operator parser 3330 and the input formula data to generate semantic information combine formula data.
  • W 3 C (hereinafter referred to as presentation MathML, pMathML) (World Wide Web Consortium) in the schema (Schema)
  • a (hereinafter referred to as content MathML, cMathML) definition is a standardized content-based MathML existing representation based on MathML this You can add semantic parts that are limitations you have.
  • cMathML itself has more tags to solve the semantically unclear parts of pMathML, and every time the program parses the parse process to understand the meaning of the math contained within it, the same as pMathML. It is possible to grasp the meaning on a limited basis.
  • the sixth information input unit 3310 may receive formula data in the form of MathML (eg, cMathML) based on a content that is defined and standardized in W 3 C. Since cMathML is used as the formula data, the sixth embodiment is not limited thereto, and the formula data may be structured and input in a predetermined form in various ways. In addition, when the input formula data is input in the form of TeX, OpenMath, etc., the sixth information input unit 3310 converts the input data of TeX, OpenMath, etc. into a MathML form to convert the input data into a MathML form.
  • the formula data structurer 3320 may be transferred.
  • the input of the formula data may be directly input by a user's operation or command, but is not necessarily limited thereto, and may receive document data expressing a formula from a separate external server.
  • the Document Object Model can be used to programmatically structure an XML structured document such as cMathML.
  • the DOM divides the document of the XML structure into elements and creates a tree structure.
  • the sixth formula data structuring unit 3320 extracts an operator and a parameter from the formula data and provides a tree structure in which a mathematical input in MathML format is processed as a DOM.
  • the sixth operator parsing unit 3330 may extract the semantic meaning of the tree-structured operator and combine the semantic meaning extracted from the operator with a parameter associated with the operator to generate parsing semantic information.
  • the sixth operator parser 3330 may extract the semantic meaning of the operator by referring to the predetermined semantic meaning DB 150.
  • the sixth formula data structuring unit 3320 may structure the formula data of the cMathML type such as (B) into a tree structure as shown in (C).
  • the leftmost of the sibling nodes under one parent node is 'Plus', 'Power', 'Times'
  • An operator node such as 'Eq' is located
  • the parameter of the operator node is located as a sibling node of the operator node
  • a tag such as ⁇ Apply> is located.
  • 36 is a diagram illustrating a traversal order of nodes reflecting cMathML characteristics.
  • the tree structure structuring formula data may be traversed by a pre-order traversing technique.
  • cMathML uses ⁇ apply> ⁇ / apply> by default in expressing terms, which means that one of the child nodes of a node contains this tag. Therefore, when parsing a tree, first extract information about nodes other than nodes containing ⁇ apply> and then transfer the collected information to nodes with ⁇ apply>. Then, the ⁇ apply> node delivers the information to the higher node, and the higher node transmits the information repeatedly to the ⁇ apply> node in the same level until it reaches the top node. Finally, when we reach the root node, all the information is collected and we can get the semantic information we want from the root node. It is described here that the tree structure can be traversed by the transversal transverse technique, but the sixth embodiment is not limited thereto.
  • the sixth operator parsing unit 3330 obtains information of each node while traversing the tree structure, and the semantic meaning of operators such as 'Plus', 'Power', and 'Times' existing in the node visited while traversing the tree structure. Extract If the representation on the tree structure and the representation of the generated parsing result are different, the semantic meaning DB 150 for storing the representation of the parsing result corresponding to the representation on the tree structure is provided, and the sixth operator parsing unit 3330 is an operator. In extracting the semantic meaning of the semantic meaning DB 150, reference may be made to the semantic meaning DB 150. If the expression on the tree structure and the expression of the generated parsing result are different from each other, 'Plus' and' Power Information such as', 'Times' can also be referred to as it is.
  • the sixth operator parsing unit 3330 extracts the semantic meaning of the operator, extracts parameters related to the operator from the structured tree structure, and combines them with the semantic meaning of the operator to generate parsing semantic information such as (D). That is, among sibling nodes, an operator parameter (for example, sibling nodes of 'Power' are 'Ci' and 'Cn', and 'Ci' and 'Cn' are connected to child nodes of 'x' and '2', respectively, x 'and' 2 'are coupled to the operator' Power '.) " Power [x, 2] ", " Times [2, x] "
  • the sixth operator parsing unit 3330 may extract semantic information including a kind of arithmetic operation, the number of variables, the order of terms, etc. while parsing a tree structure. That is, the semantic information extracted by the sixth operator parser 3330 is not extracted by visiting only one node, but visits all nodes, and visits the node for information about the number of variables and the order of the term, for example. After storing until completion, after the node visit is completed, comprehensive semantic information indicating the type and characteristic of the corresponding formula data may be extracted and included in the parsing semantic information.
  • the formula data structuring unit 3320 may structure the cMathML-type formula data such as (B) into a tree structure as shown in (C).
  • the sixth operator parsing unit 3330 obtains information of each node while traversing the tree structure, and the semantic meaning of operators such as 'Union', 'Set', and 'Ci' existing in the node visited while traversing the tree structure. Extract
  • the sixth operator parsing unit 3330 extracts the semantic meaning of the operator while traversing the tree structure as shown in (C), extracts the parameter associated with the operator from the structured tree structure, and combines it with the semantic meaning of the operator (D). Generates parsing semantic information such as That is, among sibling nodes, an operator's parameter (for example, sibling node of 'Union' is connected to two 'Ci' and two 'Ci' child nodes of 'A' and 'B', respectively. Is combined with an operator, such as "Union [A, B]". Also, the parameter can also extract its semantic meaning by referring to the "Declare" tag in the tree structure.
  • FIG. 37 illustrates semantic information combining formula data in which parsing semantic information (b) and input formula data (a) are combined.
  • the sixth semantic information combiner 3340 combines the semantic information by combining the formula data a as shown in FIG. 34 and the parsing semantic information b generated by the sixth operator parser 3330. Create formula data.
  • the generated semantic information combining formula data (a + b) may be generated in a structure having a predetermined schema in XML form as shown in the input formula data (a), as shown in FIG. 37.
  • b) may be created as a ⁇ Semantic> ⁇ / Semantic> tag, which is inserted after the XML data (a).
  • 38 illustrates a data structure for transferring data between nodes while traversing a node.
  • Equation 38 illustrates a data structure template for storage of equations, which can be easily extended to other data storage structures.
  • Dividing equations into large groups can be polynomials, matrices, sets, vectors, relations, integrations, differentiation, and so on. These groups can have a data structure similar to the template above, and can be expanded based on this template as new structures are added.
  • information about an operator node and a parameter node of the child node can be stored.
  • information about a node may include a storage structure such as a variable set, and information corresponding to a variable name and a degree may be included in the variable set.
  • One or more variables may be included in the variable set to be stored, and another variable set may be included in the variable set to be stored to have a nested structure.
  • 39 is an exemplary diagram of a system in which a natural language and a mathematical expression processing device according to a sixth embodiment provide data to cloud computing.
  • a system including a terminal 910, a communication network 920, and a sixth cloud computing device 3900 is required.
  • the terminal 910 refers to a terminal capable of transmitting and receiving various data via the communication network 920 according to a user's command or operation, tablet PC, laptop, personal computer, smart phone, personal portable information terminal and wireless It may be any one of a communication terminal.
  • the terminal 910 may be a cloud computing terminal that supports cloud computing that can use services such as data reading, input and storage, network, and content use through the communication network 920. That is, the terminal 910 includes a memory for storing a program for accessing the sixth cloud computing device 3900 via the communication network 920, a microprocessor for executing and operating the program, and the like. Means.
  • the terminal 910 may be any terminal as long as it is connected to the communication network 920 and client-server communication is possible with the sixth cloud computing device 3900, and any communication computing such as a notebook computer, a mobile communication terminal, a PDA, and the like may be used. It is a broad concept that includes all of the devices.
  • the terminal 910 is preferably manufactured in the form having a touch screen, but is not necessarily limited thereto.
  • the terminal 910 inputs the formula data expressed by the formula into the sixth cloud computing device 3900, and the sixth cloud computing device 3900 parses the formula data through a cloud computing method to extract semantic information of the formula data. It may be provided to the terminal 910. That is, the terminal 910 may include a separate input / output interface unit that provides an input / output interface with the sixth cloud computing device 3900 to input and output data from the sixth cloud computing device 3900 in a cloud computing manner.
  • the controller may include an interface controller configured to read and write data to a storage medium stored in the sixth cloud computing device 3900 through the interface unit.
  • the terminal 910 may input formula data expressed by a formula through the input / output interface unit to the sixth cloud computing device 3900, and the sixth cloud computing device 3900 may have formulas It extracts and structured operators and parameters from input and received formula data, and extracts the semantic meaning of the operator for the structured operator, and generates parsing semantic information by combining the extracted semantic meanings and parameters associated with the operator.
  • the terminal 910 may extract semantic information by parsing formula data without mounting any application.
  • the communication network 920 refers to a network capable of transmitting and receiving data using an internet protocol using various wired and wireless communication technologies such as an internet network, an intranet network, a mobile communication network, a satellite communication network, and the terminal 910 and the sixth cloud computing device 3900. It performs the function of relaying data between them.
  • the sixth cloud computing device 3900 may be implemented based on the natural language and the expression processing device 100.
  • the cloud computing device 3900 may be configured to provide the terminal 910 with parsing semantic information of formula data through cloud computing. Allow the user to read and write data on the storage medium stored in the sixth cloud computing device 3900, and when formula data is input, extract the operator and parameters from the received formula data to structure the operator and the structured operator. By extracting the semantic meaning of and combining the extracted semantic meaning and the parameters associated with the operator to generate parsing semantic information and store in a computer-readable recording medium, and transmits the data of the recording medium to the terminal 910, In 910, the formula data can be parsed without mounting the application. That can provide cloud computing. That is, the sixth cloud computing device 3900 is stored in the storage medium by the sixth semantic information generator 3910 and the terminal 910 by the sixth semantic information generator 3910 for extracting semantic information of formula data.
  • the sixth cloud computing unit 3920 may be configured to read and write data.
  • 40 is a flowchart illustrating a method of generating mathematical semantic information according to a sixth embodiment.
  • an information input step receiving input of formula data in which an expression is expressed, a structure of formula data (S4020) for extracting and structuring an operator and a parameter from the formula data, and structuring
  • the operator parsing step for generating parsing semantic information by extracting the semantic meaning of the operator and combining the extracted semantic meanings and parameters associated with the operator, and combining the semantic information and the formula data to combine semantic information. It may include a semantic information combining step (S4040) for generating a.
  • the information input step S4010, the formula data structure step S4020, the operator parsing step S4030, and the semantic information combining step S4040 are respectively a sixth information input unit 3310 and a sixth formula data structurer 3320.
  • the operation of the sixth operator parser 3330 and the sixth semantic information combiner 3340 is omitted.
  • the present embodiment is applied to various fields for processing natural language and mathematical expressions, and provides a separate input tool for a user to input natural language and mathematical expressions. It is structured to manage natural language and formulas based on recombination data based on the structure, and the structured information of user query is indexed together based on semantic information, and the semantic semantic information is automatically extracted, and natural language and mathematical expressions are included. It is a useful invention that expresses a compound sentence automatically to have a logical relationship, and generates an effect that can additionally generate semantic information.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

자연어 및 수학식 처리 방법과 그를 위한 장치를 개시한다. 자연어 및 수식을 입력받는 자연어 및 수식 입력부; 상기 자연어 및 상기 수식의 조합으로 이루어진 조합 데이터를 분석하여 특정 의미에 따라 구분한 후 재조합하는 자연어 및 수식 구조화부; 상기 조합 데이터를 색인화하는 자연어 및 수식 색인화부; 상기 조합 데이터에서 논리적 조건을 이용한 동작 정보를 추출하는 동작 정보 추출부; 상기 동작 정보를 구조화하는 동작 구조화부; 및 상기 조합 데이터로부터 수학식에 대한 파싱 시멘틱 정보를 생성하는 정보 생성부를 포함하는 것을 특징으로 하는 자연어 및 수식 처리 장치를 제공한다. 본 실시예에 의하면, 사용자가 자연어와 수식을 입력할 수 있도록 별도의 입력 툴을 제공하고, 자연어와 수식이 조합된 데이터의 분석 내용에 기초하여 자연어 및 수식을 재조합한 데이터로 관리할 수 있도록 하는 구조화하고, 시멘틱 정보에 기초하여 사용자 쿼리를 구조화한 정보가 같이 색인화되도록 하며, 의미론적인 시멘틱 정보를 자동으로 추출하고, 자연어와 수학식이 포함된 복합 문장을 자동적으로 논리적인 관계를 갖도록 표현하며, 추가적으로 시멘틱 정보를 생성할 수 있는 효과가 있다.

Description

자연어 및 수학식 처리 방법과 그를 위한 장치
본 실시예는 자연어 및 수학식 처리 방법과 그를 위한 장치에 관한 것이다. 더욱 상세하게는, 사용자가 자연어와 수식을 입력할 수 있도록 별도의 입력 툴을 제공하고, 시멘틱 정보를 생성하며, 의미론적인 시멘틱 정보를 자동으로 추출하며, 자연어와 수식이 조합된 데이터의 분석 내용에 기초하여 자연어 및 수식을 재조합한 데이터로 관리할 수 있도록 하는 구조화하고, 자연어와 수학식이 포함된 복합 문장을 자동적으로 논리적인 관계를 갖도록 표현하며, 시멘틱 정보에 기초하여 사용자 쿼리를 구조화한 정보가 같이 색인화되도록 하는 자연어 및 수학식 처리 방법과 그를 위한 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
사람의 언어는 풍부하고 복잡하며, 복잡한 문법 및 문맥 의미를 갖는 엄청난 어휘를 포함하고 있으나 기계 또는 소프트웨어 애플리케이션은 일반적으로 특정 형식 또는 규칙에 따라 데이터를 입력할 것을 요구한다. 여기서, 자연어 입력은 사람과 상호작용하기 위한 거의 모든 소프트웨어 애플리케이션에서 이용될 수 있다. 일반적인 자연어 처리 과정은 자연어를 토큰(Token)으로 분리하고 소프트웨어 애플리케이션에 의해 제공되는 하나 이상의 동작에 매핑하며 각각의 소프트웨어 애플리케이션이 일련의 고유한 동작들을 가지도록 설정된다. 즉, 소프트웨어 개발자가 자연어 입력을 해석하는 코드를 작성하여 입력을 각각의 애플리케이션에 대한 적절한 동작에 매핑하는 방식이다.
하지만, 이러한 자연어 처리 방식은 수식을 입력받기 위한 별도의 입력 툴을 제공하지 못하고, 수식을 인식하지 못하며, 자연어 및 수식을 색인화, 구조화하지 못하며, 실제 수학식 내부에 포함된 의미를 파악하지 못하는 문제가 있었다.
전술한 문제점을 해결하기 위해 본 실시예는, 사용자가 자연어와 수식을 입력할 수 있도록 별도의 입력 툴을 제공하고, 시멘틱 정보를 생성하며, 의미론적인 시멘틱 정보를 자동으로 추출하며, 자연어와 수식이 조합된 데이터의 분석 내용에 기초하여 자연어 및 수식을 재조합한 데이터로 관리할 수 있도록 하는 구조화하고, 자연어와 수학식이 포함된 복합 문장을 자동적으로 논리적인 관계를 갖도록 표현하며, 시멘틱 정보에 기초하여 사용자 쿼리를 구조화한 정보가 같이 색인화되도록 하는 자연어 및 수학식 처리 방법과 그를 위한 장치를 제공하는 데 주된 목적이 있다.
전술한 목적을 달성하기 위해 본 실시예의 일 측면에 의하면, 자연어 및 수식을 입력받는 자연어 및 수식 입력부; 상기 자연어 및 상기 수식의 조합으로 이루어진 조합 데이터로부터 수학식에 대한 파싱 시멘틱 정보를 생성하는 정보 생성부; 상기 조합 데이터에서 논리적 조건을 이용한 동작 정보를 추출하는 동작 정보 추출부; 상기 조합 데이터를 분석하여 특정 의미에 따라 구분한 후 재조합하는 자연어 및 수식 구조화부; 상기 동작 정보를 구조화하는 동작 구조화부; 및 상기 조합 데이터를 색인화하는 자연어 및 수식 색인화부를 포함하는 것을 특징으로 하는 자연어 및 수식 처리 장치를 제공한다.
또한, 제 1 실시예에 의하면, 자연어를 입력받기 위한 텍스트 입력 툴을 제공하는 제 1 자연어 입력 처리기; 수식을 입력받기 위한 수식 입력 툴을 제공하는 제 1 수식 입력 처리기; 입력된 상기 자연어 및 상기 수식을 취합한 취합 데이터를 전달하는 제 1 정보 처리부; 상기 취합 데이터를 수신하며, 상기 자연어와 상기 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하는 제 1 파싱부; 및 상기 구성 정보, 상기 자연어, 상기 수식 및 상기 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 저장하는 제 1 데이터 관리부를 포함하는 것을 특징으로 하는 자연어 및 수식 처리 장치를 제공한다.
또한, 제 2 실시예에 의하면, 자연어 및 수식의 조합으로 이루어진 조합 데이터를 입력받는 제 2 정보 입력부; 상기 조합 데이터에서 상기 자연어 및 상기 수식을 각각 분리하는 제 2 분리부; 분리된 상기 자연어를 구성하고 있는 각각의 제 1 정보를 분석하여 특정 의미에 따라 구분하는 제 2 자연어 처리부; 분리된 상기 수식을 구성하고 있는 각각의 제 2 정보를 분석하여 특정 의미에 따라 구분하는 제 2 수식 처리부; 및 상기 제 1 정보, 상기 제 2 정보, 상기 자연어 및 상기 수식 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하는 제 2 데이터 관리부를 포함하는 것을 특징으로 하는 자연어 및 수식 처리 장치를 제공한다.
또한, 제 3 실시예에 의하면, 자연어 및 수식의 조합으로 이루어진 조합 데이터를 입력받는 제 3 정보 입력부; 상기 조합 데이터에서 상기 자연어 및 상기 수식을 각각 분리하고, 분리된 상기 자연어와 상기 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하는 제 3 시멘틱 파서부; 상기 구성 정보, 상기 자연어, 상기 수식 및 상기 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하는 제 3 데이터 관리부; 입력된 사용자 쿼리에 포함된 키워드를 추출하여 구조화하는 제 3 쿼리 파서부; 및 상기 시멘틱 정보를 색인화한 시멘틱 색인 정보를 생성하고, 상기 시멘틱 색인 정보에 상기 키워드 정보를 매칭한 쿼리 색인 정보를 생성하는 제 3 색인부를 포함하는 것을 특징으로 하는 자연어 및 수식 처리 장치를 제공한다.
또한, 제 4 실시예에 의하면, 자연어와 수식이 포함된 복합문장을 수신하는 제 4 정보 입력부; 상기 복합문장에서 상기 자연어 및 상기 수식을 분리하는 제 4 분리부; 분리된 상기 자연어를 토큰화하여 자연어토큰을 생성하는 제 4 자연어처리부; 분리된 상기 수식을 파싱하고 시멘틱의미를 추출하여 수학식토큰을 생성하는 제 4 수식처리부; 자연어와 수학식의 논리적 조건 및 상기 논리적 조건에 대응되는 동작 정보를 결합한 룰을 저장하는 제 4 룰저장부; 및 상기 생성된 자연어토큰과 수학식토큰을 상기 저장된 룰의 논리적 조건과 비교하여 상기 저장된 룰로부터 상기 복합문장의 동작 정보를 추출하는 제 4 동작추출부를 포함하는 것을 특징으로 하는 자연어 및 수식 처리 장치를 제공한다.
또한, 제 5 실시예에 의하면, 자연어와 수식이 포함된 복합문장을 수신하는 제 5 정보 입력부; 상기 복합문장의 문장구성을 분석하여 수식데이터 및 자연어를 각각 토큰화하여 수식토큰 및 자연어토큰을 생성하는 제 5 문장분석부; 자연어토큰 규칙을 참조하여 상기 자연어토큰의 의미에 대응되는 동작 정보를 추출하는 제 5 동작추출부; 및 상기 추출된 동작 정보를 상기 수식토큰에 대하여 구조화하는 제 5 동작실행부를 포함하는 것을 특징으로 하는 자연어 및 수식 처리 장치를 제공한다.
또한, 제 6 실시예에 의하면, 수식이 표현된 수식데이터를 입력받는 제 6 정보 입력부; 상기 수식데이터로부터 오퍼레이터 및 파라미터를 추출하여 구조화하는 제 6 수식데이터 구조화부; 및 구조화된 상기 오퍼레이터에 대하여 상기 오퍼레이터의 시멘틱의미를 추출하고 추출된 시멘틱 의미 및 상기 오퍼레이터와 연관된 파라미터를 결합하여 파싱 시멘틱 정보를 생성하는 제 6 오퍼레이터 파싱부를 포함하는 것을 특징으로 하는 자연어 및 수식 처리 장치를 제공한다.
또한, 본 실시예의 다른 측면에 의하면, 자연어 및 수식 처리 장치가 자연어 및 수학식을 처리하는 방법에 있어서, 자연어 및 수식을 입력받는 자연어 및 수식 입력 과정; 상기 자연어 및 상기 수식의 조합으로 이루어진 조합 데이터로부터 수학식에 대한 파싱 시멘틱 정보를 생성하는 정보 생성 과정; 상기 조합 데이터에서 논리적 조건을 이용한 동작 정보를 추출하는 동작 정보 추출 과정; 상기 조합 데이터를 분석하여 특정 의미에 따라 구분한 후 재조합하는 자연어 및 수식 구조화 과정; 상기 동작 정보를 구조화하는 동작 구조화 과정; 및 상기 조합 데이터를 색인화하는 자연어 및 수식 색인화 과정을 포함하는 것을 특징으로 하는 자연어 및 수학식 처리 방법을 제공한다.
또한, 제 1 실시예에 의하면, 자연어 및 수식 처리 장치가 자연어 및 수학식을 처리하는 방법에 있어서, 자연어를 입력받기 위한 텍스트 입력 툴을 제공하는 제 1 자연어 입력 처리 과정; 수식을 입력받기 위한 수식 입력 툴을 제공하는 제 1 수식 입력 처리 과정; 입력된 상기 자연어 및 상기 수식을 취합한 취합 데이터를 전달하는 제 1 정보 처리 과정; 상기 취합 데이터를 수신하며, 상기 자연어와 상기 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하는 제 1 파싱 과정; 및 상기 구성 정보, 상기 자연어, 상기 수식 및 상기 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 저장하는 제 1 데이터 관리 과정을 포함하는 것을 특징으로 하는 자연어 및 수학식 처리 방법을 제공한다.
또한, 제 2 실시예에 의하면, 자연어 및 수식 처리 장치가 자연어 및 수학식을 처리하는 방법에 있어서, 자연어 및 수식의 조합으로 이루어진 조합 데이터를 입력받는 제 2 정보 입력 과정; 상기 조합 데이터에서 상기 자연어 및 상기 수식을 각각 분리하는 제 2 분리 과정; 분리된 상기 자연어를 구성하고 있는 각각의 제 1 정보를 분석하여 특정 의미에 따라 구분하는 제 2 자연어 처리 과정; 분리된 상기 수식을 구성하고 있는 각각의 제 2 정보를 분석하여 특정 의미에 따라 구분하는 제 2 수식 처리 과정; 및 상기 제 1 정보, 상기 제 2 정보, 상기 자연어 및 상기 수식 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하는 제 2 데이터 관리 과정을 포함하는 것을 특징으로 하는 자연어 및 수학식 처리 방법을 제공한다.
또한, 제 3 실시예에 의하면, 자연어 및 수식 처리 장치가 자연어 및 수학식을 처리하는 방법에 있어서, 자연어 및 수식의 조합으로 이루어진 조합 데이터를 입력받는 제 3 정보 입력 과정; 상기 조합 데이터에서 상기 자연어 및 상기 수식을 각각 분리하고, 분리된 상기 자연어와 상기 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하는 제 3 시멘틱 파서 과정; 상기 구성 정보, 상기 자연어, 상기 수식 및 상기 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하는 제 3 데이터 관리 과정; 입력된 사용자 쿼리에 포함된 키워드를 추출하여 구조화하는 제 3 쿼리 파서 과정; 및 상기 시멘틱 정보를 색인화한 시멘틱 색인 정보를 생성하고, 상기 시멘틱 색인 정보에 상기 키워드 정보를 매칭한 쿼리 색인 정보를 생성하는 제 3 색인 과정을 포함하는 것을 특징으로 하는 자연어 및 수학식 처리 방법을 제공한다.
또한, 제 4 실시예에 의하면, 자연어 및 수식 처리 장치가 자연어 및 수학식을 처리하는 방법에 있어서, 자연어와 수식이 포함된 복합문장을 수신하는 제 4 정보 입력 과정; 상기 복합문장에서 상기 자연어 및 상기 수식을 분리하는 제 4 분리 과정; 분리된 상기 자연어를 토큰화하여 자연어토큰을 생성하는 제 4 자연어처리 과정; 분리된 상기 수식을 파싱하고 시멘틱의미를 추출하여 수학식토큰을 생성하는 제 4 수식처리 과정; 자연어와 수학식의 논리적 조건 및 상기 논리적 조건에 대응되는 동작 정보를 결합한 룰을 저장하는 제 4 룰저장 과정; 및 상기 생성된 자연어토큰과 수학식토큰을 상기 저장된 룰의 논리적 조건과 비교하여 상기 저장된 룰로부터 상기 복합문장의 동작 정보를 추출하는 제 4 동작추출 과정을 포함하는 것을 특징으로 하는 자연어 및 수학식 처리 방법을 제공한다.
또한, 제 5 실시예에 의하면, 자연어 및 수식 처리 장치가 자연어 및 수학식을 처리하는 방법에 있어서, 자연어와 수식이 포함된 복합문장을 수신하는 제 5 정보 입력 과정; 상기 복합문장의 문장구성을 분석하여 수식데이터 및 자연어를 각각 토큰화하여 수식토큰 및 자연어토큰을 생성하는 제 5 문장분석 과정; 자연어토큰 규칙을 참조하여 상기 자연어토큰의 의미에 대응되는 동작 정보를 추출하는 제 5 동작추출 과정; 및 상기 추출된 동작 정보를 상기 수식토큰에 대하여 구조화하는 제 5 동작실행 과정을 포함하는 것을 특징으로 하는 자연어 및 수학식 처리 방법을 제공한다.
또한, 제 6 실시예에 의하면, 자연어 및 수식 처리 장치가 자연어 및 수학식을 처리하는 방법에 있어서, 수식이 표현된 수식데이터를 입력받는 제 6 정보 입력 과정; 상기 수식데이터로부터 오퍼레이터 및 파라미터를 추출하여 구조화하는 제 6 수식데이터 구조화 과정; 및 구조화된 상기 오퍼레이터에 대하여 상기 오퍼레이터의 시멘틱의미를 추출하고 추출된 시멘틱 의미 및 상기 오퍼레이터와 연관된 파라미터를 결합하여 파싱 시멘틱 정보를 생성하는 제 6 오퍼레이터 파싱 과정을 포함하는 것을 특징으로 하는 자연어 및 수학식 처리 방법을 제공한다.
이상에서 설명한 바와 같이 본 실시예에 의하면, 사용자가 자연어와 수식을 입력할 수 있도록 별도의 입력 툴을 제공하고, 시멘틱 정보를 생성하며, 의미론적인 시멘틱 정보를 자동으로 추출하며, 자연어와 수식이 조합된 데이터의 분석 내용에 기초하여 자연어 및 수식을 재조합한 데이터로 관리할 수 있도록 하는 구조화하고, 자연어와 수학식이 포함된 복합 문장을 자동적으로 논리적인 관계를 갖도록 표현하며, 시멘틱 정보에 기초하여 사용자 쿼리를 구조화한 정보가 같이 색인화할 수 있는 효과가 있다.
또한, 제 1 실시예에 의하면, 사용자가 자연어와 수식을 입력할 수 있도록 별도의 텍스트 입력 툴과 수식 입력 툴을 제공하며, 텍스트 입력 툴과 수식 입력 툴을 통해 입력된 자연어와 수식을 입력받는 효과가 있다. 또한, 본 실시예에 의하면, 텍스트 입력 툴과 수식 입력 툴을 통해 입력된 자연어와 수식에 대해 자연어 처리 및 수식 처리를 함께 수행한 시멘틱 정보를 저장 및 관리할 수 있는 효과가 있다.
또한, 제 2 실시예에 의하면, 자연어와 수식이 조합된 데이터에 대해 자연어 처리 및 수식 처리를 함께 수행한 분석 내용에 기초하여 자연어 및 수식을 재조합한 데이터로 관리할 수 있도록 하는 효과가 있다. 또한, 제 3 실시예에 의하면, 자연어 처리 및 수식 처리를 함께 수행한 시멘틱 정보에 기초하여 사용자 쿼리를 구조화한 정보가 같이 색인화되도록 하여 자연어 및 수식이 조합된 데이터의 인덱스를 통해 유사성을 분석하고, 점수화한 순위 결과를 제공할 수 있는 효과가 있다.
또한, 제 4 실시예에 의하면, 자연어와 표준화된 수학식으로 구성된 수학문제에 포함된 의미론적인 시멘틱 정보를 자동으로 추출하는 효과가 있다. 또한, 제 5 실시예에 의하면, 자연어와 수학식이 포함된 복합 문장을 자동적으로 논리적인 관계를 갖도록 표현하는 효과가 있다. 또한, 제 6 실시예에 의하면, 임의의 구조화된 방식으로 입력되는 수학식을 파싱(Parsing) 할 때, 수학식이 내포하는 시멘틱 정보를 추출하는 효과가 있다.
도 1은 제 1 실시예에 따른 자연어 및 수식 처리 장치를 개략적으로 나타낸 블럭 구성도,
도 2는 제 1 실시예에 따른 자연어 및 수식 입력 제공 방법을 설명하기 위한 순서도,
도 3은 제 1 실시예에 따른 XML의 구성을 나타낸 예시도,
도 4는 제 2 실시예에 따른 자연어 및 수식 처리 장치를 개략적으로 나타낸 블럭 구성도,
도 5는 제 2 실시예에 따른 자연어 처리부를 개략적으로 나타낸 블럭 구성도,
도 6은 제 2 실시예에 따른 수식 처리부를 개략적으로 나타낸 블럭 구성도,
도 7은 제 2 실시예에 따른 자연어 및 수식 구조화 방법을 설명하기 위한 순서도,
도 8은 제 2 실시예에 따른 수식의 트리 형태 표현을 나타낸 예시도,
도 9는 제 2 실시예에 따른 자연어 및 수식 처리 장치가 클라우드 컴퓨팅으로 데이터를 제공하는 시스템에 대한 예시도,
도 10은 제 2 실시예에 따른 자연어 및 수식을 구성하고 있는 정보를 분석하여 특정 의미에 따라 구분하는 방법에 대한 예시도,
도 11은 제 3 실시예에 따른 자연어 및 수식 처리 장치를 개략적으로 나타낸 블럭 구성도,
도 12는 제 3 실시예에 따른 자연어 및 수식 색인화 방법을 설명하기 위한 순서도,
도 13은 제 3 실시예에 따른 색인화된 쿼리 정보의 순위 결과를 제공하는 방법을 설명하기 위한 순서도,
도 14는 제 3 실시예에 따른 시멘틱 정보에 포함된 반전된 파일 구조의 예시도,
도 15는 제 3 실시예에 따른 시멘틱 정보에 포함된 인덱스를 불 벡터로 표현한 예시도,
도 16은 제 3 실시예에 따른 자연어 및 수식 처리 장치가 클라우드 컴퓨팅으로 데이터를 제공하는 시스템에 대한 예시도,
도 17은 제 3 실시예에 따른 자연어 및 수식을 구성하고 있는 정보를 분석하여 특정 의미에 따라 구분하는 방법에 대한 예시도이다.
도 18은 제 4 실시예에 따른 복합문장의 자연어 및 수식 처리 장치를 개략적으로 나타낸 블럭 구성도,
도 19는 제 4 실시예에 따른 수학 문제가 구성된 형태를 트리 구조로 예시한 도면,
도 20은 제 4 실시예에 따른 룰을 생성하는 절차를 예시한 도면,
도 21은 제 4 실시예에 따른 룰저장부로 사용되는 룰엔진의 구성 및 동작 정보의 추출과정을 예시한 도면,
도 22는 제 4 실시예에 따른 수학 오브젝트를 획득하는 절차에 대해서 간략히 도시한 도면,
도 23은 제 4 실시예에 따른 복합문장의 시멘틱 정보 추출방법을 설명하기 위한 순서도,
도 24는 제 4 실시예에 따른 룰 매칭에 의해 동작 정보를 추출하는 방법을 예시한 도면,
도 25는 제 4 실시예에 따른 복합문장의 자연어 및 수식 처리 장치가 클라우드 컴퓨팅으로 데이터를 제공하는 시스템에 대한 예시도,
도 26은 제 5 실시예에 따른 복합문장의 자연어 및 수식 처리 장치를 개략적으로 나타낸 블럭 구성도,
도 27는 제 5 실시예에 따른 문장분석부를 개략적으로 나타낸 블럭 구성도,
도 28은 제 5 실시예에 따른 자연어 처리부를 개략적으로 나타낸 블럭 구성,
도 29는 제 5 실시예에 따른 수식 처리부를 개략적으로 나타낸 블럭 구성도,
도 30은 제 5 실시예에 따른 복합문장의 논리적 표현 변환방법을 설명하기 위한 순서도,
도 31은 제 5 실시예에 따른 복합문장의 트리 형태 표현을 나타낸 예시도,
도 32는 제 5 실시예에 따른 복합문장의 자연어 및 수식 처리 장치가 클라우드 컴퓨팅으로 데이터를 제공하는 시스템에 대한 예시도,
도 33은 제 6 실시예에 따른 수학식 및 자연어 처리 장치를 간략하게 나타낸 블록 구성도,
도 34 및 도 35는 제 6 실시예에 따른 수식이 표현된 수식데이터를 오퍼레이터 파싱을 수행한 결과를 예시한 도면,
도 36은 제 6 실시예에 따른 cMathML 특성을 반영한 노드의 횡단순서를 예시한 도면,
도 37은 제 6 실시예에 따른 파싱 시멘틱 정보(b)와 입력된 수식데이터(a)를 결합한 시멘틱 정보 결합 수식데이터를 예시한 도면,
도 38은 제 6 실시예에 따른 노드를 횡단하는 도중에 노드간에 데이터를 전달하는 데이터구조를 예시한 도면,
도 39는 제 6 실시예에 따른 자연어 및 수식 처리 장치가 클라우드 컴퓨팅으로 데이터를 제공하는 시스템에 대한 예시도,
도 40은 제 6 실시예에 따른 수학식 시멘틱 정보 생성 방법을 설명하기 위한 순서도이다.
이하, 첨부된 도면을 참조하여 상세하게 설명한다.
한편, 본 실시예에 기재된 자연어 및 수식 처리 장치(100)는 제 1 실시예를 위한 자연어 및 수식 입력부, 제 2 실시예를 위한 자연어 및 수식 구조화부, 제 3 실시예를 위한 자연어 및 수식 색인화부, 제 4 실시예를 위한 동작 정보 추출부, 제 5 실시예를 위한 동작 구조화부 및 제 6 실시예를 위한 정보 생성부를 포함하여 하나의 장치로 구현될 수 있다. 여기서, 자연어 및 수식 입력부는 자연어 및 수식을 입력받고, 자연어 및 수식 구조화부는 자연어 및 상기 수식의 조합으로 이루어진 조합 데이터를 분석하여 특정 의미에 따라 구분한 후 재조합하며, 자연어 및 수식 색인화부는 조합 데이터를 색인화할 수 있다. 동작 정보 추출부는 조합 데이터에서 논리적 조건을 이용한 동작 정보를 추출하고, 동작 구조화부는 동작 정보를 구조화하며, 정보 생성부는 조합 데이터로부터 수학식에 대한 파싱 시멘틱 정보를 생성할 수 있다.
자연어 및 수식 입력부는 자연어를 입력받기 위한 텍스트 입력 툴을 제공하고, 수식을 입력받기 위한 수식 입력 툴을 제공하고, 입력된 자연어 및 수식을 취합한 취합 데이터를 생성하고, 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하고, 구성 정보, 자연어, 수식 및 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 저장한다. 자연어 및 수식 구조화부는 조합 데이터를 입력받고, 조합 데이터에서 자연어 및 수식을 각각 분리하며, 분리된 자연어를 구성하고 있는 각각의 제 1 정보를 분석하여 특정 의미에 따라 구분하며, 분리된 수식을 구성하고 있는 각각의 제 2 정보를 분석하여 특정 의미에 따라 구분하고, 제 1 정보, 제 2 정보, 자연어 및 수식 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장한다. 자연어 및 수식 색인화부는 조합 데이터를 입력받고, 조합 데이터에서 자연어 및 수식을 각각 분리하고, 분리된 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하고, 구성 정보, 자연어, 수식 및 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하며, 입력된 사용자 쿼리에 포함된 키워드를 추출하여 구조화하며, 시멘틱 정보를 색인화한 시멘틱 색인 정보를 생성하고, 시멘틱 색인 정보에 키워드 정보를 매칭한 쿼리 색인 정보를 생성한다.
동작 정보 추출부는 조합 데이터를 입력받고, 조합 데이터에서 자연어 및 상기 수식을 분리하며, 분리된 자연어를 토큰화하여 자연어토큰을 생성하고, 분리된 수식을 파싱하고 시멘틱의미를 추출하여 수학식토큰을 생성하며, 자연어와 수학식의 논리적 조건 및 논리적 조건에 대응되는 동작 정보를 결합한 룰을 저장하고, 생성된 자연어토큰과 수학식토큰을 저장된 룰의 논리적 조건과 비교하여 저장된 룰로부터 조합 데이터에 대한 상기 동작 정보를 추출한다. 동작 구조화부는 조합 데이터를 입력받고, 조합 데이터의 문장구성을 분석하여 수식 및 자연어를 각각 토큰화하여 수식토큰 및 자연어토큰을 생성하고, 자연어토큰 규칙을 참조하여 자연어토큰의 의미에 대응되는 동작 정보를 추출하고, 추출된 동작 정보를 수식토큰에 대하여 구조화한다. 정보 생성부는 수식이 표현된 수식데이터를 입력받고, 수식데이터로부터 오퍼레이터 및 파라미터를 추출하여 구조화하며, 구조화된 오퍼레이터에 대하여 오퍼레이터의 시멘틱의미를 추출하고 추출된 시멘틱 의미 및 오퍼레이터와 연관된 파라미터를 결합하여 파싱 시멘틱 정보를 생성한다.
한편, 본 실시예의 구현에 있어서, 사용자가 자연어와 수식을 입력할 수 있도록 별도의 입력 툴을 제공한 후 그 나머지 동작(시멘틱 정보 생성 및 추출, 자연어 및 수식의 구조화 및 색인화 등)이 그 어떠한 순서로 수행해도 무방하나, 바람직하게는 시멘틱 정보를 생성하며, 의미론적인 시멘틱 정보를 자동으로 추출하며, 자연어와 수식이 조합된 데이터의 분석 내용에 기초하여 자연어 및 수식을 재조합한 데이터로 관리할 수 있도록 하는 구조화하고, 자연어와 수학식이 포함된 복합 문장을 자동적으로 논리적인 관계를 갖도록 표현하며, 시멘틱 정보에 기초하여 사용자 쿼리를 구조화한 정보가 같이 색인화하는 것으로 구현될 수 있을 것이다. 즉, 본 실시예는 모두 각각의 독립된 특징을 갖고 있으므로, 어떠한 프로세스를 수행한 경우에만 다음 프로세스 이어지는 것으로 한정되지 않으며, 각각 독립적인 프로세스를 수행할 수 있다.
<제 1 실시예>
이하, 도 1 내지 도 3을 통해서는 자연어 및 수식 입력 제공 방법과 그를 위한 장치인 제 1 실시예에 대해 설명토록 한다.
제 1 실시예에 기재된 자연어 및 수식 처리 장치(100)는 자연어(Natural Language)를 입력받기 위한 텍스트(Text) 입력 툴(Tool)과 수식(Mathematical Formula)을 입력받기 위한 수식 입력 툴을 제공하는 장치를 말하며, 자연어 및 수식 처리 장치(100)는 하드웨어 또는 소프트웨어로 구현되어, 서버 또는 단말에 탑재될 수 있다.
도 1은 제 1 실시예에 따른 자연어 및 수식 처리 장치를 개략적으로 나타낸 블럭 구성도이다.
제 1 실시예에 따른 자연어 및 수식 처리 장치(100)는 제 1 자연어 입력 처리기(110), 제 1 수식 입력 처리기(120), 제 1 이미지 변환부(130), 제 1 정보 처리부(140), 제 1 파싱부(150) 및 제 1 데이터 관리부(160)를 포함한다. 한편, 제 1 실시예에서는 자연어 및 수식 처리 장치(100)가 제 1 자연어 입력 처리기(110), 제 1 수식 입력 처리기(120), 제 1 이미지 변환부(130), 제 1 정보 처리부(140), 제 1 파싱부(150) 및 제 1 데이터 관리부(160)만을 포함하는 것으로 기재하고 있으나, 이는 제 1 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 제 1 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 제 1 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 자연어 및 수식 처리 장치(100)에 포함되는 구성 요소에 대하여 다양하게 수정 및 변형하여 적용 가능할 것이다.
제 1 자연어 입력 처리기(110)는 자연어를 입력받기 위한 텍스트 입력 툴을 제공한다. 제 1 자연어 입력 처리기(110)는 자연어를 입력할 수 있는 별도의 텍스트 입력 툴을 제공한다. 한편, 자연어 및 수식 처리 장치(100)가 외부 서버와 연동하는 경우, 자연어 및 수식 처리 장치(100)의 제 1 자연어 입력 처리기(110)는 해당 서버를 통해 텍스트 입력 툴을 제공할 수 있으며, 자연어 및 수식 처리 장치(100)가 서버 형태로 구현되어 외부 단말기와 연동하는 경우, 자연어 및 수식 처리 장치(100)의 제 1 자연어 입력 처리기(110)는 해당 단말기로 텍스트 입력 툴을 제공할 수 있으며, 자연어 및 수식 처리 장치(100)가 외부 장치와 연동하지 않는 자립형(Stand Alone) 단말기 형태로 구현되는 경우, 자연어 및 수식 처리 장치(100)의 제 1 자연어 입력 처리기(110)는 구비된 표시부를 통해 텍스트 입력 툴을 제공하는 것으로 구현될 수 있다. 또한, 제 1 자연어 입력 처리기(110)에 입력되는 텍스트 정보는 수학 문제, 수식 증명 등을 포함한 수학 컨텐츠 중 텍스트에 해당하는 정보인 것이 바람직하나 반드시 이에 한정되는 것은 아니다. 또한, 제 1 자연어 입력 처리기(110)가 제공하는 텍스트 입력 툴을 통해 사용자가 직접 텍스트 정보를 입력할 수 있으나 반드시 이에 한정되는 것은 아니며, 별도의 외부 서버 또는 단말기로부터 자연어에 해당하는 텍스트 정보를 입력받을 수도 있을 것이다.
제 1 수식 입력 처리기(120)는 수식을 입력받기 위한 수식 입력 툴을 제공한다. 제 1 수식 입력 처리기(120)는 수식 입력 툴을 통해 Math ML(Mathematical Markup Language) 형태의 수식을 입력받는다. 제 1 수식 입력 처리기(120)는 자바 애플릿(Java Applet), 실버 라이트(SilverLight), 액티브 X(Active X) 중 적어도 하나 이상의 기술을 지원하는 툴을 말한다. 한편, 자연어 및 수식 처리 장치(100)가 외부 서버와 연동하는 경우, 자연어 및 수식 처리 장치(100)의 제 1 수식 입력 처리기(120)는 해당 서버를 통해 수식 입력 툴을 제공할 수 있으며, 자연어 및 수식 처리 장치(100)가 서버 형태로 구현되어 외부 단말기와 연동하는 경우, 자연어 및 수식 처리 장치(100)의 제 1 수식 입력 처리기(120)는 해당 단말기로 수식 입력 툴을 제공할 수 있으며, 자연어 및 수식 처리 장치(100)가 외부 장치와 연동하지 않는 자립형(Stand Alone) 단말기 형태로 구현되는 경우, 자연어 및 수식 처리 장치(100)의 제 1 수식 입력 처리기(120)는 구비된 표시부를 통해 수식 입력 툴을 제공하는 것으로 구현될 수 있다. 또한, 제 1 수식 입력 처리기(120)에 입력되는 수식 정보는 수학 문제, 수식 증명 등을 포함한 수학 컨텐츠 중 텍스트에 해당하는 정보인 것이 바람직하나 반드시 이에 한정되는 것은 아니다. 또한, 제 1 수식 입력 처리기(120)가 제공하는 수식 입력 툴을 통해 사용자가 직접 수식 정보를 입력할 수 있으나 반드시 이에 한정되는 것은 아니며, 별도의 외부 서버 또는 단말기로부터 자연어에 해당하는 수식 정보를 입력받을 수도 있을 것이다.
제 1 이미지 변환부(130)는 제 1 수식 입력 처리기(120)를 통해 입력된 수식을 이미지로 변환한 후 수식 입력 툴을 통해 나타나도록 제어한다. 즉, 제 1 이미지 변환부(130)는 제 1 수식 입력 처리기(120)를 통해 입력된 Math ML 형태의 수식을 이미지로 변환함으로써, 수식의 해상도를 높일 수 있으며, 이를 다시 제 1 수식 입력 처리기(120)의 수식 입력 툴을 통해 나타나도록 제어함으로써, 수식을 입력한 사용자에게 높은 해상도의 수식 이미지를 제공하는 것이다. 여기서, 제 1 이미지 변환부(130)는 제 1 수식 입력 처리기(120)를 통해 입력된 수식을 조합한 형태에서 수식 이미지로 변환할 수 있을 것이다. 즉, 수식 입력 툴에서 입력된 수식을 이미지로 바로 컨버팅할 수 있는 API(Application Programming Interface)를 제공하지 않기 때문에, 제 1 이미지 변환부(130)에서 입력된 Math ML형식의 수식을 이미지로 변환하여 제공함으로써 사용자 경험(User Experience)를 높일 수 있다.
제 1 정보 처리부(140)는 입력된 자연어 및 수식을 취합한 취합 데이터를 전달한다. 즉, 제 1 정보 처리부(140)는 제 1 자연어 입력 처리기(110)로부터 자연어를 수신하며, 제 1 수식 입력 처리기(120)로부터 수식을 입력받으며, 이를 취합하여 제 1 파싱부(150)로 전달하는 것이다. 제 1 정보 처리부(140)는 PHP(Personal Hypertext Preprocessor)를 이용하여 취합 데이터를 제 1 파싱부(150)로 전달한다. 즉, 제 1 정보 처리부(140)는 PHP를 이용하여 XML 형태의 취합 데이터를 제 1 파싱부(150)로 전달할 수 있다. 이때, 제 1 파싱부(150)는 어떠한 프로그래밍 언어로든 만들어 질 수 있으며, 소켓(Socket)을 오픈한 상태에서 복수 개의 PHP 연결이 접속할 수 있도록 기다리는 형태로 설정될 수 있다. 여기서, 제 1 파싱부(150)를 통해 출력이 되는 시멘틱 정보는 다시 XML 형태로 저장되거나 필요한 시멘틱 정보 기반으로 저장될 수 있다.
제 1 파싱부(150)는 취합 데이터를 수신하며, 취합 데이터에 포함된 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성한다. 제 1 파싱부(150)는 자연어와 수식이 조합된 스트링(String)을 자바 스크립트(JavaScript)를 이용하여 파싱(Parsing)한다. 예를 들어서, 제 1 파싱부(150)는 웹(Web)에서 입력된 자연어와 Math ML 형태의 수학이 조합된 스트링을 자바 스크립트 기술을 이용해서 파싱을 시도할 때, 자연어와 수식을 명확히 구분하여 특정 시스템에서 부합하는 형태로 구조화하는 것이다.
제 1 파싱부(150)는 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성한다. 제 1 파싱부(150)가 수행하는 프로세스에 대해 구체적으로 설명하자면, 제 1 파싱부(150)는 자연어 및 수식이 입력되면, 자연어를 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분한다. 제 1 파싱부(150)는 자연어를 토큰화(Tokenization)한 자연어 토큰을 생성하고, 자연어 토큰을 근거로 중지 단어(Stop Word)를 필터링한 단어 필터링 데이터를 생성하며, 중지 단어 필터링 데이터에서 중복 제거 필터링을 수행한 중복 제거 필터링 데이터를 생성하고, 중복 제거 필터링 데이터에 기 정의된 의미가 부여된 동작 정보를 매칭한다. 여기서, 토큰(Token)이란 연속된 문장에서 구별할 수 있는 단위를 말하며, 토큰화는 자연어를 자연어 및 수식 처리 장치(100)가 이해할 수 있는 단위인 워드(Word) 단위로 쪼개는 과정을 말한다. 토큰화에 대해 좀더 구체적으로 설명하자면, 제 1 실시예에서 토큰화는 크게 자연어 토큰화와 수식 토큰화로 구분된다. 자연어 토큰화란 조합 데이터(수학 문제)에 포함된 자연어를 공백(Space)을 기준으로 분리한 결과물에 해당하는 각각의 어절(Word)을 자연어 토큰으로 인식하는 과정을 말한다. 각 토큰의 의미를 좀 더 명확히 파악하기 위하여 토큰에 대한 형태소 분석을 추가적으로 수행할 수도 있다. 한편, 수식 토큰화란 조합 데이터(수학 문제)에 포함되는 수식을 파싱(Parsing)한 후 얻게되는 개별 단위 정보를 수식 토큰으로 인식하는 과정을 말한다.
[예제 1]
Figure PCTKR2011009333-appb-I000001
예를 들어서, [예제 1]에서 자연어 토큰에 해당하는 정보는 'Find', 'the', 'function', 'value', 'with' 가 되며, 수식 토큰은 파싱을 통해서 정보를 추출한 후에 반환되는 값인 다항식(Polynomial), 최고 차수(Max degree=3), 항의 수(Number of terms=4), 조건(Condition) 등이 될 수 있다.
제 1 파싱부(150)는 자연어를 구성하고 있는 구성 정보에 대해 토큰화를 수행하여 자연어 토큰을 생성하고, 자연어 토큰에서 기 설정된 중지 단어로 판별된 자연어 토큰을 선별하여 제거하는 중지 단어 필터링을 수행하여 중지 단어 필터링 데이터를 생성한다. 여기서, 중지 단어란 문장이나 수식의 분석에 있어서 필요없는 토큰에 해당하는 부분을 제거하기 위해서 미리 정의해 놓은 단어들의 집합을 의미한다. 즉, [예제 1]에서 'the'(이외에도 a나 to 등)는 시스템에서 사전(Dictionary) 형태로 미리 정의되어 있다. 여기서, 사전은 단어의 집합을 포함하는 리스트를 의미한다. 즉, 자연어 토큰을 생성한 후 제 1 파싱부(150)에서는 분석에 필요없는 부분인 중지단어를 제거하는 과정을 수행하게 되는데, 중지 단어 필터링은 수학 문제가 길어질 경우(서술형 문제 등)에 분석 과정에 너무 많은 토큰이 들어가는 것을 방지해 주며, 더불어 시스템의 처리 속도를 향상 시키기 위해 동작한다.
제 1 파싱부(150)는 중지 단어 필터링 데이터에서 중복되는 데이터를 선별하여 제거하는 중복 제거 필터링을 수행하여 중복 제거 필터링 데이터를 생성한 후 중복 제거 필터링 데이터에서 술어에 해당하는 데이터를 기 정의된 의미가 부여된 동작 정보와 매칭 저장한다. 여기서, 동작 정보는 자연어 토큰 또는 수식 토큰을 바탕으로 추출할 수 있는 요약 정보를 의미한다. 예를 들어서, [예제 1]에서 자연어 토큰 또는 수식 토큰을 바탕으로 '풀다(Solve)'라는 동작 정보를 추출할 수 있다. 여기서, 중복 제거 필터링 데이터에서 술어에 해당하는 데이터를 동작 정보와 매칭 저장하는 이유는 조합 데이터(수학 문제)를 스키마(Schema)로 정의하는 과정에서 전체 문장이 의미하는 대표 동작에 대한 정보를 획득하여 이후에 검색 또는 문제간의 연관성(Similarity)을 분석할 때 도움이 되는 도구로 활용하기 위함이다.
제 1 파싱부(150)는 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분한다. 제 1 파싱부(150)는 수식을 트리 형태로 변환하고, 트리 형태로 변환된 수식에 횡단(Traverse) 과정을 수행하고, 횡단 과정이 수행된 수식에 토큰화를 수행한다. 제 1 파싱부(150)는 Math ML(Mathematical Markup Language)로 작성된 수식을 XML 트리 형태로 변환한 후 DOM(Document Object Tree) 형태로 변환한다. 제 1 파싱부(150)는 수식을 구성하는 구성 정보를 최하단 노드에서 점차 상위 노드로 전달되도록 하는 깊이 우선 검색(Depth-First Search) 방식으로 횡단을 실행한다. 한편, 횡단 과정과 깊이 우선 검색에 대해 구체적으로 설명하자면, 일반적으로 수식은 Math ML의 형태를 띄고 있으며, 이는 트리의 형태로 구성이 되며, 이러한, 트리를 횡단하는 과정을 횡단 과정이라 칭하며, 횡단 과정을 수행할 때, 깊이 우선 검색(Depth-First Search)을 사용한다. 이러한, 횡단 과정은 트리의 루트(Root)에서 시작하여 자식 노드까지 들어간 후 모든 자식 노드의 검색이 끝나면 부모 노드로 이동하기 때문에, 자식 노드에서 가지고 있는 정보 모두를 부모 노드로 전달한다. 시간 복잡도 측면에서 엣지(Edge)의 수만큼만 검색을 수행하면 됨으로 효율적이다.
제 1 데이터 관리부(160)는 구성 정보, 자연어, 수식 및 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장한다. 제 1 데이터 관리부(160)는 재조합된 데이터를 문서 데이터로 변환한다.
도 2는 제 1 실시예에 따른 자연어 및 수식 입력 제공 방법을 설명하기 위한 순서도이다.
자연어 및 수식 처리 장치(100)는 자연어를 입력받기 위한 텍스트 입력 툴과 수식을 입력받기 위한 수식 입력 툴을 제공하며, 텍스트 입력 툴 및 수식 입력 툴을 통해 자연어 및 수식을 입력 받는다(S210). 여기서, 자연어 및 수식 처리 장치(100)가 외부 서버와 연동하는 경우, 자연어 및 수식 처리 장치(100)는 해당 서버를 통해 텍스트 입력 툴 및 수식 입력 툴을 제공할 수 있으며, 자연어 및 수식 처리 장치(100)가 서버 형태로 구현되어 외부 단말기와 연동하는 경우, 자연어 및 수식 처리 장치(100)는 해당 단말기로 텍스트 입력 툴 및 수식 입력 툴을 제공할 수 있으며, 자연어 및 수식 처리 장치(100)가 외부 장치와 연동하지 않는 자립형(Stand Alone) 단말기 형태로 구현되는 경우, 자연어 및 수식 처리 장치(100)는 구비된 표시부를 통해 텍스트 입력 툴 및 수식 입력 툴을 제공하는 것으로 구현될 수 있다. 또한, 자연어 및 수식 처리 장치(100)에 입력되는 자연어 및 수식은 수학 문제, 수식 증명 등을 포함한 수학 컨텐츠 중 텍스트에 해당하는 정보인 것이 바람직하나 반드시 이에 한정되는 것은 아니다. 한편, 수식 입력 툴을 통해 입력되는 수식은 Math ML 형태이며, 수식 입력 툴은 자바 애플릿, 실버 라이트, 액티브 X 중 적어도 하나 이상의 기술을 지원하는 툴을 말한다.
예를 들어서, 자연어 및 수식 처리 장치(100)가 웹에 적용되어 별도의 외부 서버와 연동하는 경우, 사용자가 웹을 통해 자연어와 수식으로 입력하게 되고, 외부 서버는 웹 요청/응답이나 에이젝스(Ajax) 기술을 통해서 입력된 자연어와 수식을 자연어 및 수식 처리 장치(100)로 전달한다. 텍스트 입력 툴과 수식 입력 툴을 이용한 자연어 및 수식에 대한 사용자 입력이 완료되면, 외부 서버에서 구동되는 PHP가 소켓(Socket) 접속을 통해서 자연어 및 수식 처리 장치(100)에 전달한다. 이때, 전달 형식은 Math ML을 포함한 트리 형태의 데이터로 전달되되, 복수 개의 자연어 및 수식이 조합된 XML 데이터로 전달될 수 있다. 단, XML은 자연어 및 수식 처리 장치(100)에서 이해할 수 있도록 표준화된 형태를 가져야 한다.
자연어 및 수식 처리 장치(100)는 수식 입력 툴을 통해 입력된 수식을 이미지로 변환한 후 수식 입력 툴을 통해 나타나도록 제어한다(S220). 즉, 자연어 및 수식 처리 장치(100)는 수식 입력 툴을 통해 입력된 Math ML 형태의 수식을 이미지로 변환함으로써, 수식의 해상도를 높일 수 있으며, 이를 다시 제 1 수식 입력 처리기(120)의 수식 입력 툴을 통해 나타나도록 제어함으로써, 수식을 입력한 사용자에게 높은 해상도의 수식 이미지를 제공하는 것이다. 여기서, 자연어 및 수식 처리 장치(100)는 수식 입력 툴을 통해 입력된 수식을 조합한 형태에서 수식 이미지로 변환할 수 있을 것이다. 즉, 수식 입력 툴에서 입력된 수식을 이미지로 바로 컨버팅할 수 있는 API를 제공하지 않기 때문에, 제 1 이미지 변환부(130)에서 입력된 Math ML형식의 수식을 이미지로 변환하여 제공함으로써 사용자 경험을 높일 수 있다.
자연어 및 수식 처리 장치(100)는 입력된 자연어 및 수식을 취합한다(S230). 즉, 자연어 및 수식 처리 장치(100)는 자연어 입력 툴을 통해 자연어를 수신하며, 수식 입력 툴을 통해 수식을 입력받으며, 이를 취합하는 것이다. 자연어 및 수식 처리 장치(100)는 자연어 및 수식을 취합한 취합 데이터에 포함된 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성한다(S240). 자연어 및 수식 처리 장치(100)는 자연어와 수식이 조합된 스트링을 자바 스크립트를 이용하여 파싱한다. .
자연어 및 수식 처리 장치(100)는 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성한다. 자연어 및 수식 처리 장치(100)가 수행하는 프로세스에 대해 구체적으로 설명하자면, 자연어 및 수식 처리 장치(100)는 자연어 및 수식이 입력되면, 자연어를 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분한다. 자연어 및 수식 처리 장치(100)는 자연어를 토큰화한 자연어 토큰을 생성하고, 자연어 토큰을 근거로 중지 단어를 필터링한 단어 필터링 데이터를 생성하며, 중지 단어 필터링 데이터에서 중복 제거 필터링을 수행한 중복 제거 필터링 데이터를 생성하고, 중복 제거 필터링 데이터에 기 정의된 의미가 부여된 동작 정보를 매칭한다.
즉, 자연어 및 수식 처리 장치(100)는 자연어를 구성하고 있는 구성 정보에 대해 토큰화를 수행하여 자연어 토큰을 생성하고, 자연어 토큰에서 기 설정된 중지 단어로 판별된 자연어 토큰을 선별하여 제거하는 중지 단어 필터링을 수행하여 중지 단어 필터링 데이터를 생성하며, 자연어 및 수식 처리 장치(100)는 중지 단어 필터링 데이터에서 중복되는 데이터를 선별하여 제거하는 중복 제거 필터링을 수행하여 중복 제거 필터링 데이터를 생성한 후 중복 제거 필터링 데이터에서 술어에 해당하는 데이터를 기 정의된 의미가 부여된 동작 정보와 매칭 저장한다.
자연어 및 수식 처리 장치(100)는 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분한다. 자연어 및 수식 처리 장치(100)는 수식을 트리 형태로 변환하고, 트리 형태로 변환된 수식에 횡단 과정을 수행하고, 횡단 과정이 수행된 수식에 토큰화를 수행한다. 자연어 및 수식 처리 장치(100)는 Math ML로 작성된 수식을 XML 트리 형태로 변환한 후 DOM 형태로 변환한다. 제 1 파싱부(150)는 수식을 구성하는 구성 정보를 최하단 노드에서 점차 상위 노드로 전달되도록 하는 깊이 우선 검색 방식으로 횡단을 실행한다.
자연어 및 수식 처리 장치(100)로 전달된 자연어 및 수식이 조합된 XML 스트림(Stream)은 해당 데이터를 대기하고 있는 소켓으로 전달되고, 처리단에서 자연어와 수식으로 구분되어서 각각 처리될 수 있다. 즉, 자연어 및 수식 처리 장치(100)는 자연어가 가지고 있는 특성을 기반으로 하여, 주변의 수식과 어떻게 연결할 것인지에 대한 정보를 추출하고, 이를 바탕으로 해당 컨텐츠에서 필요한 시멘틱 정보를 추출할 수 있다. 한편, 자연어 및 수식 처리 장치(100)는 입력된 Math ML 형태의 수식을 표준 형식에 맞추어서 파싱(Parsing)하는 작업을 거쳐서 수식에 관련된 시멘틱 정보를 추출할 수 있다.
자연어 및 수식 처리 장치(100)는 구성 정보, 자연어, 수식 및 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장한다(S250). 제 1 데이터 관리부(160)는 재조합된 데이터를 문서 데이터로 변환한다. 즉, 시멘틱 정보는 시스템의 향후 사용 목적에 맞게 적당한 형태로 DB나 파일 시스템에 저장될 수 있다.
도 2에서는 단계 S210 내지 단계 S250을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 제 1 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 제 1 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 제 1 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 2에 기재된 순서를 변경하여 실행하거나 단계 S210 내지 단계 S250 중 하나 이상의 단계를 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 2는 시계열적인 순서로 한정되는 것은 아니다.
도 3은 제 1 실시예에 따른 XML의 구성을 나타낸 예시도이다.
사용자가 자연어 및 수식 처리 장치(100)에서 제공하는 텍스트 입력 툴 및 수식 입력 툴을 이용하여 특정 수학 문제에 대해 입력한 자연어 및 수식을 일반적인 XML 형태로 나타낸 예시도는 도 3과 같다. 즉, 해당 수학 문제는 자연어와 수식이 조합된 형태이기 때문에, XML은 자연어와 수식을 포괄할 수 있도록 작성되어 한다. 즉, XML은 복수 개의 <Text></Text> 부분과 Math ML을 포함하는 <Mathbody></Mathbody>가 중복 사용된다.
또한, XML은 입력된 수학 문제에 대해 정보를 특정 시스템에서 요구하는 폼에 맞게 변환할 수 있다. 즉, 자연어 및 수식 처리 장치(100)를 통해 입력된 자연어 및 수식을 기계에서 이해할 수 있는 형태로 관리할 수 있으며, 자연어 및 수식에 대해 추출된 시멘틱 정보를 저장 및 관리할 수 있다. 예를 들어서, 사용자가 '이차 방정식'에 대한 수학 문제를 입력하고자 하는 경우, 사용자는 자연어 및 수식 처리 장치(100)가 제공하는 텍스트 입력 툴과 수식 입력 툴을 통해 자연어 및 수식을 각각 입력할 수 있으며, 더 나아가 사용자가 입력한 '이차 방정식'과 연관성이 있는 정보를 추가로 제공받을 수 있을 것이다.
<제 2 실시예>
이하, 도 4 내지 도 10을 통해서는 자연어 및 수식 구조화 방법과 그를 위한 장치인 제 2 실시예에 대해 설명토록 한다.
제 2 실시예에 기재된 자연어 및 수식 처리 장치(100)는 자연어(Natural Language) 및 수식(Mathematical Formula)의 조합으로 이루어진 조합 데이터에서 자연어 및 수식 별로 구조화(DB화) 하기 위한 장치를 말하며, 자연어 및 수식 처리 장치(100)는 하드웨어 또는 소프트웨어로 구현되어, 서버 또는 단말에 탑재될 수 있다.
도 4는 제 2 실시예에 따른 자연어 및 수식 처리 장치를 개략적으로 나타낸 블럭 구성도이다.
제 2 실시예에 따른 자연어 및 수식 처리 장치(100)는 제 2 정보 입력부(410), 제 2 분리부(420), 제 2 자연어 처리부(430), 제 2 수식 처리부(440) 및 제 2 데이터 관리부(450)를 포함한다. 한편, 제 2 실시예에서는 자연어 및 수식 처리 장치(100)가 제 2 정보 입력부(410), 제 2 분리부(420), 제 2 자연어 처리부(430), 제 2 수식 처리부(440) 및 제 2 데이터 관리부(450)만을 포함하는 것으로 기재하고 있으나, 이는 제 2 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 제 2 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 제 2 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 자연어 및 수식 처리 장치(100)에 포함되는 구성 요소에 대하여 다양하게 수정 및 변형하여 적용 가능할 것이다.
제 2 정보 입력부(410)는 자연어 및 수식의 조합으로 이루어진 조합 데이터를 입력받는다. 여기서, 조합 데이터는 수학 문제, 수식 증명 등을 포함한 수학 컨텐츠인 것이 바람직하나 반드시 이에 한정되는 것은 아니다. 또한, 자연어 및 수식의 조합으로 이루어진 조합 데이터는 사용자의 조작 또는 명령에 의해 직접 입력될 수 있으나 반드시 이에 한정되는 것은 아니며, 별도의 외부 서버로부터 자연어 및 수식의 조합으로 이루어진 문서 데이터를 입력받을 수도 있을 것이다. 제 2 분리부(420)는 조합 데이터에서 자연어 및 수식을 각각 분리한다. 즉, 제 2 분리부(420)는 제 2 정보 입력부(410)를 통해 자연어 및 수식의 조합으로 이루어진 조합 데이터가 입력되면, 조합 데이터에 포함된 자연어와 수식을 각각 분리하여 인식하는 것이다.
제 2 자연어 처리부(430)는 분리된 자연어를 구성하고 있는 각각의 제 1 정보를 분석하여 특정 의미에 따라 구분한다. 한편, 제 2 자연어 처리부(430)가 특정 의미를 파악하기 위해 수행하는 동작에 대해 구체적으로 설명하자면, 제 2 자연어 처리부(430)는 자연어를 구성하고 있는 제 1 정보를 분석한 후 문장의 구조 및 포함된 키워드 중 적어도 하나 이상의 정보를 이용하여 특정 의미를 파악할 수 있다. 즉, 제 2 자연어 처리부(430)는 기 설정된 룰(Rule) 기반으로 동작하여 특정 의미를 파악할 수 있으며, 제 2 자연어 처리부(430)가 자연어를 구성하고 있는 제 1 정보를 분석하여 특정 의미에 따라 구분하는 구체적인 방법에 대해서는 도 10을 통해 설명하도록 한다.
제 2 자연어 처리부(430)는 자연어를 토큰화(Tokenization)한 자연어 토큰을 생성한다. 여기서, 토큰(Token)이란 연속된 문장에서 구별할 수 있는 단위를 말하며, 토큰화는 자연어를 자연어 및 수식 처리 장치(100)가 이해할 수 있는 단위인 워드(Word) 단위로 쪼개는 과정을 말한다. 토큰화에 대해 좀더 구체적으로 설명하자면, 제 2 실시예에서 토큰화는 크게 자연어 토큰화와 수식 토큰화로 구분된다. 자연어 토큰화란 조합 데이터(수학 문제)에 포함된 자연어를 공백(Space)을 기준으로 분리한 결과물에 해당하는 각각의 어절(Word)을 자연어 토큰으로 인식하는 과정을 말한다. 각 토큰의 의미를 좀 더 명확히 파악하기 위하여 토큰에 대한 형태소 분석을 추가적으로 수행할 수도 있다. 한편, 수식 토큰화란 조합 데이터(수학 문제)에 포함되는 수식을 파싱(Parsing)한 후 얻게되는 개별 단위 정보를 수식 토큰으로 인식하는 과정을 말한다.
[예제 1]
Figure PCTKR2011009333-appb-I000002
예를 들어서, [예제 1]에서 자연어 토큰에 해당하는 정보는 'Find', 'the', 'function', 'value', 'with' 가 되며, 수식 토큰은 파싱을 통해서 정보를 추출한 후에 반환되는 값인 다항식(Polynomial), 최고 차수(Max degree=3), 항의 수(Number of terms=4), 조건(Condition) 등이 될 수 있다.
제 2 자연어 처리부(430)는 자연어 토큰을 근거로 중지 단어(Stop Word)를 필터링한 단어 필터링 데이터를 생성하며, 중지 단어 필터링 데이터에서 중복 제거 필터링을 수행한 중복 제거 필터링 데이터를 생성한다. 여기서, 중지 단어란 문장이나 수식의 분석에 있어서 필요없는 토큰에 해당하는 부분을 제거하기 위해서 미리 정의해 놓은 단어들의 집합을 의미한다. 즉, [예제 1]에서 'the'(이외에도 a나 to 등)는 시스템에서 사전(Dictionary) 형태로 미리 정의되어 있다. 여기서, 사전은 단어의 집합을 포함하는 리스트를 의미한다. 즉, 자연어 토큰을 생성한 후 제 2 자연어 처리부(430)에서는 분석에 필요없는 부분인 중지단어를 제거하는 과정을 수행하게 되는데, 중지 단어 필터링은 수학 문제가 길어질 경우(서술형 문제 등)에 분석 과정에 너무 많은 토큰이 들어가는 것을 방지해 주며, 더불어 시스템의 처리 속도를 향상 시키기 위해 동작한다.
제 2 자연어 처리부(430)는 중복 제거 필터링 데이터에 기 정의된 의미가 부여된 동작(Action) 정보를 매칭한다. 여기서, 동작 정보는 자연어 토큰 또는 수식 토큰을 바탕으로 추출할 수 있는 요약 정보를 의미한다. 예를 들어서, [예제 1]에서 자연어 토큰 또는 수식 토큰을 바탕으로 '풀다(Solve)'라는 동작 정보를 추출할 수 있다. 여기서, 중복 제거 필터링 데이터에서 술어에 해당하는 데이터를 동작 정보와 매칭 저장하는 이유는 조합 데이터(수학 문제)를 스키마(Schema)로 정의하는 과정에서 전체 문장이 의미하는 대표 동작에 대한 정보를 획득하여 이후에 검색 또는 문제간의 연관성(Similarity)을 분석할 때 도움이 되는 도구로 활용하기 위함이다.
제 2 자연어 처리부(430)는 자연어를 구성하고 있는 제 1 정보에 대해 토큰화를 수행하여 자연어 토큰을 생성한다. 제 2 자연어 처리부(430)는 자연어 토큰에서 기 설정된 중지 단어로 판별된 자연어 토큰을 선별하여 제거하는 중지 단어 필터링을 수행하여 중지 단어 필터링 데이터를 생성한다. 제 2 자연어 처리부(430)는 중지 단어 필터링 데이터에서 중복되는 데이터를 선별하여 제거하는 중복 제거 필터링을 수행하여 중복 제거 필터링 데이터를 생성한다. 제 2 자연어 처리부(430)는 중복 제거 필터링 데이터에서 술어에 해당하는 데이터를 기 정의된 의미가 부여된 동작 정보와 매칭 저장한다.
제 2 수식 처리부(440)는 분리된 수식을 구성하고 있는 각각의 제 2 정보를 분석하여 특정 의미에 따라 구분한다. 한편, 제 2 수식 처리부(440)가 특정 의미를 파악하기 위해 수행하는 동작에 대해 구체적으로 설명하자면, 제 2 수식 처리부(440)는 수식를 구성하고 있는 제 2 정보를 분석한 후 수식의 종류 정보를 이용하여 특정 의미를 파악할 수 있다. 즉, 제 2 수식 처리부(440)는 기 설정된 룰(Rule) 기반으로 동작하여 특정 의미를 파악할 수 있으며, 제 2 수식 처리부(440)가 수식을 구성하고 있는 제 2 정보를 분석하여 특정 의미에 따라 구분하는 구체적인 방법에 대해서는 도 10을 통해 설명하도록 한다.
제 2 수식 처리부(440)는 수식을 트리 형태로 변환하고, 트리 형태로 변환된 수식에 횡단(Traverse) 과정을 수행하고, 횡단 과정이 수행된 수식에 토큰화를 수행한다. 제 2 수식 처리부(440)는 Math ML(Mathematical Markup Language)로 작성된 수식을 XML 트리 형태로 변환한 후 DOM(Document Object Model) 형태로 변환한다. 제 2 수식 처리부(440)는 수식을 구성하는 제 2 정보를 최하단 노드에서 점차 상위 노드로 전달되도록 하는 깊이 우선 검색(Depth-First Search) 방식으로 횡단을 실행한다. 한편, 횡단 과정과 깊이 우선 검색에 대해 구체적으로 설명하자면, 일반적으로 수식은 Math ML의 형태를 띄고 있으며, 이는 트리의 형태로 구성이 되며, 이러한, 트리를 횡단하는 과정을 횡단 과정이라 칭하며, 횡단 과정을 수행할 때, 깊이 우선 검색(Depth-First Search)을 사용한다. 이러한, 횡단 과정은 트리의 루트(Root)에서 시작하여 자식 노드까지 들어간 후 모든 자식 노드의 검색이 끝나면 부모 노드로 이동하기 때문에, 자식 노드에서 가지고 있는 정보 모두를 부모 노드로 전달한다. 시간 복잡도 측면에서 엣지(Edge)의 수만큼만 검색을 수행하면 됨으로 효율적이다.
제 2 데이터 관리부(450)는 제 2 자연어 처리부(430)를 통해 분석된 제 1 정보, 제 2 수식 처리부(440)를 통해 분석된 제 2 정보, 제 2 분리부(420)를 통해 인식된 자연어 및 수식 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장한다. 제 2 데이터 관리부(450)는 재조합된 데이터를 문서 데이터로 변환한다. 한편, 제 2 데이터 관리부(450)는 제 1 정보, 제 2 정보, 자연어 및 수식이 하나의 XML(eXtended Markeup Language) 트리로 저장되도록 XML을 정의 할 수 있으나, 제 2 실시예에서 그에 대한 구체적인 예시는 생략토록 한다. 다만, 제 1 정보, 제 2 정보, 자연어 및 수식이 정의된 XML에 대해 개략적으로 설명하자면, 정의된 XML은 형태는 크게 두 부분으로 구분될 수 있는데, 첫 번째는 '문제 묘사' 부분과, 두 번째는 자연어와 수식에서 추출한 정보를 기초로 구성되는 '시멘틱' 부분으로 구분될 수 있다. 여기서, '시멘틱' 부분은 새로운 수학 문제의 형태 발견에 따라 향후에 추가되거나 변경될 수 있을 것이다.
또한, 수학 문제가 정의된 XML에 대해 설명하자면, 수학 문제는 트리 형태로 구성되고, 그에 필요한 정보가 전체 트리에서 시멘틱 부분으로 집결되는 형태의 구조를 갖도록 구성되어, 향후에 수학 문제에 대한 검색(인덱싱) 등에 이용될 수 있다. 즉, 트리 형태로 구성된 수학 문제에 의하면, 자연어와 표준화된 수식으로 표현된 수학 컨텐츠를 자연어 및 수식 처리 장치(100)가 이해(인식)할 수 있는 형태로 변환하고, 자연어와 수식이 갖는 의미에 근거하여 시멘틱 정보를 추출하여 XML 트리 형태로 구조화할 수 있는 것이다.
한편, 자연어 및 수식 처리 장치(100)는 자연어 및 수식을 구조화하기 위한 하드웨어 또는 소프트웨어 등의 컴퓨팅 자원을 저장하고, 클라이언트가 필요로 하는 컴퓨팅 자원을 클라우드 컴퓨팅(Cloud Computing)으로 해당 단말기로 제공할 수 있을 것이다. 이와 관련된 구체적인 설명은 도 9을 통해 하도록 한다.
도 5는 제 2 실시예에 따른 자연어 처리부를 개략적으로 나타낸 블럭 구성도이다.
제 2 실시예에 따른 제 2 자연어 처리부(430)는 제 2 자연어 토큰화부(510), 제 2 중지 단어 필터링부(520), 제 2 중복 제거 필터링부(530) 및 제 2 동작 매칭부(540)를 포함한다. 한편, 제 2 실시예에서는 제 2 자연어 처리부(430)가 제 2 자연어 토큰화부(510), 제 2 중지 단어 필터링부(520), 제 2 중복 제거 필터링부(530) 및 제 2 동작 매칭부(540)만을 포함하는 것으로 기재하고 있으나, 이는 제 2 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 제 2 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 제 2 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 제 2 자연어 처리부(430)에 포함되는 구성 요소에 대하여 다양하게 수정 및 변형하여 적용 가능할 것이다.
제 2 자연어 토큰화부(510)는 자연어를 토큰화한 자연어 토큰을 생성한다. 제 2 자연어 토큰화부(510)는 자연어를 구성하고 있는 제 1 정보에 대해 토큰화를 수행하여 자연어 토큰을 생성한다. 여기서, 자연어 토큰이란 조합 데이터(수학 문제)에 포함된 자연어를 공백(Space)을 기준으로 분리한 결과물에 해당하는 각각의 단어를 말한다. 예를 들어서, 자연어 및 수식 처리 장치(100)는 제 2 자연어 토큰화부(510)를 이용하여 조합 데이터에 포함된 자연어 노드를 개별적으로 입력받거나 자연어 노드 전체를 한번에 입력받을 수 있다. 여기서, 자연어는 노드 자체가 복수 개의 단어로 구성된 문장의 성질을 가지지나 완벽한 문장으로 한정되는 것은 아니다. 즉, 이런 자연어 노드를 자연어 및 수식 처리 장치(100)가 이해할 수 있는 단위인 워드 단위로 쪼개게 되는데, 이러한 과정을 토큰화 과정이라고 한다. 한편, 자연어 노드란 조합 데이터(수학 문제)를 스키마로 구성할 때, 자연어와 수식이 순서와 상관없이 혼재된 형태를 띄게 되는데, 이때, 자연어에 해당하는 부분을 자연어 노드라 한다. 즉, 하나의 문제(즉, 스키마)에 복수 개의 자연어 부분이 포함될 수 있다. [예제 1]는 자연어 노드를 두 개를 포함하는데, 'Find the function value'와 'with'가 자연어 노드가 되는 것이다. 따라서, 시스템에 입력될 경우에는 자연어 노드를 시스템이 이해할 수 있는 단위로 쪼개는 토큰화 과정을 수행하는 것이다. 여기서, 자연어 토큰이란 조합 데이터(수학 문제)에 포함된 자연어를 공백(Space)을 기준으로 분리한 결과물에 해당하는 각각의 단어를 말한다.
제 2 중지 단어 필터링부(520)는 자연어 토큰을 근거로 중지 단어를 필터링한 중지 단어 필터링 데이터를 생성한다. 제 2 중지 단어 필터링부(520)는 자연어 토큰에서 기 설정된 중지 단어로 판별된 자연어 토큰을 선별하여 제거하는 중지 단어 필터링을 수행하여 중지 단어 필터링 데이터를 생성한다. 여기서, 중지 단어란 문장이나 수식의 분석에 있어서 필요없는 토큰에 해당하는 부분을 제거하기 위해서 미리 정의해 놓은 단어들의 집합을 의미한다. 즉, [예제 1]에서 'the'(이외에도 a나 to 등)는 시스템에서 사전(Dictionary) 형태로 미리 정의되어 있다. 여기서, 사전은 단어의 집합을 포함하는 리스트를 의미한다. 즉, 자연어 토큰을 생성한 후 제 2 자연어 처리부(430)에서는 분석에 필요없는 부분인 중지단어를 제거하는 과정을 수행하게 되는데, 중지 단어 필터링은 수학 문제가 길어질 경우(서술형 문제 등)에 분석 과정에 너무 많은 토큰이 들어가는 것을 방지해 주며, 더불어 시스템의 처리 속도를 향상 시키기 위해 동작한다. 즉, 자연어 및 수식 처리 장치(100)는 제 2 중지 단어 필터링부(520)를 이용하여 토큰화 과정이 수행된 후 자연어를 구성하고 있는 각각의 제 1 정보가 복수 개의 토큰으로 분리되어 자연어 및 수식 처리 장치(100)에 입력되면, 다음 단계로 중지 단어 제거 과정을 거친다. 이 과정에서는 시멘틱 의미를 추출하기 위해 필요 없는 토큰들을 제거하게 된다. 예를 들어서, '이', '저', '여기' 및 '저기' 등이 중지 단어로 설정될 수 있으나 반드시 이에 한정되는 것은 아니며, 의미상 필요 없는 토큰을 설정하는 것은 각 시스템에 따라 다르게 설정될 수 있다.
제 2 중복 제거 필터링부(530)는 중지 단어 필터링 데이터에서 중복 제거 필터링을 수행한 중복 제거 필터링 데이터를 생성한다. 제 2 중복 제거 필터링부(530)는 중지 단어 필터링 데이터에서 중복되는 데이터를 선별하여 제거하는 중복 제거 필터링을 수행하여 중복 제거 필터링 데이터를 생성한다. 즉, 자연어 및 수식 처리 장치(100)는 제 2 중복 제거 필터링부(530)를 이용하여 중지 단어를 필터링한 후 중복을 제거하는 과정을 수행하며, 중복 제거 필터링을 통해 중복된 단어를 제거함으로써 자연어 및 수식 처리 장치(100)의 처리 부하를 낮출 수 있다.
제 2 동작 매칭부(540)는 중복 제거 필터링 데이터에 기 정의된 의미가 부여된 동작 정보를 매칭한다. 제 2 동작 매칭부(540)는 중복 제거 필터링 데이터에서 술어에 해당하는 데이터를 기 정의된 의미가 부여된 동작 정보와 매칭 저장한다. 여기서, 동작 정보는 자연어 토큰 또는 수식 토큰을 바탕으로 추출할 수 있는 요약 정보를 의미한다. 예를 들어서, [예제 1]에서 자연어 토큰 또는 수식 토큰을 바탕으로 '풀다(Solve)'라는 동작 정보를 추출할 수 있다. 여기서, 중복 제거 필터링 데이터에서 술어에 해당하는 데이터를 동작 정보와 매칭 저장하는 이유는 조합 데이터(수학 문제)를 스키마(Schema)로 정의하는 과정에서 전체 문장이 의미하는 대표 동작에 대한 정보를 획득하여 이후에 검색 또는 문제간의 연관성(Similarity)을 분석할 때 도움이 되는 도구로 활용하기 위함이다. 자연어 및 수식 처리 장치(100)는 제 2 동작 매칭부(540)를 이용하여 선처리 작업(Pre-Processing)을 거쳐 조합 데이터의 특성을 분석하여 기 정의된 의미가 부여된 동작을 토큰과 비교하여 매칭 저장하게 되는 것이다. 즉, 자연어 및 수식 처리 장치(100)는 제 2 동작 매칭부(540)를 이용하여 제 2 자연어 처리부(430)에서 획득한 결과에 근거하여 조합 데이터에 포함된 수식을 '조건'이나 '정의' 등으로 묶거나, 수학 컨텐츠 자체가 의미하는 시멘틱 의미를 파악하는 데 이용할 수 있다.
도 6은 제 2 실시예에 따른 수식 처리부를 개략적으로 나타낸 블럭 구성도이다.
제 2 실시예에 따른 제 2 수식 처리부(440)는 제 2 트리 변환부(610), 제 2 시멘틱 파서부(620) 및 제 2 수식 토큰화부(630)를 포함한다. 한편, 제 2 실시예에서는 제 2 수식 처리부(440)가 제 2 트리 변환부(610), 제 2 시멘틱 파서부(620) 및 제 2 수식 토큰화부(630)만을 포함하는 것으로 기재하고 있으나, 이는 제 2 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 제 2 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 제 2 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 제 2 수식 처리부(440)에 포함되는 구성 요소에 대하여 다양하게 수정 및 변형하여 적용 가능할 것이다. 여기서, 시멘틱이란 해당 장치에서 특정 정보의 뜻을 이해하고 논리적 추론 가능하도록 하는 의미이다.
자연어 및 수식 처리 장치(100)는 제 2 정보 입력부(410)를 통해 표준화된 형식으로 작성된 개별 수식을 입력받고, 이를 제 2 수식 처리부(440)로 전달하게 된다. 즉, 제 2 수식 처리부(440)로 전달된 수식은 W3C(World Wide Web Consortium)에서 정의된 표준인 Math ML(Mathematical Markup Language)을 기준으로 XML 태그의 형태를 이룬다. 단, 제 2 수식 처리부(440)로 전달된 수식은 Math ML 인 것이 바람직하나 반드시 이에 한정되는 것은 아니다.
제 2 트리 변환부(610)는 수식을 트리 형태로 변환한다. 제 2 트리 변환부(610)는 Math ML로 작성된 수식을 XML 트리 형태로 변환한 후 DOM 형태로 변환한다. 자연어 및 수식 처리 장치(100)는 제 2 트리 변환부(610)를 이용하여 수식을 Math ML 형태의 XML 트리로 변환하고, 이 트리는 DOM로 변경되어 프로그램에서 접근 가능한 트리 형태로 변환된다.
제 2 시멘틱 파서부(620)는 트리 형태로 변환된 수식에 횡단 과정을 수행한다. 제 2 시멘틱 파서부(620)는 수식을 구성하는 제 2 정보를 최하단 노드에서 점차 상위 노드로 전달되도록 하는 깊이 우선 검색 방식으로 횡단을 실행한다. 자연어 및 수식 처리 장치(100)는 제 2 시멘틱 파서부(620)를 이용하여 수식이 가진 시멘틱 의미를 파악하기 위해서 횡단 과정을 거치는데, 제 2 시멘틱 파서부(620)는 가장 낮은 노드에서 점차 상위 노드로 정보를 전달하는 형태인 깊이 우선 검색으로 횡단을 실행한다. 이에 따라 결과적으로, 제 2 시멘틱 파서부(620)를 통해 수집된 제 2 정보는 모두 최상위 노드에 집결되고, 이러한 정보를 바탕으로 수식의 토큰을 만드는 과정을 거치게 된다. 횡단 과정과 깊이 우선 검색에 대해 구체적으로 설명하자면, 일반적으로 수식은 Math ML의 형태를 띄고 있으며, 이는 트리의 형태로 구성이 되며, 이러한, 트리를 횡단하는 과정을 횡단 과정이라 칭하며, 횡단 과정을 수행할 때, 깊이 우선 검색(Depth-First Search)을 사용한다. 이러한, 횡단 과정은 트리의 루트(Root)에서 시작하여 자식 노드까지 우선 들어간 후 모든 자식 노드의 검색이 끝나면 부모 노드로 이동하기 때문에, 자식 노드에서 가지고 있는 정보를 모두를 부모 노드로 전달한다. 시간 복잡도 측면에서 엣지(Edge)의 수만큼만 검색을 수행하면 됨으로 효율적이다.
제 2 수식 토큰화부(630)는 횡단 과정이 수행된 수식에 토큰화를 수행한 수식 토큰을 생성한다. 여기서, 수식 토큰이란 조합 데이터(수학 문제)에 포함된 수식을 파싱(Parsing)한 후 얻게 되는 개별 단위 정보를 말한다. 즉, 토큰화된 수식 토큰은 수학 언어(Mathematics Natural Language)로 이루어진 토큰을 말한다. 한편, 수식 토큰은 자연어 토큰과는 다르게 취급된다. 즉, 제 2 자연어 처리부(430)에서는 자연어 토큰을 바탕으로 동작을 매칭하는 반면, 제 2 수식 처리부(440)에서는 수식 토큰이 결과물이 되며, 향후 수식 토큰은 검색을 통해서 수학 컨텐츠를 찾는 등의 작업에 이용될 수 있다.
도 7는 제 2 실시예에 따른 자연어 및 수식 구조화 방법을 설명하기 위한 순서도이다.
자연어 및 수식 처리 장치(100)는 자연어 및 수식의 조합으로 이루어진 조합 데이터를 입력받는다(S710). 여기서, 자연어 및 수식의 조합으로 이루어진 조합 데이터는 사용자의 조작 또는 명령에 의해 직접 입력될 수 있으나 반드시 이에 한정되는 것은 아니며, 별도의 외부 서버로부터 자연어 및 수식의 조합으로 이루어진 문서 데이터를 입력받을 수도 있을 것이다. 자연어 및 수식 처리 장치(100)는 조합 데이터에서 자연어 및 수식을 각각 분리한다(S720). 즉, 자연어 및 수식 처리 장치(100)는 자연어 및 수식의 조합으로 이루어진 조합 데이터가 입력되면, 조합 데이터에 포함된 자연어와 수식을 각각 분리하여 인식하는 것이다.
자연어 및 수식 처리 장치(100)는 분리된 자연어를 구성하고 있는 각각의 제 1 정보를 분석하여 특정 의미에 따라 구분하는 프로세스를 처리한다(S730). 즉, 자연어 및 수식 처리 장치(100)는 자연어를 토큰화한 자연어 토큰을 생성하고, 자연어 토큰을 근거로 중지 단어를 필터링한 단어 필터링 데이터를 생성하며, 중지 단어 필터링 데이터에서 중복 제거 필터링을 수행한 중복 제거 필터링 데이터를 생성하고, 중복 제거 필터링 데이터에 기 정의된 의미가 부여된 동작 정보를 매칭한다. 자연어 및 수식 처리 장치(100)는 자연어를 구성하고 있는 제 1 정보에 대해 토큰화를 수행하여 자연어 토큰을 생성한다. 자연어 및 수식 처리 장치(100)는 자연어 토큰에서 기 설정된 중지 단어로 판별된 자연어 토큰을 선별하여 제거하는 중지 단어 필터링을 수행하여 중지 단어 필터링 데이터를 생성한다. 자연어 및 수식 처리 장치(100)는 중지 단어 필터링 데이터에서 중복되는 데이터를 선별하여 제거하는 중복 제거 필터링을 수행하여 중복 제거 필터링 데이터를 생성한다. 자연어 및 수식 처리 장치(100)는 중복 제거 필터링 데이터에서 술어에 해당하는 데이터를 기 정의된 의미가 부여된 동작 정보와 매칭 저장한다.
자연어 및 수식 처리 장치(100)는 분리된 수식을 구성하고 있는 각각의 제 2 정보를 분석하여 특정 의미에 따라 구분하는 프로세스를 처리한다(S740). 자연어 및 수식 처리 장치(100)는 수식을 트리 형태로 변환하고, 트리 형태로 변환된 수식에 횡단 과정을 수행하고, 횡단 과정이 수행된 수식에 토큰화를 수행한다. 자연어 및 수식 처리 장치(100)는 Math ML로 작성된 수식을 XML 트리 형태로 변환한 후 DOM 형태로 변환한다. 자연어 및 수식 처리 장치(100)는 수식을 구성하는 제 2 정보를 최하단 노드에서 점차 상위 노드로 전달되도록 하는 깊이 우선 검색 방식으로 횡단을 실행한다.
자연어 및 수식 처리 장치(100)는 제 1 정보, 제 2 정보, 자연어 및 수식 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장한다(S750). 자연어 및 수식 처리 장치(100)는 재조합된 데이터를 문서 데이터로 변환한다. 즉, 단계 S710 내지 단계 S750을 수행함으로써, 자연어 및 수식 처리 장치(100)를 통해 자연어 및 수식이 재조합된 데이터로 저장되어 관리될 수 있으며, 향후 저장된 재조합 데이터를 이용하여 수식을 검색하거나, 수식에 따른 시멘틱을 추출할 수 있을 것이다.
도 7에서는 단계 S710 내지 단계 S750을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 제 2 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 제 2 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 제 2 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 7에 기재된 순서를 변경하여 실행하거나 단계 S710 내지 단계 S750 중 하나 이상의 단계를 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 7는 시계열적인 순서로 한정되는 것은 아니다.
도 8는 제 2 실시예에 따른 수식의 트리 형태 표현을 나타낸 예시도이다.
도 8에 도시된 바와 같이, 하나의 수학 컨텐츠가 가질 수 있는 구조를 표현하자면, 루트(Root) 노드에 연결된 자식 노드들은 중요 의미 중 하나인 어순 정보를 그대로 유지한 채 자연어와 수식으로 분리된 형태를 갖게 된다. 또한, 각 자연어는 문장의 연결 순서에 따라 특별한 의미를 가진다. 즉, 많은 수학 컨텐츠는 자연어를 기준으로 수식을 엮는 구조가 대부분이다. 예를 들어서, 하나의 자연어의 뒤에 따라오는 수식이 특정 조건으로서 연결되거나, 뒤에 오는 수식이 정의되었는지 등의 구조를 가질 수 있는 것이다. 각 노드의 자연어가 가지는 의미와 연결 관계 뿐만 아니라, 자연어를 통합하여 시멘틱 의미를 추출할 수 있는다. 즉, 수학 컨텐츠에서 요구하는 것이 해당 수식을 푸는 것인지, 설명하는 것인지 등의 동작을 구분하기 위해서는 전체 자연어를 한데 묶어서 의미를 파악하는 것으로 문제의 방향성을 파악하는데 이용될 수 있다.
도 9은 제 2 실시예에 따른 자연어 및 수식 처리 장치가 클라우드 컴퓨팅으로 데이터를 제공하는 시스템에 대한 예시도이다.
제 2 실시예에 따른 자연어 및 수식 처리 장치가 클라우드 컴퓨팅으로 데이터를 제공하기 위해서는 단말기(910), 통신망(920) 및 제 2 클라우드 컴퓨팅 장치(930)를 포함한 시스템이 필요하다.
여기서, 단말기(910)는 사용자의 명령 또는 조작에 따라 통신망(920)을 경유하여 각종 데이터를 송수신할 수 있는 단말기를 말하는 것이며, 태블릿 PC(Tablet PC), 랩톱(Laptop), 개인용 컴퓨터(PC: Personal Computer), 스마트폰(Smart Phone), 개인휴대용 정보단말기(PDA: Personal Digital Assistant) 및 이동통신 단말기(Mobile Communication Terminal) 등 중 어느 하나일 수 있다. 또한, 단말기(910)는 통신망(920)을 통하여 데이터 읽고 쓰기 및 저장, 네트워크, 컨텐츠 사용 등의 서비스를 이용할 수 있는 클라우드 컴퓨팅(Cloud Computing)을 지원하는 클라우드 컴퓨팅 단말기가 될 수 있다. 즉, 단말기(910)는 통신망(920)을 경유하여 제 2 클라우드 컴퓨팅 장치(930)에 접속하기 위한 프로그램을 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하고 있는 장치를 의미한다. 즉, 단말기(910)는 통신망(920)에 연결되어 제 2 클라우드 컴퓨팅 장치(930)와 서버-클라이언트 통신이 가능하다면 그 어떠한 단말기도 가능하며, 노트북 컴퓨터, 이동통신 단말기, PDA 등 여하한 통신 컴퓨팅 장치를 모두 포함하는 넓은 개념이다. 한편, 단말기(910)는 터치 스크린을 구비한 형태로 제작되는 것이 바람직하나 반드시 이에 한정되는 것은 아니다.
단말기(910)는 제 2 클라우드 컴퓨팅 장치(930)를 통해 클라우드 컴퓨팅(Cloud Computing) 방식으로 자연어 및 수식을 구조할 수 있다. 즉, 단말기(910)는 제 2 클라우드 컴퓨팅 장치(930)로부터 클라우드 컴퓨팅 방식으로 자연어 및 수식을 구조화하기 위해 제 2 클라우드 컴퓨팅 장치(930)에 저장된 저장 매체와의 입출력 인터페이스를 제공하는 별도의 입출력 인터페이스부를 포함할 수 있으며, 입출력 인터페이스부를 통해 제 2 클라우드 컴퓨팅 장치(930)에 저장된 저장 매체에 대한 데이터 읽기 및 쓰기가 수행되도록 하는 인터페이스 제어부를 포함할 수 있다. 이에 대해 좀 더 구체적으로 설명하자면, 단말기(910)는 입출력 인터페이스부를 통해 자연어 및 수식의 조합으로 이루어진 조합 데이터를 제 2 클라우드 컴퓨팅 장치(930)로 입력할 수 있고, 제 2 클라우드 컴퓨팅 장치(930)를 통해 조합 데이터에서 자연어 및 수식을 각각 분리되고, 분리된 자연어를 구성하고 있는 각각의 제 1 정보를 분석하여 특정 의미에 따라 구분하고, 분리된 수식을 구성하고 있는 각각의 제 2 정보를 분석하여 특정 의미에 따라 구분하며, 제 1 정보, 제 2 정보, 자연어 및 수식 중 적어도 하나 이상의 정보를 재조합한 재조합 데이터를 생성/저장할 수 있도록 하므로, 실질적으로 단말기(910)에서는 어떠한 어플리케이션의 설치없이도 자연어 및 수식 구조화할 수 있는 것이다.
통신망(920)은 인터넷망, 인트라넷망, 이동통신망, 위성 통신망 등 다양한 유무선 통신 기술을 이용하여 인터넷 프로토콜로 데이터를 송수신할 수 있는 망을 말하며, 단말기(910)와 제 2 클라우드 컴퓨팅 장치(930) 간에 데이터를 중계하는 기능을 수행한다. 또한, 통신망(920)은 제 2 클라우드 컴퓨팅 장치(930)와 결합되어 하드웨어, 소프트웨어 등의 컴퓨팅 자원을 저장하고, 클라이언트가 필요로 하는 컴퓨팅 자원을 해당 단말기(910)로 제공할 수 있는 클라우드 컴퓨팅망을 포함할 수 있다.
제 2 클라우드 컴퓨팅 장치(930)는 자연어 및 수식 처리 장치(100)를 기반으로 구현될 수 있으며, 클라우드 컴퓨팅으로 단말기(910)를 통해 자연어 및 수식을 구조화할 수 있도록 하기 위해, 단말기(910)로 하여금 제 2 클라우드 컴퓨팅 장치(930)에 저장된 저장 매체에 대한 데이터의 읽기 및 쓰기가 수행되도록 하되, 자연어 및 수식의 조합으로 이루어진 조합 데이터를 입력되면, 조합 데이터에서 자연어 및 수식을 각각 분리하며, 분리된 자연어를 구성하고 있는 각각의 제 1 정보를 분석하여 특정 의미에 따라 구분하고, 분리된 수식을 구성하고 있는 각각의 제 2 정보를 분석하여 특정 의미에 따라 구분하며, 제 1 정보, 제 2 정보, 자연어 및 수식 중 적어도 하나 이상의 정보를 재조합한 재조합 데이터를 생성하는 컴퓨터로 읽을 수 있는 기록매체를 저장하며, 해당 기록매체의 일부 데이터만을 단말기(910)로 전송하여, 단말기(910)에서 어플리케이션의 설치없이 자연어 및 수식 구조화할 수 있도록 하는 클라우드 컴퓨팅을 제공할 수 있다. 즉, 제 2 클라우드 컴퓨팅 장치(930)는 클라우드 컴퓨팅 방식으로 자연어 및 수식을 구조화하기 위해 저장 매체를 저장하는 저장부와 단말기(910)로 하여금 저장 매체에 대한 데이터의 읽기 및 쓰기가 수행되도록 하는 클라우드 컴퓨팅부를 추가로 구비할 수 있다.
도 10은 제 2 실시예에 따른 자연어 및 수식을 구성하고 있는 정보를 분석하여 특정 의미에 따라 구분하는 방법에 대한 예시도이다.
제 2 자연어 처리부(430) 및 제 2 수식 처리부(440)가 특정 의미를 파악하기 위해 수행하는 동작에 대해 구체적으로 설명하자면, 제 2 자연어 처리부(430) 및 제 2 수식 처리부(440)는 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석한 후 문장의 구조, 포함된 키워드 및 수식의 종류 정보 중 적어도 하나 이상의 정보를 이용하여 특정 의미를 파악할 수 있으며, 파악된 특정 의미로 구분된 시멘틱 정보를 생성할 수 있다.
제 2 자연어 처리부(430) 및 제 2 수식 처리부(440)는 기 설정된 룰 기반으로 동작하여 특정 의미를 파악할 수 있는 데, 이를 구체적으로 설명하자면, 도 10의 (A)에 도시된 바와 같이, 자연어 및 수식의 조합으로 이루어진 네 개의 수학 문장(P1, P2, P3, P4)이 제 2 정보 입력부(410)를 통해 입력되는 경우, 도 10의 (B)에 도시된 바와 같이, 제 2 자연어 처리부(430) 및 제 2 수식 처리부(440)에 의해 자연어를 구성하고 있는 제 1 정보와 수식을 구성하고 있는 제 2 정보를 분석한(파싱된) 결과가 생성될 수 있다.
예를 들어서, P1의 경우, 제 2 자연어 처리부(430)에 의해 자연어를 구성하고 있는 제 1 정보를 분석한 결과 수식명(Name)이 "Find"이고 그 타입은 동사(VB)임을 나타내고, 제 2 수식 처리부(440)에 의해 수식을 구성하고 있는 제 2 정보를 분석한 결과 방정식(Equation)이 맞고(True), 다항식(Polynomial)이 맞음(True)을 나타내며 이를 도 10의 (C)에 도시된 바와 같이, 저장된 룰의 논리적 조건과 비교하면 룰 R1, R2, R3 중에서 R1과 매칭됨을 알 수 있다. 따라서 도 10의 (D)에 도시된 바와 같이, 매칭된 룰로부터 해당 논리적 조건을 만족하는 동작 정보인 "Solve"를 동작 정보로서 추출할 수 있다. 즉, 이러한 경우, P1이 나타내는 특정 의미를 동작 인덱스로 인식하여 구분할 수 있는 것이다.
제 2 자연어 처리부(430) 또는 제 2 수식 처리부(440)는 기 저장된 룰의 논리적조건을 만족하는 모든 동작 정보를 추출할 수 있다. 만일, 자연어 토큰과 수학식 토큰 조합이 이루는 논리적 조건이 저장된 룰의 여러 가지 논리적 조건을 만족할 수도 있으며, 이 경우는 하나의 수학 문제가 여러 개의 동작 정보를 포함하고 있는 경우이며, 자연어 토큰과 수학식 토큰 조합이 어떠한 논리적 조건도 만족하지 않는 경우는 해당 복합문장은 룰 생성시 수학문장(조합 데이터)의 분석에서 누락됐거나 분석과정에 포함되지 않은 항목 또는 잘못된 수학문장인 경우로 판단할 수 있다. 또한, 제 2 자연어 처리부(430) 또는 제 2 수식 처리부(440)는 자연어 파싱의 결과 생성된 자연어토큰의 대상이 되는 수식을 수학식토큰 중에서 매칭시킬 수 있다.
<제 3 실시예>
이하, 도 11 내지 도 17을 통해서는 자연어 및 수식 색인화 방법과 그를 위한 장치인 제 3 실시예에 대해 설명토록 한다.
제 3 실시예에 기재된 자연어 및 수식 처리 장치(100)는 자연어(Natural Language) 및 수식(Mathematical Formula)의 조합으로 이루어진 조합 데이터에서 자연어 및 수식 별로 구조화(DB화)할 때, 시멘틱 정보에 기초하여 사용자 쿼리를 구조화한 정보를 함께 색인화하기 위한 장치를 말하며, 자연어 및 수식 처리 장치(100)는 하드웨어 또는 소프트웨어로 구현되어, 서버 또는 단말에 탑재될 수 있다.
도 11은 제 3 실시예에 따른 자연어 및 수식 처리 장치를 개략적으로 나타낸 블럭 구성도이다.
제 3 실시예에 따른 자연어 및 수식 처리 장치(100)는 제 3 정보 입력부(11110), 제 3 시멘틱 파서부(1120), 제 3 데이터 관리부(1130), 제 3 색인부(1140), 제 3 사용자 쿼리 입력부(1150), 제 3 쿼리 파서부(1160), 제 3 점수화부(1170), 제 3 결과 페이지 제공부(1180), 제 3 저장부(1190) 및 제 3 클라우드 컴퓨팅부(1192)를 포함한다. 한편, 제 3 실시예에서는 자연어 및 수식 처리 장치(100)가 제 3 정보 입력부(11110), 제 3 시멘틱 파서부(1120), 제 3 데이터 관리부(1130), 제 3 색인부(1140), 제 3 사용자 쿼리 입력부(1150), 제 3 쿼리 파서부(1160), 제 3 점수화부(1170), 제 3 결과 페이지 제공부(1180), 제 3 저장부(1190) 및 제 3 클라우드 컴퓨팅부(1192)만을 포함하는 것으로 기재하고 있으나, 이는 제 3 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 제 3 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 제 3 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 자연어 및 수식 처리 장치(100)에 포함되는 구성 요소에 대하여 다양하게 수정 및 변형하여 적용 가능할 것이다.
제 3 정보 입력부(11110)는 자연어 및 수식의 조합으로 이루어진 조합 데이터를 입력받는다. 여기서, 조합 데이터는 수학 문제, 수식 증명 등을 포함한 수학 컨텐츠인 것이 바람직하나 반드시 이에 한정되는 것은 아니다. 또한, 자연어 및 수식의 조합으로 이루어진 조합 데이터는 사용자의 조작 또는 명령에 의해 직접 입력될 수 있으나 반드시 이에 한정되는 것은 아니며, 별도의 외부 서버로부터 자연어 및 수식의 조합으로 이루어진 문서 데이터를 입력받을 수도 있을 것이다.
제 3 시멘틱 파서부(1120)는 조합 데이터에서 자연어 및 수식을 각각 분리하고, 분리된 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성한다. 여기서, 시멘틱 정보는 동작 인덱스, 시멘틱 인덱스, 문제 목록 인덱스 중 적어도 하나 이상의 인덱스를 포함하며, 문제 목록은 문제 ID로 정렬될 수 있다. 한편, 제 3 시멘틱 파서부(1120)가 특정 의미를 파악하기 위해 수행하는 동작에 대해 구체적으로 설명하자면, 제 3 시멘틱 파서부(1120)는 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석한 후 문장의 구조, 포함된 키워드 및 수식의 종류 정보 중 적어도 하나 이상의 정보를 이용하여 특정 의미를 파악한다. 즉, 제 3 시멘틱 파서부(1120)는 기 설정된 룰(Rule) 기반으로 동작하여 특정 의미를 파악할 수 있으며, 제 3 시멘틱 파서부(1120)가 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 구체적인 방법에 대해서는 도 17을 통해 설명하도록 한다.
또한, 제 3 시멘틱 파서부(1120)가 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석하기 위해 수행하는 동작에 대해 구체적으로 설명하자면, 제 3 시멘틱 파서부(1120)는 조합 데이터에서 자연어 및 수식을 각각 분리한다. 즉, 제 3 시멘틱 파서부(1120)는 제 3 정보 입력부(11110)를 통해 자연어 및 수식의 조합으로 이루어진 조합 데이터가 입력되면, 조합 데이터에 포함된 자연어와 수식을 각각 분리하여 인식하는 것이다. 제 3 시멘틱 파서부(1120)는 분리된 자연어를 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분한다. 제 3 시멘틱 파서부(1120)는 자연어를 토큰화(Tokenization)한 자연어 토큰을 생성한다. 여기서, 토큰(Token)이란 연속된 문장에서 구별할 수 있는 단위를 말하며, 토큰화는 자연어를 자연어 및 수식 처리 장치(100)가 이해할 수 있는 단위인 워드(Word) 단위로 쪼개는 과정을 말한다. 토큰화에 대해 좀더 구체적으로 설명하자면, 제 3 실시예에서 토큰화는 크게 자연어 토큰화와 수식 토큰화로 구분된다. 자연어 토큰화란 조합 데이터(수학 문제)에 포함된 자연어를 공백(Space)을 기준으로 분리한 결과물에 해당하는 각각의 어절(Word)을 자연어 토큰으로 인식하는 과정을 말한다. 각 토큰의 의미를 좀 더 명확히 파악하기 위하여 토큰에 대한 형태소 분석을 추가적으로 수행할 수도 있다. 한편, 수식 토큰화란 조합 데이터(수학 문제)에 포함되는 수식을 파싱(Parsing)한 후 얻게되는 개별 단위 정보를 수식 토큰으로 인식하는 과정을 말한다.
[예제 1]
Figure PCTKR2011009333-appb-I000003
예를 들어서, [예제 1]에서 자연어 토큰에 해당하는 정보는 'Find', 'the', 'function', 'value', 'with' 가 되며, 수식 토큰은 파싱을 통해서 정보를 추출한 후에 반환되는 값인 다항식(Polynomial), 최고 차수(Max degree=3), 항의 수(Number of terms=4), 조건(Condition) 등이 될 수 있다.
제 3 시멘틱 파서부(1120)는 자연어 토큰을 근거로 중지 단어(Stop Word)를 필터링한 단어 필터링 데이터를 생성하며, 중지 단어 필터링 데이터에서 중복 제거 필터링을 수행한 중복 제거 필터링 데이터를 생성한다. 여기서, 중지 단어란 문장이나 수식의 분석에 있어서 필요없는 토큰에 해당하는 부분을 제거하기 위해서 미리 정의해 놓은 단어들의 집합을 의미한다. 즉, [예제 1]에서 'the'(이외에도 a나 to 등)는 시스템에서 사전(Dictionary) 형태로 미리 정의되어 있다. 여기서, 사전은 단어의 집합을 포함하는 리스트를 의미한다. 즉, 자연어 토큰을 생성한 후 제 3 시멘틱 파서부(1120)에서는 분석에 필요없는 부분인 중지단어를 제거하는 과정을 수행하게 되는데, 중지 단어 필터링은 수학 문제가 길어질 경우(서술형 문제 등)에 분석 과정에 너무 많은 토큰이 들어가는 것을 방지해 주며, 더불어 시스템의 처리 속도를 향상 시키기 위해 동작한다.
제 3 시멘틱 파서부(1120)는 중복 제거 필터링 데이터에 기 정의된 의미가 부여된 동작 정보를 매칭한다. 여기서, 동작 정보는 자연어 토큰 또는 수식 토큰을 바탕으로 추출할 수 있는 요약 정보를 의미한다. 예를 들어서, [예제 1]에서 자연어 토큰 또는 수식 토큰을 바탕으로 '풀다(Solve)'라는 동작 정보를 추출할 수 있다. 여기서, 중복 제거 필터링 데이터에서 술어에 해당하는 데이터를 동작 정보와 매칭 저장하는 이유는 조합 데이터(수학 문제)를 스키마(Schema)로 정의하는 과정에서 전체 문장이 의미하는 대표 동작에 대한 정보를 획득하여 이후에 검색 또는 문제간의 연관성(Similarity)을 분석할 때 도움이 되는 도구로 활용하기 위함이다.
제 3 시멘틱 파서부(1120)는 자연어를 구성하고 있는 구성 정보에 대해 토큰화를 수행하여 자연어 토큰을 생성한다. 제 3 시멘틱 파서부(1120)는 자연어 토큰에서 기 설정된 중지 단어로 판별된 자연어 토큰을 선별하여 제거하는 중지 단어 필터링을 수행하여 중지 단어 필터링 데이터를 생성한다. 제 3 시멘틱 파서부(1120)는 중지 단어 필터링 데이터에서 중복되는 데이터를 선별하여 제거하는 중복 제거 필터링을 수행하여 중복 제거 필터링 데이터를 생성한다. 제 3 시멘틱 파서부(1120)는 중복 제거 필터링 데이터에서 술어에 해당하는 데이터를 기 정의된 의미가 부여된 동작 정보와 매칭 저장한다.
제 3 시멘틱 파서부(1120)는 분리된 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분한다. 제 3 시멘틱 파서부(1120)는 수식을 트리 형태로 변환하고, 트리 형태로 변환된 수식에 횡단(Traverse) 과정을 수행하고, 횡단 과정이 수행된 수식에 토큰화를 수행한다. 제 3 시멘틱 파서부(1120)는 Math ML(Mathematical Markup Language)로 작성된 수식을 XML 트리 형태로 변환한 후 DOM(Document Object Model) 형태로 변환한다. 제 3 시멘틱 파서부(1120)는 수식을 구성하는 구성 정보를 최하단 노드에서 점차 상위 노드로 전달되도록 하는 깊이 우선 검색(Depth-First Search) 방식으로 횡단을 실행한다. 한편, 횡단 과정과 깊이 우선 검색에 대해 구체적으로 설명하자면, 일반적으로 수식은 Math ML의 형태를 띄고 있으며, 이는 트리의 형태로 구성이 되며, 이러한, 트리를 횡단하는 과정을 횡단 과정이라 칭하며, 횡단 과정을 수행할 때, 깊이 우선 검색(Depth-First Search)을 사용한다. 이러한, 횡단 과정은 트리의 루트(Root)에서 시작하여 자식 노드까지 들어간 후 모든 자식 노드의 검색이 끝나면 부모 노드로 이동하기 때문에, 자식 노드에서 가지고 있는 정보 모두를 부모 노드로 전달한다. 시간 복잡도 측면에서 엣지(Edge)의 수만큼만 검색을 수행하면 됨으로 효율적이다.
제 3 데이터 관리부(1130)는 구성 정보, 자연어, 수식 및 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장한다. 제 3 데이터 관리부(1130)는 재조합된 데이터를 문서 데이터로 변환한다. 제 3 색인부(1140)는 제 3 시멘틱 파서부(1120) 및 제 3 데이터 관리부(1130)를 통해 수신된 시멘틱 정보에 번호를 부여하는 색인화(Indexing)를 수행하며, 시멘틱 정보를 색인화한 시멘틱 색인 정보를 생성하고, 시멘틱 색인 정보에 키워드 정보를 매칭한 쿼리 색인 정보를 생성한다.
즉, 제 3 정보 입력부(11110)롤 통해 입력된 조합 데이터에 포함된 XML 형태의 구조의 컨텐트(Content) 기반의 Math ML인 수식이 제 3 시멘틱 파서부(1120)에 입력되며, XML 입력을 바탕으로 자연어와 수식의 시멘틱 정보를 추출하고, 제 3 데이터 관리부(1130)에 의해 다시 XML 결과로서 도출하는 것이다. 즉, 시멘틱 정보를 포함한 XML 결과는 제 3 색인부(1140)에 의해 색인화 과정을 거친 후 색인된다.
제 3 사용자 쿼리 입력부(1150)는 입력된 사용자 쿼리(Query)를 제 3 쿼리 파서부(1160)로 전달한다. 여기서, 사용자 쿼리는 일종의 검색 쿼리로서, 사용자가 검색하고자 입력한 키워드를 포함한다. 제 3 쿼리 파서부(1160)는 입력된 사용자 쿼리에 포함된 키워드(Key Word)를 추출하여 구조화한다. 제 3 점수화부(1170)는 키워드와 시멘틱 색인 정보의 연관성에 근거하여 쿼리 색인 정보를 점수화(Scoring)한다. 제 3 점수화부(1170)는 점수화를 수행하기 위해 코사인 유사성(Cosine Similarity)을 이용한다. 또한, 제 3 점수화부(1170)는 [수학식 1]을 이용하여 점수화를 수행할 수 있다.
수학식 1
Figure PCTKR2011009333-appb-M000001
(p: 문제 벡터, q: 쿼리 벡터, pi:불(Boolean)/쿼리 q에서 i의 가중치, pi: 불(Boolean)/쿼리 p에서 i의 가중치, v: 벡터가 가지는 원소의 개수)
제 3 결과 페이지 제공부(1180)는 제 3 점수화부(1170)에 의해 점수화된 쿼리 색인 정보의 순위(Ranking) 결과 페이지를 제공한다. 여기서, 제 3 결과 페이지 제공부(1180)는 순위 결과 페이지를 요청하는 서버 또는 단말기로 순위 결과 페이지를 제공할 수 있으나 반드시 이에 한정되는 것은 아니며, 자연어 및 수식 처리 장치(100)가 자립형(Stand Alone) 장치로 구현되는 경우, 구비된 표시부를 통해 해당 순위 결과 페이지를 나타낼 수 있을 것이다.
즉, 제 3 사용자 쿼리 입력부(1150)를 통해 입력된 사용자 쿼리는 제 3 쿼리 파서부(1160)에서 파싱되고, 제 3 색인부(1140)로 전달되고, 제 3 점수화부(1170)는 기 저장된 수학 컨텐츠에 대한 인덱스와 사용자 쿼리의 인덱스를 토대로 연관성을 비교하여 점수화를 수행하며, 제 3 결과 페이지 제공부(1180)는 사용자 결과 페이지에 순위를 출력하는 것이다.
한편, 자연어 및 수식 처리 장치(100)는 클라이언트에 해당하는 단말기에 애플리케이션의 설치없이 자연어와 수식이 조합된 데이터를 구조화할 때 사용자 쿼리를 구조화한 정보가 함께 색인화되도록 하는 클라우드 컴퓨팅을 제공하기 위해 별도의 제 3 저장부(1190)와 제 3 클라우드 컴퓨팅부(1192)를 포함할 수 있다. 여기서, 제 3 저장부(1190)는 자연어 및 수식의 조합으로 이루어진 조합 데이터를 입력받는 경우, 조합 데이터에서 자연어 및 수식을 각각 분리하고, 분리된 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하고, 구성 정보, 자연어, 수식 및 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하며, 입력된 사용자 쿼리에 포함된 키워드를 추출하여 구조화하며, 시멘틱 정보를 색인화한 시멘틱 색인 정보를 생성하고, 시멘틱 색인 정보에 키워드 정보를 매칭한 쿼리 색인 정보를 생성하는 저장 매체를 저장하며, 제 3 클라우드 컴퓨팅부(1192)는 클라이언트에 해당하는 단말기로 하여금 제 3 저장부(1190)에 저장된 저장 매체에 대한 데이터의 읽기 및 쓰기가 수행되도록 한다.
즉, 자연어 및 수식 처리 장치(100)는 제 3 저장부(1190)와 제 3 클라우드 컴퓨팅부(1192)를 통해 자연어와 수식이 조합된 데이터를 구조화할 때 사용자 쿼리를 구조화한 정보가 함께 색인화되도록 하는 하드웨어 또는 소프트웨어 등의 컴퓨팅 자원을 저장하고, 클라이언트가 필요로 하는 컴퓨팅 자원을 클라우드 컴퓨팅(Cloud Computing)으로 해당 단말기로 제공할 수 있다. 이와 관련된 구체적인 설명은 도 16을 통해 하도록 한다.
도 12는 제 3 실시예에 따른 자연어 및 수식 색인화 방법을 설명하기 위한 순서도이다.
자연어 및 수식 처리 장치(100)는 자연어 및 수식의 조합으로 이루어진 조합 데이터를 입력받는다(S1210). 여기서, 자연어 및 수식의 조합으로 이루어진 조합 데이터는 사용자의 조작 또는 명령에 의해 직접 입력될 수 있으나 반드시 이에 한정되는 것은 아니며, 별도의 외부 서버로부터 자연어 및 수식의 조합으로 이루어진 문서 데이터를 입력받을 수도 있을 것이다.
자연어 및 수식 처리 장치(100)는 조합 데이터에서 자연어 및 수식을 각각 분리하고, 분리된 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성한다(S1220). 더 구체적으로 설명하자면, 자연어 및 수식 처리 장치(100)는 조합 데이터에서 자연어 및 수식을 각각 분리한다. 즉, 자연어 및 수식 처리 장치(100)는 자연어 및 수식의 조합으로 이루어진 조합 데이터가 입력되면, 조합 데이터에 포함된 자연어와 수식을 각각 분리하여 인식하는 것이다. 자연어 및 수식 처리 장치(100)는 분리된 자연어를 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 프로세스를 처리한다. 즉, 자연어 및 수식 처리 장치(100)는 자연어를 토큰화한 자연어 토큰을 생성하고, 자연어 토큰을 근거로 중지 단어를 필터링한 단어 필터링 데이터를 생성하며, 중지 단어 필터링 데이터에서 중복 제거 필터링을 수행한 중복 제거 필터링 데이터를 생성하고, 중복 제거 필터링 데이터에 기 정의된 의미가 부여된 동작 정보를 매칭한다. 자연어 및 수식 처리 장치(100)는 자연어를 구성하고 있는 구성 정보에 대해 토큰화를 수행하여 자연어 토큰을 생성한다. 자연어 및 수식 처리 장치(100)는 자연어 토큰에서 기 설정된 중지 단어로 판별된 자연어 토큰을 선별하여 제거하는 중지 단어 필터링을 수행하여 중지 단어 필터링 데이터를 생성한다. 자연어 및 수식 처리 장치(100)는 중지 단어 필터링 데이터에서 중복되는 데이터를 선별하여 제거하는 중복 제거 필터링을 수행하여 중복 제거 필터링 데이터를 생성한다. 자연어 및 수식 처리 장치(100)는 중복 제거 필터링 데이터에서 술어에 해당하는 데이터를 기 정의된 의미가 부여된 동작 정보와 매칭 저장한다. 자연어 및 수식 처리 장치(100)는 분리된 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 프로세스를 처리한다.
자연어 및 수식 처리 장치(100)는 수식을 트리 형태로 변환하고, 트리 형태로 변환된 수식에 횡단 과정을 수행하고, 횡단 과정이 수행된 수식에 토큰화를 수행한다. 자연어 및 수식 처리 장치(100)는 Math ML로 작성된 수식을 XML 트리 형태로 변환한 후 DOM 형태로 변환한다. 자연어 및 수식 처리 장치(100)는 수식을 구성하는 구성 정보를 최하단 노드에서 점차 상위 노드로 전달되도록 하는 깊이 우선 검색 방식으로 횡단을 실행한다.
자연어 및 수식 처리 장치(100)는 구성 정보, 자연어, 수식 및 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장한다(S1230). 자연어 및 수식 처리 장치(100)는 재조합된 데이터를 문서 데이터로 변환한다. 자연어 및 수식 처리 장치(100)는 시멘틱 정보를 색인화 한다(S1240). 예를 들어서, 자연어 및 수식 처리 장치(100)는 시멘틱 정보에 번호를 부여하는 색인화를 수행하는 것이다.
도 12에서는 단계 S1210 내지 단계 S1240을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 제 3 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 제 3 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 제 3 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 12에 기재된 순서를 변경하여 실행하거나 단계 S1210 내지 단계 S1240 중 하나 이상의 단계를 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 12는 시계열적인 순서로 한정되는 것은 아니다.
전술한 바와 같이 도 12에 기재된 제 3 실시예에 따른 자연어 및 수식 색인화 방법은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 제 3 실시예에 따른 자연어 및 수식 색인화 방법을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 이러한 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 제 3 실시예를 구현하기 위한 기능적인(Functional) 프로그램, 코드 및 코드 세그먼트들은 제 3 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다.
도 13은 제 3 실시예에 따른 색인화된 쿼리 정보의 순위 결과를 제공하는 방법을 설명하기 위한 순서도이다.
자연어 및 수식 처리 장치(100)는 사용자 쿼리를 입력받는다(S1310). 여기서, 사용자 쿼리는 일종의 검색 쿼리로서, 사용자가 검색하고자 입력한 키워드를 포함한다. 자연어 및 수식 처리 장치(100)는 입력된 사용자 쿼리에 포함된 키워드(Key Word)를 추출하여 구조화한다(S1320). 자연어 및 수식 처리 장치(100)는 시멘틱 정보를 색인화한 시멘틱 색인 정보에 키워드 정보를 매칭한 쿼리 색인 정보를 생성한다(S1330).
자연어 및 수식 처리 장치(100)는 키워드와 시멘틱 색인 정보의 연관성에 근거하여 쿼리 색인 정보를 점수화한다(S1340). 제 3 점수화부(1170)는 점수화를 수행하기 위해 코사인 유사성을 이용한다. 또한, 제 3 점수화부(1170)는 [수학식 1]을 이용하여 점수화를 수행할 수 있다. 자연어 및 수식 처리 장치(100)는 제 3 점수화부(1170)에 의해 점수화된 쿼리 색인 정보의 순위 결과 페이지를 제공한다(S1350). 여기서, 제 3 결과 페이지 제공부(1180)는 순위 결과 페이지를 요청하는 서버 또는 단말기로 순위 결과 페이지를 제공할 수 있으나 반드시 이에 한정되는 것은 아니며, 자연어 및 수식 처리 장치(100)가 자립형(Stand Alone) 장치로 구현되는 경우, 구비된 표시부를 통해 해당 순위 결과 페이지를 나타낼 수 있을 것이다.
도 13에서는 단계 S1310 내지 단계 S1350을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 제 3 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 제 3 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 제 3 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 13에 기재된 순서를 변경하여 실행하거나 단계 S1310 내지 단계 S1350 중 하나 이상의 단계를 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 13은 시계열적인 순서로 한정되는 것은 아니다.
도 14는 제 3 실시예에 따른 시멘틱 정보에 포함된 반전된 파일 구조의 예시도이다.
자연어 및 수식 처리 장치(100)의 제 3 시멘틱 파서부(1120)를 통해 생성된 시멘틱 정보에 포함된 반전된 파일 구조(Inverted File Structure)의 인덱스는 도 14에 도시된 바와 같다. 한편, 제 3 실시예에서는 반전된 파일 구조에서 이용된 시멘틱 정보의 XML의 형태에서는 언급하지 않도록 한다. 다만, 함수 형태, 동작, 시멘틱 키워드는 모두 계층 구조의 형태로 저장되어 있는 것으로 가정한다. 즉, 시멘틱 정보는 동작 인덱스, 시멘틱 인덱스, 문제 목록 인덱스 중 적어도 하나 이상의 인덱스를 포함하며, 문제 목록은 문제 ID로 정렬된다. 이에 따라, 따라서 두 개의 목록은 선형 시간에 의해 결합(Merge)될 수 있다
도 15는 제 3 실시예에 따른 시멘틱 정보에 포함된 인덱스를 불 벡터로 표현한 예시도이다.
자연어 및 수식 처리 장치(100)의 제 3 점수화부(1170)는 점수화를 수행하기 위해 코사인 유사성(Cosine Similarity)을 이용할 수 있다. 즉, 시멘틱 정보에 포함된 인덱스를 불 벡터(Boolean Vector)로 표현하자면, 도 15에 도시된 바와 같다. 여기서, '0'의 값은 해당 행에서 일치하는 '용어'나 '키워드'가 존재하지 않거나, 그 열에 있는 문제와 관련이 없는 것을 의미한다. 반면, '1'의 값은 그 행에 일치하는 '용어'나 '키워드'가 존재하거나, 그 열에 있는 문제와 관련성이 없는 것을 나타낸다. 이러한 행렬을 이용하는 경우, 두 개의 문제 벡터 p와 쿼리 벡터 q 사이의 코사인 각을 산출할 수 있으며, 코사인 각을 산출하는 식은 [수학식 1]과 같다.
즉, [수학식 1]에서 cos(q,p)는 q와 p의 코사인 유사성, 또는 q와 p의 코사인 각도라 한다. 코사인은 '0°', '180°'에서 단조 감소하는 함수이기 때문에, 해당 값이 작거나 크면 두 문제는 유사성을 가진다고 할 수 있다. 또한, 불(Boolean) 형태 대신 가중치가 적용될 수도 있다. 예를 들어서, 시멘틱 정보 중 중요한 의미를 갖는 동작(Action)이나 수학 오브젝트(Math Object) 등에는 더 많은 가중치를 부여할 수 있다. 또한, 함수 중에서 상대적으로 빈번하지 않은 함수는 빈번한 함수에 비해 더 작은 가중치가 부여되도록 할 수 있다. 이러한 내용은 다음과 같이 공식화될 수 있다.
즉, 문제 빈도는(Problem Frequency)는 '용어'와 '키워드'가 주어진 문제의 개수이며, 해당 값은 용어 정보의 반대의 값이며, 해당 값을 나타내기 위해서, 반대 문제 빈도(ipf, Inverse Problem Frequency)가 사용된다. 여기서, ipf는 N/pf로 계산될 수 있고, 이때 N은 전체 문제의 수를 나타낸다. 사용자 쿼리와 분석된 자연어 및 수식의 조합으로 이루어진 조합 데이터(수학 컨텐츠)들의 인덱스를 통해서, 유사성을 분석하고, 순위를 산정하여 얻어진 순서대로 표시부를 통해 출력할 수 있다. 이에 따라, 사용자의 쿼리에 가장 가까운 수식 포함 문서부터 그와 유사한 문서를 포함하여 확인을 할 수 있는 것이다.
도 16은 제 3 실시예에 따른 자연어 및 수식 처리 장치가 클라우드 컴퓨팅으로 데이터를 제공하는 시스템에 대한 예시도이다.
제 3 실시예에 따른 클라우드 컴퓨팅을 이용한 데이터를 제공하기 위해서는 단말기(910), 통신망(920) 및 제 3 클라우드 컴퓨팅 장치(1600)를 포함한 시스템이 필요하다.
여기서, 단말기(910)는 사용자의 명령 또는 조작에 따라 통신망(920)을 경유하여 각종 데이터를 송수신할 수 있는 단말기를 말하는 것이며, 태블릿 PC, 랩톱, 개인용 컴퓨터, 스마트폰, 개인휴대용 정보단말기 및 이동통신 단말기 등 중 어느 하나일 수 있다. 또한, 단말기(910)는 통신망(920)을 통하여 데이터 읽고 쓰기 및 저장, 네트워크, 컨텐츠 사용 등의 서비스를 이용할 수 있는 클라우드 컴퓨팅을 지원하는 클라우드 컴퓨팅 단말기가 될 수 있다. 즉, 단말기(910)는 통신망(920)을 경유하여 제 3 클라우드 컴퓨팅 장치(1600)에 접속하기 위한 프로그램을 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하고 있는 장치를 의미한다. 즉, 단말기(910)는 통신망(920)에 연결되어 제 3 클라우드 컴퓨팅 장치(1600)와 서버-클라이언트 통신이 가능하다면 그 어떠한 단말기도 가능하며, 노트북 컴퓨터, 이동통신 단말기, PDA 등 여하한 통신 컴퓨팅 장치를 모두 포함하는 넓은 개념이다. 한편, 단말기(910)는 터치 스크린을 구비한 형태로 제작되는 것이 바람직하나 반드시 이에 한정되는 것은 아니다.
단말기(910)는 제 3 클라우드 컴퓨팅 장치(1600)를 통해 클라우드 컴퓨팅 방식으로 자연어와 수식이 조합된 데이터를 구조화할 때 사용자 쿼리를 구조화한 정보가 함께 색인화되도록 한다. 즉, 단말기(910)는 제 3 클라우드 컴퓨팅 장치(1600)로부터 클라우드 컴퓨팅 방식으로 자연어 및 수식을 구조화하기 위해 제 3 클라우드 컴퓨팅 장치(1600)에 저장된 저장 매체와의 입출력 인터페이스를 제공하는 별도의 입출력 인터페이스부를 포함할 수 있으며, 입출력 인터페이스부를 통해 제 3 클라우드 컴퓨팅 장치(1600)에 저장된 저장 매체에 대한 데이터 읽기 및 쓰기가 수행되도록 하는 인터페이스 제어부를 포함할 수 있다. 이에 대해 좀 더 구체적으로 설명하자면, 단말기(910)는 입출력 인터페이스부를 통해 자연어 및 수식의 조합으로 이루어진 조합 데이터를 제 3 클라우드 컴퓨팅 장치(1600)로 입력할 수 있고, 이를 통해 제 3 클라우드 컴퓨팅 장치(1600)가 시멘틱 색인 정보에 키워드 정보를 매칭한 쿼리 색인 정보를 생성/저장되도록 하므로, 실질적으로 단말기(910)에서는 어떠한 애플리케이션의 설치없이도 자연어와 수식이 조합된 데이터를 구조화할 때 사용자 쿼리를 구조화한 정보가 함께 색인화되도록 한다.
통신망(920)은 인터넷망, 인트라넷망, 이동통신망, 위성 통신망 등 다양한 유무선 통신 기술을 이용하여 인터넷 프로토콜로 데이터를 송수신할 수 있는 망을 말하며, 단말기(910)와 제 3 클라우드 컴퓨팅 장치(1600) 간에 데이터를 중계하는 기능을 수행한다. 또한, 통신망(920)은 제 3 클라우드 컴퓨팅 장치(1600)와 결합되어 하드웨어, 소프트웨어 등의 컴퓨팅 자원을 저장하고, 클라이언트가 필요로 하는 컴퓨팅 자원을 해당 단말기(910)로 제공할 수 있는 클라우드 컴퓨팅망을 포함할 수 있다.
제 3 클라우드 컴퓨팅 장치(1600)는 자연어 및 수식 처리 장치(100)를 기반으로 구현될 수 있으며, 클라우드 컴퓨팅으로 단말기(910)를 통해 자연어와 수식이 조합된 데이터를 구조화할 때 사용자 쿼리를 구조화한 정보가 함께 색인화되도록 하기 위해, 단말기(910)로 하여금 제 3 클라우드 컴퓨팅 장치(1600)에 저장된 저장 매체에 대한 데이터의 읽기 및 쓰기가 수행되도록 하되, 자연어 및 수식의 조합으로 이루어진 조합 데이터를 입력되면, 조합 데이터에서 자연어 및 수식을 각각 분리하고, 분리된 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하고, 구성 정보, 자연어, 수식 및 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하며, 입력된 사용자 쿼리에 포함된 키워드를 추출하여 구조화하며, 시멘틱 정보를 색인화한 시멘틱 색인 정보를 생성하고, 시멘틱 색인 정보에 키워드 정보를 매칭한 쿼리 색인 정보를 생성하는 컴퓨터로 읽을 수 있는 기록매체를 저장하며, 해당 기록매체의 일부 데이터만을 단말기(910)로 전송하여, 단말기(910)에서 애플리케이션의 설치없이 자연어와 수식이 조합된 데이터를 구조화할 때 사용자 쿼리를 구조화한 정보가 함께 색인화되도록 하는 클라우드 컴퓨팅을 제공할 수 있다.
도 17은 제 3 실시예에 따른 자연어 및 수식을 구성하고 있는 정보를 분석하여 특정 의미에 따라 구분하는 방법에 대한 예시도이다.
제 3 시멘틱 파서부(1120)가 특정 의미를 파악하기 위해 수행하는 동작에 대해 구체적으로 설명하자면, 제 3 시멘틱 파서부(1120)는 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석한 후 문장의 구조, 포함된 키워드 및 수식의 종류 정보 중 적어도 하나 이상의 정보를 이용하여 특정 의미를 파악할 수 있으며, 파악된 특정 의미로 구분된 시멘틱 정보를 생성할 수 있다.
제 3 시멘틱 파서부(1120)는 기 설정된 룰 기반으로 동작하여 특정 의미를 파악할 수 있는 데, 이를 구체적으로 설명하자면, 도 17의 (A)에 도시된 바와 같이, 자연어 및 수식의 조합으로 이루어진 네 개의 수학 문장(P1, P2, P3, P4)이 제 3 정보 입력부(11110)를 통해 입력되는 경우, 도 17의 (B)에 도시된 바와 같이, 제 3 시멘틱 파서부(1120)에 의해 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석한(파싱된) 결과가 생성될 수 있다.
예를 들어서, P1의 경우, 제 3 시멘틱 파서부(1120)에 의해 자연어를 구성하고 있는 구성 정보를 분석한 결과 수식명(Name)이 "Find"이고 그 타입은 동사(VB)임을 나타내고, 제 3 시멘틱 파서부(1120)에 의해 수식을 구성하고 있는 구성 정보를 분석한 결과 방정식(Equation)이 맞고(True), 다항식(Polynomial)이 맞음(True)을 나타내며 이를 도 17의 (C)에 도시된 바와 같이, 저장된 룰의 논리적 조건과 비교하면 룰 R1, R2, R3 중에서 R1과 매칭됨을 알 수 있다. 따라서 도 17의 (D)에 도시된 바와 같이, 매칭된 룰로부터 해당 논리적 조건을 만족하는 동작 정보인 "Solve"를 동작 정보로서 추출할 수 있다. 즉, 이러한 경우, P1이 나타내는 특정 의미를 동작 정보로 인식하여, 생성되는 시멘틱 정보는 동작 인덱스로 포함할 수 있는 것이다.
제 3 시멘틱 파서부(1120)는 기 저장된 룰의 논리적조건을 만족하는 모든 동작 정보를 추출할 수 있다. 만일, 자연어 토큰과 수학식 토큰 조합이 이루는 논리적 조건이 저장된 룰의 여러 가지 논리적 조건을 만족할 수도 있으며, 이 경우는 하나의 수학 문제가 여러 개의 동작 정보를 포함하고 있는 경우이며, 자연어 토큰과 수학식 토큰 조합이 어떠한 논리적 조건도 만족하지 않는 경우는 해당 복합문장은 룰 생성시 수학문장(조합 데이터)의 분석에서 누락됐거나 분석과정에 포함되지 않은 항목 또는 잘못된 수학문장인 경우로 판단할 수 있다. 또한, 제 3 시멘틱 파서부(1120)는 자연어 파싱의 결과 생성된 자연어토큰의 대상이 되는 수식을 수학식토큰 중에서 매칭시킬 수 있다.
<제 4 실시예>
이하, 도 18 내지 도 25을 통해서는 자연어와 수학식이 포함된 복합문장의 시멘틱 정보 추출 방법과 그를 위한 장치인 제 4 실시예에 대해 설명토록 한다.
도 18은 제 4 실시예에 따른 복합문장의 자연어 및 수식 처리 장치를 개략적으로 나타낸 블럭 구성도이다.
제 4 실시예에 따른 복합문장의 자연어 및 수식 처리 장치(100)는 제 4 정보입력부(1810), 제 4 분리부(1820), 제 4 자연어처리부(1830), 제 4 수식 처리부(1840), 제 4 동작추출부(1850), 제 4 오브젝트생성부(1860) 및 제 4 룰저장부(1870)를 포함하여 구성될 수 있다.
제 4 정보입력부(1810)는 자연어와 수식이 포함된 복합문장을 수신한다. 제 4 분리부(1820)는 복합문장에서 자연어 및 수식을 분리한다. 제 4 자연어처리부(1830)는 분리된 자연어를 토큰화하여 자연어토큰을 생성한다. 제 4 수식 처리부(1840)는 분리된 수식을 파싱하고 시멘틱의미를 추출하여 수학식토큰을 생성한다. 제 4 룰저장부(1870)는 자연어와 수학식의 조합과 대응되는 동작정보를 결합한 룰을 저장한다. 제 4 동작추출부(1850)는 생성된 자연어토큰과 수학식토큰을 저장된 룰 내의 자연어와 수학식의 조합과 비교하여 제 4 룰저장부(1870)에 저장된 룰로부터 복합문장의 동작정보를 추출한다. 제 4 오브젝트생성부(1860)는 자연어토큰의 대상이 되는 수식을 제 4 수식 처리부(1840)에서 생성한 수학식토큰 중에서 매칭시켜 수학 오브젝트를 생성한다.
수학 오브젝트를 생성함에 있어서 자연어와 더불어 수식이 포함된 복합문장으로 구성된 수학문장의 실제 의미를 추출하여 표현하기 위하여 다음의 단계를 수행한다.
1. 수학식과 자연어의 토큰 관계를 룰로 구성하는 단계
2. 자연어와 수학식을 표현한 문장을 읽어 들여 수학문장이 의미하는 동작정보를 찾는 단계.
3. 수학 오브젝트를 구성하는 단계.
수학 문장이 가지는 시멘틱 정보는 동작정보와 수학 오브젝트를 포함할 수 있다. 또한, 동작정보(Action)는 수학문제가 기본적으로 풀어야 하는 목적을 표현한다. 예를 들어, 해당 수학식 문장이 문제를 푸는 것인지, 개념을 설명하는 것인지 등에 관해서 실제 푸는 사람이 동작을 취할 수 있도록 하는 정보에 기반해서 문제에서 추출한 정보다. 이 정보는 자연어와 수학식의 토큰을 통해 전처리(pre-processing)되어 정의된 룰에 의해서 생성될 수 있다.
수학 오브젝트(Math Object)는 수학 문제에 포함된 세분화된 각 엔티티(entity)를 표현하는 데 사용된다. 즉, 이 수학 문제를 풀기 위해서는 어떤 기법(technique)이나 사실(fact)이 필요한지를 나타낼 수 있고, 수학 문제 내부에 어떤 형태의 함수가 들어가는지 등을 나타낼 수도 있다. 이 오브젝트의 개념은 수학 문제의 다양성을 지원하기 위한 확장성에 도움이 될 수 있다. 이 정보는 자연어에서 얻은 정보와 수학식에서 얻은 정보가 각각 수학 오브젝트화 될 수 있다.
도 19는 수학 문제가 구성된 형태를 트리 구조로 예시한 도면이다. 도 19에 도시된 바와 같이, 하나의 수학 컨텐츠가 가질 수 있는 구조를 트리로 표현하면, 해당 수학컨텐츠(루트(Root) 노드)를 구성하는 자식 노드들은 중요 의미 중 하나인 어순 정보를 그대로 유지한 채 자연어와 수식으로 분리된 형태를 갖게 된다. 또한, 각 자연어는 문장의 연결 순서에 따라 특별한 의미를 가진다. 예를 들어서, 하나의 자연어의 뒤에 따라오는 수식이 특정 조건으로서 연결되거나, 뒤에 오는 수식이 정의되었는지 등의 의미를 가질 수 있다.
수학 문제에서 자동으로 위와 같은 정보를 얻기 위해서는, 자연어와 표준화된 수학식을 각각 구분하여 토큰화(tokenization)를 할 필요가 있다. 이런 자연어와 수학식을 분석하는 프로그램의 입력은 도 18과 같이 이 두 가지가 혼재된 형태가 될 것이다. 즉, 일반 자연어와 W3C(World Wide Web Consortium)에서 표준화된 MathML 표준을 따르는 XML이 입력이 될 수 있다.
제 4 정보입력부(1810)는 자연어 및 수식의 조합으로 이루어진 조합 데이터(복합문장)를 입력받는다. 여기서, 조합 데이터는 수학 문제, 수식 증명 등을 포함한 수학 컨텐츠인 것이 바람직하나 반드시 이에 한정되는 것은 아니다. 또한, 자연어 및 수식의 조합으로 이루어진 조합 데이터는 사용자의 조작 또는 명령에 의해 직접 입력될 수 있으나 반드시 이에 한정되는 것은 아니며, 별도의 외부 서버로부터 자연어 및 수식의 조합으로 이루어진 문서 데이터를 입력받을 수도 있을 것이다.
제 4 분리부(1820)는 조합 데이터에서 자연어 및 수식을 분리한다. 즉, 제 4 분리부(1820)는 제 4 정보입력부(1810)를 통해 자연어 및 수식의 조합으로 이루어진 조합 데이터가 입력되면, 조합 데이터에 포함된 자연어와 수식을 분리하여 인식한다. 여기서, 수식은 컨텐츠 기반의 MathML(cMathML) 형태로 생성될 수 있다.
제 4 자연어처리부(1830)는 자연어를 토큰화한 자연어 토큰을 생성하고, 생성된 자연어 토큰에서 중지 단어(Stop Word)를 필터링한 중지단어 필터링 데이터를 생성하며, 중지 단어 필터링 데이터에서 중복 제거 필터링을 수행하여 중복 제거 필터링 데이터를 생성하고, 중복 제거 필터링 데이터에 기 정의된 의미가 부여된 동작 정보를 매칭한다. 여기서, 토큰(Token)이란 연속된 문장에서 구별할 수 있는 단위를 말하며, 토큰화는 자연어를 복합문장의 자연어 및 수식 처리 장치(100)가 이해할 수 있는 단위인 워드(Word) 단위로 쪼개는 과정을 말한다. 제 4 자연어처리부(1830)는 자연어 토큰에서 기 설정된 중지 단어로 판별된 자연어 토큰을 선별하여 제거하는 중지 단어 필터링을 수행하여 중지 단어 필터링 데이터를 생성한다. 제 4 자연어처리부(1830)는 중지 단어 필터링 데이터에서 중복되는 데이터를 선별하여 제거하는 중복 제거 필터링을 수행하여 중복 제거 필터링 데이터를 생성한다. 제 4 자연어처리부(1830)는 중복 제거 필터링 데이터에서 술어에 해당하는 데이터를 기 정의된 의미가 부여된 동작 정보와 매칭하여 자연어토큰을 추출할 수 있다.
토큰화에 대해 좀더 구체적으로 설명하면, 제 4 실시예에서 토큰화는 크게 자연어 토큰화와 수식 토큰화로 구분될 수 있는데, 이 중에서 자연어 토큰화란 조합 데이터(수학 문제 또는 복합문장)에 포함된 자연어를 공백(Space)을 기준으로 분리한 결과물에 해당하는 각각의 단어를 자연어 토큰으로 인식하는 과정을 말한다. 한편, 수식 토큰화란 조합 데이터에 포함되는 수식을 파싱(Parsing)한 후 얻게 되는 개별 단위 정보를 수식 토큰으로 인식하는 과정을 말한다.
[예제 1]
Figure PCTKR2011009333-appb-I000004
예를 들어서, [예제 1]에서 자연어 토큰에 해당하는 정보는 'Find', 'the', 'function', 'value', 'with' 가 되며, 수식 토큰은 파싱을 통해서 정보를 추출한 후에 반환되는 값인 다항식(Polynomial), 최고 차수(Maxdegree=3), 항의 수(Numofterm=4), 컨디션(Condition, y=-1) 등이 될 수 있다.
또한, 중지단어 필터링에 대하여 상세히 설명하면, 중지 단어란 문장이나 수식의 분석에 있어서 필요 없는 토큰에 해당하는 부분을 제거하기 위해서 미리 정의해 놓은 단어들의 집합을 의미한다. 즉, [예제 1]의 단어들 중에서 'the'와 같은 단어(이외에도 a나 to 등)는 중지단어로서 제 4 실시예에 따른 복합문장의 자연어 및 수식 처리 장치(100)에서 사전(Dictionary) 형태로 미리 정의되어 있다. 여기서, 사전은 단어의 집합을 포함하는 리스트를 의미한다. 즉, 제 4 자연어처리부(1830)는 자연어 토큰을 생성한 후 분석에 필요 없는 부분인 중지단어를 제거하는 과정을 수행하게 되는데, 중지 단어 필터링은 수학 문제가 길어질 경우(서술형 문제 등)에 분석 과정에 너무 많은 토큰이 들어가는 것을 방지해 주며, 더불어 수학문제의 처리 속도를 향상시키기 위해 동작한다. 그리고, 중복제거 필터링은, 예를 들어, "이 방정식에서 하나의 해는 3인데, 방정식이 가지고 있는 다른 해를 구하시오." 라는 수학문제가 있는 경우 자연어를 토큰화하고 나면 "방정식"과 "해"라는 토큰이 각각 두 개씩 추출될 수 있다. 이 경우 중복되는 2개의 "방정식"이라는 토큰과 2개의 "해"라는 토큰 중에서 각각 하나씩 제거하여, 제거된 데이터를 이용하여 동작정보 추출할 수 있다.
제 4 수식 처리부(1840)는 복합문장으로부터 분리된 수식을 파싱하고 시멘틱의미를 추출하여 수학식토큰을 생성한다. 제 4 수식 처리부(1840)는 수식을 트리 형태로 변환하고, 트리 형태로 변환된 수식에 횡단(Traverse) 과정을 수행하고, 횡단 과정이 수행된 수식에 토큰화를 수행한다. 제 4 수식 처리부(1840)는 Math ML(Mathematical Markup Language)로 작성된 수식을 XML 트리 형태로 변환한 후 DOM(Document Object Model) 형태로 변환할 수 있다. 제 4 수식 처리부(1840)는 수식을 구성하는 정보의 최하단 노드에서 점차 상위 노드로 전달되도록 하는 깊이 우선 검색(Depth-First Search) 방식으로 횡단을 실행하여 시멘틱 의미를 추출한다.
횡단 과정과 깊이 우선 검색에 대해 구체적으로 설명하면, 일반적으로 수식은 Math ML의 형태를 띄고 있으며, 이는 트리의 형태로 구성이 되며, 이러한 트리로부터 정보를 추출하기 위하여 이러한 트리의 노드를 검색해 나가는 과정을 횡단 과정이라 칭하며, 횡단 과정을 수행할 때, 깊이 우선 검색(Depth-First Search)을 사용할 수 있다. 깊이 우선 검색 횡단 과정은 트리의 루트(Root)에서 시작하여 자식 노드까지 들어간 후 모든 자식 노드의 검색이 끝나면 부모 노드로 이동하기 때문에, 자식 노드에서 가지고 있는 정보 모두를 부모 노드로 전달하며, 시간 복잡도 측면에서 노드 사이를 연결하는 연결선인 엣지(Edge)의 수만큼만 검색을 수행하면 되므로 효율적이다. 여기서 깊이 우선 검색을 예시하였으나 제 4 실시예가 이에 한정되지는 않는다.
도 20은 룰을 생성하는 절차를 예시한 도면이다.
제 4 룰저장부(1870)는 자연어토큰과 수학식토큰의 조합과 대응되는 동작정보를 결합한 룰을 저장한다.
여기서 제 4 룰저장부(1870)에 저장되는 룰은 각각 하나 이상의 자연어토큰과 수학식토큰의 논리적인 조건과 이러한 논리적인 조건에 대응하여 생성될 수 있는 동작 정보를 포함할 수 있다.
룰을 저장하기 위해서는 수학 문제를 기반으로 해서 어떠한 자연어 토큰과 수학시멘틱 토큰 조합이 있는지 파악하는 절차를 수행한다(S2010). 이는 룰의 논리적 조건(예컨대, Binary 트리 형태의 자료구조 상에서 LHS(Left Hand Side)로 저장될 수 있음)이 된다. 논리적 조건은 여러 개의 토큰으로 구성돼 있으면서 토큰들의 논리적인 관계를 정의할 수 있다. 즉, 두 개의 토큰이 동시에 만족해야만 하는 그리고(and) 조건, 두 개 중에 하나만 만족하면 되는 또는(or) 조건 등을 이용하여 다수의 자연어 토큰 및 수학식토큰을 논리적관계로 정의할 수 있다. 다음 단계로, 정의된 자연어 토큰과 수학식 토큰으로 구성된 논리적 조건에 대응하는 동작정보(Action)(예컨대 Binary 트리 형태의 자료구조 상에서 RHS(Right Hand Side)로 저장될 수 있음)를 정의하며(S2020), 따라서 이와 같은 정의에 의해 동작정보를 추출하고자 하는 수학문장이 제 4 룰저장부(1870)에 저장된 어느 룰의 논리적 조건을 만족하면 그에 대응되는 동작정보를 생성하는 형태가 될 수 있다. 이와 같이 정의된 룰을 화일로 생성하고(S2030), 생성된 화일을 룰엔진에 XML 형태로 입력함으로써 제 4 룰저장부(1870)에 저장될 수 있다(S2040).
제 4 동작추출부(1850)는 제 4 자연어처리부(1830) 및 제 4 수식 처리부(1840)에서 각각 생성된 자연어토큰과 수학식토큰을 제 4 룰저장부(1870)에 저장된 룰의 자연어와 수학식의 논리적 조건과 비교하여 저장된 어느 룰의 논리적 조건을 만족하면 그에 대응되는 동작정보를 추출하여 해당 복합문장의 동작정보로 생성한다.
도 24은 룰 매칭에 의해 동작정보를 추출하는 방법을 예시한 도면이다.
도 24에 예시하듯이, (A)와 같이 수학문장이 4개(P1, P2, P3, P4)가 존재하는 경우, (B)와 같이 제 4 자연어처리부(1830) 및 제 4 수식 처리부(1840)에 의해 파싱된 결과가 생성될 수 있다. 예를 들어, P1의 경우, 제 4 자연어처리부(1830)에 의해 파싱된 결과 수식명(Name)이 "Find"이고 그 타입은 동사(VB)임을 나타내고, 제 4 수식 처리부(1840)에 의해 파싱된 결과가 방정식(Equation)이 맞고(True), 다항식(Polynomial)이 맞음(True)을 나타내며 이를 (C)와 같이 저장된 룰의 논리적 조건과 비교하면 룰 R1, R2, R3 중에서 R1과 매칭됨을 알 수 있다. 따라서 (D)와 같이 매칭된 룰로부터 해당 논리적 조건을 만족하는 동작정보인 "Solve"를 동작정보로서 추출될 수 있다.
제 4 동작추출부(1850)는 제 4 룰저장부(1870)에 저장된 룰의 논리적조건을 만족하는 모든 동작정보를 추출할 수 있다. 만일, 자연어 토큰과 수학식 토큰 조합이 이루는 논리적 조건이 저장된 룰의 여러 가지 논리적 조건을 만족할 수도 있으며, 이 경우는 하나의 수학 문제가 여러 개의 동작정보를 포함하고 있는 경우이며, 자연어 토큰과 수학식 토큰 조합이 어떠한 논리적 조건도 만족하지 않는 경우는 해당 복합문장은 룰 생성시 수학문장의 분석에서 누락됐거나 분석과정에 포함되지 않은 항목 또는 잘못된 수학문장인 경우로 판단할 수 있다.
제 4 오브젝트생성부(1860)는 자연어 파싱의 결과 생성된 자연어토큰의 대상이 되는 수식을 수학식토큰 중에서 매칭시킨다.
도 21는 제 4 룰저장부(1870)로 사용되는 룰엔진의 구성 및 동작정보의 추출과정을 예시한 도면이다.
도 21에서 제 4 자연어처리부(1830)에서 추출된 자연어의 토큰과 제 4 수식 처리부(1840)에서 추출된 수학식의 시멘틱 의미를 갖는 수학식 토큰은 해당 수학식문제가 가진 전체 동작의 의미를 추출하기 위해서 사용된다. 앞서 설명한 것과 같이 수학식 문제의 전처리 과정(Pre-processing)을 통해서 어떤 자연어 토큰과 어떤 수학식 시멘틱 토큰이 들어왔을 때, 추출될 동작정보는 미리 XML로 입력되어(S2110) 룰(rule)로 정의되어 저장된다(S2120). 분석하고자 하는 복합문장은 자연어토큰과 수학식 토큰으로 분리 파싱되며(S2130, S2140), 각 토큰들은 사실(Fact)로써 제 4 동작추출부(1850)에 입력되고(S2150), 제 4 동작추출부(1850)는 룰을 검색할 수 있는 룰 엔진을 구동하여 룰이 정의되어 저장된(예컨대, XML 형태로) 제 4 룰저장부(1870)를 참조한다(S2160). 룰 엔진은 입력된 사실과 저장된 룰을 비교하여 논리적 조건을 만족하는 해당 룰의 동작정보를 발생한다(S2170).
도 22는 수학 오브젝트를 획득하는 절차에 대해서 간략히 도시한 도면이다.
도 22의 왼쪽 부분의 흐름도(S2240, S2250, S2260)는 자연어의 내부에 수학 문제에서 알고 있어야만 하는 기법(Technique), 정의(Definition), 정리(Theorem) 등의 지식(Knowledge)에 해당하는 정보를 추출한다. 이러한 정보는 문제 분석을 통해서 필요한 정보가 더 있는 경우, 원하는 형태의 범주(Category)를 만들고 추가할 수 있다.
도 22에서 오른쪽 부분의 흐름도(S2210, S2220, S2230)는 W3C에서 표준화된 MathML의 형태로 들어오는 수학식의 파싱(parsing)을 통해서 시멘틱 정보를 추출하는 과정을 나타낸다. 즉, 제 4 수식 처리부(1840)는 수학식토큰이 입력되면(S2210), 일반 DOM(Document Object Model)으로 XML을 트리 형태로 만든 후에 깊이 우선 검색(Depth First Search)를 통해서 가장 낮은 노드의 정보를 파악하고 상위 노드로 전달하는 식으로 정보를 수집하여 수학식을 파싱하고(S2220) 시멘틱 정보를 추출한다(S2230). 수학식의 시멘틱 정보 추출에 관한 기술은 제 4 실시예의 범위를 벗어나기 때문에 자세한 언급을 생략한다.
자연어가 입력되면(S2240), 자연어를 파싱하여 자연어토큰을 생성하고(S2250), 생성된 자연어토큰의 대상이 되는 수식을 제 4 수식 처리부(1840)에서 생성된 수학식토큰 중에서 매칭시키는 과정을 수행하여 해당 수학 오브젝트를 추출하여(S2260) 자연어토큰과 결합된 형태로 수학식 오브젝트를 저장한다(S2270).
여기서, 수학식 오브젝트는 저장하는 방법에 따라서 다양한 형태로 저장이 가능하며, 이는 병렬, 직렬, 내포(nested) 형태 등으로 표현될 수 있다. 즉, 하나의 수학식 오브젝트 내에 다수의 수학식 오브젝트가 직렬로 배열되거나 병렬로 배열되거나 하나의 수학식 오브젝트 내에 다른 수학식 오브젝트가 포함되는 형태가 될 수 있다.
제 4 실시예는 수학 문제의 동작정보와 수학 오브젝트는 수학 문제가 무엇을 하는 것인지, 어떤 내용을 포함하고 있는지에 대한 정보를 모두 포함하고 있다. 이런 수학 문제 시멘틱 정보를 바탕으로 활용할 수 있는 범위는 아주 광범위하다. 예를 들면, 어떤 사람이 이차 방정식을 푸는 문제를 연습하고 싶다고 하면, 현재의 수학 문제처럼 자연어를 비교하고, MathML 형태의 XML을 모두 파싱하고 원하는 정보가 있는지 확인하는 절차를 거치는 대신에, 미리 추출한 정보를 바탕으로 원하는 정보를 빠른 시간에 제공할 수 있는 것이다. 또한, 검색된 문제 간의 연관성(ranking)을 파악하는 과정에서도 사용될 수 있고, 이런 동작은 사용자로 하여금 최적의 검색 결과를 얻을 수 있도록 도와줄 수 있다.
도 23은 제 4 실시예에 따른 복합문장의 시멘틱 정보 추출방법을 설명하기 위한 순서도이다.
제 4 실시예에 따른 복합문장의 시멘틱 정보 추출방법은 자연어)와 수식이 포함된 복합문장을 수신하는 정보입력단계(S2310), 복합문장에서 자연어 및 수식을 분리하는 분리단계(S2320), 분리된 자연어를 토큰화하여 자연어토큰을 생성하는 자연어처리단계(S2330), 분리된 수식을 파싱하고 시멘틱의미를 추출하여 수학식토큰을 생성하는 수식처리단계(S2340), 생성된 자연어토큰과 수학식토큰을 자연어와 수학식의 논리적 조건 및 상기 논리적 조건에 대응되는 동작정보를 결합한 룰을 비교하여 복합문장의 동작정보를 추출하는 동작추출단계(S2350) 및 생성된 자연어토큰의 대상이 되는 수식을 생성된 수학식토큰 중에서 매칭시키는 오브젝트생성단계(S2360)를 포함한다.
여기서, 정보입력단계(S2310)는 제 4 정보입력부(1810)의 동작에 대응되며, 분리단계(S2320)는 제 4 분리부(1820)의 동작에 대응되며, 자연어처리단계(S2330)는 제 4 자연어처리부(1830)의 동작에 대응되며, 수식처리단계(S2340)는 제 4 수식 처리부(1840)의 동작에 대응되며, 동작추출단계(S2350)은 제 4 동작추출부(1850)의 동작에, 오브젝트생성단계(S2360)는 제 4 오브젝트생성부(1860)의 동작에 각각 대응되므로 상세한 설명은 생략한다.
전술한 바와 같이 도 23에 기재된 제 4 실시예에 따른 복합문장의 시멘틱 정보 추출방법은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 제 4 실시예에 따른 복합문장의 시멘틱 정보 추출방법을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 이러한 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 제 4 실시예를 구현하기 위한 기능적인(Functional) 프로그램, 코드 및 코드 세그먼트들은 제 4 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다.
도 25은 제 4 실시예에 따른 복합문장의 자연어 및 수식 처리 장치가 클라우드 컴퓨팅으로 데이터를 제공하는 시스템에 대한 예시도이다.
제 4 실시예에 따른 복합문장의 자연어 및 수식 처리 장치가 클라우드 컴퓨팅으로 데이터를 제공하기 위해서는 단말기(910), 통신망(920) 및 제 4 클라우드 컴퓨팅 장치(2500)를 포함한 시스템이 필요하다.
여기서, 단말기(910)는 사용자의 명령 또는 조작에 따라 통신망(920)을 경유하여 각종 데이터를 송수신할 수 있는 단말기를 말하는 것이며, 태블릿 PC, 랩톱, 개인용 컴퓨터, 스마트폰, 개인휴대용 정보단말기 및 무선 통신 단말기 등 중 어느 하나일 수 있다. 또한, 단말기(910)는 통신망(920)을 통하여 데이터 읽거나 입력 및 저장, 네트워크, 컨텐츠 사용 등의 서비스를 이용할 수 있는 클라우드 컴퓨팅을 지원하는 클라우드 컴퓨팅 단말기가 될 수 있다. 즉, 단말기(910)는 통신망(920)을 경유하여 제 4 클라우드 컴퓨팅 장치(2500)에 접속하기 위한 프로그램을 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하고 있는 장치를 의미한다. 즉, 단말기(910)로는 통신망(920)에 연결되어 제 4 클라우드 컴퓨팅 장치(2500)와 클라이언트-서버 통신이 가능하다면 그 어떠한 단말기도 가능하며, 노트북 컴퓨터, 이동통신 단말기, PDA 등 여하한 통신 컴퓨팅 장치를 모두 포함하는 넓은 개념이다. 한편, 단말기(910)는 터치 스크린을 구비한 형태로 제작되는 것이 바람직하나 반드시 이에 한정되는 것은 아니다.
단말기(910)는 제 4 클라우드 컴퓨팅 장치(2500)로 복합문장을 입력하고 제 4 클라우드 컴퓨팅 장치(2500)는 통해 클라우드 컴퓨팅 방식으로 복합문장의 복합문장의 시멘틱 정보를 추출하고 단말기(910)으로 제공할 수 있다. 즉, 단말기(910)는 제 4 클라우드 컴퓨팅 장치(2500)로부터 클라우드 컴퓨팅 방식으로 데이터의 입출력을 위하여 제 4 클라우드 컴퓨팅 장치(2500)와의 입출력 인터페이스를 제공하는 별도의 입출력 인터페이스부를 포함할 수 있으며, 입출력 인터페이스부를 통해 제 4 클라우드 컴퓨팅 장치(2500)에 저장된 저장 매체에 대한 데이터 읽기 및 쓰기가 수행되도록 하는 인터페이스 제어부를 포함할 수 있다. 이에 대해 좀 더 구체적으로 설명하면, 단말기(910)는 입출력 인터페이스부를 통해 자연어 및 수식의 조합으로 이루어진 복합문장을 제 4 클라우드 컴퓨팅 장치(2500)로 입력할 수 있고, 제 4 클라우드 컴퓨팅 장치(2500)는 자연어와 수식이 포함된 복합문장을 수신하고 복합문장에서 자연어 및 상기 수식을 분리한 후, 분리된 자연어를 토큰화하여 자연어토큰을 생성하고 분리된 수식을 파싱하고 시멘틱의미를 추출하여 수학식토큰을 생성하고 자연어와 수학식의 논리적 조건 및 논리적 조건에 대응되는 동작정보를 결합한 룰을 이용하여 생성된 자연어토큰과 수학식토큰을 저장된 룰의 논리적 조건과 비교하여 룰로부터 복합문장의 동작정보를 추출하므로, 실질적으로 단말기(910)에서는 어떠한 어플리케이션의 탑재 없이도 복합문장의 시멘틱 정보를 추출할 수 있다.
통신망(920)은 인터넷망, 인트라넷망, 이동통신망, 위성 통신망 등 다양한 유무선 통신 기술을 이용하여 인터넷 프로토콜로 데이터를 송수신할 수 있는 망을 말하며, 단말기(910)와 제 4 클라우드 컴퓨팅 장치(2500) 간에 데이터를 중계하는 기능을 수행한다.
제 4 클라우드 컴퓨팅 장치(2500)는 자연어 및 수식 처리 장치(100)를 기반으로 구현될 수 있으며, 클라우드 컴퓨팅 방법으로 단말기(910)에게 복합문장의 시멘틱 정보를 추출할 수 있도록, 단말기(910)로 하여금 제 4 클라우드 컴퓨팅 장치(2500)에 저장된 저장 매체에 대한 데이터의 읽기 및 쓰기가 수행되도록 하되, 자연어 및 수식의 조합으로 이루어진 복합문장이 입력되면, 복합문장에서 자연어 및 수식을 각각 분리하며, 분리된 자연어 및 수식을 구성하고 있는 각각의 정보를 분석하여 시멘틱 의미를 추출하고, 자연어토큰 규칙을 참조하여 자연어토큰의 의미에 대응되는 동작정보를 추출하여 기록매체에 저장하며, 해당 기록매체의 데이터를 단말기(910)로 전송함으로써, 단말기(910)에서 어플리케이션의 탑재 없이 복합문장의 논리적 표현을 변환할 수 있도록 하는 클라우드 컴퓨팅을 제공할 수 있다. 즉, 제 4 클라우드 컴퓨팅 장치(2500)는 클라우드 컴퓨팅 방식으로 복합문장의 시멘틱 정보를 추출한 결과를 저장하는 제 4 시멘틱 정보 추출부(2510)와 단말기(910)로 하여금 제 4 시멘틱 정보 추출부(2510)에 의해 저장 매체에 저장된 데이터의 읽기 및 쓰기가 수행되도록 하는 제 4 클라우드 컴퓨팅부(2520)를 구비할 수 있다.
<제 5 실시예>
이하, 도 26 내지 도 32을 통해서는 자연어와 수학식이 포함된 복합문장의 논리적 표현 변환방법과 그를 위한 장치인 제 5 실시예에 대해 설명토록 한다.
도 26은 제 5 실시예에 따른 복합문장의 자연어 및 수식 처리 장치를 개략적으로 나타낸 블럭 구성도이다.
제 5 실시예에 따른 복합문장의 자연어 및 수식 처리 장치(100)는 제 5 정보 입력부(2610), 제 5 문장분석부(2620), 제 5 동작추출부(2630) 및 제 5 동작실행부(2640)를 포함하여 구성될 수 있다. 제 5 정보 입력부(2610)는 자연어와 수식이 포함된 복합문장을 수신한다. 제 5 문장분석부(2620)는 복합문장의 문장구성을 분석하여 수식데이터 및 자연어를 각각 토큰화하여 수식토큰 및 자연어토큰을 생성한다. 제 5 동작추출부(2630)는 자연어토큰 규칙을 참조하여 상기 자연어토큰의 의미에 대응되는 동작 정보를 추출한다. 제 5 동작실행부(2640)는 추출된 동작 정보를 수식토큰에 대하여 구조화한다. 여기서, 구조화의 의미는 추출된 동작 정보를 수식토큰과 결합하여 구조화한다는 의미이다.
도 27는 제 5 실시예에 따른 제 5 문장분석부(2620)를 개략적으로 나타낸 블럭 구성도이다.
제 5 문장분석부(2620)는 조합 데이터에서 자연어 및 수식을 각각 분리하는 제 5 분리부(2710), 분리된 자연어를 구성하고 있는 각각의 자연어정보를 분석하여 시멘틱의미를 추출하는 제 5 자연어 처리부(2720) 및 분리된 수식을 구성하고 있는 각각의 수식정보를 분석하여 시멘틱 의미를 추출하는 제 5 수식 처리부(2730)를 포함한다.
제 5 정보 입력부(2610)는 자연어 및 수식의 조합으로 이루어진 조합 데이터를 입력받는다. 여기서, 조합 데이터는 수학 문제, 수식 증명 등을 포함한 수학 컨텐츠인 것이 바람직하나 반드시 이에 한정되는 것은 아니다. 또한, 자연어 및 수식의 조합으로 이루어진 조합 데이터는 사용자의 조작 또는 명령에 의해 직접 입력될 수 있으나 반드시 이에 한정되는 것은 아니며, 별도의 외부 서버로부터 자연어 및 수식의 조합으로 이루어진 문서 데이터를 입력받을 수도 있을 것이다. 제 5 분리부(2710)는 조합 데이터에서 자연어 및 수식을 각각 분리한다. 즉, 제 5 분리부(2710)는 제 5 정보 입력부(2610)를 통해 자연어 및 수식의 조합으로 이루어진 조합 데이터가 입력되면, 조합 데이터에 포함된 자연어와 수식을 각각 분리하여 인식한다.
제 5 자연어 처리부(2720)는 분리된 자연어를 구성하고 있는 자연어정보를 분석하여 시멘틱 의미를 추출한다. 제 5 자연어 처리부(2720)는 자연어를 토큰화(Tokenization)한 자연어 토큰을 생성하고, 자연어 토큰을 근거로 기설정된 중지 단어(Stop Word)를 필터링한 중지 단어 필터링 데이터를 생성하며, 중지 단어 필터링 데이터에서 중복 제거 필터링을 수행한 중복 제거 필터링 데이터를 생성한다. 여기서, 토큰(Token)이란 연속된 문장에서 구별할 수 있는 단위를 말하며, 토큰화는 자연어를 복합문장의 자연어 및 수식 처리 장치(100)가 이해할 수 있는 단위인 워드(Word) 단위로 쪼개는 과정을 말한다. 토큰화에 대해 좀더 구체적으로 설명하면, 제 5 실시예에서 토큰화는 크게 자연어 토큰화와 수식 토큰화로 구분된다. 자연어 토큰화란 조합 데이터(수학 문제 또는 복합문장)에 포함된 자연어를 공백(Space)을 기준으로 분리한 결과물에 해당하는 각각의 단어를 자연어 토큰으로 인식하는 과정을 말한다. 한편, 수식 토큰화란 조합 데이터에 포함되는 수식을 파싱(Parsing)한 후 얻게 되는 개별 단위 정보를 수식 토큰으로 인식하는 과정을 말한다.
[예제 1]
Figure PCTKR2011009333-appb-I000005
예를 들어서, [예제 1]에서 자연어 토큰에 해당하는 정보는 'Find', 'the', 'function', 'value', 'with' 가 되며, 수식 토큰은 파싱을 통해서 정보를 추출한 후에 반환되는 값인 다항식(Polynomial), 최고 차수(Maxdegree=3), 항의 수(Numofterm=4), 컨디션(Condition, y=-1) 등이 될 수 있다.
또한, 중지단어 필터링에 대하여 상세히 설명하면, 중지 단어란 문장이나 수식의 분석에 있어서 필요 없는 토큰에 해당하는 부분을 제거하기 위해서 미리 정의해 놓은 단어들의 집합을 의미하며, 제 5 자연어 처리부(2720)는 자연어토큰 중에서 불필요한 토큰을 정의한 중지단어 리스트를 참조하여 수행될 수 있다. 즉, [예제 1]의 단어들 중에서 'the'와 같은 단어(이외에도 a나 to 등)는 중지단어로서 시스템에서 사전(Dictionary) 형태로 미리 정의되어 있다. 여기서, 사전은 단어의 집합을 포함하는 리스트를 의미한다. 즉, 제 5 자연어 처리부(2720)는 자연어 토큰을 생성한 후 분석에 필요 없는 부분인 중지단어를 제거하는 과정을 수행하게 되는데, 중지 단어 필터링은 수학 문제가 길어질 경우(서술형 문제 등)에 분석 과정에 너무 많은 토큰이 들어가는 것을 방지해 주며, 더불어 시스템의 처리 속도를 향상시키기 위해 동작한다. 제 5 자연어 처리부(2720)는 중지 단어 필터링 데이터에서 중복되는 데이터를 선별하여 제거하는 중복 제거 필터링을 수행하여 중복 제거 필터링 데이터를 생성한다.
제 5 동작추출부(2630)는 제 5 자연어 처리부(2720)에서 중복 제거 필터링 데이터에 기 정의된 자연어토큰 규칙을 참조하여 자연어토큰의 의미에 대응되는 동작 정보를 추출한다. 동작 정보(action)는 입력된 복합문장이 문제를 푸는 것인지, 개념을 설명하는 것인지 등에 관해서 실제 푸는 사람이 동작을 취할 수 있도록 하는 정보에 기반해서 문제에서 추출한 정보이다. 즉, 동작 정보는 수학 문제에 포함되는 토큰을 바탕으로 추출할 수 있는 요약 정보를 의미한다. 예를 들어 위의 [예제 1]의 수학콘텐츠에서 자연어 토큰과 수학 토큰을 바탕으로 solve라는 동작 정보를 추출할 수 있다. 이렇게 함으로써 수학문제를 스키마로 정의하는 과정에서 전체 문제가 의미하는 대표 동작에 대한 정보를 가질 수 있다. 이는 이후에 검색이나 문제간의 연관성(similarity)을 분석할 때 도움이 되는 도구가 될 수 있다.
제 5 수식 처리부(2730)는 분리된 수식을 구성하고 있는 각각의 수식정보를 분석하여 시멘틱 의미를 추출한다. 제 5 수식 처리부(2730)는 수식을 트리 형태로 변환하고, 트리 형태로 변환된 수식에 횡단(Traverse) 과정을 수행하고, 횡단 과정이 수행된 수식에 토큰화를 수행한다. 제 5 수식 처리부(2730)는 Math ML(Mathematical Markup Language)로 작성된 수식을 XML 트리 형태로 변환한 후 DOM(Document Object Model) 형태로 변환한다. 제 5 수식 처리부(2730)는 수식을 구성하는 수식정보를 최하단 노드에서 점차 상위 노드로 전달되도록 하는 깊이 우선 검색(Depth-First Search) 방식으로 횡단을 실행한다. 한편, 횡단 과정과 깊이 우선 검색에 대해 구체적으로 설명하면, 일반적으로 수식은 Math ML의 형태를 띄고 있으며, 이는 트리의 형태로 구성이 되며, 이러한 트리로부터 정보를 추출하기 위하여 이러한 트리의 노드를 검색해 나가는 과정을 횡단 과정이라 칭하며, 횡단 과정을 수행할 때, 깊이 우선 검색(Depth-First Search)을 사용할 수 있다. 깊이 우선 검색 횡단 과정은 트리의 루트(Root)에서 시작하여 자식 노드까지 들어간 후 모든 자식 노드의 검색이 끝나면 부모 노드로 이동하기 때문에, 자식 노드에서 가지고 있는 정보 모두를 부모 노드로 전달하며, 시간 복잡도 측면에서 노드 사이를 연결하는 연결선인 엣지(Edge)의 수만큼만 검색을 수행하면 되므로 효율적이다.
도 28은 제 5 실시예에 따른 자연어 처리부를 개략적으로 나타낸 블럭 구성도이다.
제 5 실시예에 따른 제 5 자연어 처리부(2720)는 제 5 자연어 토큰화부(2810), 제 5 중지 단어 필터링부(2820) 및 제 5 중복 제거 필터링부(2830)를 포함한다. 한편, 제 5 실시예에서는 제 5 자연어 처리부(2720)가 제 5 자연어 토큰화부(2810), 제 5 중지 단어 필터링부(2820), 제 5 중복 제거 필터링부(2830)만을 포함하는 것으로 기재하고 있으나, 이는 제 5 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 제 5 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 제 5 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 제 5 자연어 처리부(2720)에 포함되는 구성 요소에 대하여 다양하게 수정 및 변형하여 적용 가능할 것이다.
제 5 자연어 토큰화부(2810)는 자연어를 토큰화한 자연어 토큰을 생성한다. 제 5 자연어 토큰화부(2810)는 자연어를 구성하고 있는 자연어정보에 대해 토큰화를 수행하여 자연어 토큰을 생성한다. 예를 들어서, 복합문장의 자연어 및 수식 처리 장치(100)는 제 5 자연어 토큰화부(2810)를 이용하여 조합 데이터에 포함된 자연어 노드를 개별적으로 입력받거나 자연어 노드 전체를 한번에 입력받을 수 있다. 여기서, 자연어는 노드 자체가 복수 개의 단어로 구성된 문장의 성질을 가지지나 완벽한 문장으로 한정되는 것은 아니다. 즉, 이런 자연어 노드를 복합문장의 자연어 및 수식 처리 장치(100)가 이해할 수 있는 단위인 워드 단위로 쪼개게 되는데, 이러한 과정을 토큰화 과정이라고 한다.
제 5 중지 단어 필터링부(2820)는 자연어 토큰을 근거로 중지 단어를 필터링한 중지 단어 필터링 데이터를 생성한다. 제 5 중지 단어 필터링부(2820)는 자연어 토큰에서 기 설정된 중지 단어로 판별된 자연어 토큰을 선별하여 제거하는 중지 단어 필터링을 수행하여 중지 단어 필터링 데이터를 생성한다. 즉, 복합문장의 자연어 및 수식 처리 장치(100)는 제 5 중지 단어 필터링부(2820)를 이용하여 토큰화 과정이 수행된 후 자연어를 구성하고 있는 자연어정보가 복수 개의 토큰으로 분리되어 복합문장의 자연어 및 수식 처리 장치(100)에 입력되면, 다음 단계로 중지 단어 제거 과정을 거친다. 이 과정에서는 시멘틱 의미를 추출하기 위해 필요 없는 토큰들을 제거하게 된다. 예를 들어서, '이', '저', '여기' 및 '저기' 등이 중지 단어로 설정될 수 있으나 반드시 이에 한정되는 것은 아니며, 의미상 필요 없는 토큰을 설정하는 것은 각 시스템에 따라 다르게 설정될 수 있다.
제 5 중복 제거 필터링부(2830)는 중지 단어 필터링 데이터에서 중복 제거 필터링을 수행한 중복 제거 필터링 데이터를 생성한다. 제 5 중복 제거 필터링부(2830)는 중지 단어 필터링 데이터에서 중복되는 데이터를 선별하여 제거하는 중복 제거 필터링을 수행하여 중복 제거 필터링 데이터를 생성한다. 즉, 복합문장의 자연어 및 수식 처리 장치(100)는 제 5 중복 제거 필터링부(2830)를 이용하여 중지 단어를 필터링한 후 중복을 제거하는 과정을 수행하며, 중복 제거 필터링을 통해 중복된 단어를 제거함으로써 복합문장의 자연어 및 수식 처리 장치(100)의 처리 부하를 낮출 수 있다.
제 5 동작추출부(2630)는 자연어토큰 규칙을 참조하여 자연어토큰의 의미에 대응되는 동작 정보를 추출한다. 여기서 자연어토큰 규칙은 자연어토큰의 동작 정보를 정의한 규칙을 의미하며, 자연어에서의 다양한 표현을 어떤 시멘틱 의미(자연어토큰의 의미)로 정의하고, 자연어토큰의 방향성 및 자연어토큰의 영향이 미치는 지점을 포함할 수 있다. 여기서 방향성이란 수학컨텐츠 내의 자연어토큰이 해당 자연어토큰의 앞의 수학식과 연관되는지, 아니면 뒤의 수학식과 연관되는지 또는 독립적인지를 나타내는 것을 의미한다.
도 29는 제 5 실시예에 따른 수식 처리부를 개략적으로 나타낸 블럭 구성도이다.
제 5 실시예에 따른 제 5 수식 처리부(2730)는 제 5 트리 변환부(2910), 제 5 시멘틱 파싱부(2920) 및 제 5 수식 토큰화부(2930)를 포함한다. 한편, 제 5 실시예에서는 제 5 수식 처리부(2730)가 제 5 트리 변환부(2910), 제 5 시멘틱 파싱부(2920) 및 제 5 수식 토큰화부(2930)만을 포함하는 것으로 기재하고 있으나, 이는 제 5 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 제 5 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 제 5 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 제 5 수식 처리부(2730)에 포함되는 구성 요소에 대하여 다양하게 수정 및 변형하여 적용 가능할 것이다. 여기서, 시멘틱이란 해당 장치에서 특정 정보의 뜻을 이해하고 논리적 추론 가능하도록 하는 정보를 의미한다.
복합문장의 자연어 및 수식 처리 장치(100)는 제 5 정보 입력부(2610)를 통해 표준화된 형식으로 작성된 개별 수식을 입력받고, 이를 제 5 수식 처리부(2730)로 전달하게 된다. 즉, 제 5 수식 처리부(2730)로 전달된 수식은 W3C(World Wide Web Consortium)에서 정의된 표준인 Math ML(Mathematical Markup Language)을 기준으로 XML 태그의 형태를 이룬다. 단, 제 5 수식 처리부(2730)로 전달된 수식은 Math ML 인 것이 바람직하나 반드시 이에 한정되는 것은 아니다.
제 5 트리 변환부(2910)는 수식을 트리 형태로 변환한다. 제 5 트리 변환부(2910)는 Math ML로 작성된 수식을 XML 트리 형태로 변환한 후 DOM 형태로 변환한다. 복합문장의 자연어 및 수식 처리 장치(100)는 제 5 트리 변환부(2910)를 이용하여 수식을 Math ML 형태의 XML 트리로 변환하고, 이 트리는 DOM(Document Object Model)로 변경되어 프로그램에서 접근 가능한 트리 형태로 변환된다.
제 5 시멘틱 파싱부(2920)는 트리 형태로 변환된 수식에 횡단 과정을 수행한다. 제 5 시멘틱 파싱부(2920)는 수식을 구성하는 수식정보를 최하단 노드에서 점차 상위 노드로 전달되도록 하는 깊이 우선 검색 방식으로 횡단을 실행한다. 복합문장의 자연어 및 수식 처리 장치(100)는 제 5 시멘틱 파싱부(2920)를 이용하여 수식이 가진 시멘틱 의미를 파악하기 위해서 횡단 과정을 거치는데, 제 5 시멘틱 파싱부(2920)는 가장 낮은 노드에서 점차 상위 노드로 정보를 전달하는 형태인 깊이 우선 검색으로 횡단을 실행한다. 이에 따라 결과적으로, 제 5 시멘틱 파싱부(2920)를 통해 수집된 수식을 구성하는 정보는 모두 최상위 노드에 집결되고, 이러한 정보를 바탕으로 수식의 토큰을 만드는 과정을 거치게 된다.
제 5 수식 토큰화부(2930)는 횡단 과정이 수행된 수식에 토큰화를 수행한다. 즉, 토큰화된 수식 토큰은 수학 언어(Mathematics Natural Language)로 이루어진 토큰을 말한다. 한편, 수식 토큰은 자연어 토큰과는 다르게 취급된다. 즉, 제 5 자연어 처리부(2720)에서는 자연어 토큰을 바탕으로 동작 정보를 매칭하는 반면, 제 5 수식 처리부(2730)에서는 수식 토큰이 결과물이 되며, 향후 수식 토큰은 검색을 통해서 수학 컨텐츠를 찾는 등의 작업에 이용될 수 있다.
제 5 동작실행부(2640)는 제 5 동작추출부(2630)에서 추출된 동작 정보를 수식토큰에 대하여 결합하여 구조화하여 소정의 정의된 스키마 형태(예컨대 XML로 구조화)로 출력하거나 또는 저장매체에 저장할 수 있다.
도 30는 제 5 실시예에 따른 복합문장의 논리적 표현 변환방법을 설명하기 위한 순서도이다.
복합문장의 자연어 및 수식 처리 장치(100)는 자연어 및 수식의 조합으로 이루어진 복합문장을 입력받는다(S3010). 여기서, 자연어 및 수식의 조합으로 이루어진 복합문장은 사용자의 조작 또는 명령에 의해 직접 입력될 수 있으나 반드시 이에 한정되는 것은 아니며, 별도의 외부 서버로부터 자연어 및 수식의 조합으로 이루어진 복합문장을 입력받을 수도 있을 것이다. 복합문장의 자연어 및 수식 처리 장치(100)는 복합문장에서 자연어 및 수식을 각각 분리한다(S3020). 즉, 복합문장의 자연어 및 수식 처리 장치(100)는 자연어 및 수식의 조합으로 이루어진 복합문장이 입력되면, 복합문장에 포함된 자연어와 수식을 각각 분리하여 인식한다.
복합문장의 자연어 및 수식 처리 장치(100)는 분리된 자연어를 구성하고 있는 자연어정보를 분석하여 시멘틱 의미를 추출하는 프로세스를 처리한다(S3030). 즉, 복합문장의 자연어 및 수식 처리 장치(100)는 자연어를 토큰화한 자연어 토큰을 생성하고, 자연어 토큰을 근거로 중지 단어를 필터링한 단어 필터링 데이터를 생성하며, 중지 단어 필터링 데이터에서 중복 제거 필터링을 수행한 중복 제거 필터링 데이터를 생성하고, 중복 제거 필터링 데이터에 기 정의된 의미가 부여된 동작 정보를 매칭한다. 복합문장의 자연어 및 수식 처리 장치(100)는 자연어를 구성하고 있는 자연어정보에 대해 토큰화를 수행하여 자연어 토큰을 생성한다. 복합문장의 자연어 및 수식 처리 장치(100)는 자연어 토큰에서 기 설정된 중지 단어로 판별된 자연어 토큰을 선별하여 제거하는 중지 단어 필터링을 수행하여 중지 단어 필터링 데이터를 생성한다. 복합문장의 자연어 및 수식 처리 장치(100)는 중지 단어 필터링 데이터에서 중복되는 데이터를 선별하여 제거하는 중복 제거 필터링을 수행하여 중복 제거 필터링 데이터를 생성한다.
복합문장의 자연어 및 수식 처리 장치(100)는 분리된 수식을 구성하고 있는 각각의 수식정보를 분석하여 시멘틱 의미를 추출하는 프로세스를 처리한다(S3040). 복합문장의 자연어 및 수식 처리 장치(100)는 수식을 트리 형태로 변환하고, 트리 형태로 변환된 수식에 횡단 과정을 수행하고, 횡단 과정이 수행된 수식에 토큰화를 수행한다. 복합문장의 자연어 및 수식 처리 장치(100)는 Math ML로 작성된 수식을 XML 트리 형태로 변환한 후 DOM 형태로 변환한다. 복합문장의 자연어 및 수식 처리 장치(100)는 수식을 구성하는 수식정보를 최하단 노드에서 점차 상위 노드로 전달되도록 하는 깊이 우선 검색 방식으로 횡단을 실행한다.
복합문장의 자연어 및 수식 처리 장치(100)는 자연어토큰 규칙을 참조하여 자연어토큰의 의미에 대응되는 동작 정보를 추출하고(S3050), 추출된 동작 정보를 수식토큰에 대하여 구조화하여 소정의 정의된 스키마 형태로 출력하거나 또는 저장매체에 저장할 수 있다(S3060).
도 30에서는 단계 S3010 내지 단계 S3060을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 제 5 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 제 5 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 제 5 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 30에 기재된 순서를 변경하여 실행하거나 단계 S3010 내지 단계 S3060 중 하나 이상의 단계를 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 30는 시계열적인 순서로 한정되는 것은 아니다.
전술한 바와 같이 도 30에 기재된 제 5 실시예에 따른 복합문장의 논리적 표현 변환방법은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 제 5 실시예에 따른 복합문장의 논리적 표현 변환방법을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 이러한 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 제 5 실시예를 구현하기 위한 기능적인(Functional) 프로그램, 코드 및 코드 세그먼트들은 제 5 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다.
도 31은 제 5 실시예에 따른 복합문장의 트리 형태 표현을 나타낸 예시도이다.
도 31에 도시된 바와 같이, 하나의 수학 컨텐츠가 가질 수 있는 구조를 표현하면, 루트(Root) 노드에 연결된 자식 노드들은 중요 의미 중 하나인 어순 정보를 그대로 유지한 채 자연어와 수식으로 분리된 형태를 갖게 된다. 또한, 각 자연어는 문장의 연결 순서에 따라 특별한 의미를 가진다. 즉, 많은 수학 컨텐츠는 자연어를 기준으로 수식을 엮는 구조가 대부분이다. 예를 들어서, 하나의 자연어의 뒤에 따라오는 수식이 특정 조건으로서 연결되거나, 뒤에 오는 수식이 정의되었는지 등의 구조를 가질 수 있는 것이다. 각 노드의 자연어가 가지는 의미와 연결 관계뿐만 아니라, 자연어를 통합하여 시멘틱 의미를 추출할 수 있다. 즉, 수학 컨텐츠에서 요구하는 것이 해당 수식을 푸는 것인지, 설명하는 것인지 등의 동작을 구분하기 위해서는 전체 자연어를 한데 묶어서 의미를 파악하는 것으로 문제의 방향성을 파악하는데 이용될 수 있다.
도 32은 제 5 실시예에 따른 복합문장의 논리적 표현 변환 장치가 클라우드 컴퓨팅으로 데이터를 제공하는 시스템에 대한 예시도이다.
제 5 실시예에 따른 복합문장의 자연어 및 수식 처리 장치가 클라우드 컴퓨팅으로 데이터를 제공하기 위해서는 단말기(910), 통신망(920) 및 복합문장의 제 5 클라우드 컴퓨팅 장치(3200)를 포함한 시스템이 필요하다.
여기서, 단말기(910)는 사용자의 명령 또는 조작에 따라 통신망(920)을 경유하여 각종 데이터를 송수신할 수 있는 단말기를 말하는 것이며, 태블릿 PC, 랩톱, 개인용 컴퓨터, 스마트폰, 개인휴대용 정보단말기 및 무선 통신 단말기 등 중 어느 하나일 수 있다. 또한, 단말기(910)는 통신망(920)을 통하여 데이터 읽거나 입력 및 저장, 네트워크, 컨텐츠 사용 등의 서비스를 이용할 수 있는 클라우드 컴퓨팅을 지원하는 클라우드 컴퓨팅 단말기가 될 수 있다. 즉, 단말기(910)는 통신망(920)을 경유하여 복합문장의 제 5 클라우드 컴퓨팅 장치(3200)에 접속하기 위한 프로그램을 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하고 있는 장치를 의미한다. 즉, 단말기(910)로는 통신망(920)에 연결되어 복합문장의 제 5 클라우드 컴퓨팅 장치(3200)와 클라이언트-서버 통신이 가능하다면 그 어떠한 단말기도 가능하며, 노트북 컴퓨터, 이동통신 단말기, PDA 등 여하한 통신 컴퓨팅 장치를 모두 포함하는 넓은 개념이다. 한편, 단말기(910)는 터치 스크린을 구비한 형태로 제작되는 것이 바람직하나 반드시 이에 한정되는 것은 아니다.
단말기(910)는 복합문장의 제 5 클라우드 컴퓨팅 장치(3200)로 복합문장을 입력하고 복합문장의 제 5 클라우드 컴퓨팅 장치(3200)는 통해 클라우드 컴퓨팅 방식으로 복합문장의 논리적 관계를 갖도록 그 표현을 변환하고 단말기(910)으로 제공할 수 있다. 즉, 단말기(910)는 복합문장의 제 5 클라우드 컴퓨팅 장치(3200)로부터 클라우드 컴퓨팅 방식으로 데이터의 입출력을 위하여 복합문장의 제 5 클라우드 컴퓨팅 장치(3200)와의 입출력 인터페이스를 제공하는 별도의 입출력 인터페이스부를 포함할 수 있으며, 입출력 인터페이스부를 통해 복합문장의 제 5 클라우드 컴퓨팅 장치(3200)에 저장된 저장 매체에 대한 데이터 읽기 및 쓰기가 수행되도록 하는 인터페이스 제어부를 포함할 수 있다. 이에 대해 좀 더 구체적으로 설명하면, 단말기(910)는 입출력 인터페이스부를 통해 자연어 및 수식의 조합으로 이루어진 복합문장을 복합문장의 제 5 클라우드 컴퓨팅 장치(3200)로 입력할 수 있고, 복합문장의 제 5 클라우드 컴퓨팅 장치(3200)는 복합문장에서 자연어 및 수식을 각각 분리하고, 분리된 자연어를 구성하고 있는 각각의 자연어정보 및 수식정보를 분석하여 시멘틱 의미를 추출하고, 자연어토큰 규칙을 참조하여 자연어토큰의 의미에 대응되는 동작 정보를 추출하여 추출된 동작 정보를 수식토큰에 대하여 구조화하므로, 실질적으로 단말기(910)에서는 어떠한 어플리케이션의 탑재 없이도 복합문장의 논리적 표현을 변환할 수 있다.
통신망(920)은 인터넷망, 인트라넷망, 이동통신망, 위성 통신망 등 다양한 유무선 통신 기술을 이용하여 인터넷 프로토콜로 데이터를 송수신할 수 있는 망을 말하며, 단말기(910)와 제 5 클라우드 컴퓨팅 장치(3200) 간에 데이터를 중계하는 기능을 수행한다.
제 5 클라우드 컴퓨팅 장치(3200)는 자연어 및 수식 처리 장치(100)를 기반으로 구현될 수 있으며, 클라우드 컴퓨팅 방법으로 단말기(910)에게 복합문장의 논리적 표현 변환 결과를 제공할 수 있도록, 단말기(910)로 하여금 복합문장의 제 5 클라우드 컴퓨팅 장치(3200)에 저장된 저장 매체에 대한 데이터의 읽기 및 쓰기가 수행되도록 하되, 자연어 및 수식의 조합으로 이루어진 복합문장이 입력되면, 복합문장에서 자연어 및 수식을 각각 분리하며, 분리된 자연어 및 수식을 구성하고 있는 각각의 정보를 분석하여 시멘틱 의미를 추출하고, 자연어토큰 규칙을 참조하여 자연어토큰의 의미에 대응되는 동작 정보를 추출하여 추출된 동작 정보를 수식토큰에 대하여 구조화하여 컴퓨터로 읽을 수 있는 기록매체에 저장하며, 해당 기록매체의 데이터를 단말기(910)로 전송함으로써, 단말기(910)에서 어플리케이션의 탑재 없이 복합문장의 논리적 표현을 변환할 수 있도록 하는 클라우드 컴퓨팅을 제공할 수 있다. 즉, 복합문장의 제 5 클라우드 컴퓨팅 장치(3200)는 클라우드 컴퓨팅 방식으로 복합문장의 논리적 표현을 변환한 결과를 저장하는 제 5 논리적 표현 변환부(3210)와 단말기(910)로 하여금 제 5 논리적 표현 변환부(3210)에 의해 저장 매체에 저장된 데이터의 읽기 및 쓰기가 수행되도록 하는 제 5 클라우드 컴퓨팅부(3220)를 구비할 수 있다.
<제 6 실시예>
이하, 도 32 내지 도 40을 통해서는 수학식 시멘틱 정보 생성 방법과 그를 위한 장치인 제 6 실시예에 대해 설명토록 한다.
도 33은 제 6 실시예에 따른 수학식 및 자연어 처리 장치를 간략하게 나타낸 블록 구성도이다.
제 6 실시예에 따른 자연어 및 수식 처리 장치(100)는 제 6 정보 입력부(3310), 제 6 수식데이터 구조화부(3320), 제 6 오퍼레이터 파싱부(3330) 및 제 6 시멘틱 정보 결합부(3340)를 포함하여 구성될 수 있다. 경우에 따라 제 6 시멘틱 정보 결합부(3340)는 생략될 수도 있다.
제 6 정보 입력부(3310)는 수식(또는 수학식, Mathematical Formula)이 표현된 수식데이터를 입력받아 제 6 수식데이터 구조화부(3320)로 전달한다.
제 6 수식데이터 구조화부(3320)는 제 6 정보 입력부(3310)로부터 전달받은 수식데이터로부터 오퍼레이터 및 파라미터를 추출하여 구조화한다.
제 6 오퍼레이터 파싱부(3330)는 제 6 수식데이터 구조화부(3320)에서 구조화된 오퍼레이터에 대하여 오퍼레이터의 시멘틱의미를 추출하고 추출된 시멘틱 의미 및 오퍼레이터와 연관된 파라미터를 결합하여 파싱 시멘틱 정보를 생성한다.
제 6 시멘틱 정보 결합부(3340)는 제 6 오퍼레이터 파싱부(3330)에서 생성된 파싱 시멘틱 정보 및 입력된 수식데이터를 결합하여 시멘틱 정보 결합 수식데이터를 생성한다.
W3C(World Wide Web Consortium)에서 그 스키마(Schema)가 정의되어 표준화된 컨텐츠 기반의 MathML(content MathML, 이하 cMathML이라 칭함)은 기존에 표현 기반의 MathML(presentation MathML, 이하 pMathML이라 칭함)이 가지고 있던 한계인 의미적인 부분을 추가할 수 있다. cMathML 자체는 pMathML에서 가지고 있던 의미적으로 명확하지 않은 부분을 해결하기 위하여 더 많은 태그가 존재하며, pMathML과 동일하게 그 내부에 포함된 수학식의 의미를 파악하기 위해서 그 때마다 프로그램이 파싱 과정을 거쳐서 제한적으로 의미 파악이 가능하다.
제 6 정보 입력부(3310)는 W3C에서 그 스키마(Schema)가 정의되어 표준화된 컨텐츠 기반의 MathML(예컨대, cMathML)의 형태로 수식데이터를 입력받을 수 있다. 여기서 수식데이터로 cMathML을 예로 들었으니 제 6 실시예이 이에 한정되지는 않으며 다양한 방식으로 수식데이터가 일정한 양식으로 구조화되어 입력될 수 있다. 또한, 입력되는 수식데이터가 텍(TeX), OpenMath 등의 형태로 입력되는 경우, 제 6 정보 입력부(3310)는 입력된 텍(TeX), OpenMath 등의 형태의 데이터를 MathML 형태로 변환하여 제 6 수식데이터 구조화부(3320)로 전달할 수 있다. 또한, 수식데이터의 입력은 사용자의 조작 또는 명령에 의해 직접 입력될 수 있으나 반드시 이에 한정되는 것은 아니며, 별도의 외부 서버로부터 수식을 표현하고 있는 문서 데이터를 입력받을 수도 있을 것이다.
한편, cMathML과 같은 XML 구조의 문서를 프로그래밍적으로 구조화하는 방법으로 DOM(Document Object Model)을 사용할 수 있다. DOM은 XML의 구조의 문서를 엘리먼트(Element)로 구분하여, 트리 구조로 만들어 주는 역할을 한다.
즉, 제 6 수식데이터 구조화부(3320)는 수식데이터로부터 오퍼레이터 및 파라미터를 추출하여 MathML 형식의 수학식 입력이 DOM으로 처리된 트리구조를 제공한다.
제 6 오퍼레이터 파싱부(3330)는 트리구조로 구조화된 오퍼레이터에 대하여 시멘틱의미를 추출하고 해당 오퍼레이터로부터 추출된 시멘틱 의미와 해당 오퍼레이터와 연관된 파라미터를 결합하여 파싱 시멘틱 정보를 생성할 수 있다. 제 6 오퍼레이터 파싱부(3330)는 기설정된 시멘틱의미DB(150)를 참조하여 해당 오퍼레이터의 시멘틱의미를 추출할 수도 있다.
도 34 및 도 35는 수식이 표현된 수식데이터를 오퍼레이터 파싱을 수행한 결과를 예시한 도면이다.
도 34에서 (A) 도시하듯이, 수식이 "x2+2x+6=0"인 경우에, (B)와 같이 cMathML 형태로 수식데이터가 표현되어 제 6 정보 입력부(3310)로 입력되면, 제 6 수식데이터 구조화부(3320)는 (B)와 같은 cMathML 형태의 수식데이터를 (C)와 같이 트리구조로 구조화할 수 있다.
도 34에서, 제 6 수식데이터 구조화부(3320)가 구조화하는 (C)와 같은 트리구조에서 한 부모 노드 아래의 형제(Sibling) 노드 중에서 가장 좌측에는 'Plus', 'Power', 'Times', 'Eq' 등의 오퍼레이터 노드가 위치하며, 오퍼레이터 노드의 파라미터는 오퍼레이터 노드의 형제 노드로 위치하며, 다른 오페러이터 노드를 자식노드로 갖는 형제 노드인 경우에는 <Apply>와 같은 태그가 위치한다.
도 36은 cMathML 특성을 반영한 노드의 횡단순서를 예시한 도면이다.
도 36에 예시한 바와 같이, 수식데이터를 구조화하는 트리구조는 전위횡단(Pre-order Traversing) 기법으로 횡단될 수 있다. cMathML은 특징적으로 항을 표현함에 있어서 <apply></apply>를 기본으로 사용하고, 이는 어떤 노드의 자식 노드 중의 하나는 이 태그를 포함한다는 것을 의미한다. 따라서, 트리를 파싱할 때, <apply>를 포함한 노드를 제외한 노드에 대해서 먼저 정보를 추출한 후에 수집한 정보를 <apply>가 있는 노드로 전달한다. 그리고, <apply> 노드는 상위 노드로 정보를 전달하고, 상위 노드는 다시 동일한 레벨에 있는 <apply> 노드로 정보를 전달하는 식으로 최상위 노드에 도달할 때까지 계속해서 정보를 반복적으로 전달한다. 마지막으로 루트(root) 노드에 도달하게 되면, 모든 정보는 수집된 것이며, 루트 노드에서 원하는 시멘틱 정보를 얻을 수 있다. 여기서 트리구조가 전위횡단 기법으로 횡단될 수 있음을 설명하였으나 제 6 실시예이 이에 한정되지는 않는다.
이때, 제 6 오퍼레이터 파싱부(3330)는 트리구조를 횡단하면서 각 노드의 정보를 획득하고, 횡단하는 도중에 방문하는 노드에 존재하는 'Plus', 'Power', 'Times' 등의 오퍼레이터의 시멘틱 의미를 추출한다. 트리구조 상의 표현과 생성된 파싱결과의 표현이 서로 다른 경우에는 트리구조 상의 표현과 대응되는 파싱결과의 표현을 저장하는 시멘틱의미DB(150)를 구비하고, 제 6 오퍼레이터 파싱부(3330)가 오퍼레이터의 시멘틱의미를 추출함에 있어서 시멘틱의미DB(150)를 참조할 수도 있고, 트리구조 상의 표현과 생성된 파싱결과의 표현이 서로 다른 경우에는 구조화된 트리구조에 포함되는 경우에는 'Plus', 'Power', 'Times' 등의 정보를 그대로 참조할 수도 있다.
제 6 오퍼레이터 파싱부(3330)는 오퍼레이터의 시멘틱의미를 추출하고, 구조화된 트리구조에서 오퍼레이터에 연관된 파라미터를 추출하여 이를 오퍼레이터의 시멘틱의미와 결합하여 (D)와 같은 파싱 시멘틱 정보를 생성한다. 즉, 형제 노드 중에서 오퍼레이터의 파라미터(예컨대, 'Power'의 형제노드는 'Ci' 및 'Cn'이며, 'Ci' 및 'Cn'은 각각 'x' 및 '2'라는 자식노드에 연결됨으로써 'x' 및 '2'가 오퍼레이터인 'Power'에 결합된다.)에 대하여는 "Power[x, 2]", "Times[2, x]"와 같이 오퍼레이터와 결합하여 표현한다.
한편, 제 6 오퍼레이터 파싱부(3330)는 트리구조를 파싱하면서 수식의 연산의 종류, 변수개수, 항의 차수 등을 포함하는 시멘틱 정보를 추출할 수 있다. 즉, 제 6 오퍼레이터 파싱부(3330)가 추출하는 시멘틱 정보는 어느 한 노드만을 방문함으로써 추출되는 것이 아니고, 모든 노드를 방문하여, 예컨대 오퍼레이터에 대한 변수의 개수 및 항의 차수 등에 대한 정보를 노드 방문이 완료될 때까지 저장하고 있다가 노드 방문이 완료된 후에 해당 수식데이터의 종류 및 특징 등을 나타내는 종합 시멘틱 정보를 추출하여 파싱 시멘틱 정보에 포함할 수 있다.
도 35의 경우에는, (A) 도시하듯이, 수식이 [수학식 2]와 같은 경우에, (B)와 같이 cMathML 형태로 수식데이터가 표현되어 제 6 정보 입력부(3310)로 입력되면, 제 6 수식데이터 구조화부(3320)는 (B)와 같은 cMathML 형태의 수식데이터를 (C)와 같이 트리구조로 구조화할 수 있다.
수학식 2
Figure PCTKR2011009333-appb-M000002
도 35에서, 제 6 수식데이터 구조화부(3320)가 구조화하는 (C)와 같은 트리구조에서 한 부모 노드 아래의 형제(Sibling) 노드 중에서 가장 좌측에는 'Union', 'Set', 'Ci' 등의 오퍼레이터 노드가 위치하며, 오퍼레이터 노드의 파라미터는 오퍼레이터 노드의 형제 노드로 위치하며, 다른 오페러이터 노드를 자식노드로 갖는 형제 노드인 경우에는 <Apply>, <Declare>와 같은 태그가 위치한다.
이때, 제 6 오퍼레이터 파싱부(3330)는 트리구조를 횡단하면서 각 노드의 정보를 획득하고, 횡단하는 도중에 방문하는 노드에 존재하는 'Union', 'Set', 'Ci' 등의 오퍼레이터의 시멘틱 의미를 추출한다.
제 6 오퍼레이터 파싱부(3330)는 (C)와 같은 트리구조를 횡단하면서 오퍼레이터의 시멘틱의미를 추출하고, 구조화된 트리구조에서 오퍼레이터에 연관된 파라미터를 추출하여 이를 오퍼레이터의 시멘틱의미와 결합하여 (D)와 같은 파싱 시멘틱 정보(Semantic Result)를 생성한다. 즉, 형제 노드 중에서 오퍼레이터의 파라미터(예컨대, 'Union'의 형제노드는 두 개의 'Ci', 두 개의 'Ci'는 각각 'A' 및 'B'라는 자식노드에 연결됨으로써 'A' 및 'B'가 오퍼레이터인 'Ci'에 결합된다.)에 대하여는 "Union[A, B]"와 같이 오퍼레이터와 결합하여 표현한다. 또한, 파라미터 역시 트리구조에서 "Declare" 태그를 참조하여 그 시멘틱의미를 추출할 수 있다.
도 37은 파싱 시멘틱 정보(b)와 입력된 수식데이터(a)를 결합한 시멘틱 정보 결합 수식데이터를 예시한 도면이다.
도 37에 예시하듯이, 제 6 시멘틱 정보 결합부(3340)는 도 34에서와 같은 수식데이터(a)와 제 6 오퍼레이터 파싱부(3330)에서 생성된 파싱 시멘틱 정보(b) 결합하여 시멘틱 정보 결합 수식데이터를 생성한다.
즉, 생성되는 시멘틱 정보 결합 수식데이터(a+b)는 입력되는 수식데이터(a)와 같이 XML 형태의 기설정된 스키마를 갖는 구조로 생성될 수 있으며, 도 37에 도시한 바와 같이 파싱 시멘틱 정보(b)가 <Semantic></Semantic> 태그로 XML 형태의 수식데이터(a) 다음에 삽입되는 구조로 생성될 수 있다.
도 38은 노드를 횡단하는 도중에 노드간에 데이터를 전달하는 데이터구조를 예시한 도면이다.
도 38은 방정식의 저장을 위한 데이터 구조 템플릿을 예시한 것이며, 이는 다른 데이터 저장 구조에도 쉽게 확장이 될 수 있다. 수학식을 큰 그룹으로 나누면 다항식(Polynomial), 행렬(Matrix), 집합(Set), 벡터(Vector), 릴레이션(Relationship), 적분(Integration), 미분(Differentiation) 등이 될 수 있다. 이 그룹들은 위의 템플릿과 유사한 데이터 구조를 가질 수 있으며, 새로운 구조가 추가될 경우, 이 템플릿을 바탕으로 확장할 수 있다.
도 34의 경우와 같이, 트리 구조 내에서 복수의 노드를 자식노드로 갖는 경우에, 자식노드의 오퍼레이터 노드 및 파라미터 노드에 대한 정보를 저장할 수 있다. 예를 들어, 도 38과 같이, 노드에 대한 정보에는 변수 세트와 같은 저장구조가 포함될 수 있으며, 변수세트에는 변수 이름과 차수에 해당하는 정보가 들어갈 수 있다. 저장되는 변수 세트에는 한 개 이상의 변수가 들어갈 수 있으며, 저장되는 변수 세트에는 또 다른 변수 세트가 내부에 포함됨으로써 저장구조가 내포된(nested) 구조를 가질 수도 있다.
도 39는 제 6 실시예에 따른 자연어 및 수식 처리 장치가 클라우드 컴퓨팅으로 데이터를 제공하는 시스템에 대한 예시도이다.
제 6 실시예에 따른 수학식 및 자연어 처리 장치가 클라우드 컴퓨팅으로 데이터를 제공하기 위해서는 단말기(910), 통신망(920) 및 제 6 클라우드 컴퓨팅 장치(3900)를 포함한 시스템이 필요하다.
여기서, 단말기(910)는 사용자의 명령 또는 조작에 따라 통신망(920)을 경유하여 각종 데이터를 송수신할 수 있는 단말기를 말하는 것이며, 태블릿 PC, 랩톱, 개인용 컴퓨터, 스마트폰, 개인휴대용 정보단말기 및 무선 통신 단말기 등 중 어느 하나일 수 있다. 또한, 단말기(910)는 통신망(920)을 통하여 데이터 읽거나 입력 및 저장, 네트워크, 컨텐츠 사용 등의 서비스를 이용할 수 있는 클라우드 컴퓨팅을 지원하는 클라우드 컴퓨팅 단말기가 될 수 있다. 즉, 단말기(910)는 통신망(920)을 경유하여 제 6 클라우드 컴퓨팅 장치(3900)에 접속하기 위한 프로그램을 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하고 있는 장치를 의미한다. 즉, 단말기(910)로는 통신망(920)에 연결되어 제 6 클라우드 컴퓨팅 장치(3900)와 클라이언트-서버 통신이 가능하다면 그 어떠한 단말기도 가능하며, 노트북 컴퓨터, 이동통신 단말기, PDA 등 여하한 통신 컴퓨팅 장치를 모두 포함하는 넓은 개념이다. 한편, 단말기(910)는 터치 스크린을 구비한 형태로 제작되는 것이 바람직하나 반드시 이에 한정되는 것은 아니다.
단말기(910)는 제 6 클라우드 컴퓨팅 장치(3900)로 수식이 표현된 수식데이터를 입력하고 제 6 클라우드 컴퓨팅 장치(3900)는 통해 클라우드 컴퓨팅 방식으로 수식데이터를 파싱하여 수식데이터의 시멘틱 정보를 추출하여 단말기(910)로 제공할 수 있다. 즉, 단말기(910)는 제 6 클라우드 컴퓨팅 장치(3900)로부터 클라우드 컴퓨팅 방식으로 데이터의 입출력을 위하여 제 6 클라우드 컴퓨팅 장치(3900)와의 입출력 인터페이스를 제공하는 별도의 입출력 인터페이스부를 포함할 수 있으며, 입출력 인터페이스부를 통해 제 6 클라우드 컴퓨팅 장치(3900)에 저장된 저장 매체에 대한 데이터 읽기 및 쓰기가 수행되도록 하는 인터페이스 제어부를 포함할 수 있다. 이에 대해 좀 더 구체적으로 설명하면, 단말기(910)는 입출력 인터페이스부를 통해 수식이 표현된 수식데이터를 제 6 클라우드 컴퓨팅 장치(3900)로 입력할 수 있고, 제 6 클라우드 컴퓨팅 장치(3900)는 수식이 표현된 수식데이터르 입력받고 수신한 수식데이터로부터 오퍼레이터 및 파라미터를 추출하여 구조화하고 구조화된 오퍼레이터에 대하여 오퍼레이터의 시멘틱의미를 추출하고 추출된 시멘틱 의미 및 오퍼레이터와 연관된 파라미터를 결합하여 파싱 시멘틱 정보를 생성하므로, 실질적으로 단말기(910)에서는 어떠한 어플리케이션의 탑재 없이도 수식데이터를 파싱하여 시멘틱 정보를 추출할 수 있다.
통신망(920)은 인터넷망, 인트라넷망, 이동통신망, 위성 통신망 등 다양한 유무선 통신 기술을 이용하여 인터넷 프로토콜로 데이터를 송수신할 수 있는 망을 말하며, 단말기(910)와 제 6 클라우드 컴퓨팅 장치(3900) 간에 데이터를 중계하는 기능을 수행한다.
제 6 클라우드 컴퓨팅 장치(3900)는 자연어 및 수식 처리 장치(100)를 기반으로 구현될 수 있으며, 클라우드 컴퓨팅으로 단말기(910)에게 수식데이터의 파싱 시멘틱 정보를 제공할 수 있도록, 단말기(910)로 하여금 제 6 클라우드 컴퓨팅 장치(3900)에 저장된 저장 매체에 대한 데이터의 읽기 및 쓰기가 수행되도록 하되, 수식데이터가 입력되면, 수신한 수식데이터로부터 오퍼레이터 및 파라미터를 추출하여 구조화하고 구조화된 오퍼레이터에 대하여 오퍼레이터의 시멘틱의미를 추출하고 추출된 시멘틱 의미 및 오퍼레이터와 연관된 파라미터를 결합하여 파싱 시멘틱 정보를 생성하여 컴퓨터로 읽을 수 있는 기록매체에 저장하며, 해당 기록매체의 데이터를 단말기(910)로 전송함으로써, 단말기(910)에서 어플리케이션의 탑재 없이 수식데이터를 파싱할 수 있도록 하는 클라우드 컴퓨팅을 제공할 수 있다. 즉, 제 6 클라우드 컴퓨팅 장치(3900)는 수식데이터의 시멘틱 정보를 추출하는 제 6 시멘틱 정보 생성부(3910)와 단말기(910)로 하여금 제 6 시멘틱 정보 생성부(3910)에 의해 저장 매체에 저장된 데이터의 읽기 및 쓰기가 수행되도록 하는 제 6 클라우드 컴퓨팅부(3920)를 구비할 수 있다.
도 40은 제 6 실시예에 따른 수학식 시멘틱 정보 생성 방법을 설명하기 위한 순서도이다.
제 6 실시예에 따른 수학식 시멘틱 정보 생성 방법은, 수식이 표현된 수식데이터를 입력받는 정보입력단계(S4010), 수식데이터로부터 오퍼레이터 및 파라미터를 추출하여 구조화하는 수식데이터 구조화단계(S4020), 구조화된 오퍼레이터에 대하여 오퍼레이터의 시멘틱의미를 추출하고 추출된 시멘틱 의미 및 오퍼레이터와 연관된 파라미터를 결합하여 파싱 시멘틱 정보를 생성하는 오퍼레이터 파싱단계(S4030) 및 파싱 시멘틱 정보 및 수식데이터를 결합하여 시멘틱 정보 결합 수식데이터를 생성하는 시멘틱 정보 결합단계(S4040)를 포함할 수 있다.
여기서, 정보입력단계(S4010), 수식데이터 구조화단계(S4020), 오퍼레이터 파싱단계(S4030) 및 시멘틱 정보 결합단계(S4040)는 각각 제 6 정보 입력부(3310), 제 6 수식데이터 구조화부(3320), 제 6 오퍼레이터 파싱부(3330) 및 제 6 시멘틱 정보 결합부(3340)의 동작에 대응되므로 상세한 설명은 생략한다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 실시예는 자연어 및 수식을 처리하는 다양한 분야에 적용되어, 사용자가 자연어와 수식을 입력할 수 있도록 별도의 입력 툴을 제공하고, 자연어와 수식이 조합된 데이터의 분석 내용에 기초하여 자연어 및 수식을 재조합한 데이터로 관리할 수 있도록 하는 구조화하고, 시멘틱 정보에 기초하여 사용자 쿼리를 구조화한 정보가 같이 색인화되도록 하며, 의미론적인 시멘틱 정보를 자동으로 추출하고, 자연어와 수학식이 포함된 복합 문장을 자동적으로 논리적인 관계를 갖도록 표현하며, 추가적으로 시멘틱 정보를 생성할 수 있는 효과를 발생하는 유용한 발명이다.
CROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은 2010. 12. 02.에 한국에 출원한 특허출원번호 제10-2010-0122025호, 2010. 12. 23.에 한국에 출원한 특허출원번호 제10-2010-0133761호, 2010. 12. 22.에 한국에 출원한 특허출원번호 제10-2010-0132141호, 2010. 12. 30.에 한국에 출원한 특허출원번호 제10-2010-0138531호, 2011. 01. 06.에 한국에 출원한 특허출원번호 제10-2011-0001282호, 2011. 02. 21.에 한국에 출원한 특허출원번호 제10-2011-0014968호에 대해 미국 특허법 119(a)조(35 U.S.C § 119(a))에 따라 우선권을 주장하면, 그 모든 내용은 참고문헌으로 본 특허출원에 병합된다. 아울러, 본 특허출원은 미국 이외에 국가에 대해서도 위와 동일한 이유로 우선권을 주장하면 그 모든 내용은 참고문헌으로 본 특허출원에 병합된다.

Claims (26)

  1. 자연어 및 수식을 입력받는 자연어 및 수식 입력부;
    상기 자연어 및 상기 수식의 조합으로 이루어진 조합 데이터로부터 수학식에 대한 파싱 시멘틱 정보를 생성하는 정보 생성부;
    상기 조합 데이터에서 논리적 조건을 이용한 동작 정보를 추출하는 동작 정보 추출부;
    상기 조합 데이터를 분석하여 특정 의미에 따라 구분한 후 재조합하는 자연어 및 수식 구조화부;
    상기 동작 정보를 구조화하는 동작 구조화부; 및
    상기 조합 데이터를 색인화하는 자연어 및 수식 색인화부
    를 포함하는 것을 특징으로 하는 자연어 및 수식 처리 장치.
  2. 제 1 항에 있어서,
    상기 자연어 및 수식 입력부는,
    상기 자연어를 입력받기 위한 텍스트 입력 툴을 제공하는 제 1 자연어 입력 처리기;
    상기 수식을 입력받기 위한 수식 입력 툴을 제공하는 제 1 수식 입력 처리기;
    입력된 상기 자연어 및 상기 수식을 취합한 취합 데이터를 전달하는 제 1 정보 처리부;
    상기 취합 데이터를 수신하며, 상기 자연어와 상기 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하는 제 1 파싱부; 및
    상기 구성 정보, 상기 자연어, 상기 수식 및 상기 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 저장하는 제 1 데이터 관리부
    를 포함하는 것을 특징으로 하는 자연어 및 수식 처리 장치.
  3. 제 1 항에 있어서,
    상기 자연어 및 수식 구조화부는,
    상기 조합 데이터를 입력받는 제 2 정보 입력부;
    상기 조합 데이터에서 상기 자연어 및 상기 수식을 각각 분리하는 제 2 분리부;
    분리된 상기 자연어를 구성하고 있는 각각의 제 1 정보를 분석하여 특정 의미에 따라 구분하는 자연어 제 2 처리부;
    분리된 상기 수식을 구성하고 있는 각각의 제 2 정보를 분석하여 특정 의미에 따라 구분하는 제 2 수식 처리부; 및
    상기 제 1 정보, 상기 제 2 정보, 상기 자연어 및 상기 수식 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하는 제 2 데이터 관리부
    를 포함하는 것을 특징으로 하는 자연어 및 수식 처리 장치.
  4. 제 1 항에 있어서,
    상기 자연어 및 수식 색인화부는,
    상기 조합 데이터를 입력받는 제 3 정보 입력부;
    상기 조합 데이터에서 상기 자연어 및 상기 수식을 각각 분리하고, 분리된 상기 자연어와 상기 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하는 제 3 시멘틱 파서부;
    상기 구성 정보, 상기 자연어, 상기 수식 및 상기 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하는 제 3 데이터 관리부;
    입력된 사용자 쿼리에 포함된 키워드를 추출하여 구조화하는 제 3 쿼리 파서부; 및
    상기 시멘틱 정보를 색인화한 시멘틱 색인 정보를 생성하고, 상기 시멘틱 색인 정보에 상기 키워드 정보를 매칭한 쿼리 색인 정보를 생성하는 제 3 색인부
    를 포함하는 것을 특징으로 하는 자연어 및 수식 처리 장치.
  5. 제 1 항에 있어서,
    상기 동작 정보 추출부는,
    상기 조합 데이터를 입력받는 제 4 정보 입력부;
    상기 조합 데이터에서 상기 자연어 및 상기 수식을 분리하는 제 4 분리부;
    분리된 상기 자연어를 토큰화하여 자연어토큰을 생성하는 제 4 자연어처리부;
    분리된 상기 수식을 파싱하고 시멘틱의미를 추출하여 수학식토큰을 생성하는 제 4 수식처리부;
    자연어와 수학식의 논리적 조건 및 상기 논리적 조건에 대응되는 상기 동작 정보를 결합한 룰을 저장하는 제 4 룰저장부; 및
    상기 생성된 자연어토큰과 수학식토큰을 상기 저장된 룰의 논리적 조건과 비교하여 상기 저장된 룰로부터 상기 조합 데이터에 대한 상기 동작 정보를 추출하는 제 4 동작추출부
    를 포함하는 것을 특징으로 하는 자연어 및 수식 처리 장치.
  6. 제 1 항에 있어서,
    상기 동작 구조화부는,
    상기 조합 데이터를 입력받는 제 5 정보 입력부;
    상기 조합 데이터의 문장구성을 분석하여 상기 수식 및 상기 자연어를 각각 토큰화하여 수식토큰 및 자연어토큰을 생성하는 제 5 문장분석부;
    자연어토큰 규칙을 참조하여 상기 자연어토큰의 의미에 대응되는 상기 동작 정보를 추출하는 제 5 동작추출부; 및
    상기 추출된 동작 정보를 상기 수식토큰에 대하여 구조화하는 제 5 동작실행부
    를 포함하는 것을 특징으로 하는 자연어 및 수식 처리 장치.
  7. 제 1 항에 있어서,
    상기 정보 생성부는,
    상기 수식이 표현된 수식데이터를 입력받는 제 6 정보 입력부;
    상기 수식데이터로부터 오퍼레이터 및 파라미터를 추출하여 구조화하는 제 6 수식데이터 구조화부; 및
    구조화된 상기 오퍼레이터에 대하여 상기 오퍼레이터의 시멘틱의미를 추출하고 추출된 시멘틱 의미 및 상기 오퍼레이터와 연관된 파라미터를 결합하여 상기 파싱 시멘틱 정보를 생성하는 제 6 오퍼레이터 파싱부
    를 포함하는 것을 특징으로 하는 자연어 및 수식 처리 장치.
  8. 자연어를 입력받기 위한 텍스트 입력 툴을 제공하는 제 1 자연어 입력 처리기;
    수식을 입력받기 위한 수식 입력 툴을 제공하는 제 1 수식 입력 처리기;
    입력된 상기 자연어 및 상기 수식을 취합한 취합 데이터를 전달하는 제 1 정보 처리부;
    상기 취합 데이터를 수신하며, 상기 자연어와 상기 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하는 제 1 파싱부; 및
    상기 구성 정보, 상기 자연어, 상기 수식 및 상기 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 저장하는 제 1 데이터 관리부
    를 포함하는 것을 특징으로 하는 자연어 및 수식 처리 장치.
  9. 자연어 및 수식의 조합으로 이루어진 조합 데이터를 입력받는 제 2 정보 입력부;
    상기 조합 데이터에서 상기 자연어 및 상기 수식을 각각 분리하는 제 2 분리부;
    분리된 상기 자연어를 구성하고 있는 각각의 제 1 정보를 분석하여 특정 의미에 따라 구분하는 제 2 자연어 처리부;
    분리된 상기 수식을 구성하고 있는 각각의 제 2 정보를 분석하여 특정 의미에 따라 구분하는 제 2 수식 처리부; 및
    상기 제 1 정보, 상기 제 2 정보, 상기 자연어 및 상기 수식 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하는 제 2 데이터 관리부
    를 포함하는 것을 특징으로 하는 자연어 및 수식 처리 장치.
  10. 자연어 및 수식의 조합으로 이루어진 조합 데이터를 입력받는 제 3 정보 입력부;
    상기 조합 데이터에서 상기 자연어 및 상기 수식을 각각 분리하고, 분리된 상기 자연어와 상기 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하는 제 3 시멘틱 파서부;
    상기 구성 정보, 상기 자연어, 상기 수식 및 상기 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하는 제 3 데이터 관리부;
    입력된 사용자 쿼리에 포함된 키워드를 추출하여 구조화하는 제 3 쿼리 파서부; 및
    상기 시멘틱 정보를 색인화한 시멘틱 색인 정보를 생성하고, 상기 시멘틱 색인 정보에 상기 키워드 정보를 매칭한 쿼리 색인 정보를 생성하는 제 3 색인부
    를 포함하는 것을 특징으로 하는 자연어 및 수식 처리 장치.
  11. 자연어와 수식이 포함된 복합문장을 수신하는 제 4 정보 입력부;
    상기 복합문장에서 상기 자연어 및 상기 수식을 분리하는 제 4 분리부;
    분리된 상기 자연어를 토큰화하여 자연어토큰을 생성하는 제 4 자연어처리부;
    분리된 상기 수식을 파싱하고 시멘틱의미를 추출하여 수학식토큰을 생성하는 제 4 수식처리부;
    자연어와 수학식의 논리적 조건 및 상기 논리적 조건에 대응되는 동작 정보를 결합한 룰을 저장하는 제 4 룰저장부; 및
    상기 생성된 자연어토큰과 수학식토큰을 상기 저장된 룰의 논리적 조건과 비교하여 상기 저장된 룰로부터 상기 복합문장의 동작 정보를 추출하는 제 4 동작추출부
    를 포함하는 것을 특징으로 하는 자연어 및 수식 처리 장치.
  12. 자연어와 수식이 포함된 복합문장을 수신하는 제 5 정보 입력부;
    상기 복합문장의 문장구성을 분석하여 수식데이터 및 자연어를 각각 토큰화하여 수식토큰 및 자연어토큰을 생성하는 제 5 문장분석부;
    자연어토큰 규칙을 참조하여 상기 자연어토큰의 의미에 대응되는 동작 정보를 추출하는 제 5 동작추출부; 및
    상기 추출된 동작 정보를 상기 수식토큰에 대하여 구조화하는 제 5 동작실행부
    를 포함하는 것을 특징으로 하는 자연어 및 수식 처리 장치.
  13. 수식이 표현된 수식데이터를 입력받는 제 6 정보 입력부;
    상기 수식데이터로부터 오퍼레이터 및 파라미터를 추출하여 구조화하는 제 6 수식데이터 구조화부; 및
    구조화된 상기 오퍼레이터에 대하여 상기 오퍼레이터의 시멘틱의미를 추출하고 추출된 시멘틱 의미 및 상기 오퍼레이터와 연관된 파라미터를 결합하여 파싱 시멘틱 정보를 생성하는 제 6 오퍼레이터 파싱부
    를 포함하는 것을 특징으로 하는 자연어 및 수식 처리 장치.
  14. 자연어 및 수식 처리 장치가 자연어 및 수학식을 처리하는 방법에 있어서,
    자연어 및 수식을 입력받는 자연어 및 수식 입력 과정;
    상기 자연어 및 상기 수식의 조합으로 이루어진 조합 데이터로부터 수학식에 대한 파싱 시멘틱 정보를 생성하는 정보 생성 과정;
    상기 조합 데이터에서 논리적 조건을 이용한 동작 정보를 추출하는 동작 정보 추출 과정;
    상기 조합 데이터를 분석하여 특정 의미에 따라 구분한 후 재조합하는 자연어 및 수식 구조화 과정;
    상기 동작 정보를 구조화하는 동작 구조화 과정; 및
    상기 조합 데이터를 색인화하는 자연어 및 수식 색인화 과정
    을 포함하는 것을 특징으로 하는 자연어 및 수학식 처리 방법.
  15. 제 14 항에 있어서,
    상기 자연어 및 수식 입력 과정은,
    상기 자연어를 입력받기 위한 텍스트 입력 툴을 제공하는 제 1 자연어 입력 처리 과정;
    상기 수식을 입력받기 위한 수식 입력 툴을 제공하는 제 1 수식 입력 처리 과정;
    입력된 상기 자연어 및 상기 수식을 취합한 취합 데이터를 전달하는 제 1 정보 처리 과정;
    상기 취합 데이터를 수신하며, 상기 자연어와 상기 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하는 제 1 파싱 과정; 및
    상기 구성 정보, 상기 자연어, 상기 수식 및 상기 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 저장하는 제 1 데이터 관리 과정
    를 포함하는 것을 특징으로 하는 자연어 및 수학식 처리 방법.
  16. 제 14 항에 있어서,
    상기 자연어 및 수식 구조화 과정은,
    상기 조합 데이터를 입력받는 제 2 정보 입력 과정;
    상기 조합 데이터에서 상기 자연어 및 상기 수식을 각각 분리하는 제 2 분리 과정;
    분리된 상기 자연어를 구성하고 있는 각각의 제 1 정보를 분석하여 특정 의미에 따라 구분하는 자연어 제 2 처리 과정;
    분리된 상기 수식을 구성하고 있는 각각의 제 2 정보를 분석하여 특정 의미에 따라 구분하는 제 2 수식 처리 과정; 및
    상기 제 1 정보, 상기 제 2 정보, 상기 자연어 및 상기 수식 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하는 제 2 데이터 관리 과정
    를 포함하는 것을 특징으로 하는 자연어 및 수학식 처리 방법.
  17. 제 14 항에 있어서,
    상기 자연어 및 수식 색인화 과정은,
    상기 조합 데이터를 입력받는 제 3 정보 입력 과정;
    상기 조합 데이터에서 상기 자연어 및 상기 수식을 각각 분리하고, 분리된 상기 자연어와 상기 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하는 제 3 시멘틱 파서 과정;
    상기 구성 정보, 상기 자연어, 상기 수식 및 상기 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하는 제 3 데이터 관리 과정;
    입력된 사용자 쿼리에 포함된 키워드를 추출하여 구조화하는 제 3 쿼리 파서 과정; 및
    상기 시멘틱 정보를 색인화한 시멘틱 색인 정보를 생성하고, 상기 시멘틱 색인 정보에 상기 키워드 정보를 매칭한 쿼리 색인 정보를 생성하는 제 3 색인 과정
    를 포함하는 것을 특징으로 하는 자연어 및 수학식 처리 방법.
  18. 제 14 항에 있어서,
    상기 동작 정보 추출부 과정은,
    상기 조합 데이터를 입력받는 제 4 정보 입력 과정;
    상기 조합 데이터에서 상기 자연어 및 상기 수식을 분리하는 제 4 분리 과정;
    분리된 상기 자연어를 토큰화하여 자연어토큰을 생성하는 제 4 자연어처리 과정;
    분리된 상기 수식을 파싱하고 시멘틱의미를 추출하여 수학식토큰을 생성하는 제 4 수식처리 과정;
    자연어와 수학식의 논리적 조건 및 상기 논리적 조건에 대응되는 상기 동작 정보를 결합한 룰을 저장하는 제 4 룰저장 과정; 및
    상기 생성된 자연어토큰과 수학식토큰을 상기 저장된 룰의 논리적 조건과 비교하여 상기 저장된 룰로부터 상기 조합 데이터의 상기 동작 정보를 추출하는 제 4 동작추출 과정
    을 포함하는 것을 특징으로 하는 자연어 및 수학식 처리 방법.
  19. 제 14 항에 있어서,
    상기 동작 구조화부 과정은,
    상기 조합 데이터를 입력받는 제 5 정보 입력 과정;
    상기 조합 데이터의 문장구성을 분석하여 상기 수식 및 상기 자연어를 각각 토큰화하여 수식토큰 및 자연어토큰을 생성하는 제 5 문장분석 과정;
    자연어토큰 규칙을 참조하여 상기 자연어토큰의 의미에 대응되는 상기 동작 정보를 추출하는 제 5 동작추출 과정; 및
    상기 추출된 동작 정보를 상기 수식토큰에 대하여 구조화하는 제 5 동작실행 과정
    을 포함하는 것을 특징으로 하는 자연어 및 수학식 처리 방법.
  20. 제 14 항에 있어서,
    상기 정보 생성부 과정은,
    상기 수식이 표현된 수식데이터를 입력받는 제 6 정보 입력 과정;
    상기 수식데이터로부터 오퍼레이터 및 파라미터를 추출하여 구조화하는 제 6 수식데이터 구조화 과정; 및
    구조화된 상기 오퍼레이터에 대하여 상기 오퍼레이터의 시멘틱의미를 추출하고 추출된 시멘틱 의미 및 상기 오퍼레이터와 연관된 파라미터를 결합하여 상기 파싱 시멘틱 정보를 생성하는 제 6 오퍼레이터 파싱 과정
    을 포함하는 것을 특징으로 하는 자연어 및 수학식 처리 방법.
  21. 자연어 및 수식 처리 장치가 자연어 및 수학식을 처리하는 방법에 있어서,
    자연어를 입력받기 위한 텍스트 입력 툴을 제공하는 제 1 자연어 입력 처리 과정;
    수식을 입력받기 위한 수식 입력 툴을 제공하는 제 1 수식 입력 처리 과정;
    입력된 상기 자연어 및 상기 수식을 취합한 취합 데이터를 전달하는 제 1 정보 처리 과정;
    상기 취합 데이터를 수신하며, 상기 자연어와 상기 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하는 제 1 파싱 과정; 및
    상기 구성 정보, 상기 자연어, 상기 수식 및 상기 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 저장하는 제 1 데이터 관리 과정
    을 포함하는 것을 특징으로 하는 자연어 및 수학식 처리 방법.
  22. 자연어 및 수식 처리 장치가 자연어 및 수학식을 처리하는 방법에 있어서,
    자연어 및 수식의 조합으로 이루어진 조합 데이터를 입력받는 제 2 정보 입력 과정;
    상기 조합 데이터에서 상기 자연어 및 상기 수식을 각각 분리하는 제 2 분리 과정;
    분리된 상기 자연어를 구성하고 있는 각각의 제 1 정보를 분석하여 특정 의미에 따라 구분하는 제 2 자연어 처리 과정;
    분리된 상기 수식을 구성하고 있는 각각의 제 2 정보를 분석하여 특정 의미에 따라 구분하는 제 2 수식 처리 과정; 및
    상기 제 1 정보, 상기 제 2 정보, 상기 자연어 및 상기 수식 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하는 제 2 데이터 관리 과정
    을 포함하는 것을 특징으로 하는 자연어 및 수학식 처리 방법.
  23. 자연어 및 수식 처리 장치가 자연어 및 수학식을 처리하는 방법에 있어서,
    자연어 및 수식의 조합으로 이루어진 조합 데이터를 입력받는 제 3 정보 입력 과정;
    상기 조합 데이터에서 상기 자연어 및 상기 수식을 각각 분리하고, 분리된 상기 자연어와 상기 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하는 제 3 시멘틱 파서 과정;
    상기 구성 정보, 상기 자연어, 상기 수식 및 상기 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하는 제 3 데이터 관리 과정;
    입력된 사용자 쿼리에 포함된 키워드를 추출하여 구조화하는 제 3 쿼리 파서 과정; 및
    상기 시멘틱 정보를 색인화한 시멘틱 색인 정보를 생성하고, 상기 시멘틱 색인 정보에 상기 키워드 정보를 매칭한 쿼리 색인 정보를 생성하는 제 3 색인 과정
    을 포함하는 것을 특징으로 하는 자연어 및 수학식 처리 방법.
  24. 자연어 및 수식 처리 장치가 자연어 및 수학식을 처리하는 방법에 있어서,
    자연어와 수식이 포함된 복합문장을 수신하는 제 4 정보 입력 과정;
    상기 복합문장에서 상기 자연어 및 상기 수식을 분리하는 제 4 분리 과정;
    분리된 상기 자연어를 토큰화하여 자연어토큰을 생성하는 제 4 자연어처리 과정;
    분리된 상기 수식을 파싱하고 시멘틱의미를 추출하여 수학식토큰을 생성하는 제 4 수식처리 과정;
    자연어와 수학식의 논리적 조건 및 상기 논리적 조건에 대응되는 동작 정보를 결합한 룰을 저장하는 제 4 룰저장 과정; 및
    상기 생성된 자연어토큰과 수학식토큰을 상기 저장된 룰의 논리적 조건과 비교하여 상기 저장된 룰로부터 상기 복합문장의 동작 정보를 추출하는 제 4 동작추출 과정
    을 포함하는 것을 특징으로 하는 자연어 및 수학식 처리 방법.
  25. 자연어 및 수식 처리 장치가 자연어 및 수학식을 처리하는 방법에 있어서,
    자연어와 수식이 포함된 복합문장을 수신하는 제 5 정보 입력 과정;
    상기 복합문장의 문장구성을 분석하여 수식데이터 및 자연어를 각각 토큰화하여 수식토큰 및 자연어토큰을 생성하는 제 5 문장분석 과정;
    자연어토큰 규칙을 참조하여 상기 자연어토큰의 의미에 대응되는 동작 정보를 추출하는 제 5 동작추출 과정; 및
    상기 추출된 동작 정보를 상기 수식토큰에 대하여 구조화하는 제 5 동작실행 과정
    을 포함하는 것을 특징으로 하는 자연어 및 수학식 처리 방법.
  26. 자연어 및 수식 처리 장치가 자연어 및 수학식을 처리하는 방법에 있어서,
    수식이 표현된 수식데이터를 입력받는 제 6 정보 입력 과정;
    상기 수식데이터로부터 오퍼레이터 및 파라미터를 추출하여 구조화하는 제 6 수식데이터 구조화 과정; 및
    구조화된 상기 오퍼레이터에 대하여 상기 오퍼레이터의 시멘틱의미를 추출하고 추출된 시멘틱 의미 및 상기 오퍼레이터와 연관된 파라미터를 결합하여 파싱 시멘틱 정보를 생성하는 제 6 오퍼레이터 파싱 과정
    을 포함하는 것을 특징으로 하는 자연어 및 수학식 처리 방법.
PCT/KR2011/009333 2010-12-02 2011-12-02 자연어 및 수학식 처리 방법과 그를 위한 장치 WO2012074338A2 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201180064528.XA CN103299292B (zh) 2010-12-02 2011-12-02 用于处理自然语言和数学公式的方法及其设备
US13/908,366 US20130268263A1 (en) 2010-12-02 2013-06-03 Method for processing natural language and mathematical formula and apparatus therefor

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
KR10-2010-0122025 2010-12-02
KR1020100122025A KR101406000B1 (ko) 2010-12-02 2010-12-02 자연어 및 수식 입력 제공 방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체
KR10-2010-0132141 2010-12-22
KR1020100132141A KR101476225B1 (ko) 2010-12-22 2010-12-22 자연어 및 수식 색인화 방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체
KR1020100133761A KR101417928B1 (ko) 2010-12-23 2010-12-23 자연어 및 수식 구조화 방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체
KR10-2010-0133761 2010-12-23
KR10-2010-0138531 2010-12-30
KR1020100138531A KR101476230B1 (ko) 2010-12-30 2010-12-30 자연어와 수학식이 포함된 복합문장의 시맨틱 정보 추출방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체
KR10-2011-0001282 2011-01-06
KR1020110001282A KR101476232B1 (ko) 2011-01-06 2011-01-06 자연어와 수학식이 포함된 복합문장의 논리적 표현 변환방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체
KR10-2011-0014968 2011-02-21
KR20110014968A KR101444671B1 (ko) 2011-02-21 2011-02-21 수학식 시맨틱정보 생성방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/908,366 Continuation US20130268263A1 (en) 2010-12-02 2013-06-03 Method for processing natural language and mathematical formula and apparatus therefor

Publications (2)

Publication Number Publication Date
WO2012074338A2 true WO2012074338A2 (ko) 2012-06-07
WO2012074338A3 WO2012074338A3 (ko) 2012-10-11

Family

ID=46172435

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2011/009333 WO2012074338A2 (ko) 2010-12-02 2011-12-02 자연어 및 수학식 처리 방법과 그를 위한 장치

Country Status (3)

Country Link
US (1) US20130268263A1 (ko)
CN (1) CN103299292B (ko)
WO (1) WO2012074338A2 (ko)

Families Citing this family (131)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US20120311585A1 (en) 2011-06-03 2012-12-06 Apple Inc. Organizing task items that represent tasks to perform
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US8762133B2 (en) 2012-08-30 2014-06-24 Arria Data2Text Limited Method and apparatus for alert validation
US9405448B2 (en) 2012-08-30 2016-08-02 Arria Data2Text Limited Method and apparatus for annotating a graphical output
US9135244B2 (en) 2012-08-30 2015-09-15 Arria Data2Text Limited Method and apparatus for configurable microplanning
US8762134B2 (en) 2012-08-30 2014-06-24 Arria Data2Text Limited Method and apparatus for situational analysis text generation
US9336193B2 (en) 2012-08-30 2016-05-10 Arria Data2Text Limited Method and apparatus for updating a previously generated text
US9600471B2 (en) 2012-11-02 2017-03-21 Arria Data2Text Limited Method and apparatus for aggregating with information generalization
WO2014076524A1 (en) 2012-11-16 2014-05-22 Data2Text Limited Method and apparatus for spatial descriptions in an output text
WO2014076525A1 (en) 2012-11-16 2014-05-22 Data2Text Limited Method and apparatus for expressing time in an output text
US9372850B1 (en) * 2012-12-19 2016-06-21 Amazon Technologies, Inc. Machined book detection
WO2014102568A1 (en) 2012-12-27 2014-07-03 Arria Data2Text Limited Method and apparatus for motion detection
WO2014102569A1 (en) 2012-12-27 2014-07-03 Arria Data2Text Limited Method and apparatus for motion description
US10776561B2 (en) 2013-01-15 2020-09-15 Arria Data2Text Limited Method and apparatus for generating a linguistic representation of raw input data
KR102579086B1 (ko) 2013-02-07 2023-09-15 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
JP6221323B2 (ja) 2013-04-22 2017-11-01 カシオ計算機株式会社 グラフ表示装置およびその制御プログラム
EP3937002A1 (en) 2013-06-09 2022-01-12 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
JP6221372B2 (ja) * 2013-06-11 2017-11-01 カシオ計算機株式会社 グラフ表示装置、プログラム、およびサーバ装置
US9946711B2 (en) 2013-08-29 2018-04-17 Arria Data2Text Limited Text generation from correlated alerts
US9244894B1 (en) * 2013-09-16 2016-01-26 Arria Data2Text Limited Method and apparatus for interactive reports
US9396181B1 (en) 2013-09-16 2016-07-19 Arria Data2Text Limited Method, apparatus, and computer program product for user-directed reporting
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
JP6244901B2 (ja) 2013-12-27 2017-12-13 カシオ計算機株式会社 グラフ表示制御装置、電子機器およびプログラム
JP6318615B2 (ja) 2013-12-27 2018-05-09 カシオ計算機株式会社 グラフ表示制御装置、電子機器およびプログラム
CN103677852A (zh) * 2013-12-30 2014-03-26 山东舜德数据管理软件工程有限公司 一种可扩充的类自然语言公式编辑器的设计方法
JP6287412B2 (ja) 2014-03-19 2018-03-07 カシオ計算機株式会社 図形描画装置、図形描画方法およびプログラム
US10664558B2 (en) 2014-04-18 2020-05-26 Arria Data2Text Limited Method and apparatus for document planning
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
EP3149728B1 (en) 2014-05-30 2019-01-16 Apple Inc. Multi-command single utterance input method
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
JP6394163B2 (ja) 2014-08-07 2018-09-26 カシオ計算機株式会社 グラフ表示装置、グラフ表示方法およびプログラム
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
TWI526856B (zh) * 2014-10-22 2016-03-21 財團法人資訊工業策進會 服務需求分析系統、方法與電腦可讀取記錄媒體
JP6505421B2 (ja) * 2014-11-19 2019-04-24 株式会社東芝 情報抽出支援装置、方法およびプログラム
CN104462466A (zh) * 2014-12-17 2015-03-25 北京百度网讯科技有限公司 数学计算信息的查询方法和装置
CN105718434A (zh) * 2014-12-23 2016-06-29 远光软件股份有限公司 一种自然语言公式编辑方法和系统
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
CN104933158B (zh) * 2015-06-26 2018-06-19 百度在线网络技术(北京)有限公司 数学问题求解模型的训练方法和装置、推理方法和装置
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
WO2017031716A1 (zh) * 2015-08-26 2017-03-02 北京云江科技有限公司 自然场景图像中手写体数学公式结构分析与识别方法
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US10445432B1 (en) 2016-08-31 2019-10-15 Arria Data2Text Limited Method and apparatus for lightweight multilingual natural language realizer
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
KR101842873B1 (ko) * 2016-09-29 2018-03-28 조봉한 수학번역기, 수학번역 디바이스 및 플랫폼
US10467347B1 (en) 2016-10-31 2019-11-05 Arria Data2Text Limited Method and apparatus for natural language document orchestrator
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US11256743B2 (en) * 2017-03-30 2022-02-22 Microsoft Technology Licensing, Llc Intermixing literal text and formulas in workflow steps
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10417266B2 (en) * 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
CN108255914B (zh) * 2017-09-05 2022-04-22 深圳壹账通智能科技有限公司 网页生成方法及应用服务器
CN107463553B (zh) * 2017-09-12 2021-03-30 复旦大学 针对初等数学题目的文本语义抽取、表示与建模方法和系统
US10482162B2 (en) * 2017-11-30 2019-11-19 International Business Machines Corporation Automatic equation transformation from text
CN109992121B (zh) * 2017-12-29 2023-02-03 北京搜狗科技发展有限公司 一种输入方法、装置和用于输入的装置
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
CN110555143B (zh) * 2018-03-27 2021-10-15 北京世纪好未来教育科技有限公司 题目自动解答方法及计算机存储介质
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
KR101986721B1 (ko) * 2019-03-27 2019-06-10 월드버텍 주식회사 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
CA3046608A1 (en) * 2019-06-14 2020-12-14 Mathresources Incorporated Systems and methods for document publishing
CN110555138B (zh) * 2019-08-05 2022-09-13 慧镕电子系统工程股份有限公司 一种云计算架构下的混合云存储方法
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
CN110795526B (zh) * 2019-10-29 2022-08-12 北京林业大学 一种用于检索系统的数学公式索引创建方法与系统
US11183193B1 (en) 2020-05-11 2021-11-23 Apple Inc. Digital assistant hardware abstraction
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
US20220207238A1 (en) * 2020-12-30 2022-06-30 International Business Machines Corporation Methods and system for the extraction of properties of variables using automatically detected variable semantics and other resources
EP4336376A1 (en) * 2021-11-04 2024-03-13 Samsung Electronics Co., Ltd. Electronic device and method for providing search result related to query statement
CN115203441B (zh) * 2022-09-19 2022-12-20 江西风向标智能科技有限公司 高中数学公式的解析方法、系统、存储介质及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080162109A1 (en) * 2006-12-28 2008-07-03 Motorola, Inc. Creating and managing a policy continuum
US20090125546A1 (en) * 2000-04-04 2009-05-14 Jose Iborra Automatic software production system
KR20090061844A (ko) * 2007-12-12 2009-06-17 주식회사 케이티 온톨로지 기반 시맨틱 메타데이터 추출 시스템 및 그 방법

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03268058A (ja) * 1990-03-19 1991-11-28 Hitachi Ltd 文書作成方法及びその装置
US8849693B1 (en) * 1999-07-12 2014-09-30 Verizon Laboratories Inc. Techniques for advertising in electronic commerce
US7725307B2 (en) * 1999-11-12 2010-05-25 Phoenix Solutions, Inc. Query engine for processing voice based queries including semantic decoding
US20040148170A1 (en) * 2003-01-23 2004-07-29 Alejandro Acero Statistical classifiers for spoken language understanding and command/control scenarios
US7454701B2 (en) * 2003-10-30 2008-11-18 Sap Ag Systems and methods for implementing formulas
US7415481B2 (en) * 2004-09-30 2008-08-19 Microsoft Corporation Method and implementation for referencing of dynamic data within spreadsheet formulas
FR2876474B1 (fr) * 2004-10-12 2006-12-29 Progilys Sarl Dispositif de traitement de donnees a definition formelle
US7639881B2 (en) * 2005-06-13 2009-12-29 Microsoft Corporation Application of grammatical parsing to visual recognition tasks
US20060282818A1 (en) * 2005-06-14 2006-12-14 Microsoft Corporation Interactive formula builder
US20110244434A1 (en) * 2006-01-27 2011-10-06 University Of Utah Research Foundation System and Method of Analyzing Freeform Mathematical Responses
US8589869B2 (en) * 2006-09-07 2013-11-19 Wolfram Alpha Llc Methods and systems for determining a formula
US20080168341A1 (en) * 2007-01-10 2008-07-10 Raymond Payette Digital spreadsheet formula automation
CN100580674C (zh) * 2007-02-02 2010-01-13 国家人口计生委科学技术研究所 公式编辑装置、系统及方法
US20090024366A1 (en) * 2007-07-18 2009-01-22 Microsoft Corporation Computerized progressive parsing of mathematical expressions
CN101261554A (zh) * 2008-04-21 2008-09-10 东莞市步步高教育电子产品有限公司 公式、表达式的手写输入及计算系统和方法
CN101329731A (zh) * 2008-06-06 2008-12-24 南开大学 图像中数学公式的自动识别方法
CN101859186A (zh) * 2010-06-08 2010-10-13 宁随军 一种输入数学公式的方法及装置
US8510650B2 (en) * 2010-08-11 2013-08-13 Stephen J. Garland Multiple synchronized views for creating, analyzing, editing, and using mathematical formulas
WO2012059879A2 (en) * 2010-11-03 2012-05-10 Eqsquest Ltd. System and method for searching functions having symbols

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090125546A1 (en) * 2000-04-04 2009-05-14 Jose Iborra Automatic software production system
US20080162109A1 (en) * 2006-12-28 2008-07-03 Motorola, Inc. Creating and managing a policy continuum
KR20090061844A (ko) * 2007-12-12 2009-06-17 주식회사 케이티 온톨로지 기반 시맨틱 메타데이터 추출 시스템 및 그 방법

Also Published As

Publication number Publication date
CN103299292B (zh) 2016-01-20
WO2012074338A3 (ko) 2012-10-11
US20130268263A1 (en) 2013-10-10
CN103299292A (zh) 2013-09-11

Similar Documents

Publication Publication Date Title
WO2012074338A2 (ko) 자연어 및 수학식 처리 방법과 그를 위한 장치
WO2010068068A2 (ko) 사용자의 의도에 기반한 정보 검색방법 및 정보 제공방법
WO2010036012A2 (ko) 인터넷을 이용한 의견 검색 시스템, 의견 검색 및 광고 서비스 시스템과 그 방법
WO2020101108A1 (ko) 인공지능 모델 플랫폼 및 인공지능 모델 플랫폼 운영 방법
WO2019177182A1 (ko) 속성 정보 분석을 통한 멀티미디어 컨텐츠 검색장치 및 검색방법
WO2020009297A1 (ko) 도메인 추출기반의 언어 이해 성능 향상장치및 성능 향상방법
WO2012091360A2 (ko) 유저 맞춤형 컨텐츠 제공 방법 및 시스템
CN101542426B (zh) 信息处理设备及其控制方法
WO2011137724A1 (zh) 基于语义逻辑的类自然语言人机对话装置
WO2011155736A9 (ko) 모든 자연어 표현의 각각의 의미마다 별도의 용어를 동적으로 생성하는 방법 및 이를 기반으로 하는 사전 관리기,문서작성기, 용어 주석기, 검색 시스템 및 문서정보체계 구축장치
WO2011021898A2 (en) Shared data transmitting method, server, and system
WO2020044290A1 (ko) 특허 문서 작성 장치, 방법, 컴퓨터 프로그램, 컴퓨터로 판독 가능한 기록매체, 서버 및 시스템
EP3782040A1 (en) Electronic device and method for providing artificial intelligence services based on pre-gathered conversations
WO2018034426A1 (ko) 커널 rdr을 이용한 태깅 말뭉치 오류 자동수정방법
WO2017146437A1 (en) Electronic device and method for operating the same
WO2009096760A2 (ko) 단어예측 입력방법 및 그 방법이 구현되는 전자장치
WO2015137743A1 (en) Content management method and cloud server therefor
WO2020197257A1 (ko) 가시적 표현 요소를 이용한 번역 방법 및 그 장치
WO2014021567A1 (ko) 메시지 서비스 제공 방법, 이를 위한 장치 및 시스템
WO2022065811A1 (en) Multimodal translation method, apparatus, electronic device and computer-readable storage medium
WO2012130145A1 (zh) 获取和搜索相关知识信息的方法及装置
WO2020032564A1 (en) Electronic device and method for providing one or more items in response to user speech
WO2023172025A1 (ko) 시계열적 정보를 인코딩하는 모델을 사용하여 개체-쌍 사이의 연관성 관련 정보를 예측하는 방법 및 이를 이용하여 생성되는 예측 시스템
WO2020082766A1 (zh) 输入法的联想方法、装置、设备及可读存储介质
WO2014010819A1 (ko) 정형 및 비정형 데이터를 xml 문서에 구현하는 방법

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: 11844193

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 11/09/2013)

122 Ep: pct application non-entry in european phase

Ref document number: 11844193

Country of ref document: EP

Kind code of ref document: A2