KR102541054B1 - 문자 오류 수정 방법, 장치, 전자 기기 및 기록 매체 - Google Patents
문자 오류 수정 방법, 장치, 전자 기기 및 기록 매체 Download PDFInfo
- Publication number
- KR102541054B1 KR102541054B1 KR1020210075730A KR20210075730A KR102541054B1 KR 102541054 B1 KR102541054 B1 KR 102541054B1 KR 1020210075730 A KR1020210075730 A KR 1020210075730A KR 20210075730 A KR20210075730 A KR 20210075730A KR 102541054 B1 KR102541054 B1 KR 102541054B1
- Authority
- KR
- South Korea
- Prior art keywords
- character
- processed
- text
- candidate
- candidates
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/211—Selection of the most significant subset of features
- G06F18/2113—Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2431—Multiple classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/232—Orthographic correction, e.g. spell checking or vowelisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Machine Translation (AREA)
Abstract
본 출원은 문자 오류 수정 방법, 장치, 전자 기기 및 기록 매체를 개시하였으며 자연어 처리 및 딥 러닝 분야에 관한 것이다. 그중 방법은 처리될 문자에 대하여 미리 구축된 단어 목록 중 각각의 문자의 점수를 각각 획득하고 상기 점수는 처리될 문자에 위치한 단어 목록 중 문자의 합리성 점수이며, 점수가 가장 높은 K개 문자를 선택하여 처리될 문자의 후보로 하고 K는 1보다 큰 양의 정수이며; K개 후보에서 하나의 최적 후보를 선택하고 최적 후보가 처리될 문자와 다를 경우 최적 후보로 처리될 문자를 대체하는 것을 포함할 수 있다. 본 출원 상기 방안을 응용하면 오류 수정 결과의 정확성 등을 향상시킬 수 있다.
Description
본 출원은 컴퓨터 응용 기술분야에 관한 것이고 특히 자연어 처리(natural language processing) 및 딥 러닝(deep learning) 분야의 문자 오류 수정 방법, 장치, 전자 기기 및 기록 매체에 관한 것이다.
자연어 처리 분야에서 문자 오류 수정 문제가 종종 관련된다. 현재의 문자 오류 수정 방법에서는 문자 후보를 불러올 때 일반적으로 후보가 원래 문자 발음이나 모양에 가까워야 한다는 제한이 추가되어 후보의 품질에 영향을 미치고, 나아가 오류 수정 효과에 영향을 미치고, 오류 수정 결과의 정확성을 낮춘다.
본 출원은 문자 오류 수정 방법, 장치, 전자 기기 및 기록 매체를 제공한다.
문자 오류 수정 방법을 제공하며, 상기 방법은:
처리될 문자에 대하여 미리 구축된 단어 목록 중 각각의 문자의 점수를 각각 획득하고 상기 점수는 상기 단어 목록 중 문자를 상기 처리될 문자가 처해 있는 위치에 놓는 합리성 점수이며, 점수가 가장 높은 K개 문자를 선택하여 상기 처리될 문자의 후보로 하고, K는 1보다 큰 양의 정수이며;
K개 후보에서 하나의 최적 후보를 선택하고 상기 최적 후보가 상기 처리될 문자와 다를 경우 상기 최적 후보로 상기 처리될 문자를 대체하는 것을 포함한다.
문자 오류 수정 장치를 제공하며, 상기 장치는 획득 모듈 및 오류 수정 모듈을 포함하며;
상기 획득 모듈은 처리될 문자를 결정하는데 사용되며;
상기 오류 수정 모듈은 상기 처리될 문자에 대하여 미리 구축된 단어 목록 중 각각의 문자의 점수를 각각 획득하는데 사용되며, 상기 점수는 상기 단어 목록 중 문자를 상기 처리될 문자가 처해 있는 위치에 놓는 합리성 점수이며, 점수가 가장 높은 K개 문자를 선택하여 상기 처리될 문자의 후보로 하고, K는 1보다 큰 양의 정수이며; K개 후보에서 하나의 최적 후보를 선택하고 상기 최적 후보가 상기 처리될 문자와 다를 경우, 상기 최적 후보로 상기 처리될 문자를 대체한다.
전자 기기를 제공하며 상기 전자 기기는:
적어도 하나의 프로세서; 및
상기 적어도 하나의 프로세서와 통신 연결된 메모리를 구비하며,
상기 메모리에는 상기 적어도 하나의 프로세서에 의해 수행 가능한 명령이 기억되어 있으며, 상기 명령이 상기 적어도 하나의 프로세서에 의해 수행되어, 상기 적어도 하나의 프로세서로 하여금 상기 방법을 수행하도록 한다.
컴퓨터 명령이 기억되어 있는 비 일시적 컴퓨터 판독 가능 기록 매체를 제공하며 상기 컴퓨터 명령은 상기 컴퓨터로 하여금 상기 방법을 수행하도록 한다.
상술한 출원 중 하나의 실시예는 다음과 같은 이점 또는 유익한 효과가 있다: 획득된 후보는 비슷한 발음 또는 비슷한 모양 등 제한을 가지지 않고 합리성에 따라 점수를 매기고 전체 단어 목록에서 K개 점수가 가장 높은 문자를 선택하여 후보로 함으로써 더욱 다양한 후보를 얻을 수 있고 후보의 품질을 향상시키며 나아가 오류 수정 결과의 정확성을 향상시킨다.
본 부분에서 설명한 내용은 본 개시 내용의 실시예들의 핵심 또는 중요한 특징들을 식별하기 위한 것이 아니며, 본 개시 내용의 범위를 제한하려는 의도가 아님을 이해해야 한다. 본 개시 내용의 다른 특징은 다음 설명을 통해 쉽게 이해될 것이다.
도면은 본 기술적 해결책을 더 잘 이해하기 위하여 이용되며 본 출원을 제한하지 않는다.
도 1은 본 출원의 문자 오류 수정 방법 제1 실시예의 순서도이다;
도 2는 본 출원의 문자 오류 수정 방법 제2 실시예의 순서도이다;
도 3은 본 출원의 문자 오류 수정 방법의 구체 예시 개략도이다;
도 4는 본 출원의 문자 오류 수정 장치(40) 실시예의 구성 구조 개략도이다;
도 5는 본 출원 실시예의 방법의 전자 기기의 블럭도이다.
도 1은 본 출원의 문자 오류 수정 방법 제1 실시예의 순서도이다;
도 2는 본 출원의 문자 오류 수정 방법 제2 실시예의 순서도이다;
도 3은 본 출원의 문자 오류 수정 방법의 구체 예시 개략도이다;
도 4는 본 출원의 문자 오류 수정 장치(40) 실시예의 구성 구조 개략도이다;
도 5는 본 출원 실시예의 방법의 전자 기기의 블럭도이다.
이하, 도면을 참조하여 본 출원의 시범적인 실시예를 기술하는 바, 본 출원에 대한 이해를 돕기 위해 여기에는 본 출원 실시예의 다양한 세부 사항이 포함되며, 이러한 세부 사항을 단지 시범적인 것으로 간주해야 할 것이다. 따라서, 당업자는 본 출원의 범위 및 정신을 벗어나지 않는 전제 하에서, 여기서 설명되는 실시예에 대해 다양한 변경 및 수정을 수행할 수 있음을 인식해야 한다. 마찬가지로, 명확성 및 간결성을 위하여 이하의 기술에서는 잘 알려진 기능 및 구조의 기술을 생략하였다.
또한 본 명세서에서 "및/또는"이라는 용어는 관련 대상의 관련 관계를 설명할 뿐이며 세 가지 관계가 있을 수 있다. 즉, A 및/또는 B는 A만 존재하거나 A와 B가 동시에 존재하거나 B만 존재하는 세 가지 경우를 표시할 수 있다. 또한 이 텍스트의 "/" 문자는 일반적으로 앞뒤의 관련 대상이 "또는" 관계에 있음을 나타낸다.
도 1은 본 출원의 문자 오류 수정 방법 제1 실시예의 순서도이다. 도 1에 나타낸 바와 같이 다음과 같은 구체적인 구현 방식을 포함한다.
단계(101)에서 처리될 문자에 대하여 미리 구축된 단어 목록 중 각각의 문자의 점수를 각각 획득하고, 상기 점수는 상기 단어 목록 중 문자를 상기 처리될 문자가 처해 있는 위치에 놓는 합리성 점수이며, 점수가 가장 높은 K개 문자를 선택하여 처리될 문자의 후보로 하며, K는 1보다 큰 양의 정수이다.
단계(102)에서 K개 후보에서 하나의 최적 후보를 선택하고, 최적 후보가 처리될 문자와 다를 경우 최적 후보로 처리될 문자를 대체한다.
실제 응용에서 처리될 텍스트 중 N개 문자를 처리될 문자로 할 수 있고, N은 양의 정수이며, 최대 값은 처리될 텍스트에 포함된 글자 수와 같다. 즉 처리될 텍스트 중 임의의 하나의 글자를 처리될 문자로 하거나 처리될 텍스트 중 부분 문자를 각각 처리될 문자로 하거나 처리될 텍스트 중 각각의 문자를 각각 처리될 문자로 할 수 있다.
예를 들면 처리될 텍스트는 가능한 구현 방식으로 하나의 문장을 포함할 수 있으며, 그중 각각의 문자에 대하여 처리될 문자로 단계 (101)~(102)에 나타낸 방식으로 처리할 수 있다.
처리될 문자에 대하여 먼저 후보 리콜을 수행할 수 있다. 즉 처리될 문자의 후보(오류 수정 후보)를 얻는다. 예를 들면 미리 구축된 단어 목록 중 각각의 문자의 점수를 획득할 수 있으며, 상기 점수는 상기 단어 목록 중 문자를 상기 처리될 문자가 처해 있는 위치에 놓는 합리성 점수이며, 점수가 가장 높은 K개 문자를 선택하여 처리될 문자의 후보로 한다. 바람직하게는, 단어 목록 중 각각의 문자의 점수를 각각 획득할 경우 미리 훈련된 언어 모델을 이용하여 단어 목록 중 각각의 문자의 점수를 각각 결정할 수 있다.
언어 모델을 이용하면 단어 목록 중 각각의 문자의 점수를 빠르고 정확하게 결정할 수 있으므로 후속 처리를 위한 양호한 기반을 마련할 수 있다. 아래에 언어 모델을 획득/훈련하는 방법을 설명한다.
언어 모델은 딥 러닝 등 방법으로 훈련하여 얻을 수 있으며, 그 훈련 과정은 사전 훈련(pre-training) 및 미세 조정(fine-tuning) 두 가지 과정이 포함될 수 있다.
사전 훈련 과정에서 제1 유형의 훈련 데이터를 획득할 수 있으며, 각각의 제1 유형 훈련 데이터에는 입력 텍스트 및 출력 텍스트를 각각 포함할 수 있으며, 입력 텍스트 및 출력 텍스트는 같은 텍스트이며 오타를 포함하지 않으므로 제1 유형 훈련 데이터를 이용하여 문자 단위로 언어 모델을 사전 훈련 할 수 있다.
언어 모델은 변환기(transformer)의 모델 구조가 될 수 있으며, 문자 단위로 언어 모델을 사전 훈련하여 모델로 하여금 텍스트의 표현을 학습하도록 한다. 어떻게 문자 단위로 언어 모델을 사전 훈련하는가 하는 것은 종래 기술이다.
사전 훈련을 완성한 후 언어 모델을 추가로 미세 조정할 수 있다. 이에 따라 제2 유형 훈련 데이터를 얻을 수 있으며, 각각의 제2 유형 훈련 데이터에는 입력 텍스트 및 출력 텍스트를 포함할 수 있으며, 입력 텍스트는 오타를 포함하는 텍스트이며, 출력 텍스트는 입력 텍스트에 대응하는 오타를 포함하지 않는 텍스트이며, 나아가 제2 유형 훈련 데이터를 이용하여 언어 모델을 미세 조정할 수 있다.
입력 텍스트에 포함된 오타의 글자 수는 제한되지 않으며 하나일 수 있고, 복수개일 수도 있다. 출력 텍스트는 입력 텍스트에 대응하는 정확한 텍스트이다.
미세 조정 과정에서 오타 위치의 손실(loss)만 계산하고 획득한 손실(loss)에 따라 모델 파라미터를 업데이트 할 수 있다. 즉 오타 위치에 대해서만 타겟 학습을 수행할 수 있으므로 학습 효율성 등을 높일 수 있다.
상술한 방법을 통해 모델로 하여금 최대한 다양한 후보를 융합할 수 있도록 하며, 여기서 입력 텍스트 및 출력 텍스트가 같을 경우, 모델은 텍스트의 표현을 학습하고 각각의 문자를 자체로 매핑하는 경향이 더 크다. 미세 조정을 통해 각각의 문자로 하여금 대응하는 정확한 문자로 매핑하도록 하는 것은 각각의 문자로 하여금 다른 문자로 변경될 가능성이 높다는 것을 의미하므로 더욱 다양한 후보를 도입한다.
언어 모델의 사전 훈련 및 미세 조정을 완료한 후 언어 모델을 사용하여 단어 목록 중 각각의 문자의 점수를 결정할 수 있다. 단어 목록은 미리 구축된 것이며, 구축 방법은 제한이 없으며, 여러 부동한 단어를 포함할 수 있다. 처리될 문자에 대하여 언어 모델을 이용하여 단어 목록 중 각각의 문자의 점수 즉 처리될 문자의 위치에 놓일 수 있는 단어 목록 중 각각의 문자의 합리성 점수를 각각 계산할 수 있으며, 나아가 점수가 가장 높은 K개 문자를 선택하여 처리될 문자의 후보로 하며, K의 구체적인 값은 실제 수요에 따라 결정할 수 있으며, 예를 들어 24이다.
실제 응용에서 언어 모델은 처리될 텍스트 중 각각의 문자에 대응하는 상기 점수를 동시에 획득할 수 있다. 즉, 입력된 텍스트에 대하여 언어 모델은 하나의 L행 P열의 행렬을 출력할 수 있으며, L은 텍스트 중 글자 수를 표시하고 P는 단어 목록 중 글자 수를 표시하며, 각 행은 텍스트 중 하나의 글자에 각각 대응하고 각 열은 단어 목록 중 하나의 글자에 각각 대응하며, 행렬 중 각각의 원소의 값은 0-1 사이에 있을 수 있고, 임의의 원소에 대하여 값은 대응하는 단어 목록 중 글자의 대응하는 텍스트 중 글자에 위치하는 합리성 점수를 표시한다.
상술한 처리방법을 통해 획득한 후보는 더 이상 비슷한 발음이나 비슷한 모양의 제한을 가지지 않고, 합리성에 따라 점수를 매기고 전체 단어 목록에서 K개 점수가 가장 높은 문자를 선택하여 후보로 함으로써 더욱 다양한 후보를 얻을 수 있고, 후보의 품질을 향상시키며, 오류 수정 결과의 정확성을 향상시키는 것을 알 수 있다.
결정된 처리될 문자의 K개 후보에 대하여 최적의 후보를 추가로 선택할 수 있으며, 최적의 후보가 처리될 문자와 다를 경우 최적의 후보를 사용하여 처리될 문자를 대체할 수 있으며, 오류 수정의 목적을 달성할 수 있다.
구체적으로 먼저 K개 후보에 대해 정렬하고, 정렬 후 상위 M 순위의 후보를 선택하고, M은 1보다 큰 양의 정수이고, M은 K보다 작고, 이후 처리될 문자 위치의 컨텍스트 정보를 융합하여 디코딩(Decoding) 할 수 있으며, M개 후보로부터 최적의 후보를 선택한다.
후보를 정렬하고 선택함으로써 후보의 수를 줄일 수 있으므로 디코딩 작업량을 줄이는 등 후속 처리에 편리하다.
K개 후보를 정렬할 때 다음 방식을 사용할 수 있다: 임의의 후보에 대하여 상기 후보에 대응하는 예정 특징을 각각 획득하고, 상기 예정 특징 및 사전 훈련된 후보 랭킹 모델(Ranking Model)에 따라 상기 후보에 대해 평점하며, 대응하는 점수에 따라 높은 것으로부터 낮은 것까지의 순서로 K개 후보를 정렬한다.
상기 예정 특징이 구체적으로 어떠한 특징을 포함하는지는 실제 수요에 따라 정할 수 있으며, 예를 들어 n-grams(엔-그램)의 문맥 특징, 후보 자체의 특징, 처리될 문자의 특징, 처리될 문자를 후보로 대체하는 관련 특징 등을 포함할 수 있다. 일반적으로 획득된 특징이 풍부할수록 특징을 기반으로 한 점수가 더 정확해지므로 후보 순서 결과가 더 정확해진다.
후보 랭킹 모델은 딥 러닝 등 방법을 통해 미리 획득한 모델로 획득 방법에 제한이 없다. 임의의 후보에 대하여 이에 대응하는 특징을 후보 랭킹 모델에 입력하여 출력된 상기 후보의 점수를 얻는다. 이러한 방식으로 처리될 문자의 K개 후보에 대하여 대응하는 점수에 따라 높은 것에서 낮은 것으로의 순서로 K개 후보를 정렬할 수 있으며, 정렬 후 상위 M 순위의 후보를 선택할 수 있다. M의 구체적인 값은 5와 같이 실제 수요에 따라 결정될 수 있다.
또한, 처리될 문자 위치의 컨텍스트 정보를 융합하여 디코딩 할 수 있으며, M개 후보에서 원하는 최적 후보를 선택할 수 있다. 구체적인 구현은 종래 기술이며, 상기 디코딩은 비터비(Viterbi) 디코딩 계산법 등을 사용할 수 있다.
상술한 소개에 기반하여 도 2는 본 출원 상기 문자 오류 수정 방법 제2 실시예의 순서도이다. 도 2에 나타낸 바와 같이 다음과 같은 구체적인 구현 방법이 포함된다.
단계(201)에서 처리될 텍스트를 획득한다.
단계(202)에서 처리될 텍스트 중 임의의 글자에 대하여 단계(203)-(207)에 나타낸 방법에 따라 각각 처리한다.
본 실시예에서 처리될 텍스트 중 각각의 글자에 대하여 모두 단계(203)-(207)에 나타낸 방법에 따라 처리해야 한다고 가정한다.
단계(203)에서 상기 글자를 처리될 문자로 하고, 사전 훈련하여 얻은 언어 모델을 이용하여 단어 목록 중 각각의 문자의 점수를 각각 결정하며, 상기 점수는 상기 단어 목록 중 문자를 상기 처리될 문자가 처해 있는 위치에 놓는 합리성 점수이다.
여기서 언어 모델의 획득 방법은 제1 유형 훈련 데이터를 획득하는 방법을 포함할 수 있다. 임의의 제1 유형 훈련 데이터에는 입력 텍스트 및 출력 텍스트가 각각 포함된다. 입력 텍스트 및 출력 텍스트는 같은 텍스트이고, 오타를 포함하지 않는다; 제1 유형 훈련 데이터를 이용하여 문자 단위로 언어 모델을 사전 훈련한다; 제2 유형 훈련 데이터를 획득하며 임의의 제2 유형 훈련 데이터에는 입력 텍스트 및 출력 텍스트가 각각 포함될 수 있다. 입력 텍스트는 오타를 포함하는 텍스트이고 출력 텍스트는 입력 텍스트에 대응하는 오타를 포함하지 않는 텍스트이다; 제2 유형 훈련 데이터를 이용하여 언어 모델을 미세 조정할 수 있다.
미세 조정 과정에서 오타 위치의 손실(loss)만 계산할 수 있다.
단계(204)에서 점수가 가장 높은 K개 문자를 선택하여 처리될 문자의 후보로 하고, K는 1보다 큰 양의 정수이다.
단계(205)에서 K개 후보를 정렬하여 정렬 후 상위 M 순위에 위치한 후보를 선택하며, M은 1보다 큰 양의 정수이고, M은 K보다 작다.
여기서 K개 후보 중 임의의 후보에 대하여 상기 후보에 대응하는 예정 특징을 각각 획득할 수 있으며, 상기 예정 특징 및 사전 훈련된 후보 랭킹 모델에 따라 상기 후보를 평점하여 대응하는 점수에 따라 높은 것에서 낮은 것으로의 순서로 K개 후보를 정렬하며, 정렬 후 상위 M 순위에 위치한 후보를 선택할 수 있다.
단계(206)에서 처리될 문자 소재 위치의 컨텍스트 정보를 융합하여 디코딩 하며, M개 후보에서 최적 후보를 선택한다.
단계(207)에서 최적 후보가 처리될 문자와 다를 경우 최적 후보로 처리될 문자를 대체한다.
최적 후보와 처리될 문자가 같을 경우 대체할 필요가 없다.
아래에 구체적인 예시를 통해 본 출원 상기 문자 오류 수정 방법을 추가로 설명한다.
도 3은 본 출원 상기 문자 오류 수정 방법의 구체적인 예시 개략도이다. 도 3에 나타낸 바와 같이 처리될 텍스트가 “(이 도시 하나의 문장이다)”라고 가정할 경우, 그중 “도시(市)” 문자를 예로 들면, 단어 목록 중 각각의 문자의 점수를 획득할 수 있으며, 점수가 가장 높은 24개 문자를 “도시(市)” 문자의 후보로 한 후 이러한 24개 후보를 정렬할 수 있으며, 정렬 후 상위 5 순위에 위치한 후보를 선택하고, 디코딩 등 작업을 통해 5개 후보에서 최적의 후보 “은(是)”을 선택하여 “은(是)”으로 “도시(市)” 문자를 대체한다.
설명해야 할 점은 전술한 각각의 방법 실시예에 대하여, 설명의 편리를 위해 이들은 모두 일련의 동작 조합으로 표현되었지만 당업자는 본 출원이 설명된 동작 순서에 의해 제한되지 않는다는 것을 알아야 한다. 원인은 본 출원에 따르면 일부 단계는 다른 순서로 수행되거나 또는 동시에 수행될 수 있기 때문이다. 둘째로, 당업자라면 알 수 있다. 명세서에서 설명된 실시예는 모두 바람직한 실시예에 속하며,관련된 동작 및 모듈은 본 출원에 반드시 필요한 것이 아님을 알 수 있다. 또한 일부 실시예에서 상세하게 설명하지 않은 부분은 다른 실시예의 관련 설명을 참고할 수 있다.
이상 방법 실시예에 관한 소개이며 아래에 장치 실시예를 통해 본 출원 상기 방안을 추가로 설명한다.
도 4는 본 출원 상기 문자 오류 수정 장치(40) 실시예의 구성 구조 개략도이다. 도 4에 나타낸 바와 같이 획득 모듈(401) 및 오류 수정 모듈(402)을 포함한다.
획득 모듈(401)은 처리될 문자를 획득하는데 사용된다.
오류 수정 모듈(402)은 처리될 문자에 대하여 미리 구축된 단어 목록 중 각각의 문자의 점수를 각각 획득하는데 사용되며, 상기 점수는 처리될 문자 위치에 있는 단어 목록 중 문자의 합리성 점수이고, 점수가 가장 높은 K개 문자를 선택하여 처리될 문자의 후보로 하며, K는 1보다 큰 양의 정수이다; K개 후보에서 하나의 최적 후보를 선택하고 최적 후보와 처리될 문자가 다를 경우 최적 후보로 처리될 문자를 대체한다.
여기서 획득 모듈(401)은 처리될 텍스트 중 N개 문자를 처리될 문자로 하고, N은 양의 정수이고, 최대 값은 처리될 텍스트에 포함된 글자 수와 같다.
처리될 문자에 대하여, 오류 수정 모듈(402)은 후보 리콜을 미리 수행할 수 있고, 즉 처리될 문자의 후보(오류 수정 후보)를 획득한다. 예를 들면 미리 구축된 단어 목록 중 각각의 문자의 점수를 획득할 수 있고 상기 점수는 처리될 문자에 위치한 단어 목록 중 문자의 합리성 점수이며, 점수가 가장 높은 K개 문자를 처리될 문자의 후보로 한다. 바람직하게는, 단어 목록 중 각각의 문자의 점수를 각각 획득할 경우, 사전 훈련된 언어 모델을 이용하여 단어 목록 중 각각의 문자의 점수를 각각 결정할 수 있다.
이에 따라 도 4에 나타낸 장치에는 전처리 모듈(400)을 추가로 포함할 수 있다. 상기 전처리 모듈(400)은 제1 유형 훈련 데이터를 획득하는데 사용되며, 임의의 제1 유형 훈련 데이터에는 입력 텍스트 및 출력 텍스트를 각각 포함하며, 입력 텍스트 및 출력 텍스트는 같은 텍스트이고 오타를 포함하지 않으며, 제1 유형 훈련 데이터를 이용하여 문자 단위로 사전 훈련 언어 모델을 사전 훈련하는데 이용된다. 또한 상기 전처리 모듈(400)은 제2 유형 훈련 데이터를 획득하고, 임의의 제2 유형 훈련 데이터에는 입력 텍스트 및 출력 텍스트를 각각 포함하며, 입력 텍스트는 오타를 포함하는 텍스트이고, 출력 텍스트는 입력 텍스트에 대응하는 오타를 포함하지 않는 텍스트이며, 제2 유형 훈련 데이터를 이용하여 언어 모델을 미세 조정한다. 즉 언어 모델을 사전 훈련할 수 있고, 훈련 과정에는 사전 훈련 과정 및 미세 조정 과정이 포함될 수 있다.
여기서 미세 조정 과정에서 오타 소재 위치의 손실(loss)만 계산할 수 있으며, 나아가 획득된 손실(loss)에 따라 모델 파라미터 업데이트 등을 수행할 수 있다.
언어 모델의 사전 훈련 및 미세 조정을 완성한 후 오류 수정 모듈(402)은 언어 모델을 이용하여 단어 목록 중 각각의 문자의 점수를 결정할 수 있다. 단어 목록은 미리 구축된 것이며, 어떻게 구축하는지는 제한되지 않는다. 여기서 복수개 서로 다른 문자를 포함할 수 있다. 처리될 문자에 대하여, 오류 수정 모듈(402)은 언어 모델을 이용하여 단어 목록 중 매개 문자의 점수 즉, 처리될 문자에 위치한 단어 목록 중 각각의 문자의 합리성 점수를 각각 계산할 수 있으며, 나아가 점수가 가장 높은 K개 문자를 선택하여 처리될 문자의 후보로 할 수 있다.
결정된 처리될 문자의 K개 후보에 대하여, 오류 수정 모듈(402)은 그 중에서 하나의 최적 후보를 추가로 선택하며, 최적 후보가 처리될 문자와 다를 경우 최적 후보로 처리될 문자를 대체하여 오류 수정의 목적을 달성할 수 있다.
구체적으로, 오류 수정 모듈(402)은 K개 후보를 먼저 정렬할 수 있으며, 정렬 후 상위 M 순위에 위치한 후보를 선택하며, M은 1보다 큰 양의 정수이고, M은 K보다 작고, 다음 처리될 문자 소재 위치의 컨텍스트 정보를 융합하여 디코딩을 수행하며, M개 후보에서 최적 후보를 선택한다.
K개 후보를 정렬할 경우, 다음 방식을 사용할 수 있다: 임의의 후보에 대하여, 상기 후보에 대응하는 예정 특징을 각각 획득하고, 상기 예정 특징 및 사전 훈련된 후보 랭킹 모델에 따라 상기 후보를 평점하며, 대응하는 점수에 따라 높은 것에서 낮은 것으로의 순서로 K개 후보를 정렬한다. 상기 예정 특징에 구체적으로 어떤 특징이 포함되는지는 실제 수요에 따라 결정할 수 있다.
후보 랭킹 모델은 딥 러닝 등 방식을 이용하여 미리 획득된 모델이고, 어떻게 획득하는지는 제한되지 않는다. 임의의 후보에 대하여, 이에 대응하는 특징을 후보 랭킹 모델에 입력하여 출력된 상기 후보의 점수를 얻을 수 있다.
도 4에 나타낸 장치 실시예의 구체적인 작업 순서에 대해서는 전술한 방법 실시예의 관련 설명을 참조하고 설명을 생략한다.
요컨대 본 출원 장치 실시예에서 설명한 방안을 사용하면 획득된 후보는 더이상 비슷한 발음 또는 비슷한 모양의 제한을 가지지 않고, 합리성 점수에 따라 전체 단어 목록에서 K개 점수가 가장 높은 문자를 선택하여 후보로 하여 더욱 다양한 후보를 획득할 수 있으며, 후보의 품질을 향상시키고 나아가 오류 수정 결과의 정확성을 향상시킨다; 언어 모델을 훈련하는 것을 통해 모델로 하여금 최대한 더욱 다양한 후보를 융합하도록 할 수 있고 오타 소재 위치에 대해서만 타겟 학습을 수행하도록 할 수 있으므로 학습 효율을 향상시킨다; 후보를 정렬 및 선택함으로써 후보의 수를 감소할 수 있으므로 디코딩의 작업량을 감소하는 등 후속 처리에 편리하다.
본 출원에 따른 실시예에 의하면 본 출원은 전자 기기 및 판독 가능 기록 매체를 더 제공한다.
도 5에 나타낸 바와 같이, 본 출원 실시예의 상기 방법의 전자 기기의 블럭도이다. 전자 기기는 예를 들면 랩톱 컴퓨터, 데스크톱 컴퓨터, 워크 스테이션, 개인 디지털 보조기, 서버, 블레이드 서버, 대형 컴퓨터 및 기타 적합한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타낸다. 전자 기기 또한 예를 들면 개인 디지털 처리기, 셀폰, 스마트 전화, 웨어러블 기기 및 기타 유사한 계산 장치와 같은 다양한 형태의 모바일 장치를 나타낼 수 있다. 본 명세서에 나타낸 구성 요소, 이들의 연결과 관계 및 이들의 기능은 단지 예일 뿐이며, 본 명세서에서 기술하거나 및/또는 요구하는 본 출원의 구현을 한정하려는 것이 아니다.
도 5에 나타낸 바와 같이, 상기 전자 기기는 하나 또는 복수의 프로세스(Y01), 메모리(Y02) 및 각각의 구성 요소를 연결하기 위한 인터페이스를 구비하며, 당해 인터페이스는 고속 인터페이스 및 저속 인터페이스를 포함한다. 각각의 구성 요소는 서로 다른 버스를 통해 상호 연결되며, 공통 마더 보드에 설치되거나 또는 수요에 따라 기타 방식으로 설치된다. 프로세서 전자 기기 내에서 수행되는 명령에 대해 처리를 수행할 수 있으며, 메모리 내에 기억되어 외부 입력/출력 장치 (예를 들면 인터페이스에 연결된 디스플레이 기기) 상에 GUI의 그래픽 정보를 표시하기 위한 명령을 포함한다. 기타 실시 방식에 있어서, 필요할 경우, 복수의 프로세서 및/또는 복수의 버스와 복수의 메모리를 함께 사용할 수 있다. 마찬가지로, 복수의 전자 기기를 연결할 수 있으며, 각각의 기기는 부분적인 필요한 조작 (예를 들면, 서버 어레이, 일 그룹의 블레이드 서버, 또는 다중 프로세서 시스템)을 제공한다. 도 5에서는 하나의 프로세서(Y01)의 예를 들었다.
메모리(Y02)는 본 출원에 의해 제공되는 비 일시적 컴퓨터 판독 가능 기록 매체이다. 여기서, 상기 메모리에는 적어도 하나의 프로세서에 의해 수행 가능한 명령이 기억되어 있으며, 상기 적어도 하나의 프로세서로 하여금 본 출원에 의해 제공되는 방법을 수행하도록 한다. 본 발명의 비 일시적 컴퓨터 판독 가능 기록 매체는 컴퓨터 명령을 기억하며, 당해 컴퓨터 명령은 컴퓨터로 하여금 본 출원에 의해 제공되는 방법을 수행하도록 한다.
메모리(Y02)는 일종의 비 일시적 컴퓨터 판독 가능 기록 매체로서, 비 일시적 소프트웨어 프로그램, 비 일시적 컴퓨터 수행 가능 프로그램 및 모듈을 기억하는데 사용될 수 있는 바, 예를 들면 본 출원 실시예의 소스채널 결정방법에 대응하는 프로그램 명령/모듈을 기억하는데 사용될 수 있다. 프로세서(Y01)는 메모리(Y02) 내에 기억된 일시적 소프트웨어 프로그램, 명령 및 모듈을 실행함으로써, 서버의 다양한 기능 응용 및 데이터 처리를 수행하는 바, 상술한 방법 실시예의 방법을 구현한다.
메모리(Y02)는 프로그램 기억 영역 및 데이터 기억 영역을 포함할 수 있으며, 여기서, 프로그램 기억 영역은 운영 체제 및 적어도 하나의 기능에 필요한 앱을 기억할 수 있고, 데이터 기억 영역은 전자 기기의 사용을 통해 생성된 데이터 등을 기억할 수 있다. 또한, 메모리(Y02)는 고속 랜덤 액세스 메모리를 포함할 수 있고, 비 일시적 메모리를 더 포함할 수 있는 바, 예를 들면 적어도 하나의 자기 디스크 저장 장치, 플래시 장치, 또는 기타 비 일시적 고체 저장 장치를 포함할 수 있다. 일부 실시예에 있어서, 메모리(Y02)는 선택적으로 프로세서(Y01)에 대해 원격 설치한 메모리를 포함할 수 있으며, 이러한 원격 메모리는 네트워크를 통해 전자 기기에 연결될 수 있다. 상술한 네트워크의 실시예는 인터넷, 기업 인트라 넷, 근거리 통신망, 이동 통신 네트워크 및 이들의 조합을 포함하나 이에 한정되지 않는다.
전자 기기는 입력 장치(Y03)와 출력 장치(Y04)를 더 포함할 수 있다. 프로세서(Y01), 메모리(Y02), 입력 장치(Y03) 및 출력 장치(Y04)는 버스 또는 기타 방식을 통해 연결될 수 있으며, 도 5에서는 버스를 통해 연결하는 예를 들었다.
입력 장치(Y03)는 입력된 디지털 또는 문자 정보를 수신하고, 또한 당해 전자 기기의 유저 설정 및 기능 제어에 관한 키 신호 입력을 생성할 수 있다. 예를 들면 터치 스크린, 키패드, 마우스, 트랙 패드, 터치 패드, 포인팅 스틱, 하나 또는 복수의 마우스 버튼, 트랙볼, 조이스틱 등 입력 장치를 포함할 수 있다. 출력 장치(Y04)는 디스플레이 기기, 보조 조명 장치(예를 들면 LED) 및 촉각 피드백 장치(예를 들면 진동 모터) 등을 포함할 수 있다. 상기 디스플레이 기기는 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이 및 플라즈마 디스플레이를 포함할 수 있으나 이에 한정되지 않는다. 일부 실시 방식에 있어서, 디스플레이 기기는 터치 스크린일 수 있다.
여기서 설명하는 시스템 및 기술의 다양한 실시 방식은 디지털 전자 회로 시스템, 집적 회로 시스템, 전용 ASIC(전용 집적 회로), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합에서 구현될 수 있다. 이러한 다양한 실시형태는 하나 또는 복수의 컴퓨터 프로그램에서 실시되고, 당해 하나 또는 복수의 컴퓨터 프로그램은 적어도 하나의 프로그램 가능 프로세서를 포함하는 프로그램 가능 시스템 상에서 수행 및/또는 해석될 수 있으며, 당해 프로그램 가능 프로세서는 전용 또는 일반 프로그램 가능 프로세서일 수 있고, 기억 시스템, 적어도 하나의 입력 장치 및 적어도 하나의 출력 장치로부터 데이터 및 명령을 수신할 수 있으며, 또한 데이터 및 명령을 당해 기억 시스템, 당해 적어도 하나의 입력 장치 및 당해 적어도 하나의 출력 장치에 전송할 수 있다.
이러한 계산 프로그램 (프로그램, 소프트웨어, 소프트웨어 응용 또는 코드로도 불림)은 프로그램 가능 프로세서의 기계 명령을 포함하며, 또한 고급 과정 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계 언어를 이용하여 이러한 계산 프로그램을 실시할 수 있다. 본 명세서에서 사용되는 “기계 판독 가능 매체” 및 “컴퓨터 판독 가능 매체”와 같은 용어는, 기계 명령 및/또는 데이터를 프로그램 가능 프로세서의 임의의 컴퓨터 프로그램 제품, 기기 및/또는 장치 (예를 들면, 자기 디스크, 광 디스크, 메모리, 프로그램 가능 논리 장치(PLD))에 제공하기 위한 것을 의미하며, 기계 판독 가능 신호로서의 기계 명령을 수신하는 기계 판독 가능 매체를 포함한다. “기계 판독 가능 신호”와 같은 용어는 기계 명령 및/또는 데이터를 프로그램 가능 프로세서에 제공하기 위한 임의의 신호를 의미한다.
유저와의 대화를 제공하기 위하여, 컴퓨터 상에서 여기서 설명하는 시스템 및 기술을 실시할 수 있으며, 상기 컴퓨터는 유저에게 정보를 표시하기 위한 디스플레이 장치 (예를 들면 CRT(음극선관) 또는 LCD(액정 디스플레이) 모니터) 및 키보드와 포인팅 장치(예를 들면, 마우스 또는 트랙볼)를 구비할 수 있으며, 유저는 당해 키보드 및 상기 포인팅 장치를 통해 입력을 컴퓨터에 제공할 수 있다. 기타 유형의 장치는 또한 유저와의 대화를 제공하는데 사용될 수 있다. 예를 들면, 유저에 제공하는 피드백은 임의의 형태의 감각 피드백 (예를 들면, 시각적 피드백, 청각적 피드백, 또는 촉각 피드백)일 수 있으며, 또한 임의의 형태(음향 입력, 음성 입력 또는 촉각 입력을 포함함)를 통해 유저로부터의 입력을 수신할 수 있다.
여기서 설명하는 시스템 및 기술을 백엔드 구성 요소를 포함하는 계산 시스템 (예를 들면 데이터 서버), 또는 미들웨어 구성 요소를 포함하는 계산 시스템 (예를 들면 응용 서버), 또는 프런트엔드 구성 요소를 포함하는 계산 시스템 (예를 들면 그래픽 유저 인터페이스 또는 웹 브라우저를 구비하는 유저 컴퓨터인 바, 유저는 당해 그래픽 유저 인터페이스 또는 당해 웹 브라우저를 통해 여기서 설명하는 시스템 및 기술의 실시 방식과 대화함), 또는 이러한 백엔드 구성 요소, 미들웨어 구성 요소, 또는 프런트엔드 구성 요소의 임의의 조합을 포함하는 계산 시스템에서 실시할 수 있다. 임의의 형태 또는 매체의 디지털 데이터 통신 (예를 들면, 통신 네트워크)을 통해 시스템의 구성 요소를 상호 연결할 수 있다. 통신 네트워크의 예는 근거리 통신망(LAN), 광역 통신망(WAN) 및 인터넷을 포함한다.
컴퓨터 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있고, 또한 일반적으로 통신 네트워크를 통해 대화를 수행한다. 해당되는 컴퓨터 상에서 운행되고, 또한 클라이언트 - 서버 관계를 갖는 컴퓨터 프로그램을 통해 클라이언트와 서버의 관계를 발생시킬 수 있다.
상기에 나타낸 다양한 형태의 흐름을 이용하여 단계를 재정열, 증가 또는 삭제할 수 있음을 이해해야 한다. 예를 들면, 본 출원에 기재된 각각의 단계는 병열로 수행되거나 또는 차례로 수행되거나 또는 다른 순서로 수행될 수 있으며, 본 출원이 개시하는 기술 방안이 원하는 결과를 구현할 수 있는 한, 본 명세서는 이에 대해 한정하지 않는다.
상술한 구체적인 실시 방식은 본 발명의 보호 범위를 한정하지 않는다. 당업자는 설계 요건 및 기타 요인에 따라 다양한 수정, 조합, 서브 조합 및 대체를 수행할 수 있음을 이해해야 한다. 본 발명의 정신 및 원칙 내에서 이루어진 임의의 수정 동등한 대체 및 개선 등은 모두 본 발명의 보호 범위 내에 포함되어야 한다.
Claims (17)
- 컴퓨터로 실행되는 문자 오류 수정 방법에 있어서,
처리될 문자에 대하여, 미리 구축된 단어 목록 중 각각의 문자의 점수를 각각 획득하고, 상기 점수가 가장 높은 K개 문자를 선택하여 상기 처리될 문자의 후보로 하는 단계 - 상기 K는 1보다 큰 양의 정수이며, 상기 점수는 상기 단어 목록 중 문자를 상기 처리될 문자가 처해 있는 위치에 놓는 합리성 점수임 -; 및
K개 후보에서 하나의 최적 후보를 선택하고, 상기 최적 후보가 상기 처리될 문자와 다를 경우 상기 최적 후보로 상기 처리될 문자를 대체하는 단계;
를 포함하고,
상기 미리 구축된 단어 목록 중 각각의 문자의 점수를 각각 획득하는 단계는:
사전 훈련된 언어 모델을 이용하여 상기 단어 목록 중 각각의 문자의 점수를 각각 결정하는 단계;를 포함하고,
상기 언어 모델의 획득 방법은:
제1 유형 훈련 데이터를 획득하는 단계 - 임의의 제1 유형 훈련 데이터는 입력 텍스트 및 출력 텍스트를 각각 포함하며, 상기 입력 텍스트 및 상기 출력 텍스트는 같은 텍스트이고, 오타를 포함하지 않음 -;
상기 제1 유형 훈련 데이터를 이용하여 문자 단위로 상기 언어 모델을 사전 훈련하는 단계;
제2 유형 훈련 데이터를 획득하는 단계 - 임의의 제2 유형 훈련 데이터는 입력 텍스트 및 출력 텍스트를 각각 포함하고, 상기 입력 텍스트는 오타를 포함하는 텍스트이고, 상기 출력 텍스트는 상기 입력 텍스트에 대응하되 오타를 포함하지 않는 정확한 텍스트임 -; 및
상기 제2 유형 훈련 데이터를 이용하여 상기 언어 모델을 미세 조정하는 단계; 를 포함하고,
상기 미세 조정 과정에서 오타 위치의 손실만 계산하는 것을 특징으로 하는,
문자 오류 수정 방법. - 제1항에 있어서,
처리될 텍스트 중 N개 문자를 상기 처리될 문자로 하는 단계 - 상기 N은 양의 정수이고, N의 최대값은 상기 처리될 텍스트에 포함된 글자 수와 같음 -;
를 더 포함하는 것을 특징으로 하는,
문자 오류 수정 방법. - 제1항에 있어서,
상기 K개 후보에서 하나의 최적 후보를 선택하는 단계는:
상기 K개 후보를 정렬하여, 정렬 후 상위 M 순위에 위치한 후보를 선택하는 단계 - 상기 M은 1보다 큰 양의 정수이고, 상기 M은 상기 K보다 작음 -;
상기 처리될 문자 소재 위치의 컨텍스트 정보를 융합하고 디코딩 하여, 상기 M개 후보에서 상기 최적 후보를 선택하는 단계;
를 포함하는 것을 특징으로 하는,
문자 오류 수정 방법. - 제3항에 있어서,
상기 K개 후보를 정렬하는 단계는:
임의의 후보에 대하여 상기 후보에 대응하는 예정 특징을 각각 획득하고, 상기 예정 특징 및 사전 훈련된 후보 랭킹 모델에 기반하여 상기 후보를 평점하는 단계;
대응하는 점수에 따라, 높은 것에서 낮은 것으로의 순서로 상기 K개 후보를 정렬하는 단계;
를 포함하는 것을 특징으로 하는,
문자 오류 수정 방법. - 획득 모듈 및 오류 수정 모듈을 포함하고;
상기 획득 모듈은 처리될 문자를 획득하는데 사용되며;
상기 오류 수정 모듈은 상기 처리될 문자에 대하여 미리 구축된 단어 목록 중 각각의 문자의 점수를 각각 획득하고, 상기 점수는 상기 단어 목록 중 문자를 상기 처리될 문자가 처해 있는 위치에 놓는 합리성 점수이며, 점수가 가장 높은 K개 문자를 선택하여 상기 처리될 문자의 후보로 하고, K는 1보다 큰 양의 정수이며, K개 후보에서 하나의 최적 후보를 선택하고, 상기 최적 후보가 상기 처리될 문자와 다를 경우 상기 최적 후보로 상기 처리될 문자를 대체하는데 사용되고,
상기 오류 수정 모듈은 사전 훈련된 언어 모델을 이용하여 상기 단어 목록 중 각각의 문자의 점수를 각각 결정하고,
제1 유형 훈련 데이터 및 제2 유형 훈련 데이터를 획득하고, 상기 제1 유형 훈련 데이터를 이용하여 문자 단위로 상기 언어 모델을 사전 훈련하고, 상기 제2 유형 훈련 데이터를 이용하여 상기 언어 모델을 미세 조정하는데 사용되는 전처리 모듈; 을 더 포함하며,
임의의 상기 제1 유형 훈련 데이터는 입력 텍스트 및 출력 텍스트를 각각 포함하며,상기 입력 텍스트 및 상기 출력 텍스트는 같은 텍스트이고, 오타를 포함하지 않으며,
임의의 상기 제2 유형 훈련 데이터에는 입력 텍스트 및 출력 텍스트를 각각 포함하며, 상기 입력 텍스트는 오타를 포함하는 텍스트이고, 상기 출력 텍스트는 상기 입력 텍스트에 대응하되 오타를 포함하지 않는 정확한 텍스트이고,
상기 전처리 모듈은 상기 미세 조정 과정에서 오타 소재 위치의 손실만 계산하는 것을 특징으로 하는,
문자 오류 수정 장치. - 제5항에 있어서,
상기 획득 모듈은 처리될 텍스트 중 N개 문자를 상기 처리될 문자로 하고, N은 양의 정수이며, N의 최대 값은 상기 처리될 텍스트에 포함된 글자 수와 같은 것을 특징으로 하는,
문자 오류 수정 장치. - 제5항에 있어서,
상기 오류 수정 모듈은 상기 K개 후보를 정렬하며, 정렬 후 상위 M 순위에 위치한 후보를 선택하며, 상기 M은 1보다 큰 양의 정수이고, 상기 M은 상기 K보다 작으며, 상기 처리될 문자 소재 위치의 컨텍스트 정보를 융합하고 디코딩 하여, 상기 M개 후보에서 상기 최적 후보를 선택하는 것을 특징으로 하는,
문자 오류 수정 장치. - 제7항에 있어서,
상기 오류 수정 모듈은 임의의 후보에 대하여 상기 후보에 대응하는 예정 특징을 각각 획득하고, 상기 예정 특징 및 사전 훈련된 후보 랭킹 모델에 기반하여 상기 후보를 평점하며, 대응하는 점수에 따라 높은 것에서 낮은 것으로의 순서로 상기 K개 후보를 정렬하는 것을 특징으로 하는,
문자 오류 수정 장치. - 적어도 하나의 프로세서; 및
상기 적어도 하나의 프로세서와 통신 연결된 메모리를 구비하며,
상기 메모리에는 상기 적어도 하나의 프로세서에 의해 수행 가능한 명령이 기억되어 있으며, 상기 명령이 상기 적어도 하나의 프로세서에 의해 수행되어, 상기 적어도 하나의 프로세서로 하여금 제1항 내지 제4항 중 어느 한 항에 기재된 방법을 수행하도록 하는 것을 특징으로 하는,
전자 기기. - 컴퓨터 명령이 기억되어 있는 비 일시적 컴퓨터 판독 가능 기록 매체에 있어서,
상기 컴퓨터 명령은 상기 컴퓨터로 하여금 제1항 내지 제4항 중 어느 한 항에 기재된 방법을 수행하도록 하는 것을 특징으로 하는,
기록 매체. - 비 일시적 컴퓨터 판독 가능 기록 매체에 기억되어 있는 컴퓨터 프로그램에 있어서,
상기 컴퓨터 프로그램은 상기 컴퓨터로 하여금 제1항 내지 제4항 중 어느 한 항에 기재된 방법을 수행하도록 하는 것을 특징으로 하는,
컴퓨터 프로그램.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010530970.8A CN111859907B (zh) | 2020-06-11 | 2020-06-11 | 文字纠错方法、装置、电子设备及存储介质 |
CN202010530970.8 | 2020-06-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210154755A KR20210154755A (ko) | 2021-12-21 |
KR102541054B1 true KR102541054B1 (ko) | 2023-06-05 |
Family
ID=72986433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210075730A KR102541054B1 (ko) | 2020-06-11 | 2021-06-10 | 문자 오류 수정 방법, 장치, 전자 기기 및 기록 매체 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11443100B2 (ko) |
EP (1) | EP3923177A1 (ko) |
JP (1) | JP2021197175A (ko) |
KR (1) | KR102541054B1 (ko) |
CN (1) | CN111859907B (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112380841B (zh) * | 2020-11-19 | 2022-02-11 | 平安科技(深圳)有限公司 | 一种中文拼写纠错方法、装置、计算机设备及存储介质 |
CN113221545B (zh) * | 2021-05-10 | 2023-08-08 | 北京有竹居网络技术有限公司 | 一种文本处理方法、装置、设备及介质、程序产品 |
WO2023128794A1 (en) * | 2021-12-30 | 2023-07-06 | Ringcentral, Inc., (A Delaware Corporation) | System and method for deep message editing in a chat communication environment |
CN117456532B (zh) * | 2023-11-10 | 2024-05-31 | 北京方易行信息科技有限公司 | 一种药品金额的校正方法、装置、设备及存储介质 |
JP7519649B1 (ja) | 2024-02-02 | 2024-07-22 | ファーストアカウンティング株式会社 | 情報処理装置、情報処理方法及びプログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010067250A (ja) | 2008-09-09 | 2010-03-25 | Inst For Information Industry | 中国語文章誤り検出装置、中国語文章誤り検出方法および記録媒体 |
CN104298672A (zh) | 2013-07-16 | 2015-01-21 | 北京搜狗科技发展有限公司 | 一种输入的纠错方法和装置 |
JP2019145023A (ja) | 2018-02-23 | 2019-08-29 | 株式会社リクルート | 文書校閲装置およびプログラム |
US20190340233A1 (en) | 2016-10-31 | 2019-11-07 | Beijing Sogou Technology Development Co., Ltd. | Input method, input device and apparatus for input |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101684681B1 (ko) * | 2016-08-08 | 2016-12-20 | 김영길 | 오타 문자 수정 방법 |
CN109977415A (zh) * | 2019-04-02 | 2019-07-05 | 北京奇艺世纪科技有限公司 | 一种文本纠错方法及装置 |
CN110210029B (zh) * | 2019-05-30 | 2020-06-19 | 浙江远传信息技术股份有限公司 | 基于垂直领域的语音文本纠错方法、系统、设备及介质 |
CN110765996B (zh) * | 2019-10-21 | 2022-07-29 | 北京百度网讯科技有限公司 | 文本信息处理方法及装置 |
CN111046652A (zh) * | 2019-12-10 | 2020-04-21 | 拉扎斯网络科技(上海)有限公司 | 文本纠错方法、文本纠错装置、存储介质和电子设备 |
CN111126072B (zh) * | 2019-12-13 | 2023-06-20 | 北京声智科技有限公司 | 一种Seq2Seq模型训练方法、装置、介质和设备 |
CN111160013B (zh) * | 2019-12-30 | 2023-11-24 | 北京百度网讯科技有限公司 | 文本纠错方法及装置 |
US11886812B2 (en) * | 2020-03-02 | 2024-01-30 | Grammarly, Inc. | Proficiency and native language-adapted grammatical error correction |
-
2020
- 2020-06-11 CN CN202010530970.8A patent/CN111859907B/zh active Active
- 2020-11-18 US US16/950,975 patent/US11443100B2/en active Active
-
2021
- 2021-03-16 EP EP21162801.1A patent/EP3923177A1/en not_active Ceased
- 2021-06-04 JP JP2021094720A patent/JP2021197175A/ja active Pending
- 2021-06-10 KR KR1020210075730A patent/KR102541054B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010067250A (ja) | 2008-09-09 | 2010-03-25 | Inst For Information Industry | 中国語文章誤り検出装置、中国語文章誤り検出方法および記録媒体 |
CN104298672A (zh) | 2013-07-16 | 2015-01-21 | 北京搜狗科技发展有限公司 | 一种输入的纠错方法和装置 |
US20190340233A1 (en) | 2016-10-31 | 2019-11-07 | Beijing Sogou Technology Development Co., Ltd. | Input method, input device and apparatus for input |
JP2019145023A (ja) | 2018-02-23 | 2019-08-29 | 株式会社リクルート | 文書校閲装置およびプログラム |
Non-Patent Citations (1)
Title |
---|
Junjie Yu 외 1명, "Chinese Spelling Error Detection and Correction Based on Language Model, Pronunciation, and Shape", 2014.10., <url:https://aclanthology.org/W14-6835.pdf>. pp.220-223. 1부.* |
Also Published As
Publication number | Publication date |
---|---|
EP3923177A1 (en) | 2021-12-15 |
US20210390248A1 (en) | 2021-12-16 |
JP2021197175A (ja) | 2021-12-27 |
CN111859907A (zh) | 2020-10-30 |
US11443100B2 (en) | 2022-09-13 |
KR20210154755A (ko) | 2021-12-21 |
CN111859907B (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102541054B1 (ko) | 문자 오류 수정 방법, 장치, 전자 기기 및 기록 매체 | |
CN111598216B (zh) | 学生网络模型的生成方法、装置、设备及存储介质 | |
JP7110416B2 (ja) | コアエンティティのタグ付け方法、コアエンティティのタグ付け装置、電子機器、記憶媒体及びコンピュータプログラム | |
KR102645185B1 (ko) | 라벨링 모델을 구축하는 방법, 장치, 전자 기기, 프로그램 및 판독 가능 저장 매체 | |
JP2021190087A (ja) | テキスト認識処理方法、装置、電子機器及び記憶媒体 | |
US12079580B2 (en) | Information extraction method, extraction model training method, apparatus and electronic device | |
KR20210040862A (ko) | 문서 타이틀 트리의 구축 방법, 장치, 전자기기, 저장매체 및 컴퓨터 프로그램 | |
TWI475406B (zh) | 取決於上下文之輸入方法 | |
KR102541053B1 (ko) | 언어 모델에 기반한 단어 벡터 획득 방법, 장치, 기기 및 기록매체 | |
CN112926306B (zh) | 文本纠错方法、装置、设备以及存储介质 | |
KR20210157342A (ko) | 언어 모델의 훈련 방법, 장치, 전자 기기 및 판독 가능 기록 매체 | |
EP3879416A1 (en) | Query auto-completion method, apparatus and device, and computer storage medium | |
KR102456535B1 (ko) | 의료 사실 검증 방법, 장치, 전자 기기, 저장 매체 및 프로그램 | |
CN111079945B (zh) | 端到端模型的训练方法及装置 | |
KR102521586B1 (ko) | 텍스트 핵심정보 추출방법, 장치, 전자기기 및 기록매체 | |
CN112148856B (zh) | 建立标点预测模型的方法、装置 | |
CN111709234A (zh) | 文本处理模型的训练方法、装置及电子设备 | |
CN111160013B (zh) | 文本纠错方法及装置 | |
CN113590796A (zh) | 排序模型的训练方法、装置和电子设备 | |
US20210374397A1 (en) | Method, device, and storage medium for obtaining document layout | |
US20210224480A1 (en) | Method, device and storage medium for predicting punctuation in text | |
US11704326B2 (en) | Generalization processing method, apparatus, device and computer storage medium | |
CN112560499B (zh) | 语义表示模型的预训练方法、装置、电子设备及存储介质 | |
KR20210126110A (ko) | 소트 모델의 구축 방법, 쿼리 자동 완성 방법 및 대응 장치 | |
CN111881675A (zh) | 文本纠错方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |