WO2014025135A1 - 문법 오류 검출 방법, 이를 위한 오류검출장치 및 이 방법이 기록된 컴퓨터로 판독 가능한 기록매체 - Google Patents

문법 오류 검출 방법, 이를 위한 오류검출장치 및 이 방법이 기록된 컴퓨터로 판독 가능한 기록매체 Download PDF

Info

Publication number
WO2014025135A1
WO2014025135A1 PCT/KR2013/005402 KR2013005402W WO2014025135A1 WO 2014025135 A1 WO2014025135 A1 WO 2014025135A1 KR 2013005402 W KR2013005402 W KR 2013005402W WO 2014025135 A1 WO2014025135 A1 WO 2014025135A1
Authority
WO
WIPO (PCT)
Prior art keywords
error
sentence
morpheme
speech
sequence
Prior art date
Application number
PCT/KR2013/005402
Other languages
English (en)
French (fr)
Inventor
김승환
김성
김성묵
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Publication of WO2014025135A1 publication Critical patent/WO2014025135A1/ko
Priority to US14/615,304 priority Critical patent/US9575955B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination

Definitions

  • the present invention relates to a method and apparatus for detecting a grammatical error, and more particularly, to an error detection method based on a rule defined by a connection relationship between adjacent parts of speech while detecting a grammatical writing error of a writing sentence.
  • a grammatical error detection method for detecting a final error by sequentially applying a method of detecting an error by comparing a sentence with a sentence of an example-based database, an error detection apparatus for the same, and a computer-readable recording medium on which the method is recorded will be.
  • the existing writing evaluation system analyzes already written sentences grammatically and evaluates whether they are properly written according to the grammar through error detection.
  • the process of analyzing the written sentence is essential to the process of analyzing the morpheme for the sentence and tagging the parts of speech, the conventional morpheme analysis and parts of speech tagging device vocabulary, parts of speech, meaning and contextual air relationship Is not a complex consideration, but simply depends on the part-of-speech information, the accuracy is greatly reduced.
  • an object of the present invention is to tag a part-of-speech by dividing a written input sentence into morpheme units, and to detect a simple grammatical writing error with respect to each of the tagged parts of a part-of-speech, and to detect adjacent parts of speech. Parse based on the rules defined by the linkage relationship between the two to detect errors in parsing, generate morphemes grouped by arbitrary window sizes from the separated morphemes, and then search each morpheme sequence in an example-based database.
  • a grammatical error detection method for detecting the final error by sequentially applying an error detection method for each morpheme based on an example by analyzing the frequencies in which the morphemes and the morpheme sequences for the morphemes are sorted together, an error detection apparatus for the same, and It is intended to provide a computer readable recording medium having recorded this method.
  • An error detection apparatus for achieving the above object is to separate the input sentence into morpheme units, tag the parts of speech with respect to the separated morphemes, and based on the tagged parts of speech
  • a sentence analyzer that analyzes a syntax structure and a first error detector that generates a part-of-speech sequence using an N-gram on a tagged part-of-speech, and detects an error by analyzing a part-of-speech sequence generated based on a grammar rule.
  • a second error detector for generating an morpheme sequence by grouping the separated morphemes into an arbitrary window size, and detecting an error according to the occurrence frequency of the same morpheme sequence generated by searching an example-based index database.
  • an error detection result that combines an error detection result using a first error detector and an error detection result using a second error detector to determine a final error of a sentence. Characterized in that it includes an air outlet.
  • the integrated error detector detects an error of a sentence through a first error detector that detects an error of a sentence based on a grammar rule, and then detects an error of a sentence based on an example. It is characterized in that the detection of the final error of the sentence by applying a detector.
  • using a language delivery medium further collects the example sentences including various styles, and separates the collected example sentences into morpheme units to build an example-based index database further It is characterized by including.
  • the first error detector is a part-of-speech sequence generating unit for generating a part-of-speech sequence in units of a window using an en-gram for the parts of speech tagged in the sentence, and the part-of-speech sequence is free to context.
  • a first parser that detects an error in a sentence according to the parser parsed based on the grammar rule and the regular grammar rule and calculates the closeness of the part-of-speech sequence.
  • the context free grammar rule is a rule that normalizes a general grammar including spelling, article, and tense.
  • the regular grammar rule includes an exception rule that cannot be defined as a context free grammar rule, a rule that can be defined according to a connection relationship or closeness between adjacent parts of speech. It features.
  • the shallow parser if the closeness calculated for the parts of speech sequence is higher than the reference value, the shallow parser generates the corresponding tree among the syntax trees including noun phrases, compound words, object phrases, and dependent clauses, and the closeness is lower than the reference value. If the words forming each part-of-speech sequence is generated as an independent word instead of a phrase.
  • the second error detector is an N-gram generation unit for generating a morpheme sequence of morphemes grouped in any window size in one or more of the forward or reverse direction, the generated morpheme sequence and A searcher searching for the same morphological sequence in the example-based index database, a fitness calculator extracting the frequency of occurrence of the same morphological sequence as the generated morphological sequence, and calculating fitness based on the extracted frequency, and the fitness score is lower than the threshold
  • a second error detection unit configured to determine an error section by determining whether or not the suitability score falls sharply above a certain level.
  • the N-gram generating unit is a reverse morphological sequence of morphemes located in one or more of the forward direction or the reverse direction of the morphemes located in the forward window size in any window size, respectively It is characterized by generating.
  • the integrated error detector is characterized by determining that the error detected by the first error detector is the final error of the sentence rather than the error detected by the second error detector.
  • the grammatical error detection method includes separating a sentence into a plurality of morpheme units, tagging parts of speech into morphemes, and using a part-of-speech part of a tagged part of speech using an en-gram.
  • the first error detection step generates a corresponding syntax tree among a syntax tree including a noun phrase, a compound word, an object phrase, and a dependent clause if the degree of closeness calculated for the parts of speech is higher than a reference value. If is lower than the reference value, it is characterized in that the derived tree is generated as an independent word instead of a phrase forming each part-of-speech sequence.
  • the second error detection step includes a forward morpheme sequence in which forward morphemes are arranged in an arbitrary window size and a backward morpheme sequence in which backward morphemes are bound in an arbitrary window size, respectively. It is characterized by generating.
  • the second error detection step includes searching for whether the same morpheme sequence as the generated morpheme sequence exists in the example-based index database, and the occurrence frequency of the same morpheme sequence as the generated morpheme sequence. And calculating the suitability based on the extracted frequency and detecting whether the calculated suitability score is lower than the threshold value or the suitability score drops sharply above a certain level.
  • the step of calculating the suitability for the forward morpheme sequence and the reverse morpheme sequence when the morpheme sequence generated in the step of generating the morpheme sequence includes both the forward and the reverse morpheme sequence It is characterized by extracting the frequencies in which the morphemes are aligned together, calculating each suitability based on the extracted frequencies, and calculating the integrated suitability reflecting each suitability.
  • the final error of the sentence is determined by applying an error detection step.
  • the step of determining the error of the sentence is determined to be the final error of the sentence by giving priority to the error detected in the first error detection step, rather than the error detected in the second error detection step. Characterized in that.
  • a computer-readable recording medium recording a program for executing a grammar error detection method.
  • parsing speed is faster, syntax ambiguity can be reduced, and the type of sentence error can be detected in detail. It is possible.
  • an error detection method for a rule of a syntax and an error detection method using an example application are simultaneously performed, so that a more reliable sentence evaluation can be executed through two sentence error checks.
  • FIG. 1 is a diagram illustrating a configuration of an error detection apparatus for detecting a grammatical error according to an embodiment of the present invention.
  • FIG. 2 is a diagram illustrating a structure of a sentence analyzer according to an exemplary embodiment of the present invention.
  • FIG. 3 is a diagram illustrating a configuration of a first error detector according to an exemplary embodiment of the present invention.
  • 4 is a table showing an example of a regular grammar.
  • FIG. 5 is a diagram illustrating a configuration of a second error detector according to an exemplary embodiment of the present invention.
  • FIG. 6 is a detailed view of the second error detector of FIG. 5.
  • FIG. 7 is an exemplary diagram for describing a function performed by each component of FIG. 5.
  • FIG. 8 is an exemplary view illustrating a result value performed by the second error detector of FIG. 5.
  • FIG. 9 is a view showing the configuration of an example builder according to an embodiment of the present invention.
  • FIG. 10 is a flowchart illustrating a method of operating an error detection apparatus according to an embodiment of the present invention.
  • FIG. 11 is a flowchart illustrating an operation of a first error detector according to an exemplary embodiment of the present invention.
  • FIG. 12 is an exemplary table illustrating a process of generating a part-of-speech sequence through the first error detection method of FIG. 11.
  • FIG. 13 is a flowchart illustrating an operation of a second error detector according to an embodiment of the present invention.
  • FIG. 14 is a flowchart illustrating an error detection process of an example-based method according to an embodiment of the present invention.
  • FIG. 1 is a diagram illustrating a configuration of an error detection apparatus for detecting a grammatical error according to an embodiment of the present invention.
  • the error detection apparatus 10 for detecting a grammatical error includes a sentence analyzer 100, a first error detector 200, a second error detector 300, an example builder 400, and It consists of an integrated error detector 500.
  • the sentence analyzer 100 receives a written input sentence as data.
  • the sentence analyzer 100 separates the input composition (hereinafter, referred to as an input sentence) into morpheme units and tags corresponding parts of speech with respect to the separated morphemes.
  • the sentence analyzer 100 analyzes a syntax structure of each sentence based on the tagged parts of speech, and extracts a syntax tree as a result of the analysis.
  • the sentence analyzer 100 transmits a sentence tagged part-of-speech to the first error detector 200 and the second error detector 300 in order to minimize errors in syntax analysis.
  • the first error detector 200 generates a part-of-speech sequence using an N-gram on a sentence received from the sentence analyzer 100, and analyzes the generated part-of-speech sequence based on a simple grammar rule. By analyzing based on the grammar rules defined according to the connection relations between adjacent parts of speech, it detects not only simple writing errors but also errors in syntax analysis on the connection relations between adjacent parts of speech, and delivers the detected errors to the integrated error detector 500. . In particular, the first error detector 200 generates a part-of-speech sequence using an en-gram to a tagged part-of-speech and analyzes the part-of-speech sequence generated based on a grammar rule to detect an error.
  • the second error detector 300 detects an error regarding an input sentence in an example-based manner by using an index database established through the example builder 400, and transfers the detected error to the integrated error detector 500.
  • the second error detector 300 may perform an error correction function by suggesting a correction for the detected error.
  • the second error detector 300 detects an error existing in an input sentence based on statistical information based on an example. When the error is detected, the second error detector 300 does not search the input sentence as a whole, but binds the sections by arbitrary window units. N-gram search method is used to compare and search statistical information in units. In particular, the second error detector 300 generates a morpheme sequence by grouping the separated morphemes in an arbitrary window size, and searches an example-based index database to detect an error according to the appearance frequency of the same morpheme sequence generated.
  • the example builder 400 builds a large-capacity index database (DB) to be used for error detection by collecting example sentences from a plurality of sentences exposed from a language transmission medium.
  • DB large-capacity index database
  • the integrated error detector 500 detects an error result detected through the first error detector 200 that detects a rule-based sentence error and an error detected by the second error detector 300 that detects an example-based sentence error. The results are combined to confirm the final error and output the result of the confirmed error.
  • the integrated error detector 500 may effectively detect an error in a sentence by simultaneously applying a method using the first error detector 200 and a method using the second error detector 300 to detect an error of a sentence.
  • the integrated error detector 500 performs error detection through the first error detector 200, and then detects the error of the sentence through the second error detector 300, thereby reliably detecting the final error of the sentence. can do.
  • the integrated error detector 500 determines the final error of a sentence by giving priority to the error detected by the first error detector 200 over the error detected by the second error detector 300.
  • the error detection apparatus 10 for sentence evaluation can perform more reliable sentence evaluation through two sentence error checks.
  • FIG. 2 is a diagram illustrating a structure of a sentence analyzer according to an exemplary embodiment of the present invention.
  • the configuration of the sentence error detection according to the present invention is an example in which the first error detector 200, the second error detector 300, and the sentence analyzer 100 are independently configured, but are not limited thereto.
  • the sentence analyzer 100 may include the first error detector 200, and may be implemented as a single device, or the sentence analyzer 100 may include the second error detector 300. .
  • the sentence analyzer 100 receives an input sentence written as data, and includes an input sentence separator 110 and a part-of-speech tagging unit 120 as a configuration for evaluating the input composition.
  • the sentence analyzer 100 separates an input sentence into morpheme units, tags parts of speech with respect to the separated morphemes, and analyzes a sentence structure of the sentence based on the tagged parts of speech.
  • the input sentence separating unit 110 separates the received composition into morpheme units.
  • the sentence separation means to separate the sentences in units of sentences through periods, question marks, and exclamation marks.
  • morpheme separation can be a word, which is the smallest meaningful unit, since the search is not aligned next to a word due to the characteristics of language.
  • the part-of-speech tagging unit 120 tags the parts-of-speech with respect to the morphemes separated by the input sentence separation unit 110.
  • the part-of-speech tagging may be performed by referring to the knowledge of the pre-stored part-of-speech dictionary 130.
  • parts of parts of speech are nouns, verbs, prepositions, adjectives, adverbs, articles, and interjections.
  • the input sentence separator 110 separates I, would, like, to, live, in, the, city,.
  • the part-of-speech tagging unit 120 in turn has nouns (I), verbs, verbs (like), prepositions (to), verbs (live), prepositions (in), articles (the), Tag parts of speech such as nouns (city).
  • the sentence analyzer 100 further includes a syntax analysis unit (not shown) to effectively perform sentence error detection.
  • the syntax analysis unit analyzes the syntax structure of each sentence based on the parts of speech tagged by the part-of-speech tagging unit 120, and extracts a syntax tree as a result of the analysis.
  • parsing a sentence is called parsing
  • a program that outputs a syntax tree to determine whether a string can be generated by a grammar is called a parser.
  • the parser transfers a sentence tagged part-of-speech to the first error detector 200 or the second error detector 300 to minimize the error of parsing, and is detected from the integrated error detector 500. Error information is received and reflected in the syntax tree.
  • FIG. 3 is a diagram illustrating a configuration of a first error detector according to an exemplary embodiment of the present invention
  • FIG. 4 is a table illustrating an example of a regular grammar.
  • the first error detector 200 may include a part-of-speech generator 210, a shallow parser 220, a first error detector 230, and regular grammar knowledge.
  • DB 240 context free grammar knowledge DB 250, and the like.
  • the part-of-speech sequence generation unit 210 generates a part-of-speech sequence for each part-of-speech using an en-gram that is bound to an arbitrary window size for each part-of-speech tagged by the part-of-speech tagging unit 120.
  • Is derived from morpheme separation and part-of-speech tagging, such as' I / noun ',' went / verb ',' to / preposition ',' go / verb ',' to / 'Preposition', 'school / noun' is extracted, and the part-of-speech sequence generator 210 applies a trigram to apply a part-of-speech sequence for each part-of-speech, 'I went to', 'went to go', Can be created as 'go to school', 'to school (null)', 'school (null) (null)'.
  • the part-of-speech sequence generation unit 210 may set a window size in advance, generate a part-of-speech sequence corresponding to the set window size, and use it for error detection. For detailed detection, each part-of-speech sequence can be generated and analyzed by varying the window size such as a bi-gram or a tri-gram.
  • the shallow parser 220 considers a connection relation between adjacent parts of speech based on a regular grammar rule and a context free grammar (CFG) rule with respect to the parts of speech generated by the parts of speech generating unit 210. Parse the structure.
  • the context free grammar rule defines a general grammar called English grammar, and includes rules on spelling, articles, tense, and the like.
  • the verb of the current point of time following the third-person singular subject includes s, a singular addition noun followed by a or an, and a noun beginning with a vowel followed by an.
  • context free grammar rules are stored in the context free grammar knowledge DB 250 and provided for use in parsing the shallow parser 220.
  • Regular grammar rules define exceptions that cannot be defined as general grammar, that is, context free grammar, as rules, and can be additionally defined according to the connection relation or closeness between adjacent parts of speech. Specifically, as shown in the table shown in Figure 4, spelling errors, spacing errors, article form, article overlap, number mismatch, parts of speech, verb form error, wrong salmon, wrong word order, preposition missing, comparative form error, unnecessary delimiter, unnecessary Rules can be defined for prepositions, etc.
  • a noun with a consonant a before the consonant but with the first syllable of the consonant consonant, it is a context-free grammar that is defined by attaching the article an, but it is a regular grammar that precedes the consonant noun hoest with an rather than the article a.
  • the regular grammar is the addition of a noun that applies as an exception to the context-free syntax.
  • Another example of the regular grammar rule is that if a typo of 'beggining' occurs, the word 'beginning' is incorrectly analyzed, and the correction 'beginning' can be detected along with the error detection.
  • regular grammar rules are stored in the regular grammar knowledge DB 250 and provided for use in parsing the shallow parser 220.
  • the shallow parser 220 directly analyzes errors of simple grammar using the knowledge of pre-stored context free grammar rules and calculates the closeness of parts of speech based on the connection relation between adjacent parts of speech using regular grammar rules. . If the parts of the parts of speech are high, the parts of the parts of speech are generated as derived trees such as noun phrases, compound words, object phrases, and subordinate clauses. can do.
  • the judgment of high or low degree of closeness can be judged by setting the standard value to judge and being higher and lower than the standard value.
  • the shallow parser 220 performs a bottom-up chart parsing of the tagged parts of speech from right to left. Bottom-up chart parsing is not parsing for general parsing, so we don't aim to make the whole sentence. That is, when no more nodes are created, the parsing process stops.
  • the first error detector 230 detects an error from the syntax tree analyzed by the parser 130 based on the analysis result generated by the shallow parser 220.
  • the first error detection unit 230 searches by using an en-gram divided into columns of a predetermined section rather than searching the entire input sentence, so that the error detection performance is faster and the error detection is more accurate than the whole analysis method. Can be done.
  • the first error detector 200 generates a part-of-speech sequence using an en-gram to a tagged part-of-speech and analyzes the part-of-speech sequence generated based on a grammar rule to detect an error.
  • FIG. 5 is a diagram illustrating a configuration of a second error detector according to an exemplary embodiment of the present invention.
  • the second error detector 300 includes a second error detector 310 and an index database 320.
  • the second error detector 310 generates a morpheme string grouped by the part-of-speech tagging unit 120 in an arbitrary window size, and searches the index database 320 for each morpheme string to generate a morpheme string. Errors are detected according to the frequency of alignment with the morphemes.
  • the second error detection unit 310 may search by dividing the input sentence into a predetermined section rather than searching the entire input sentence, so that error detection may be performed more accurately than that of the analysis method which performs the full error detection.
  • the second error detector 300 further includes an error corrector (not shown).
  • the error correction unit extracts the morphemes aligned with the morpheme strings searched through the second error detection unit 310, and in particular, extracts the morphemes having a high frequency as a priority and presents them as a correction for the detected error.
  • the error correction authority can suggest only the stem of the error section by using the N-gram search method applied as an error detection method as a method of suggesting the amendment. You can also use a simple method of presenting similar sentences.
  • the second error detector 300 generates a morpheme sequence by grouping the separated morphemes into an arbitrary window size, and searches an example-based index database to detect an error according to the appearance frequency of the same morpheme sequence generated.
  • FIG. 6 is a detailed view of the second error detector of FIG. 5, and FIG. 7 is an exemplary diagram for describing a function performed by each component of FIG. 5.
  • the second error detector 310 may include an N-gram generator 341, a searcher 343, a suitability calculator 345, and an error determiner 347. Include.
  • the N-gram generator 341 generates the morpheme sequence by grouping the morphemes in an arbitrary window size in at least one of a forward direction and a reverse direction.
  • the N-gram generating unit 341 is a reverse morphological sequence of morphemes located in one or more of the forward or reverse direction by morphemes located in the forward direction based on the morphemes in an arbitrary window size Each can be generated.
  • the frequency with which 'to' may be followed by 'live' or with 'like to', ' would like to', or 'I would like to' followed by 'live'
  • Each frequency can be extracted.
  • morpheme sequences grouped in arbitrary window sizes can be generated for morphemes (in, the, city) located in the reverse direction based on the morpheme 'live'.
  • the reverse morphemes enclosed in 2-window units are 'live in'
  • the reverse morphemes enclosed in 3-window units are 'live in the'
  • the reverse morphemes enclosed in 4-window units are 'live in the city'. Can be.
  • the N-gram generation unit 341 may set a window size in advance, generate a morpheme sequence corresponding to the set window size, and use it for error detection. For detailed detection, it is recommended to generate and analyze each morphological sequence by varying the window size such as bygram and trigram, but in this case, the capacity for morphological sequences stored in the index database 320 is greatly increased and the analysis is complicated. Since it can be generated, it is also possible to generate and analyze morpheme sequences considering only one window size.
  • the search unit 343 may determine whether the same morpheme sequence generated by the N-gram generator 341 exists in the example-based index database 320 that is constructed of a plurality of example sentences. Search.
  • the fitness calculation unit 345 extracts the frequency of appearance of the same morpheme sequence as the generated morpheme sequence and calculates fitness based on the extracted frequency.
  • the fitness calculation is a score representing the frequency of morphemes for morphemes.
  • the suitability calculation unit 345 calculates the suitability for the morpheme sequence in one or more of the forward and reverse directions with respect to one morpheme, respectively. Calculate the combined suitability of each suitability.
  • the suitability calculation unit 345 may apply different weights according to the frequency of the morpheme sequences for each morpheme when calculating the suitability for the forward morpheme sequence and the reverse morpheme sequence. For example, the morpheme sequence 'live in', grouped in 2-window units, the morphological sequence 'live in the' grouped in 3-window units, and the 'live in the city' grouped in 4-window units, in the reverse morpheme sequence. Etc., the higher weight is given to the morphemes with the large number of windows, so that the suitability is determined by referring to a lot of information.
  • the error determining unit 347 detects an error section by determining whether there is a section in which the suitability score is lower than the threshold value or drops sharply above a predetermined value. In this case, the error determination unit 347 may calculate each graph by dividing the suitability for the forward direction, the suitability for the reverse direction, and the integrated suitability.
  • FIG. 8 is an exemplary view illustrating a result value performed by the second error detector of FIG. 5.
  • (a) is an input sentence
  • (b) shows the suitability calculated for each morpheme with respect to the input sentence.
  • score_f (Wm) shown in (b) is the forward fitness for the frequency that can be aligned with the forward morphemes for each morpheme
  • score_b (Wm) is the reverse frequency for the frequency that can be aligned with the reverse morphemes for each morpheme.
  • Conformance, score (Wm) is the integrated fit that averages forward and backward fits.
  • (c) shows a graph calculated using the integrated suitability shown in (b). From this graph, it can be seen that an error exists in the vicinity of A lowered below the threshold, that is, a word missing around the morpheme live.
  • FIG. 9 is a view showing the configuration of an example builder according to an embodiment of the present invention.
  • the example builder 400 includes an example collector 410, an example separator 420, an N-gram generator 430, and a constructor 440.
  • the usage collection unit 410 collects usage sentences from a vast set of sentences exposed through language transmission media such as the Internet, news, and newspaper articles.
  • language transmission media such as the Internet, news, and newspaper articles.
  • the example sentences are premised to include all the sentences used in real life, sentences including various styles. Use news or newspaper articles because they have fewer errors than other media.
  • the example collection unit 410 may pre-populate the desired keywords to be collected and monitor the sentence set exposed through the language transmission medium, and automatically collect the example sentences to which the input keyword is applied.
  • the example separator 420 separates the example sentences collected through the example collector 410 into morpheme units.
  • the sentence separation divides the example sentence having a plurality of sentences into sentence units through periods such as periods, question marks, or exclamation points.
  • morpheme separation means that each example sentence separated in sentence units is separated into morpheme units.
  • the N-gram generator 430 generates a morpheme sequence bundled with an arbitrary window size for each morpheme separated by the application separator 420.
  • the morpheme string is generated by grouping the morphemes in an arbitrary window size in one or more directions of forward or reverse directions based on each morpheme. For example, "I want to go to school.”
  • the morpheme sequence generated using the 3-window size from the example text is "I want to" for morpheme I, “want to go” for morpheme want, "(null) I want", and "to go for morpheme to to ",” I want to ". This is to store the example sentences in the index database 320 in morphological units as well as the entire sentence.
  • the construction unit 440 matches the morpheme sequence generated by the N-gram generation unit 430 with the corresponding example sentence, and stores the matching sentence in the index database 320.
  • FIG. 10 is a flowchart illustrating a method of operating an error detection apparatus according to an embodiment of the present invention.
  • the error detection apparatus 10 receives an input sentence in step S11, and separates the received sentence into a plurality of morpheme units.
  • the error detection apparatus 10 tags the parts of speech on the morphemes based on the part-of-speech dictionary 130.
  • the error detection apparatus 10 performs syntax analysis on the sentences separated based on the parts of speech tagged in step S13, and extracts a syntax tree as a result of the analysis.
  • the error detection apparatus 10 transmits a sentence tagged part-of-speech to the first error detector 200 or the second error detector 300 in order to minimize errors in parsing when parsing, and the integrated error detector 500. Receive error information detected from) and apply it to the syntax tree.
  • the error detection apparatus 10 generates a part-of-speech sequence using an en-gram for a sentence received from the sentence analyzer 100 in step S15, and analyzes the generated part-of-speech sequence based on simple grammar rules and is adjacent to each other. By analyzing based on the grammar rules defined according to the linkage between parts of speech, it detects not only simple writing errors but also errors in syntax analysis due to linkage between adjacent parts of speech. That is, the error detection apparatus 10 generates a part-of-speech sequence for each part-of-speech using a shallow parser to determine whether there is an error in the extracted syntax tree, and detects an error in units of the generated parts-of-speech sequence. Here, the error detection apparatus 10 executes error detection of a sentence based on a defined rule.
  • the error detection apparatus 10 detects an error on an input sentence input from the sentence analyzer 100 using the example-based index database 320 built through the example builder 400 in step S17.
  • the error detection apparatus 10 detects an error detected through a first error detector 200 that detects an error of a sentence based on the rule defined in step S19 and a second error detector 300 that detects an error of a sentence based on an example. Combine to detect the final error. In addition, the error detection apparatus 10 determines that the error detected by the first error detector 200 is the final error of a sentence, rather than the error detected by the second error detector 300.
  • the error detecting apparatus 10 may simultaneously check the written sentence and detect an error of the sentence quickly.
  • the error detection apparatus 10 performs error detection through the first error detector 200, and then detects an error of the sentence through the second error detector 300, thereby reliably detecting the error of the sentence. Can be.
  • FIG. 11 is a flowchart illustrating an operation of a first error detector according to an embodiment of the present invention
  • FIG. 12 is an exemplary table illustrating a process of generating a part-of-speech sequence through the first error detection method of FIG. 11.
  • the first error detector 200 may be implemented separately from the sentence analyzer 100 in an error detection process.
  • the error detection step (S15) using the first error detector 200 is specifically, the first error detector 200 is a part-of-speech sequence for each parts of speech tagging through the part-of-speech tagging process in step S21.
  • the term "window” means grouping two or three parts of a part of speech adjacent to each other and n or more (n).
  • the method of grouping two parts of each part of speech adjacent to each other by bigram is ,
  • the three-group method is trigram. That is, the first error detector 200 generates a part-of-speech sequence according to a preset unit using an en-gram (by-gram, tri-gram, etc.).
  • the first error detector 200 performs shallow parsing in parts of speech parts.
  • shallow parsing analyzes the syntax structure in consideration of the closeness between adjacent parts of speech based on pre-stored context free grammar rules and regular grammar rules.
  • the error of simple grammar is directly analyzed by using knowledge of context-free grammar rules, and at the same time, the closeness of parts-of-speech sequences according to the connection relation between adjacent parts of speech is calculated using pre-stored regular grammar rules. If the parts of speech parts are close, the parts of speech parts can be generated as a derived tree of noun phrases, compound words, object phrases, and dependent clauses. If the parts of speech parts are low, the parts of each parts of speech parts can be generated as independent words instead of phrases. have.
  • the first error detector 200 detects an error of the syntax tree extracted through syntax analysis based on the result analyzed in step S25.
  • FIG. 13 is a flowchart illustrating an operation of a second error detector according to an embodiment of the present invention.
  • an error detection step (S17) using the second error detector 300 is specifically, and the second error detector 300 is bound to a certain window size for each morpheme of the sentence input in step S31.
  • the morpheme sequence may be generated by dividing the morpheme sequence into one or more directions of the forward morpheme sequence bundled in the forward direction or the backward morpheme sequence bundled in the reverse direction. Thereafter, the second error detector 300 searches for each morpheme whether the morpheme string generated in step S33 exists in the example-based index database 320.
  • the second error detector 300 extracts the appearance frequency of the same morpheme sequence generated in step S35. Then, the second error detector 300 calculates the suitability based on the frequency extracted in step S37. In this case, the suitability is expressed by converting the degree of whether each morpheme is suitable to be aligned with the corresponding morpheme sequence as a score, and the calculation method related thereto is the same as described above.
  • the second error detector 300 may calculate a fitness score calculated in step S39 as a graph and detect an error by using the calculated graph. That is, the error interval is detected by determining whether the suitability score is lower than the threshold value or rapidly falls above a predetermined value.
  • FIG. 14 is a flowchart illustrating an error detection process of an example-based method according to an embodiment of the present invention.
  • the example builder 400 uses a desired example from a vast sentence set exposed through a language transmission medium such as the Internet, news, or newspaper article in the example collection unit 410 in step S41. Collect the door. At this time, if the desired keywords to be collected in advance are collected in advance to collect the desired example sentences, the example sentences to which the entered keywords are applied can be automatically collected while monitoring the sentence set exposed through the language transmission medium. .
  • a language transmission medium such as the Internet, news, or newspaper article
  • the example builder 400 separates each example sentence collected by the example collection unit 420 through the example collection unit 410 in step S43 into a morpheme.
  • the example builder 400 generates a morpheme sequence that the N-gram generator 430 bundles with each window in an arbitrary window size in step S45.
  • the example builder 400 matches the morpheme sequence generated in the previous step by the construction unit 440 and the corresponding example sentence in step S47 and stores the index in the index database 320.
  • the grammatical error detection method according to the present invention may be implemented in software form readable through various computer means and recorded on a computer readable recording medium.
  • the recording medium may include a program command, a data file, a data structure, etc. alone or in combination.
  • Program instructions recorded on the recording medium may be those specially designed and constructed for the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts.
  • the recording medium may be magnetic media such as hard disks, floppy disks and magnetic tapes, optical disks such as Compact Disk Read Only Memory (CD-ROM), digital video disks (DVD), Magnetic-Optical Media, such as floppy disks, and hardware devices specially configured to store and execute program instructions, such as ROM, random access memory (RAM), flash memory, and the like. do.
  • program instructions may include high-level language code that can be executed by a computer using an interpreter as well as machine code such as produced by a compiler.
  • Such hardware devices may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)

Abstract

본 발명은 문법 오류 검출 방법, 이를 위한 오류검출장치 및 이 방법이 기록된 컴퓨터로 판독 가능한 기록매체에 관한 것으로, 작문한 입력 문장을 형태소 단위로 분리하여 품사를 태깅하고, 태깅한 각 품사의 열에 대하여 단순 문법적인 영작 오류를 검출하는 동시에 서로 인접한 품사간의 연결 관계에 의해 정의된 규칙을 기반으로 파싱하여 구문 분석의 오류를 검출하는 방식과, 분리된 형태소로부터 임의의 윈도우 사이즈로 묶은 형태소열을 생성한 다음 각 형태소열을 예제 기반의 데이터베이스에서 검색하여 각 형태소와 그 형태소에 대한 형태소열이 함께 정렬되는 빈도수를 분석함으로써 예제에 기반한 각 형태소에 대한 오류를 검출하는 방식을 순차적으로 적용하여 문장의 최종 오류를 검출함으로써, 작문한 입력 문장의 구문 분석 시 언어의 정형적인 규칙뿐만 아니라 인접 품사간 의존적인 관계로 인한 규칙까지도 고려하여 분석함으로써 문법적인 오류 검출의 정확도를 높일 수 있다.

Description

문법 오류 검출 방법, 이를 위한 오류검출장치 및 이 방법이 기록된 컴퓨터로 판독 가능한 기록매체
본 발명은 문법 오류 검출 방법 및 장치에 관한 것으로, 더욱 상세하게는 작문 문장의 문법적인 영작 오류를 검출함과 동시에 서로 인접하는 품사간 연결 관계에 의해 정의된 규칙에 기반한 오류 검출 방식과, 작문한 문장을 예제 기반의 데이터베이스의 문장과 비교하여 오류를 검출하는 방식을 순차적으로 적용하여 최종 오류를 검출하는 문법 오류 검출 방법, 이를 위한 오류검출장치 및 이 방법이 기록된 컴퓨터로 판독 가능한 기록매체에 관한 것이다.
최근 대학 입시 시험 및 국내 대기업들이 성적 위주의 평가에서 말하기/쓰기 위주의 실제 영어 능력 평가로 변화하고 있다. 즉, 영어 의사소통 능력 신장을 위해 교육과학 기술부가 NEAT(National English Ability Test, 인터넷을 기반으로 한 듣기, 독해, 말하기, 쓰기 평가)를 개발하여 시범 시행하고 있으며, 향후 공무원 시험이나 수능 영어 시험 등을 대체할 계획이다. 이러한 영어 능력 평가에서 쓰기 능력을 평가하기 위해 작문 평가 시스템을 도입하고 있다.
기존의 작문 평가 시스템은 이미 작문한 문장을 문법적으로 분석하여 문법에 맞게 제대로 작성되었는지 오류 검출을 통해 평가한다. 이때, 작문한 문장을 분석하는 과정에는 문장에 대한 형태소를 분석하고 품사를 태깅하는 과정이 필수적으로 요구되는데, 종래의 형태소 분석 및 품사 태깅 장치는 주변 단어들의 어휘, 품사, 의미 및 문맥적인 공기 관계가 복합적으로 고려되지 않고 단순히 품사열 정보에만 의존하기 때문에 그 정확성이 크게 떨어지는 문제점이 있다.
특히, 자연 언어는 문맥상 서로 의존적인 관계를 갖는 현상들이 많기 때문에 일방적으로 정의된 문법으로는 구문 분석의 한계가 있고, 작문 평가 시 복잡한 규칙을 지속적으로 생성하지 않고서도 주로 사용하는 패턴을 적용하여 오류 검출의 오류를 최소화하고 검출된 오류에 대해서는 정확하게 교정할 수 있는 방안이 필요하다.
이러한 종래의 문제점을 해결하기 위하여, 본 발명의 목적은 작문한 입력 문장을 형태소 단위로 분리하여 품사를 태깅하고, 태깅한 각 품사의 열에 대하여 단순 문법적인 영작 오류를 검출함과 동시에 서로 인접하는 품사간 연결 관계에 의해 정의된 규칙을 기반으로 파싱하여 구문 분석의 오류를 검출하는 방식과, 분리한 형태소로부터 임의의 윈도우 사이즈로 묶은 형태소열을 생성한 다음 각 형태소열을 예제 기반의 데이터베이스에서 검색하여 각 형태소와 그 형태소에 대한 형태소열이 함께 정렬되는 빈도수를 분석함으로써 예제에 기반한 각 형태소에 대한 오류를 검출하는 방식을 순차적으로 적용하여 최종 오류를 검출하는 문법 오류 검출 방법, 이를 위한 오류검출장치 및 이 방법이 기록된 컴퓨터로 판독 가능한 기록매체를 제공하고자 한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 오류검출장치는 입력된 문장을 형태소 단위로 분리하고, 상기 분리된 형태소들에 대하여 품사를 태깅하고, 태깅된 품사에 기초하여 문장의 구문 구조를 분석하는 문장 분석기와, 태깅된 품사에 엔-그램(N-gram)을 이용하여 품사열을 생성하고, 문법 규칙을 기반으로 생성된 품사열을 분석하여 오류를 검출하는 제1 오류검출기와, 분리된 형태소들을 임의의 윈도우(N-window) 사이즈로 묶은 형태소열을 생성하고, 예제 기반의 색인 데이터베이스를 검색하여 생성된 형태소열과 동일한 형태소열의 출현 빈도수에 따라 오류를 검출하는 제2 오류검출기 및 제1 오류검출기를 이용한 오류 검출 결과와, 제2 오류검출기를 이용한 오류 검출 결과를 조합하여 문장의 최종 오류를 결정하는 통합 오류검출기를 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 오류검출장치에 있어서, 통합 오류검출기는 문법 규칙 기반으로 문장의 오류를 검출하는 제1 오류검출기를 통해 문장의 오류 검출 후, 예제 기반으로 문장의 오류를 검출하는 제2 오류검출기를 적용하여 문장의 최종 오류 여부를 검출하는 것을 특징으로 한다.
또한, 본 발명에 따른 오류검출장치에 있어서, 언어 전달 매체를 통해 다양한 문체를 포함하는 용례문을 수집하고, 수집한 용례문을 형태소 단위로 분리하여 예제 기반의 색인 데이터베이스에 구축하는 용례구축기를 더 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 오류검출장치에 있어서, 제1 오류검출기는 문장에 태깅된 품사에 대해 엔-그램을 이용하여 일정 윈도우 단위의 품사열을 생성하는 품사열 생성부와, 품사열을 문맥자유문법 규칙 및 정규문법 규칙을 기반으로 파싱하여 품사열의 밀접도를 계산하는 샬로우 파서 및 샬로우 파서를 통해 계산한 밀접도에 따라 문장의 오류를 검출하는 제1 오류검출부를 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 오류검출장치에 있어서, 문맥자유문법 규칙은 맞춤법이나 관사, 시제를 포함한 일반 문법을 정규화한 규칙인 것을 특징으로 한다.
또한, 본 발명에 따른 문장의 오류검출장치에 있어서, 정규문법 규칙은 문맥자유문법 규칙으로 정의할 수 없는 예외 규칙, 서로 인접하는 품사간 연결 관계 또는 밀접도에 따라 정의할 수 있는 규칙을 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 오류검출장치에 있어서, 샬로우 파서는 품사열에 대하여 계산한 밀접도가 기준치보다 높으면 명사구, 복합어, 목적어구, 종속절을 포함한 구문 트리 중 해당 트리를 생성하고, 밀접도가 기준치보다 낮으면 각 품사열을 이루는 단어를 구가 아닌 독립적인 단어로 유도 트리를 생성하는 것을 특징으로 한다.
또한, 본 발명에 따른 오류검출장치에 있어서, 제2 오류검출기는 순방향 또는 역방향 중 하나 이상의 방향으로, 형태소들을 임의의 윈도우 사이즈로 묶은 형태소열을 생성하는 N-그램 생성부와, 생성된 형태소열과 동일한 형태소열이 예제 기반의 색인 데이터베이스에 존재하는지 검색하는 검색부와, 생성된 형태소열과 동일한 형태소열의 출현 빈도수를 추출하고, 추출한 빈도수를 근거로 적합성을 계산하는 적합성 계산부 및 적합성 점수가 임계치보다 낮거나 또는 적합성 점수가 일정 이상으로 급격히 떨어지는지를 판단하여 오류 구간을 검출하는 오류 판단부로 구성되는 제2 오류검출부를 더 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 오류검출장치에 있어서, N-그램 생성부는 순방향으로 위치한 형태소들을 임의의 윈도우 사이즈로 묶은 순방향 또는 역방향 중 하나 이상의 방향으로 위치한 형태소들을 임의의 윈도우 사이즈로 묶은 역방향 형태소열을 각각 생성하는 것을 특징으로 한다.
또한, 본 발명에 다른 오류검출장치에 있어서, 통합 오류검출기는 제2 오류검출기에서 검출된 오류보다, 제1 오류검출기에서 검출된 오류를 우선하여 문장의 최종 오류로 결정하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 문법 오류 검출 방법은 문장을 복수의 형태소 단위로 분리하는 단계와, 형태소들에 품사를 태깅하는 단계와, 태깅된 품사에 대해 엔-그램을 이용하여 일정 윈도우 단위의 품사열을 생성하고, 품사열에 대하여 문법 규칙을 기반으로 문장의 오류를 검출하는 제1 오류검출단계와, 순방향 또는 역방향 중 하나 이상의 방향으로 형태소들을 임의의 윈도우 사이즈로 묶은 형태소열을 생성하고, 예제 기반의 색인 데이터베이스를 검색하여 생성된 형태소 열과 동일한 형태소열의 출현 빈도수에 따라 문장의 오류를 검출하는 제2 오류검출단계 및 제1 오류검출단계를 기반으로 검출된 오류와, 제2 오류검출단계를 기반으로 검출된 오류를 조합하여 문장의 최종 오류를 결정하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 문법 오류 검출 방법에 있어서, 제1 오류검출단계는 품사열에 대하여 계산한 밀접도가 기준치보다 높으면 명사구, 복합어, 목적어구, 종속절을 포함한 구문 트리 중 해당 구문 트리를 생성하고, 밀접도가 기준치보다 낮으면 각 품사열을 이루는 단어를 구가 아닌 독립적인 단어로 유도 트리를 생성하는 것을 특징으로 한다.
또한, 본 발명에 따른 문법 오류 검출 방법에 있어서, 제2 오류검출단계는 순방향에 위치한 형태소들을 임의의 윈도우 사이즈로 묶은 순방향 형태소열, 역방향에 위치한 형태소들을 임의의 윈도우 사이즈로 묶은 역방향 형태소열을 각각 생성하는 것을 특징으로 한다.
또한, 본 발명에 따른 문법 오류 검출 방법에 있어서, 제2 오류검출단계는 생성된 형태소열과 동일한 형태소열이 예제 기반의 색인 데이터베이스에 존재하는지 검색하는 단계와, 생성된 형태소열과 동일한 형태소열의 출현 빈도수를 추출하고 추출한 빈도수를 근거로 적합성을 계산하는 단계 및 계산된 적합성 점수가 임계치보다 낮거나 또는 적합성 점수가 일정 이상으로 급격히 떨어지는지를 판단하여 오류 구간을 검출하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 문법 오류 검출 방법에 있어서, 적합성을 계산하는 단계는 형태소열을 생성하는 단계에서 생성된 형태소열이 순방향 및 역방향에 대한 형태소열을 모두 포함한 경우, 순방향 형태소열과 역방향 형태소열에 대하여 각 형태소가 함께 정렬되는 빈도수를 추출하고 추출한 빈도수를 근거로 각각의 적합성을 계산하며, 각각의 적합성을 반영한 통합 적합성을 계산하는 것을 특징으로 한다.
또한, 본 발명에 따른 문법 오류 검출 방법에 있어서, 문장의 오류를 결정하는 단계는 문법 규칙 기반으로 문장의 오류를 검출하는 제1 오류검출단계 이후에, 예제 기반으로 문장의 오류를 검출하는 제2 오류검출단계를 적용하여 문장의 최종 오류를 결정하는 것을 특징으로 한다.
또한, 본 발명에 따른 문법 오류 검출 방법에 있어서, 문장의 오류를 결정하는 단계는 제2 오류검출단계에서 검출된 오류보다, 제1 오류검출단계에서 검출된 오류를 우선하여 문장의 최종 오류로 결정하는 것을 특징으로 한다.
본 발명의 과제 해결을 위한 또 다른 수단으로서, 문법 오류 검출 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체를 제공한다.
본 발명에 따르면, 작문한 입력 문장의 구문 분석 시 언어의 정형적인 규칙(rule)뿐만 아니라 인접 품사간 의존적인 관계로 인한 규칙까지도 고려하여 분석함으로써 문법적인 오류 검출의 정확도를 높일 수 있다.
또한, 미리 정의된 패턴에 따라 품사열을 생성하고, 생성한 품사열 단위로 문장을 분석함으로써 구문 분석의 속도가 빠르고, 구문 해석의 애매성을 줄일 수 있으며, 문장 오류의 유형도 세부적으로 검출이 가능하다.
또한, 문장 자동 평가 시, 구문의 규칙에 대한 오류 검출 방식과, 예시 적용을 이용한 오류 검출 방식을 동시에 수행함으로써, 두 번의 문장 오류 검사를 통해 보다 신뢰성 높은 문장 평가를 실행할 수 있다.
도 1은 본 발명의 실시 예에 따른 문법 오류 검출을 위한 오류검출장치의 구성을 나타내는 도면이다.
도 2는 본 발명의 실시 예에 따른 문장분석기의 구성을 나타내는 도면이다.
도 3은 본 발명의 실시 예에 따른 제1 오류검출기의 구성을 나타낸 도면이다.
도 4는 정규 문법의 예를 나타낸 표이다.
도 5는 본 발명의 실시 예에 따른 제2 오류검출기의 구성을 나타내는 도면이다.
도 6은 도 5의 제2 오류검출부에 대한 상세도이다.
도 7은 도 5의 각 구성요소에서 수행하는 기능을 설명하기 위한 예시도 이다.
도 8은 도 5의 제2 오류검출부에서 수행한 결과 값을 보여주는 예시도 이다.
도 9는 본 발명의 실시 예에 따른 용례구축기의 구성을 나타내는 도면이다.
도 10은 본 발명의 실시 예에 따른 오류검출장치의 동작 방법을 설명하기 위한 흐름도이다.
도 11은 본 발명의 실시 예에 따른 제1 오류검출기의 동작을 설명하기 위한 흐름도이다.
도 12는 도 11의 제1 오류 검출 방법을 통해 품사열을 생성하는 처리 과정을 나타낸 예시표 이다.
도 13은 본 발명의 실시 예에 따른 제2 오류검출기의 동작을 설명하기 위한 흐름도이다.
도 14는 본 발명의 실시 예에 따른 예제 기반 방식의 오류 검출 과정을 설명하기 위한 흐름도이다.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
도 1은 본 발명의 실시 예에 따른 문법 오류 검출을 위한 오류검출장치의 구성을 나타내는 도면이다.
도 1을 참조하면, 본 발명에 따른 문법 오류 검출을 위한 오류검출장치(10)는 문장분석기(100), 제1 오류검출기(200), 제2 오류검출기(300), 용례구축기(400) 및 통합 오류검출기(500)로 구성된다.
문장분석기(100)는 작문한 입력 문장을 데이터로 입력 받는다. 이때, 문장분석기(100)는 입력 받은 작문(이하, 입력 문장)을 형태소 단위로 분리하고, 분리된 형태소들에 대하여 해당 품사를 태깅한다. 그리고, 문장분석기(100)는 태깅된 품사에 기초하여 각 문장의 구문(syntax) 구조를 분석하고, 그 분석한 결과로서 구문 트리를 추출한다. 이때, 문장분석기(100)는 파싱 시, 구문 분석의 오류를 최소화하기 위해 품사를 태깅한 문장을 제1 오류검출기(200)와 제2 오류검출기(300)로 전달한다.
제1 오류검출기(200)는 문장분석기(100)로부터 전달받은 문장에 대하여 엔-그램(N-gram)을 이용하여 품사열을 생성하고, 생성한 품사열에 대하여 단순 문법 규칙을 토대로 분석함과 동시에 서로 인접하는 품사간 연결 관계에 따라 정의한 문법 규칙을 기반으로 분석함으로써 단순 영작 오류뿐 아니라 인접한 품사간의 연결 관계에 대한 구문 분석의 오류를 검출하고, 검출된 오류를 통합 오류검출기(500)로 전달한다. 특히, 제1 오류검출기(200)는 태깅된 품사에 엔-그램을 이용하여 품사열을 생성하고, 문법 규칙을 기반으로 생성된 품사열을 분석하여 오류를 검출한다.
제2 오류검출기(300)는 용례구축기(400)를 통해 구축된 색인 데이터베이스를 활용하여 예제 기반 방식으로 입력 문장에 대한 오류를 검출하고, 그 검출한 오류를 통합 오류검출기(500)로 전달한다. 또한, 제2 오류검출기(300)는 검출한 오류에 대하여 수정안을 제시하여 오류 교정 기능을 수행할 수도 있다.
이러한 제2 오류검출기(300)는 예제 기반의 통계적 정보를 기반으로 입력 문장에 존재하는 오류를 검출한다는 것으로, 오류 검출 시 입력 문장을 전체로 하여 검색하지 않고, 임의의 윈도우 단위로 구간을 묶어 구간 단위로 통계적 정보를 비교 및 검색하는 N-그램 검색 방식을 이용한다. 특히, 제2 오류검출기(300)는 분리된 형태소들을 임의의 윈도우 사이즈로 묶은 형태소열을 생성하고, 예제 기반의 색인 데이터베이스를 검색하여 생성된 형태소열과 동일한 형태소열의 출현 빈도수에 따라 오류를 검출한다.
용례구축기(400)는 언어 전달 매체로부터 노출되는 다수의 문장들로부터 용례문을 수집하여 오류 검출에 활용할 대용량의 색인 데이터베이스(DB)를 구축한다.
통합 오류검출기(500)는 규칙 기반의 문장 오류를 검출하는 제1 오류검출기(200)를 통해 검출된 오류 결과와, 예제 기반의 문장 오류를 검출하는 제2 오류검출기(300)를 통해 검출된 오류 결과를 조합하여 최종적인 오류 여부를 확인하고, 확인된 오류에 대한 결과를 출력한다. 이때, 통합 오류검출기(500)는 문장의 오류 검출을 위하여 제1 오류검출기(200)를 이용한 방식과 제2 오류검출기(300)를 이용한 방식을 동시에 적용하여 문장의 오류를 효과적으로 검출할 수 있다. 또한, 통합 오류검출기(500)는 제1 오류검출기(200)를 통한 오류 검출을 수행한 후, 다시 제2 오류검출기(300)를 통해 문장의 오류를 검출함으로써, 확실하게 문장의 최종 오류를 검출할 수 있다. 특히, 통합 오류검출기(500)는 제2 오류검출기(300)에서 검출된 오류보다, 제1 오류검출기(200)에서 검출된 오류를 우선 순위로 하여 문장의 최종 오류를 결정한다.
특히, 본 발명에 따르면, 문장 평가를 위한 오류검출장치(10)는 두 번의 문장 오류 검사를 통해 보다 신뢰성 높은 문장 평가를 실행할 수 있다.
도 2는 본 발명의 실시 예에 따른 문장분석기의 구성을 나타내는 도면이다.
도 2를 참조하면, 본 발명에 따른 문장 오류 검출에 대한 구성은 제1 오류검출기(200) 및 제2 오류검출기(300)와 문장분석기(100)를 독립적으로 구성한 예를 도시하였으나, 이에 한정되지 않고 문장분석기(100)에 제1 오류검출기(200)가 포함되어 하나의 장치로도 구현되거나, 문장분석기(100)에 제2 오류검출기(300)가 포함되어 하나의 장치로도 구현될 수 있다.
문장분석기(100)는 작문한 입력 문장을 데이터로 입력 받고, 입력받은 작문을 평가하기 위한 구성으로서 입력문장 분리부(110) 및 품사 태깅부(120)를 포함한다. 특히, 문장분석기(100)는 입력된 문장을 형태소 단위로 분리하고, 분리된 형태소들에 대하여 품사를 태깅하고, 태깅된 품사에 기초하여 문장의 구문 구조를 분석한다.
입력문장 분리부(110)는 입력 받은 작문을 형태소 단위로 분리한다. 여기서, 문장 분리는 여러 문장에서 마침표나 물음표, 느낌표 등의 마침 기호를 통해 문장 단위로 분리하는 것을 의미한다. 또한, 형태소 분리는 언어 특성상 조사가 단어 옆에 정렬되지 않기 때문에 의미 있는 최소 단위인 형태소는 곧 단어가 될 수 있다.
품사 태깅부(120)는 입력문장 분리부(110)에서 분리한 형태소들에 대하여 해당 품사를 태깅한다. 여기서, 품사 태깅은 기 저장된 품사 사전(130)의 지식을 참조하여 수행할 수 있다. 예컨대, 품사의 종류는 명사, 동사, 전치사, 형용사, 부사, 관사, 감탄사 등이 있다. 예를 들어, 입력문장이 "I would like to live in the city."가 입력되면 입력문장 분리부(110)는 I, would, like, to, live, in, the, city, .으로 분리하고, 품사 태깅부(120)는 분리된 형태소들에 대하여 차례대로 명사(I), 동사(would), 동사(like), 전치사(to), 동사(live), 전치사(in), 관사(the), 명사(city) 등의 품사를 태깅한다.
또한, 본 발명에 따른 문장분석기(100)는 문장 오류 검출을 위한 효과적인 수행을 위하여 구문 분석부(미도시)를 더 포함한다. 특히, 구문 분석부는 품사 태깅부(120)에서 태깅한 품사에 기초하여 각 문장의 구문 구조를 분석하고, 그 분석한 결과로서 구문 트리를 추출한다. 일반적으로 문장의 구문을 분석하는 것을 파싱(parsing)이라 하고, 문자열이 문법에 의하여 생성될 수 있는지 파악하기 위하여 구문 트리를 출력시키는 프로그램을 파서(parser)라고 한다. 또한, 구문 분석부는 파싱 시, 구문 분석의 오류를 최소화하기 위해 품사를 태깅한 문장을 제1 오류검출기(200) 또는 제2 오류검출기(300)로 전달하고, 통합 오류검출기 (500)로부터 검출된 오류 정보를 받아 구문 트리에 반영한다.
도 3은 본 발명의 실시 예에 따른 제1 오류검출기의 구성을 나타낸 도면이고, 도 4는 정규 문법의 예를 나타낸 표이다.
도 3을 참조하면, 본 발명의 실시 예에 따른 제1 오류검출기(200)는 품사열 생성부(210), 샬로우 파서(shallow parser: 220), 제1 오류검출부(230), 정규문법 지식 DB(240), 문맥자유 문법 지식 DB(250) 등을 포함한다.
품사열 생성부(210)는 품사 태깅부(120)에서 태깅한 각 품사에 대하여 임의의 윈도우 사이즈로 묶는 엔-그램을 이용하여 각 품사에 대한 품사열을 생성한다.
예를 들어, 입력 문장 "I went to go to school."은 형태소 분리 및 품사 태깅에 의해 'I/명사', 'went/동사', 'to/전치사', 'go/동사', 'to/전치사', 'school/명사'로 추출되고, 품사열 생성부(210)에서는 트라이그램(Tri-gram)을 적용하여 각 품사에 대한 품사열로서, 'I went to', 'went to go', ' go to school', 'to school (null)', ' school (null) (null)' 등으로 생성할 수 있다.
품사열 생성부(210)는 미리 윈도우 사이즈를 설정해 두고, 설정한 윈도우 사이즈에 해당하는 품사열을 생성하여 오류 검출에 활용할 수 있다. 세밀한 검출을 하기 위해서는 바이그램(Bi-gram), 트라이그램(Tri-gram)과 같이 윈도우 사이즈를 가변하여 각각의 품사열을 생성하고 분석할 수 있다.
샬로우 파서(220)는 품사열 생성부(210)에서 생성한 품사열에 대하여 정규문법(Regular grammar) 규칙 및 문맥자유문법(Context Free Grammar: CFG) 규칙을 기반으로 인접한 품사간의 연결 관계를 고려하여 구조를 파싱한다. 여기서, 문맥자유문법 규칙은 일반적으로 영문법이라고 하여 일반적인 문법을 정의한 것으로, 맞춤법이나 관사, 시제 등에 관한 규칙을 포함한다.
예를 들면, 3인칭 단수 주어 다음에 나오는 현재시점의 동사에는 s를 불이고, 단수 가산 명사의 앞에는 a 또는 an를 붙이는데 모음으로 시작하는 명사 앞에는 an을 붙이는 등의 규칙을 포함한다.
이러한 문맥자유문법 규칙은 문맥자유문법 지식 DB(250)에 저장하고, 샬로우 파서(220)의 파싱 시 이용하도록 제공한다.
정규문법 규칙은 일반 문법 즉, 문맥자유문법을 규칙으로 정의할 수 없는 예외를 규칙으로 정의한 것으로, 서로 인접한 품사간의 연결 관계 또는 밀접도에 따라 추가적으로 정의할 수 있다. 구체적으로, 도 4에 나타낸 표와 같이 철자 오류, 띄어쓰기 오류, 관사 형태, 관사 중복, 수의 불일치, 품사 혼용, 동사 형태 오류, 잘못된 연어, 잘못된 어순, 전치사 누락, 비교급 형태 오류, 불필요한 한정사, 불필요한 전치사 등에 관하여 규칙을 정의할 수 있다.
예를 들어, 보통 자음 앞에는 관사 a가 붙지만 자음의 첫 음절이 묵음인 명사의 경우 관사 an을 붙이는 것으로 정의한 것은 문맥자유문법이지만, 자음 명사 hoest의 앞에는 관사 a가 아닌 an이 붙는 것은 정규 문법이다. 즉, 문맥자유문법 규칙에 예외로 적용되는 명사를 별개의 규칙으로 추가한 것이 정규 문법이다.
또한, 정규문법 규칙의 다른 예는 'beggining'라는 오타가 나오면 'beginning'을 잘못 쓴 것으로 분석하고, 오류 검출과 함께 교정안 'beginning'을 검출할 수도 있다.
이러한 정규문법 규칙은 정규문법 지식 DB(250)에 저장하고, 샬로우 파서(220)의 파싱 시 이용하도록 제공한다.
따라서, 샬로우 파서(220)는 기 저장된 문맥자유문법 규칙의 지식을 이용하여 단순 문법의 오류를 직접적으로 분석하고, 정규문법 규칙을 이용하여 상호 인접한 품사간의 연결 관계에 따른 품사열의 밀접도를 계산한다. 만약, 각 품사열의 밀접도가 높으면 해당 품사열을 명사구, 복합어, 목적어구, 종속절 등의 유도 트리로 생성하고, 밀접도가 낮으면 각 품사열을 이루는 단어를 구가 아닌 독립적인 단어로 유도 트리를 생성할 수 있다.
밀접도가 높고 낮다는 판단은 판단할 기준치를 설정해 두고 기준치에 비해 높고 낮음에 따라 판단할 수 있다. 또한, 하나의 품사열로부터 유도 가능한 여러 유도 트리에 대하여 밀접도를 계산하고, 계산한 밀접도에서 상대적으로 가장 높고 낮은 것으로 판단할 수 있다. 이 경우, 밀접도가 상대적으로 가장 높은 유도 트리를 선택하여 오류를 검출할 수 있다.
또한, 샬로우 파서(220)는 태깅된 품사에 대하여 오른쪽에서 왼쪽 방향(right-to-left)으로 이동(shift)하는 상향식(bottom-up chart) 챠트 파싱을 수행한다. 상향식 챠트 파싱은 일반 구문 분석을 위한 파싱이 아니기 때문에 전체를 대상으로 문장을 만드는 것을 목표로 하지 않는다. 즉, 더 이상 새로 만들어지는 노드가 없는 경우에 파싱 진행을 중단한다.
제1 오류검출부(230)는 샬로우 파서(220)를 통해 생성한 분석 결과를 기초로, 구문 분석부(130)에서 분석한 구문 트리로부터 오류를 검출한다. 이때, 제1 오류검출부(230)는 입력 문장의 전체를 검색하기 보다는 일정 구간의 열로 구분하는 엔-그램을 이용하여 검색함으로써, 오류 검출의 성능이 빠르면서 통째로 분석하는 방법에 비해 오류 검출도 정확하게 이루어질 수 있다. 특히, 제1 오류검출기(200)는 태깅된 품사에 엔-그램을 이용하여 품사열을 생성하고, 문법 규칙을 기반으로 생성된 품사열을 분석하여 오류를 검출한다.
도 5는 본 발명의 실시 예에 따른 제2 오류검출기의 구성을 나타내는 도면이다.
도 5를 참조하면, 본 발명의 실시 예에 따른 제2 오류검출기(300)는 제2 오류검출부(310) 및 색인 데이터베이스(320)를 포함한다.
제2 오류검출부(310)는 품사 태깅부(120)에서 태깅한 형태소들에 대하여 임의의 윈도우 사이즈로 묶은 형태소열을 생성하고, 생성한 형태소열 별로 색인 데이터베이스(320)를 검색하여 각 형태소가 해당 형태소열과 함께 정렬되는 빈도수에 따라 오류를 검출한다. 이러한 제2 오류검출부(310)는 입력 문장의 전체를 검색하기 보다는 일정 구간으로 나누어서 검색함으로써, 오류 검출의 성능이 빠르면서 통째로 검색하는 분석 방법에 비해 오류 검출도 정확하게 이루어질 수 있다.
또한, 제2 오류검출기(300)는 오류교정부(미도시)를 더 구비한다. 특히, 오류 교정부는 제2 오류검출부(310)를 통해 검색한 형태소열과 함께 정렬되는 형태소들을 추출하여, 특히 빈도수가 높은 순위의 형태소를 우선순위로 추출하여, 검출한 오류에 대한 수정안으로 제시한다. 이처럼, 오류교정부는 수정안을 제시하는 방법으로서 오류 검출 방식으로 적용한 N-그램 검색 방식을 활용하여 오류 구간의 형태소만 제시할 수 있지만, 전체 문장에 대한 유사 문장을 통째로 검색하여 가장 유사한 상위 K개에 대한 유사 문장을 단순 제시하는 방법을 이용할 수도 있다. 특히, 제2 오류검출기(300)는 분리된 형태소들을 임의의 윈도우 사이즈로 묶은 형태소열을 생성하고, 예제 기반 색인 데이터베이스를 검색하여 생성된 형태소열과 동일한 형태소열의 출현 빈도수에 따라 오류를 검출한다.
도 6은 도 5의 제2 오류검출부에 대한 상세도이고, 도 7은 도 5의 각 구성요소에서 수행하는 기능을 설명하기 위한 예시도 이다.
도 6을 참조하면, 본 발명의 실시 예에 따른 제2 오류검출부(310)는 N-그램 생성부(341), 검색부(343), 적합성 계산부(345), 오류 판단부(347)를 포함한다.
N-그램 생성부(341)는 순방향 또는 역방향 중 하나 이상의 방향으로, 형태소들을 임의의 윈도우 사이즈로 묶어 형태소열을 생성한다.
특히, 본 발명에 따른 N-그램 생성부(341)는 형태소들을 기준으로 순방향으로 위치한 형태소들을 임의의 윈도우 사이즈로 묶은 순방향 또는 역방향 중 하나 이상의 방향으로 위치한 형태소들을 임의의 윈도우 사이즈로 묶은 역방향 형태소열을 각각 생성할 수 있다.
예를 들면, 도 7의 (d)-①에 나타난 바와 같이 입력 문장에서 형태소 'live'에 대하여 생성할 수 있는 순방향 형태소열을 보면, 먼저 형태소 'live'를 기준으로 최소 2-윈도우에서 5-윈도우 단위로 묶은 형태소열의 예를 보여주고 있다. 즉, 2-윈도우 단위로 묶은 형태소열은 'to live'이고, 3-윈도우 단위로 묶은 형태소열은 'like to live'이며, 이후 하나씩 윈도우 사이즈를 증가한 형태소열은 'would like to live', 'I would like to live'가 된다. 따라서 형태소 'live'를 포함한 형태소열에서 'to' 다음에 'live'가 올 수 있는 빈도수 또는 'like to', 'would like to', 'I would like to' 다음에 'live'가 올 수 있는 빈도수를 각각 추출할 수 있다.
반대로, (d)의 ②에 나타난 바와 같이 형태소 'live'를 기준으로 역방향으로 위치한 형태소(in, the, city)에 대하여 임의의 윈도우 사이즈로 묶은 형태소열을 생성할 수 있다. 2-윈도우 단위로 묶은 역방향 형태소열은 'live in', 3-윈도우 단위로 묶은 역방향 형태소열은 'live in the', 4-윈도우 단위로 묶은 역방향 형태소열은 'live in the city'로 생성할 수 있다.
이때, N-그램 생성부(341)는 미리 윈도우 사이즈를 설정해 두고, 설정한 윈도우 사이즈에 해당하는 형태소열을 생성하여 오류 검출에 활용할 수 있다. 세밀한 검출을 하기 위해서는 바이그램, 트라이그램과 같이 윈도우 사이즈를 가변하여 각각의 형태소열을 생성하고 분석하는 것이 좋지만, 이럴 경우 색인 데이터베이스(320)에 저장되는 형태소열에 대한 용량도 크게 증가하게 되고 분석 또한 복잡해 질 수 있으므로, 하나의 윈도우 사이즈만 고려한 형태소열을 생성하여 분석하는 것도 가능하다.
검색부(343)는 N-그램 생성부(341)에서 생성된 형태소열과 동일한 형태소열이 다수의 용례문으로 구축된 예제 기반의 색인 데이터베이스(320)에 존재하는지 입력 문장에 포함되어 있는 각 형태소별로 검색한다.
적합성 계산부(345)는 생성된 형태소열과 동일한 형태소열의 출현 빈도수를 추출하고, 추출한 빈도수를 근거로 적합성을 계산한다. 적합성 계산은 형태소들에 대한 형태소열의 빈도수를 나타낸 점수(score)이다. 이때, 적합성 계산부(345)는 N-그램 생성부(341)에서 생성한 형태소열이 순방향, 역방향에 대하여 모두 존재할 경우 하나의 형태소에 대하여 순방향 또는 역방향 중 하나 이상의 방향으로 형태소열에 대한 적합성을 각각 계산하고, 각각의 적합성을 통합한 통합 적합성을 계산할 수 있다.
또한, 적합성 계산부(345)는 순방향 형태소열, 역방향 형태소열에 대한 적합성을 계산할 때 각 형태소에 대한 형태소열의 빈도수에 따라 가중치를 다르게 적용할 수 있다. 예를 들어, 역방향 형태소열에서 2-윈도우 단위로 묶은 형태소열 'live in'과, 3-윈도우 단위로 묶은 형태소열 'live in the', 4-윈도우 단위로 묶은 형태소열 'live in the city' 등이 존재할 경우 윈도우 수가 많은 형태소열에 더 높은 가중치를 부여함으로써 많은 정보를 참고하여 적합성을 결정하도록 한다.
오류 판단부(347)는 적합성 점수가 임계치보다 낮거나 또는 일정 이상으로 급격히 떨어지는 구간이 있는지를 판단하여 오류 구간을 검출한다. 이때, 오류 판단부(347)는 순방향에 대한 적합성, 역방향에 대한 적합성, 통합 적합성으로 구분하여 각각의 그래프를 산출할 수 있다.
도 8은 도 5의 제2 오류검출부에서 수행한 결과 값을 보여주는 예시도 이다.
도 8에 도시된 예를 살펴보면, (a)는 입력 문장이고, (b)는 입력 문장에 대하여 각 형태소 별로 계산한 적합성을 나타낸 것이다.
(b)에 나타난 score_f(Wm)은 각 형태소에 대하여 순방향 형태소열과 함께 정렬될 수 있는 빈도수를 나타낸 순방향 적합성이고, score_b(Wm)는 각 형태소에 대하여 역방향 형태소열과 함께 정렬될 수 있는 빈도수를 나타낸 역방향 적합성이며, score(Wm)은 순방향 적합성과 역방향 적합성을 평균화한 통합 적합성이다.
(c)는 (b)에 나타난 통합 적합성을 이용하여 산출한 그래프를 나타낸 것이다. 이 그래프를 통해 임계치(threshold)이하로 낮아진 A부근에서 즉, 형태소 live 주위에서 단어 누락 등으로 오류가 존재함을 알 수 있다.
도 9는 본 발명의 실시 예에 따른 용례구축기의 구성을 나타내는 도면이다.
도 9를 참조하면, 용례구축기(400)는 용례 수집부(410), 용례 분리부(420), N-그램 생성부(430), 구축부(440)를 포함한다.
용례 수집부(410)는 인터넷이나 뉴스, 신문 기사 등의 언어 전달 매체를 통해 노출되는 방대한 문장셋으로부터 용례문을 수집한다. 이때, 용례문은 실생활에서 사용되고 있는 문장, 다양한 문체를 포함한 문장 등을 모두 포함함을 전제로 한다. 뉴스나 신문 기사는 문장의 오류가 다른 매체에 비해 적으므로 이를 활용한다.
이러한 용례 수집부(410)는 수집하고자 원하는 키워드들을 미리 입력해 두고 해당 언어 전달 매체를 통해 노출되는 문장셋을 모니터링하면서, 입력해 둔 키워드가 적용된 용례문이 존재하면 이를 자동 수집할 수 있다.
용례 분리부(420)는 용례 수집부(410)를 통해 수집한 용례문을 형태소 단위로 분리한다. 여기서, 문장 분리는 여러 문장을 갖는 용례문을 마침표 또는 물음표, 느낌표 등의 마침 기호를 통해 문장 단위로 분리한다. 또한, 형태소 분리는 문장 단위로 분리한 각 용례문을 형태소 단위로 분리하는 것을 의미한다.
N-그램 생성부(430)는 용례 분리부(420)를 통해 분리한 각 형태소에 대하여 임의의 윈도우 사이즈로 묶은 형태소열을 생성한다. 이때, 형태소열은 각 형태소를 기준으로 순방향 또는 역방향 중 하나 이상의 방향으로 형태소들을 임의의 윈도우 사이즈로 묶어 생성한다. 예를 들어, "I want to go to school." 용례문으로부터 3-윈도우 사이즈를 이용하여 생성한 형태소열은 형태소 I에 대하여 "I want to", 형태소 want에 대하여 "want to go", " (null) I want", 형태소 to에 대하여 "to go to", "I want to"와 같이 생성할 수 있다. 이는 색인 데이터베이스(320)에 구축시 용례문을 문장 전체뿐만 아니라 형태소열 단위로 저장하기 위함이다.
구축부(440)는 N-그램 생성부(430)에서 생성한 형태소열과 해당 용례문을 매칭하여 색인 데이터베이스(320)에 저장한다.
도 10은 본 발명의 실시 예에 따른 오류검출장치의 동작 방법을 설명하기 위한 흐름도이다.
도 10을 참조하면, 본 발명의 실시 예에 따른 오류검출장치(10)는 S11 단계에서 입력 문장을 입력받고, 입력받은 문장을 복수의 형태소 단위로 분리한다. 이때, 오류검출장치(10)는 품사 사전(130)을 기반으로 형태소들에 해당 품사를 태깅한다. 그리고 나서, 오류검출장치(10)는 S13 단계에서 태깅된 품사에 기초하여 분리한 문장에 대하여 구문 분석을 수행하고 그 분석 결과로서 구문 트리를 추출한다. 여기서, 오류검출장치(10)는 파싱 시, 구문 분석의 오류를 최소화하기 위해 품사를 태깅한 문장을 제1 오류검출기(200) 또는 제2 오류검출기(300)로 전달하고, 통합 오류검출기(500)로부터 검출된 오류 정보를 받아 구문 트리에 반영한다.
오류검출장치(10)는 S15 단계에서 문장분석기(100)로부터 전달받은 문장에 대하여 엔-그램을 이용하여 품사열을 생성하고, 생성한 품사열에 대하여 단순 문법 규칙을 토대로 분석함과 동시에 서로 인접하는 품사간 연결 관계에 따라 정의한 문법 규칙을 기반으로 분석함으로써 단순 영작 오류뿐 아니라 인접 품사간 연결 관계에 따른 구문 분석의 오류를 검출한다. 즉, 오류검출장치(10)는 추출한 구문 트리에 대하여 오류가 있는지를 판단하기 위해 샬로우 파서를 이용하여 각 품사에 대한 품사열을 생성하고, 생성한 품사열을 단위로 오류를 검출한다. 여기서, 오류검출장치(10)는 정의된 규칙 기반으로 문장의 오류 검출을 실행한다.
오류검출장치(10)는 S17 단계에서 용례구축기(400)를 통해 구축된 예제 기반의 색인 데이터베이스(320)를 활용하여 문장분석기(100)에서 입력되는 입력 문장에 대한 오류를 검출한다.
오류검출장치(10)은 S19 단계에서 정의된 규칙 기반으로 문장의 오류를 검출하는 제1 오류검출기(200)와 예제 기반으로 문장의 오류를 검출하는 제2 오류검출기(300)를 통해 검출된 오류를 조합하여 최종 오류를 검출한다. 또한, 오류검출장치(10)는 제2 오류검출기(300)에서 검출된 오류보다, 제1 오류검출기(200)에서 검출된 오류를 우선하여 문장의 최종 오류로 결정한다.
이를 통해, 오류검출장치(10)는 작문된 문장을 동시에 확인하여 신속하게 문장의 오류를 검출할 수 있다. 또한, 오류검출장치(10)는 제1 오류검출기(200)를 통한 오류 검출을 수행한 후, 다시 제2 오류검출기(300)를 통해 문장의 오류를 검출함으로써, 확실하게 문장의 오류를 검출할 수 있다.
도 11은 본 발명의 실시 예에 따른 제1 오류검출기의 동작을 설명하기 위한 흐름도이고, 도 12는 도 11의 제1 오류 검출 방법을 통해 품사열을 생성하는 처리 과정을 나타낸 예시표 이다.
도 11을 참조하면, 본 발명의 실시 예에 따른 제1 오류검출기(200)는 오류 검출 과정에서 문장분석기(100)와 별개로 구현될 수 있다. 이때, 제1 오류검출기(200)를 이용한 오류 검출 단계(S15)는 구체적으로, 제1 오류검출기(200)는 S21 단계에서 품사 태깅 과정을 통해 태깅한 각 품사에 대하여 일정 윈도우 단위로 품사열을 생성한다. 여기서, 일정 윈도우란, 서로 인접하는 품사의 2개 또는 3개, 그 이상(n개)을 포함하여 그룹을 짓는 것을 의미하는 것으로, 서로 인접하는 품사마다 2개씩 그룹을 짓는 방식은 바이-그램이고, 3개씩 그룹을 짓는 방식은 트라이-그램이다. 즉, 제1 오류검출기(200)는 엔-그램(바이-그램, 트라이-그램 등)을 이용하여 기 설정한 단위에 따라 품사열을 생성한다.
제1 오류검출기(200)는 S23 단계에서 품사열 단위로 샬로우 파싱을 수행한다. 여기서, 샬로우 파싱은 기 저장된 문맥자유문법 규칙 및 정규문법 규칙을 기반으로 인접하는 품사간 밀접도에 고려하여 구문 구조를 분석한다.
구체적으로, 문맥자유문법 규칙의 지식을 이용하여 단순 문법의 오류를 직접적으로 분석하고, 이와 동시에 기 저장된 정규문법 규칙을 이용하여 상호 인접한 품사간 연결 관계에 따른 품사열의 밀접도를 계산한다. 각 품사열의 밀접도가 높으면 해당 품사열을 명사구, 복합어, 목적어구, 종속절 등의 유도 트리로 생성하고, 밀접도가 낮으면 각 품사열을 이루는 단어를 구가 아닌 독립적인 단어로 유도 트리를 생성할 수 있다.
이후, 제1 오류검출기(200)는 S25 단계에서 분석한 결과를 기초로 구문 분석을 통해 추출한 구문 트리의 오류를 검출한다.
도 13은 본 발명의 실시 예에 따른 제2 오류검출기의 동작을 설명하기 위한 흐름도이다.
도 13을 참조하면, 제2 오류검출기(300)를 이용한 오류 검출 단계(S17)는 구체적으로, 제2 오류검출기(300)는 S31 단계에서 입력 받은 문장의 각 형태소에 대하여 임의의 윈도우 사이즈로 묶은 형태소열을 생성한다. 여기서, 형태소열은 앞서 설명한 바와 같이 형태소들을 기준으로 순방향으로 묶은 순방향 형태소열 또는 역방향으로 묶은 역방향 형태소열 중 하나 이상의 방향으로 구분하여 각각 생성할 수 있다. 이후, 제2 오류검출기(300)는 S33 단계에서 생성한 형태소열이 예제 기반의 색인 데이터베이스(320)에 존재하는지 각 형태소별로 검색한다.
제2 오류검출기(300)는 S35 단계에서 생성된 형태소열과 동일한 형태소열의 출현 빈도수를 추출한다. 그리고, 제2 오류검출기(300)는 S37 단계에서 추출한 빈도수를 근거로 적합성을 계산한다. 이때, 적합성은 각 형태소가 해당 형태소열과 정렬되는 것이 적합한지에 대한 정도를 점수로 환산하여 나타낸 것으로, 이와 관련되는 계산 방법은 앞에서 설명한 바와 동일하다.
이후, 제2 오류검출기(300)는 S39 단계에서 계산한 적합성 점수를 그래프로 산출하고, 산출한 그래프를 활용하여 오류를 검출할 수 있다. 즉, 적합성 점수가 임계치보다 낮거나 또는 일정 이상으로 급격히 떨어지는지를 판단하여 오류 구간을 검출한다.
도 14는 본 발명의 실시 예에 따른 예제 기반 방식의 오류 검출 과정을 설명하기 위한 흐름도이다.
도 14를 참조하면, 본 발명의 실시 예에 따른 용례구축기(400)는 S41 단계에서 용례 수집부(410)에서 인터넷이나 뉴스, 신문 기사 등의 언어 전달 매체를 통해 노출되는 방대한 문장셋으로부터 원하는 용례문을 수집한다. 이때, 원하는 용례문을 수집하기 위해 사전에 수집하고자 원하는 키워드들을 미리 입력해 두면 해당 언어 전달 매체를 통해 노출되는 문장셋을 모니터링하면서 입력해 둔 키워드가 적용된 용례문이 존재하면 이를 자동 수집할 수 있다.
이후, 용례구축기(400)는 S43 단계에서 용례 분리부(420)가 용례 수집부(410)를 통해 수집한 각 용례문을 형태소로 분리한다. 그리고, 용례구축기(400)는 S45 단계에서 N-그램 생성부(430)가 각 형태소에 대하여 임의의 윈도우 사이즈로 묶은 형태소열을 생성한다.
용례구축기(400)는 S47 단계에서 구축부(440)가 이전 단계에서 생성한 형태소열과 해당 용례문을 매칭하여 색인 데이터베이스(320)에 저장한다.
본 발명에 따른 문법 오류 검출 방법은 다양한 컴퓨터 수단을 통하여 판독 가능한 소프트웨어 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM, Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.

Claims (18)

  1. 입력된 문장을 형태소 단위로 분리하고, 상기 분리된 형태소들에 대하여 품사를 태깅하고, 상기 태깅된 품사에 기초하여 문장의 구문 구조를 분석하는 문장 분석기;
    상기 태깅된 품사에 엔-그램(N-gram)을 이용하여 품사열을 생성하고, 문법 규칙을 기반으로 상기 생성된 품사열을 분석하여 오류를 검출하는 제1 오류검출기;
    상기 분리된 형태소들을 임의의 윈도우(N-window) 사이즈로 묶은 형태소열을 생성하고, 예제 기반의 색인 데이터베이스를 검색하여 상기 생성된 형태소열과 동일한 형태소열의 출현 빈도수에 따라 오류를 검출하는 제2 오류검출기; 및
    상기 제1 오류검출기를 이용한 오류 검출 결과와, 상기 제2 오류검출기를 이용한 오류 검출 결과를 조합하여 상기 문장의 최종 오류를 결정하는 통합 오류검출기;
    를 포함하는 것을 특징으로 하는 오류검출장치.
  2. 제1항에 있어서,
    상기 통합 오류검출기는
    문법 규칙 기반으로 문장의 오류를 검출하는 상기 제1 오류검출기를 통해 상기 문장의 오류 검출 후, 예제 기반으로 문장의 오류를 검출하는 상기 제2 오류검출기를 적용하여 상기 문장의 최종 오류 여부를 검출하는 것을 특징으로 하는 오류검출장치.
  3. 제1항에 있어서,
    언어 전달 매체를 통해 다양한 문체를 포함하는 용례문을 수집하고, 상기 수집한 용례문을 형태소 단위로 분리하여 상기 예제 기반의 색인 데이터베이스에 구축하는 용례구축기;
    를 더 포함하는 것을 특징으로 하는 오류검출장치.
  4. 제1항에 있어서,
    상기 제1 오류검출기는
    상기 문장에 태깅된 품사에 대해 엔-그램을 이용하여 일정 윈도우 단위의 품사열을 생성하는 품사열 생성부;
    상기 품사열을 문맥자유문법 규칙 및 정규문법 규칙을 기반으로 파싱하여 상기 품사열의 밀접도를 계산하는 샬로우 파서; 및
    상기 샬로우 파서를 통해 계산한 밀접도에 따라 상기 문장의 오류를 검출하는 제1 오류검출부;
    를 포함하는 것을 특징으로 하는 오류검출장치.
  5. 제4항에 있어서,
    상기 문맥자유문법 규칙은
    맞춤법이나 관사, 시제를 포함한 일반 문법을 정규화한 규칙인 것을 특징으로 하는 오류검출장치.
  6. 제4항에 있어서,
    상기 정규문법 규칙은
    상기 문맥자유문법 규칙으로 정의할 수 없는 예외 규칙, 서로 인접하는 품사간 연결 관계 또는 밀접도에 따라 정의할 수 있는 규칙을 포함하는 것을 특징으로 하는 오류검출장치.
  7. 제4항에 있어서,
    상기 샬로우 파서는
    상기 품사열에 대하여 계산한 밀접도가 기준치보다 높으면 명사구, 복합어, 목적어구, 종속절을 포함한 구문 트리 중 해당 트리를 생성하고, 밀접도가 기준치보다 낮으면 각 품사열을 이루는 단어를 구가 아닌 독립적인 단어로 유도 트리를 생성하는 것을 특징으로 하는 오류검출장치.
  8. 제1항에 있어서,
    상기 제2 오류검출기는
    순방향 또는 역방향 중 적어도 하나의 방향으로, 상기 형태소들을 임의의 윈도우 사이즈로 묶은 형태소열을 생성하는 N-그램 생성부와,
    상기 생성된 형태소열과 동일한 형태소열이 상기 예제 기반의 색인 데이터베이스에 존재하는지 검색하는 검색부와,
    상기 생성된 형태소열과 동일한 형태소열의 출현 빈도수를 추출하고, 상기 추출한 빈도수를 근거로 적합성을 계산하는 적합성 계산부 및
    상기 적합성 점수가 임계치보다 낮거나 또는 상기 적합성 점수가 일정 이상으로 급격히 떨어지는지를 판단하여 오류 구간을 검출하는 오류 판단부로 구성되는 제2 오류검출부;
    를 더 포함하는 것을 특징으로 하는 오류검출장치.
  9. 제8항에 있어서,
    상기 N-그램 생성부는
    순방향으로 위치한 형태소들을 임의의 윈도우 사이즈로 묶은 순방향 형태소열, 역방향으로 위치한 형태소들을 임의의 윈도우 사이즈로 묶은 역방향 형태소열을 각각 생성하는 것을 특징으로 하는 오류검출장치.
  10. 제1항에 있어서, 상기 통합 오류검출기는
    상기 제2 오류검출기에서 검출된 오류보다, 상기 제1 오류검출기에서 검출된 오류를 우선하여 상기 문장의 최종 오류로 결정하는 것을 특징으로 하는 오류검출장치.
  11. 문장을 복수의 형태소 단위로 분리하는 단계;
    상기 형태소들에 품사를 태깅하는 단계;
    상기 태깅된 품사에 대해 엔-그램을 이용하여 일정 윈도우 단위의 품사열을 생성하고, 상기 품사열에 대하여 문법 규칙을 기반으로 상기 문장의 오류를 검출하는 제1 오류검출단계;
    순방향 또는 역방향 중 하나 이상의 방향으로 상기 형태소들을 임의의 윈도우 사이즈로 묶은 형태소열을 생성하고, 예제 기반 색인 데이터베이스를 검색하여 상기 생성된 형태소 열과 동일한 형태소열의 출현 빈도수에 따라 상기 문장의 오류를 검출하는 제2 오류검출단계; 및
    상기 제1 오류검출단계를 기반으로 검출된 오류와, 상기 제2 오류검출단계를 기반으로 검출된 오류를 조합하여 상기 문장의 최종 오류를 결정하는 단계;
    를 포함하는 것을 특징으로 하는 문법 오류 검출 방법.
  12. 제11항에 있어서,
    상기 제1 오류검출단계는
    상기 품사열에 대하여 계산한 밀접도가 기준치보다 높으면 명사구, 복합어, 목적어구, 종속절을 포함한 구문 트리 중 해당 구문 트리를 생성하고, 밀접도가 기준치보다 낮으면 각 품사열을 이루는 단어를 구가 아닌 독립적인 단어로 유도 트리를 생성하는 것을 특징으로 하는 문법 오류 검출 방법.
  13. 제11항에 있어서,
    상기 제2 오류검출단계는
    순방향에 위치한 형태소들을 임의의 윈도우 사이즈로 묶은 순방향 형태소열, 역방향에 위치한 형태소들을 임의의 윈도우 사이즈로 묶은 역방향 형태소열을 각각 생성하는 것을 특징으로 하는 문법 오류 검출 방법.
  14. 제11항에 있어서,
    상기 제2 오류검출단계는
    상기 생성된 형태소열과 동일한 형태소열이 상기 예제 기반 색인 데이터베이스에 존재하는지 검색하는 단계;
    상기 생성된 형태소열과 동일한 형태소열의 출현 빈도수를 추출하고 추출한 빈도수를 근거로 적합성을 계산하는 단계; 및
    상기 계산된 적합성 점수가 임계치보다 낮거나 또는 상기 적합성 점수가 일정 이상으로 급격히 떨어지는지를 판단하여 오류 구간을 검출하는 단계;
    를 포함하는 것을 특징으로 하는 문법 오류 검출 방법.
  15. 제14항에 있어서,
    상기 적합성을 계산하는 단계는
    상기 형태소열을 생성하는 단계에서 생성된 형태소열이 순방향 및 역방향에 대한 형태소열을 모두 포함한 경우,
    상기 순방향 형태소열과 역방향 형태소열에 대하여 각 형태소가 함께 정렬되는 빈도수를 추출하고 추출한 빈도수를 근거로 각각의 적합성을 계산하며, 각각의 적합성을 반영한 통합 적합성을 계산하는 것을 특징으로 하는 문법 오류 검출 방법.
  16. 제11항에 있어서,
    상기 문장의 오류를 결정하는 단계는
    문법 규칙 기반으로 문장의 오류를 검출하는 상기 제1 오류검출단계 이후에, 예제 기반으로 문장의 오류를 검출하는 상기 제2 오류검출단계를 적용하여 상기 문장의 최종 오류를 결정하는 것을 특징으로 하는 문법 오류 검출 방법.
  17. 제11항에 있어서,
    상기 문장의 오류를 결정하는 단계는
    상기 제2 오류검출단계에서 검출된 오류보다, 상기 제1 오류검출단계에서 검출된 오류를 우선하여 상기 문장의 최종 오류로 결정하는 것을 특징으로 하는 문법 오류 검출 방법.
  18. 제11항 내지 제17항 중 적어도 하나의 항에 기재된 문법 오류 검출 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
PCT/KR2013/005402 2012-08-10 2013-06-19 문법 오류 검출 방법, 이를 위한 오류검출장치 및 이 방법이 기록된 컴퓨터로 판독 가능한 기록매체 WO2014025135A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/615,304 US9575955B2 (en) 2012-08-10 2015-02-05 Method of detecting grammatical error, error detecting apparatus for the method, and computer-readable recording medium storing the method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2012-0087788 2012-08-10
KR1020120087788A KR101629415B1 (ko) 2012-08-10 2012-08-10 문법 오류 검출 방법 및 이를 위한 오류검출장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/615,304 Continuation US9575955B2 (en) 2012-08-10 2015-02-05 Method of detecting grammatical error, error detecting apparatus for the method, and computer-readable recording medium storing the method

Publications (1)

Publication Number Publication Date
WO2014025135A1 true WO2014025135A1 (ko) 2014-02-13

Family

ID=50068323

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/005402 WO2014025135A1 (ko) 2012-08-10 2013-06-19 문법 오류 검출 방법, 이를 위한 오류검출장치 및 이 방법이 기록된 컴퓨터로 판독 가능한 기록매체

Country Status (3)

Country Link
US (1) US9575955B2 (ko)
KR (1) KR101629415B1 (ko)
WO (1) WO2014025135A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106910512A (zh) * 2015-12-18 2017-06-30 株式会社理光 语音文件的分析方法、装置及系统
CN111914540A (zh) * 2019-05-10 2020-11-10 阿里巴巴集团控股有限公司 语句鉴定方法及装置、存储介质和处理器
CN113407694A (zh) * 2018-07-19 2021-09-17 深圳追一科技有限公司 客服机器人知识库歧义检测方法、装置及相关设备
CN113642318A (zh) * 2021-10-14 2021-11-12 江西风向标教育科技有限公司 英语文章的纠错方法、系统、存储介质及设备

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014182820A2 (en) * 2013-05-07 2014-11-13 Haley Paul V System for knowledge acquisition
KR101633556B1 (ko) * 2014-09-22 2016-06-24 포항공과대학교 산학협력단 문법 오류 수정 장치 및 이를 이용한 문법 오류 수정 방법
CN105843811B (zh) * 2015-01-13 2019-12-06 华为技术有限公司 转换文本的方法和设备
KR101716654B1 (ko) * 2016-02-02 2017-03-16 (주)뉴로네티즘 영어 학습용 문장분석 방법
KR101954865B1 (ko) * 2017-02-28 2019-03-06 주식회사 닷 비트 테이블을 활용하여 입력 단어의 타당성 판단 장치, 방법 및 컴퓨터 프로그램
KR101962113B1 (ko) * 2017-03-28 2019-07-19 (주)아크릴 자연어 문장을 확장하는 장치와 상기 자연어 문장을 확장하는 방법
KR102096163B1 (ko) * 2017-12-07 2020-04-02 윤경원 외국어 입체 구조 분석 방법
US11520992B2 (en) 2018-03-23 2022-12-06 Servicenow, Inc. Hybrid learning system for natural language understanding
US10497366B2 (en) * 2018-03-23 2019-12-03 Servicenow, Inc. Hybrid learning system for natural language understanding
KR102117895B1 (ko) * 2018-11-28 2020-06-02 주식회사 이르테크 Stand-off 주석을 이용한 언어학습용 작문오류 교정장치 및 방법
CN110276052B (zh) * 2019-06-10 2021-02-12 北京科技大学 一种古汉语自动分词及词性标注一体化方法及装置
US11487945B2 (en) 2019-07-02 2022-11-01 Servicenow, Inc. Predictive similarity scoring subsystem in a natural language understanding (NLU) framework
US11481417B2 (en) 2019-11-06 2022-10-25 Servicenow, Inc. Generation and utilization of vector indexes for data processing systems and methods
US11468238B2 (en) 2019-11-06 2022-10-11 ServiceNow Inc. Data processing systems and methods
US11455357B2 (en) 2019-11-06 2022-09-27 Servicenow, Inc. Data processing systems and methods
US11593557B2 (en) 2020-06-22 2023-02-28 Crimson AI LLP Domain-specific grammar correction system, server and method for academic text

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050039379A (ko) * 2003-10-24 2005-04-29 한국전자통신연구원 대표 형태소 어휘 문맥에 기반한 통계적 태깅 오류 정정장치 및 그 방법
KR20090015604A (ko) * 2007-08-09 2009-02-12 한국전자통신연구원 번역 지식 구축 방법 및 장치
KR20100000047A (ko) * 2008-06-24 2010-01-06 한신대학교 산학협력단 인지신경기반 자동 어휘 획득 방법
KR20100072384A (ko) * 2008-12-22 2010-07-01 한국전자통신연구원 중한자동번역을 위한 한국어 연결어미 생성 방법 및 그 장치
KR20120041567A (ko) * 2010-10-21 2012-05-02 에스케이플래닛 주식회사 자동 번역 기술을 이용한 작문 시스템 및 방법

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5510981A (en) * 1993-10-28 1996-04-23 International Business Machines Corporation Language translation apparatus and method using context-based translation models
US5485372A (en) * 1994-06-01 1996-01-16 Mitsubishi Electric Research Laboratories, Inc. System for underlying spelling recovery
US5535121A (en) * 1994-06-01 1996-07-09 Mitsubishi Electric Research Laboratories, Inc. System for correcting auxiliary verb sequences
US5477448A (en) * 1994-06-01 1995-12-19 Mitsubishi Electric Research Laboratories, Inc. System for correcting improper determiners
JPH0844719A (ja) * 1994-06-01 1996-02-16 Mitsubishi Electric Corp 辞書アクセスシステム
US5521816A (en) * 1994-06-01 1996-05-28 Mitsubishi Electric Research Laboratories, Inc. Word inflection correction system
US5659771A (en) * 1995-05-19 1997-08-19 Mitsubishi Electric Information Technology Center America, Inc. System for spelling correction in which the context of a target word in a sentence is utilized to determine which of several possible words was intended
US5956739A (en) * 1996-06-25 1999-09-21 Mitsubishi Electric Information Technology Center America, Inc. System for text correction adaptive to the text being corrected
NO316480B1 (no) * 2001-11-15 2004-01-26 Forinnova As Fremgangsmåte og system for tekstuell granskning og oppdagelse
KR20030085740A (ko) 2002-05-01 2003-11-07 박홍원 학습자의 오류 문장에 대해 자동 첨삭 및 해설을 제공하는영어 학습방법 및 장치
US7680649B2 (en) * 2002-06-17 2010-03-16 International Business Machines Corporation System, method, program product, and networking use for recognizing words and their parts of speech in one or more natural languages
US7835902B2 (en) * 2004-10-20 2010-11-16 Microsoft Corporation Technique for document editorial quality assessment
US7853445B2 (en) * 2004-12-10 2010-12-14 Deception Discovery Technologies LLC Method and system for the automatic recognition of deceptive language
WO2006119578A1 (en) * 2005-05-13 2006-11-16 Curtin University Of Technology Comparing text based documents
US20070185859A1 (en) * 2005-10-12 2007-08-09 John Flowers Novel systems and methods for performing contextual information retrieval
US8170868B2 (en) * 2006-03-14 2012-05-01 Microsoft Corporation Extracting lexical features for classifying native and non-native language usage style
US7627562B2 (en) * 2006-06-13 2009-12-01 Microsoft Corporation Obfuscating document stylometry
US7991609B2 (en) * 2007-02-28 2011-08-02 Microsoft Corporation Web-based proofing and usage guidance
US8473278B2 (en) * 2008-07-24 2013-06-25 Educational Testing Service Systems and methods for identifying collocation errors in text
US20100235313A1 (en) * 2009-03-16 2010-09-16 Tim Rea Media information analysis and recommendation platform
US9280969B2 (en) * 2009-06-10 2016-03-08 Microsoft Technology Licensing, Llc Model training for automatic speech recognition from imperfect transcription data
US20100332217A1 (en) * 2009-06-29 2010-12-30 Shalom Wintner Method for text improvement via linguistic abstractions
US9092425B2 (en) * 2010-12-08 2015-07-28 At&T Intellectual Property I, L.P. System and method for feature-rich continuous space language models
KR101636902B1 (ko) * 2012-08-23 2016-07-06 에스케이텔레콤 주식회사 문법의 오류 검출 방법 및 이를 위한 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050039379A (ko) * 2003-10-24 2005-04-29 한국전자통신연구원 대표 형태소 어휘 문맥에 기반한 통계적 태깅 오류 정정장치 및 그 방법
KR20090015604A (ko) * 2007-08-09 2009-02-12 한국전자통신연구원 번역 지식 구축 방법 및 장치
KR20100000047A (ko) * 2008-06-24 2010-01-06 한신대학교 산학협력단 인지신경기반 자동 어휘 획득 방법
KR20100072384A (ko) * 2008-12-22 2010-07-01 한국전자통신연구원 중한자동번역을 위한 한국어 연결어미 생성 방법 및 그 장치
KR20120041567A (ko) * 2010-10-21 2012-05-02 에스케이플래닛 주식회사 자동 번역 기술을 이용한 작문 시스템 및 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106910512A (zh) * 2015-12-18 2017-06-30 株式会社理光 语音文件的分析方法、装置及系统
CN113407694A (zh) * 2018-07-19 2021-09-17 深圳追一科技有限公司 客服机器人知识库歧义检测方法、装置及相关设备
CN113407694B (zh) * 2018-07-19 2023-06-02 深圳追一科技有限公司 客服机器人知识库歧义检测方法、装置及相关设备
CN111914540A (zh) * 2019-05-10 2020-11-10 阿里巴巴集团控股有限公司 语句鉴定方法及装置、存储介质和处理器
CN113642318A (zh) * 2021-10-14 2021-11-12 江西风向标教育科技有限公司 英语文章的纠错方法、系统、存储介质及设备
CN113642318B (zh) * 2021-10-14 2022-01-28 江西风向标教育科技有限公司 英语文章的纠错方法、系统、存储介质及设备

Also Published As

Publication number Publication date
KR101629415B1 (ko) 2016-06-10
KR20140021838A (ko) 2014-02-21
US9575955B2 (en) 2017-02-21
US20150154173A1 (en) 2015-06-04

Similar Documents

Publication Publication Date Title
WO2014025135A1 (ko) 문법 오류 검출 방법, 이를 위한 오류검출장치 및 이 방법이 기록된 컴퓨터로 판독 가능한 기록매체
WO2013081301A1 (ko) 작문 자동 평가를 위해 샬로우 파서를 이용한 문장 자동 평가 장치, 이를 위한 오류 검출 장치 및 이를 위한 방법
KR100961717B1 (ko) 병렬 코퍼스를 이용한 기계번역 오류 탐지 방법 및 장치
WO2014069779A1 (ko) 구문 전처리 기반의 구문 분석 장치 및 그 방법
WO2014030834A1 (ko) 문법의 오류 검출 방법, 이를 위한 오류검출장치 및 이 방법이 기록된 컴퓨터로 판독 가능한 기록매체
US10296584B2 (en) Semantic textual analysis
WO2013062302A1 (ko) 작문 자동 평가를 위한 예제기반 오류 검출 시스템, 이를 위한 방법 및 이를 위한 오류 검출 장치
WO2011065617A1 (ko) 과학기술핵심개체 간 의미적 연관관계 자동 추출을 위한 시맨틱 구문 트리 커널 기반 처리 시스템 및 방법
WO2012026668A2 (ko) 의존관계 포레스트를 이용한 통계적 기계 번역 방법
Brill et al. Automatically acquiring phrase structure using distributional analysis
WO2012026667A2 (ko) 토큰 분리 및 번역 과정을 통합한 통합 디코딩 장치 및 그 방법
Imamura Hierarchical Phrase Alignment Harmonized with Parsing.
WO2016208941A1 (ko) 텍스트 전처리 방법 및 이를 수행하는 전처리 시스템
Kristianto et al. Extracting textual descriptions of mathematical expressions in scientific papers
WO2018088664A1 (ko) 러프 셋을 이용한 형태소 품사 태깅 코퍼스 오류 자동 검출 장치 및 그 방법
WO2012060534A1 (ko) 병렬 말뭉치를 이용한 동사구 번역 패턴 구축 장치 및 그 방법
Shann Experiments with GLR and chart parsing
Volk et al. Parallel corpora, terminology extraction and machine translation
Foufi et al. Multilingual parsing and MWE detection
WO2009131417A2 (ko) 의존 문법 구문 트리를 이용한 문장 요약 방법
KR20210130413A (ko) 자연어 텍스트의 시간적 문맥 정보 추출 장치 및 방법
Sharma et al. Improving existing punjabi grammar checker
Llorens et al. Data-driven approach based on semantic roles for recognizing temporal expressions and events in Chinese
Jindal et al. A Framework for Grammatical Error Detection and Correction System for Punjabi Language Using Stochastic Approach
Ohno et al. Dependency parsing of Japanese spoken monologue based on clause boundaries

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13827681

Country of ref document: EP

Kind code of ref document: A1