KR20240065997A - 필기 입력을 인식하는 방법 및 장치 - Google Patents

필기 입력을 인식하는 방법 및 장치 Download PDF

Info

Publication number
KR20240065997A
KR20240065997A KR1020220147396A KR20220147396A KR20240065997A KR 20240065997 A KR20240065997 A KR 20240065997A KR 1020220147396 A KR1020220147396 A KR 1020220147396A KR 20220147396 A KR20220147396 A KR 20220147396A KR 20240065997 A KR20240065997 A KR 20240065997A
Authority
KR
South Korea
Prior art keywords
character
handwriting input
string
stroke
electronic device
Prior art date
Application number
KR1020220147396A
Other languages
English (en)
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 삼성전자주식회사
Priority to KR1020220147396A priority Critical patent/KR20240065997A/ko
Priority to PCT/KR2023/013443 priority patent/WO2024101627A1/ko
Publication of KR20240065997A publication Critical patent/KR20240065997A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/36Matching; Classification
    • GPHYSICS
    • G04HOROLOGY
    • G04GELECTRONIC TIME-PIECES
    • G04G21/00Input or output devices integrated in time-pieces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/18Extraction of features or characteristics of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/18Extraction of features or characteristics of the image
    • G06V30/1801Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Character Discrimination (AREA)
  • Quality & Reliability (AREA)

Abstract

필기 입력 신호를 인식하고, 인식된 필기 입력 신호로부터 각 문자가 상이한 필기 입력 방향을 가지고, 서로 연결되고 중첩된 스트로크를 획득하고, 획득된 스트로크에 관한 특징들을 추출하고, 추출된 스트로크에 관한 특징들을, 필기 입력 방향이 상이한 문자들을 포함하되, 각 문자는 서로 중첩된 필기 입력 데이터들을 포함하는 필기 입력 데이터세트로 훈련된 인공지능 모델에 입력하여 문자열을 인식하는, 문자열 인식 방법이 개시된다.

Description

필기 입력을 인식하는 방법 및 장치{METHOD AND APPARATUS FOR RECOGNIZING HANDWRITING INPUT}
실시예들과 일치하는 방법 및 장치는 필기 입력된 문자열의 인식과 관련된 것으로, 구체적으로 필기 입력 방향이 상이한 문자들을 포함하되, 문자들이 서로 연결되고, 중첩되어 필기 입력된 문자열의 인식과 관련된다.
사용자가 문자열을 필기하는 경우 각 문자를 연결해서 필기하는 경향이 있다. 사용자가 각 문자를 연결해서 필기하는 것은 자동적, 무의식적으로 행해지게 된다. 이는 전자 장치에서 사용자가 문자를 필기 입력하는 경우에도 마찬가지이다. 다만, 전자 장치의 디스플레이가 작은 경우에는, 부족한 공간으로 인해 각 문자를 필기 방향에 따라 필기 입력하는 것에 불편함을 겪게 된다.
이렇게 전자 장치의 디스플레이가 작은 경우, 사용자는 각 문자를 분리해 중첩적으로 필기 입력을 할 수 있다. 다만, 각 문자를 분리해 중첩적으로 필기 입력하는 경우, 사용자는 문자를 분리하기 위해 정신적 노력을 들이게 되고, 이는 사용자로 하여금 필기 입력 시간을 더욱 소요하게 만든다.
구체적으로, 문자열을 각 문자로 분리하여 필기 입력하는 경우, 사용자가 문자를 무의식적으로 연결해 필기 입력하는 경우에 비해, 하나의 문자 입력 후 정지 과정, 각 문자를 분리하는 과정이 추가되게 된다. 따라서, 중첩적으로 필기 입력함과 동시에 각 문자를 분리하지 않고 필기 입력하고, 이렇게 입력된 필기 입력을 인식하는 방법이 요구된다.
본 개시의 일 측면에 따르면, 전자 장치에서 필기 입력으로부터 문자열을 인식하는 방법을 제공할 수 있다. 상기 방법은, 필기 입력 신호를 인식하는 단계를 포함할 수 있다. 상기 방법은, 인식된 필기 입력 신호로부터 제1 문자 및 제1 문자의 필기 입력 방향과 상이한 필기 입력 방향을 갖는 제2 문자를 포함하되, 제1 문자의 종료 지점과 제2 문자의 시작 지점이 연결되고, 제1 문자 및 제2 문자는 서로 중첩된 스트로크를 획득하는 단계를 포함할 수 있다. 상기 방법은, 획득된 스트로크에 관한 특징들을 추출하는 단계를 포함할 수 있다. 상기 방법은, 추출된 스트로크에 관한 특징들을, 필기 입력 방향이 상이한 문자들을 포함하되, 각 문자는 서로 중첩된 필기 입력 데이터들을 포함하는 필기 입력 데이터세트로 훈련된 인공지능 모델에 입력하여 제1 문자 및 제2 문자를 포함하는 문자열을 인식하는 단계를 포함할 수 있다.
본 개시의 일 측면에 따르면, 필기 입력된 문자열을 인식하는 전자 장치를 제공할 수 있다. 상기 전자 장치는, 적어도 하나의 인스트럭션을 저장하는 메모리 및 메모리에 저장된 적어도 하나의 인스트럭션을 실행하는 프로세서를 포함할 수 있다. 상기 프로세서는, 적어도 하나의 인스트럭션을 실행함으로써, 필기 입력 신호를 인식할 수 있다. 상기 프로세서는, 인식된 필기 입력 신호로부터 제1 문자 및 제1 문자의 필기 입력 방향과 상이한 필기 입력 방향을 갖는 제2 문자를 포함하되, 제1 문자의 종료 지점과 제2 문자의 시작 지점이 연결되고, 제1 문자 및 제2 문자는 서로 중첩된 스트로크를 획득할 수 있다. 상기 프로세서는, 획득된 스트로크에 관한 특징들을 추출할 수 있다. 상기 프로세서는, 추출된 스트로크에 관한 특징들을, 필기 입력 방향이 상이한 문자들을 포함하되, 각 문자는 서로 중첩된 필기 입력 데이터들을 포함하는 필기 입력 데이터세트로 훈련된 인공지능 모델에 입력하여, 문자열을 인식할 수 있다.
본 개시의 일 측면에 따르면, 전술한 필기 입력으로부터 문자열을 인식하는 방법들 중 어느 하나를 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
본 명세서에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 개시의 일 실시예에 따른 스무스 (smooth) 중첩 필기 입력 방식으로 입력된 필기 입력으로부터 문자열을 인식하는 일 예를 나타낸 도면이다.
도 2는 본 개시의 일 실시예에 따른 전자 장치에 문자열을 중첩적으로 필기 입력하는 방식을 나타내는 예시적인 도면이다.
도 3은 본 개시의 일 실시예에 따른 문자열이 스무스 (smooth) 중첩 필기 입력 방식으로 입력되는 과정을 나타내는 예시적인 도면이다.
도 4는 본 개시의 일 실시예에 따른 필기 입력으로부터 문자열을 인식하는 방법을 나타내는 순서도이다.
도 5는 본 개시의 일 실시예에 따른 스무스 (smooth) 중첩 필기 입력 인식 모델을 구성하는 방법을 나타내는 순서도이다.
도 6은 본 개시의 일 실시예에 따른 스무스 (smooth) 중첩 필기 입력 데이터를 생성하는 과정을 나타내는 예시적인 도면이다.
도 7은 본 개시의 일 실시예에 따른 정렬된 필기 입력 데이터로부터 스무스 (smooth) 중첩 필기 입력 데이터를 생성하는 방법을 나타내는 순서도이다.
도 8은 본 개시의 일 실시예에 따른 스무스 (smooth) 중첩 필기 입력 데이터가 생성되는 과정을 나타내는 예시적인 도면이다.
도 9는 본 개시의 일 실시예에 따른 정렬된 필기 입력 데이터로부터 생성된 스무스 (smooth) 중첩 필기 입력 데이터로 스무스 (smooth) 중첩 필기 입력 인식 모델을 훈련하는 과정을 나타내는 도면이다.
도 10은 본 개시의 일 실시예에 따른 스무스 (smooth) 중첩 필기 입력 방식으로 입력된 필기 입력의 각 문자가 일정 각도로 회전되어 입력되는 방식을 나타내는 예시적인 도면이다.
도 11은 본 개시의 일 실시예에 따른 언어 모델을 통해 인식된 문자열을 재인식하는 방법을 나타내는 순서도이다.
도 12는 본 개시의 일 실시예에 따른 인식된 문자열을 보정하여 문자열을 재인식하는 방법을 나타내는 순서도이다.
도 13은 본 개시의 일 실시예에 따른 도 12의 문자열 재인식 방법에 따라 문자열을 보정하고 재인식하는 방법을 나타내는 예시적인 도면이다.
도 14는 본 개시의 일 실시예에 따른 전자 장치의 내부 구성을 도시한 블록도이다.
도 15는 본 개시의 일 실시예에 따른 전자 장치의 내부 구성을 도시한 블록도이다.
본 명세서에서 사용되는 용어는 본 명세서에 개시된 실시예들에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 실시예의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 개시에서, "a, b 또는 c 중 적어도 하나" 표현은 " a", " b", " c", "a 및 b", "a 및 c", "b 및 c", "a, b 및 c 모두", 혹은 그 변형들을 지칭할 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 명세서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 또한, 본 명세서에서 사용되는 '제1' 또는 '제2' 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
또한, 본 개시에 따른 인공지능과 관련된 기능은 프로세서와 메모리를 통해 동작된다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
또한, 기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
또한, 본 개시에서, "인공지능 모델"은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 신경망 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 신경망 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공 신경망은 심층 신경망(DNN(Deep Neural Network))을 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다.
본 개시에서, "언어 모델"은, 언어라는 현상을 모델링하고자 문자 단위, 형태소 단위, 단어 단위 등으로 데이터를 입력하여 다음에 올 문자, 형태소, 단어 등에 확률을 할당(assign)하는 모델일 수 있다. 예를 들어, 언어 모델이 문자 단위로 데이터를 입력 받는 경우, 이전 문자가 주어졌을 때 다음 문자를 예측하여 가장 자연스러운 문자열을 찾아낼 수 있다. 또한, 언어 모델이 문자 단위로 데이터를 입력 받는 경우, 문자 단위 데이터의 일부 문자를 수정하여 가장 자연스러운 문자열을 찾아낼 수 있다. 언어 모델이 단어 단위로 데이터를 입력 받는 경우, 이전 단어들이 주어졌을 때 다음 단어를 예측하여 가장 자연스러운 단어 시퀀스(예를 들어, 문장)를 찾아낼 수 있다. 예를 들어, 언어 모델은, 통계를 이용하는 방법, 인공지능 모델을 이용하는 방법 등을 포함할 수 있다. 예를 들어, 통계를 이용하는 방법은 N-gram 모델 등을 포함할 수 있다. 예를 들어, 인공지능 모델을 이용하는 방법은 RNN 모델, LSTM 모델 등을 포함할 수 있다. 이하에서는, 설명의 편의를 위해, 언어 모델은 문자 단위로 데이터를 입력 받는 경우를 예로 들어 설명하기로 한다.
본 개시에서, "스무스 (smooth) 중첩 필기 입력" 방식은, 각 문자가 서로 상이한 필기 입력 방향을 가지고, 서로 연결되고 중첩되어 필기 입력되는 방식을 의미한다. 즉, 문자열이 "스무스 중첩 필기 입력" 방식으로 필기 입력되면, 문자열은 하나의 스트로크로 중첩되어 필기 입력되게 된다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 개시의 일 실시예에 따른 스무스 (smooth) 중첩 필기 입력 방식으로 입력된 필기 입력으로부터 문자열을 인식하는 일 예를 나타낸 도면이다.
도 1에 도시된 바와 같이, 전자 장치(2000)는 사용자에 의해 입력된 필기 입력(110)으로부터 문자열(120)을 인식하여 인식된 문자열(120)을 표시할 수 있다.
일 실시예에 의하면, 필기 입력(110)은 사용자에 의해 전자 장치(2000)에 입력될 수 있다. 필기 입력(110)은 필기 도구가 전자 장치(2000)에 접촉되어 입력될 수 있다. 예를 들어, 필기 도구는, 사용자의 손가락 뿐만 아니라 스타일러스 펜 등이 포함될 수 있으나, 이에 한정되지 않는다. 또한, 전자 장치(2000)에 포함된 통신 모듈(2500)을 통해 외부 장치로부터 이미지 또는 영상을 수신하여, 이미지 또는 영상에 포함된 필기 입력(110)이 입력될 수 있다. 또한, 전자 장치(2000)에 포함된 A/V 입력 모듈(2600)을 통해 이미지 또는 영상을 촬영하여, 이미지 또는 영상에 포함된 필기 입력(110)이 입력될 수 있다. 예를 들면, 전자 장치(2000)는 필기 입력(110)을 포함하는 이미지를 분석하여, 이미지로부터 필기 입력(110)을 추출함으로써, 필기 입력(110)이 전자 장치(2000)에 입력될 수 있다. 상술한 예에 한정되지 않고, 필기 입력은(110) 사용자에 의해 다양한 방법을 통해 전자 장치(2000)에 입력될 수 있다. 이하에서는, 설명의 편의를 위해, 필기 입력(110)은 필기 도구가 전자 장치(2000)에 접촉되어 입력되는 경우를 예로 들어 설명하기로 한다.
사용자가 전자 장치(2000)에 필기 도구를 접촉하여 필기 입력하는 경우, 전자 장치(2000)에는 필기 입력 신호가 생성된다. 이 때, 전자 장치(2000)는 사용자에 의해 생성된 필기 입력 신호를 인식할 수 있다. 예를 들어, 디스플레이(2310)와 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 사용자가 전자 장치(2000)의 디스플레이(2310)에 필기 도구를 접촉하여 필기 입력을 하면, 필기 도구가 접촉된 부분에서 전기용량의 변화를 일어날 수 있다. 전자 장치(2000)는 전기용량의 변화를 감지해 필기 입력 신호를 인식할 수 있다.
사용자에 의해 문자열이 전자 장치(2000)에 필기 입력되는 경우, 문자열은 적어도 하나의 스트로크로 구성된다. "스트로크(stroke, 획)"는 사용자에 의해 전자 장치(2000)에 필기 도구가 접촉된 시점부터 접촉을 유지한 채 드로잉되는 하나의 궤적을 의미한다. 예를 들어, 'hang'이 사용자에 의해 필기 도구로 필기 입력되는 경우에, h, a, n, g 전부가 전자 장치(2000)와 필기 도구 간 접촉이 유지된 채 필기 입력된다면, 'hang'은 하나의 스트로크로 입력될 수 있다. 반면, 'hang'의 알파벳 각각을 필기 입력할 때마다 전자 장치(2000)와 필기 도구 간 접촉이 중단된다면, h, a, n, g 알파벳 각각이 하나의 스트로크를 구성해 총 4개의 스트로크로 입력될 수 있다.
전자 장치(2000)는 인식한 필기 입력 신호로부터 적어도 하나의 스트로크를 획득할 수 있다. 예를 들어, 전자 장치(2000)는 필기 입력 신호를 인식하고, 인식한 필기 입력 신호의 생성된 위치 및 생성 시간을 기초로 하여, 적어도 하나의 스트로크를 획득할 수 있다.
일 실시예에 의하면, 필기 입력(110)에 대응되는 문자열의 각 문자는 서로 중첩되어 전자 장치(2000)에 필기 입력될 수 있다. 각 문자가 서로 중첩되어 필기 입력되는 경우, 전자 장치(2000)에서의 필기 공간을 확보할 수 있다. 예를 들어, 필기 입력(110)에서, 'a'에 대응되는 필기 입력은 전자 장치(2000)에서의 필기 공간을 확보하기 위해, 'h'에 대응되는 필기 입력에 중첩되어 입력될 수 있다.
일 실시예에 의하면, 필기 입력(110)에 대응되는 문자열은 제1 문자 및 제2 문자를 포함할 수 있다. 이 때, 제1 문자의 종료 지점과 제2 문자의 시작 지점은 서로 연결되어 필기 입력된 것일 수 있다. 즉, 제1 문자와 제2 문자는 하나의 스트로크로 필기 입력된 것일 수 있다. 일 실시예에 따른 문자의 종료 지점은 문자에 대응되는 스트로크가 종료되는 지점을 의미한다. 일 실시예에 따른 문자의 시작 지점은 문자에 대응되는 스트로크가 시작되는 지점을 의미한다. 예를 들어, 필기 입력(110)에서, 'a'에 대응되는 필기 입력은, 'a'에 대응되는 필기 입력의 시작 지점과 'h'에 대응되는 필기 입력의 종료 지점이 연결되어 입력될 수 있다.
일 실시예에 의하면, 필기 입력(110)에 대응되는 문자열은 제1 문자 및 제2 문자 뿐만 아니라, 제3 문자를 더 포함할 수 있다. 제2 문자의 종료 지점과 제3 문자의 시작 지점은 서로 연결되어 필기 입력된 것일 수 있다. 제1 문자의 종료 지점과 제2 문자의 시작 지점, 및 제2 문자의 종료 지점과 제3 문자의 시작 지점은 서로 연결되어 필기 입력된 것일 수 있다. 즉, 제1 문자, 제2 문자 및 제3 문자는 하나의 스트로크로 필기 입력된 것일 수 있다. 예를 들어, 필기 입력(110)에서, 'n'에 대한 필기 입력은, 'n'에 대한 필기 입력의 시작 지점과 'a'에 대한 필기 입력의 종료 지점이 연결되어 중첩되어 입력될 수 있다. 즉, 'h', 'a', 'n'은 하나의 스트로크로 필기 입력될 수 있다.
일 실시예에 의하면, 필기 입력(110)에 대응되는 문자열은 제1 문자 및 제2 문자를 포함할 수 있다. 제2 문자는 제1 문자의 필기 입력 방향을 기준으로 회전되어 필기 입력된 것일 수 있다. 제2 문자는 제1 문자의 필기 입력 방향을 기준으로 회전되어 중첩 필기 입력된 것일 수 있다. 본 개시에서, 문자가 회전되어 필기 입력되었다는 것은, 문자가 이전에 필기 입력된 문자의 필기 입력 방향과 상이한 필기 입력 방향으로 필기 입력된 것을 의미한다. 각 문자가 회전되어 필기 입력되는 경우, 복수의 문자가 하나의 스트로크로 중첩되어 필기 입력될 수 있다. 예를 들어, 필기 입력(110)에서, 'a'에 대한 필기 입력은 'h'의 필기 입력 방향과 상이한 필기 입력 방향으로 중첩되어 입력될 수 있다.
일 실시예에 의하면, 제 1문자, 제 2문자 및 제3 문자는 예시적인 것이며, 필기 입력에 대응되는 문자열은 다른 문자를 더 포함할 수 있다.
일 실시예에 의하면, 필기 입력(110)에 대응되는 문자열은 하나의 스트로크로 필기 입력되고, 문자열에 포함되는 적어도 하나의 문자는 회전 및 중첩되어 입력될 수 있다. 예를 들어, 'hang'은 전자 장치(2000)와 필기 도구의 접촉을 유지한 채 필기 입력될 수 있다.
일 실시예에 따른 전자 장치(2000)는 다양한 형태로 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 전자 장치(2000)는, 디지털 카메라, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 태블릿 PC, VR(Virtual Reality) 기기, AR(Augmented Reality) 기기 등이 있을 수 있으나, 이에 한정되는 것은 아니다. 본 명세서에서 기술되는 전자 장치(2000)는 사용자에 의해 착용될 수 있는 장치(wearable device)일 수 있다. 웨어러블 디바이스는 액세서리 형 장치(예를 들어, 스마트 워치(smart watch), 반지, 팔목 밴드, 발목 밴드, 목걸이, 안경, 콘택트 렌즈), 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형 장치(예를 들어, 전자 의복), 신체 부착형 장치(예를 들어, 스킨 패드(skin pad)), 또는 생체 이식형 장치(예를 들어, implantable circuit) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 이하에서는, 설명의 편의상, 전자 장치(2000)가 스마트 워치인 경우를 예로 들어 설명하기로 한다.
전자 장치(2000)는 사용자에 의해 입력된 필기 입력(110)으로부터 문자열(120)을 인식해 인식된 문자열(120)을 표시할 수 있다. 전자 장치(2000)는 후술할 스무스 (smooth) 중첩 필기 입력 인식 모델을 통해 필기 입력(110)으로부터 문자열(120)을 인식할 수 있다. 일 실시예에 의하면, 전자 장치(2000)는 디스플레이(2310)를 통해 인식된 문자열을 표시할 수 있다.
일 실시예에 따른 문자열(120)은 적어도 하나의 문자로 구성될 수 있다. 문자열(120)은 스무스 중첩 필기 입력 인식 모델에서 출력되는 출력값일 수 있다. 또한, 문자열(120)은 하나의 스트로크만으로 입력될 수 있다. 인식된 문자열(120)은 전자 장치(2000)에 의해 표시될 수 있다.
상술한 예에 한하지 않고, 전자 장치(2000)는 다양한 방법을 통해 필기 입력(110)으로부터 문자열(120)을 인식하여 인식된 문자열을 표시할 수 있다.
도 2는 본 개시의 일 실시예에 따른 전자 장치에 문자열을 중첩적으로 필기 입력하는 방식을 나타내는 예시적인 도면이다.
도 2에 도시된 바와 같이, 전자 장치(2000)에는 사용자에 의해 문자열이 중첩적으로 필기 입력될 수 있다. 예를 들어, 사용자에 의해 전자 장치(2000)에 'he'가 중첩적으로 입력될 수 있다. 전자 장치(2000)에 'h'가 필기 입력된 뒤, 'e'는 정렬 중첩 필기 입력(210) 방식으로 필기 입력될 수 있고, 스무스 중첩 필기 입력(220) 방식으로 필기 입력될 수도 있다.
정렬 중첩 필기 입력(210) 방식으로 필기 입력되는 경우, 필기 입력되는 문자열의 문자 각각은 적어도 하나의 스트로크로 구성될 수 있다. 예를 들어, 'he'가 정렬 중첩 필기 입력(210) 방식으로 필기 입력되는 경우, 'he'는 2개의 스트로크로 구성된다. 'h'가 필기 입력된 후, 'e'가 정렬되어 필기 입력되기 위해서는 전자 장치(2000)와 필기 도구 간 접촉이 중단된다.
반면, 스무스 중첩 필기 입력(220) 방식으로 필기 입력되는 경우, 필기 입력되는 문자열은 하나의 스트로크로 구성될 수 있다. 예를 들어, 'he'의 필기 입력은 하나의 스트로크로 구성된다. 'h'가 필기 입력된 후, 'h'의 종료 지점과 'e'의 시작 지점이 연결되어, 전자 장치(2000)와 필기 도구 간 접촉이 유지된 상태에서 'e'가 필기 입력될 수 있다. 이 때, 'e'는 'h'와 연결된 상태에서 중첩되어 필기 입력되기 위해, 'h'의 필기 입력 방향과 상이한 필기 입력 방향으로 필기 입력될 수 있다. 즉, 'e'는 회전되어 필기 입력될 수 있다.
문자가 서로 중첩되어 필기 입력되면, 문자열을 필기 입력하는 데에 필요한 공간이 감소하고, 전자 장치(2000)에서의 필기 공간을 확보할 수 있는 효과를 포함한 다양한 효과가 있을 수 있다. 다만, 사용자가 문자를 중첩하여 필기 입력하기 위해, 문자마다 필기 도구 간 접촉을 중단해야 하는데, 이는 사용자로 하여금 정신적 노력을 들이게 하고, 그에 따라 필기 입력 시간이 증가된다. 일 실시예에 의하면, 문자가 스무스 중첩 필기 입력(220) 방식으로 필기 입력되는 경우, 문자열이 하나의 스트로크로 필기 입력될 수 있고, 사용자가 전자 장치(2000)와 필기 도구 간 접촉을 중단한 뒤 다시 접촉하는 시간을 생략하여 필기 입력 시간을 감소시키는 효과를 포함한 다양한 효과가 있을 수 있다.
도 3은 본 개시의 일 실시에에 따른 문자열이 스무스 (smooth) 중첩 필기 입력 방식으로 입력되는 과정을 나타내는 예시적인 도면이다.
일 실시예에 의하면, 문자열은 전자 장치(2000)에 스무스 중첩 필기 입력 방식으로 입력될 수 있다. 도 3에는 문자열 "hang"이 스무스 중첩 필기 입력 방식으로 입력되는 과정이 예시적으로 도시되어있다.
제1 필기 입력(310)은 "h"가 필기 입력된 뒤에, "a"의 일부가 필기 입력된 상태이다. 제1 필기 입력(310)에서, "h"가 필기 입력된 뒤에 전자 장치(2000)와 필기 도구 간 접촉을 유지한 채 "a"가 필기 입력된다. 즉, "h"와 "a"가 서로 연결되어 필기 입력된다. 또한, "a"는 "h"에 중첩되도록 필기 입력된다. 또한, "a"는 "h"의 필기 입력 방향과 상이한 방향으로 필기 입력된다. 즉, "a"는 "h"의 필기 입력 방향을 기준으로 회전되어 필기 입력된다.
제2 필기 입력(320)은 "ha"가 필기 입력된 뒤에, "n"의 일부가 필기 입력된 상태이다. 제2 필기 입력(320)에서, "a"가 필기 입력된 뒤에 전자 장치(2000)와 필기 도구 간 접촉을 유지한 채 "n"가 필기 입력된다. 즉, "h", "a" 및 "n"이 서로 연결되어 필기 입력된다. 또한, "n"은 "h" 및 "a"에 중첩되도록 필기 입력된다. 또한, "n"은 "a"의 필기 입력 방향과 상이한 방향으로 필기 입력된다. 즉, "n"은 "a"의 필기 입력 방향을 기준으로 회전되어 필기 입력된다.
제3 필기 입력(330)은 "han"이 필기 입력된 상태이다. 제3 필기 입력(330)에서, "n"이 필기 입력된 뒤에 전자 장치(2000)와 필기 도구 간 접촉을 유지한 채 "g"가 필기 입력된다. 즉, "h", "a", "n" 및 "g"가 서로 연결되어 필기 입력된다. 또한, "g"는 "h", "a" 및 "n"에 중첩되도록 필기 입력된다. 또한, "g"는 "n"의 필기 입력 방향과 상이한 방향으로 필기 입력된다. 즉, "g"는 "n"의 필기 입력 방향을 기준으로 회전되어 필기 입력된다.
제4 필기 입력(340)은 "hang"이 스무스 중첩 필기 입력 방식으로 입력된 필기 입력이다. 제4 필기 입력(340)에서, "hang"이 필기 입력되는 동안 전자 장치(2000)와 필기 도구 간 접촉이 유지된다. 즉, "hang"의 각 문자는 서로 연결되어 필기 입력된다. "hang"은 하나의 스트로크로 필기 입력된다. "hang"에 포함된 각 문자는 서로 중첩되어 필기 입력된다. "a", "n", "g" 각각은 이전에 입력된 문자의 필기 입력 방향과 상이한 방향으로 필기 입력된다. 즉, "a", "n", "g" 각각은 이전에 입력된 문자의 필기 방향을 기준으로 회전되어 필기 입력된다.
도 4는 본 개시의 일 실시예에 따른 필기 입력으로부터 문자열을 인식하는 방법을 나타내는 순서도이다.
단계 S410에서, 전자 장치(2000)는, 사용자에 의해 생성된 필기 입력 신호를 인식할 수 있다. 필기 입력 신호는, 사용자에 의해 필기 도구가 전자 장치(2000)에 접촉되어 생성될 수 있다. 예를 들어, 사용자가 전자 장치(2000)의 디스플레이(2310)에 장착된 터치패드에 필기 도구를 접촉하여 필기 입력을 하는 경우, 필기 도구가 접촉된 부분에서 전기용량의 변화를 일어날 수 있다. 전자 장치(2000)는 전기용량의 변화를 감지해 필기 입력 신호를 인식할 수 있다.
단계 S420에서, 전자 장치(2000)는, 인식된 필기 입력 신호로부터 스트로크를 획득할 수 있다. 예를 들어, 전자 장치(2000)는 필기 입력 신호를 인식하고, 인식한 필기 입력 신호의 생성 위치 및 생성 시간을 기초로 하여, 적어도 하나의 스트로크를 획득할 수 있다.
전자 장치(2000)는, 인식된 필기 입력 신호로부터 각 문자의 필기 입력 방향이 상이한 문자들을 포함하되, 각 문자가 서로 연결되고, 각 문자가 서로 중첩된 스트로크를 획득할 수 있다. 즉, 전자 장치(2000)는 스무스 중첩 필기 입력 방식으로 입력된 필기 입력에 대응되는 스트로크를 획득할 수 있다.
전자 장치(2000)는, 인식된 필기 입력 신호로부터 제1 문자 및 제1 문자의 필기 입력 방향과 상이한 필기 입력 방향을 갖는 제2 문자를 포함하되, 제1 문자의 종료 지점과 제2 문자의 시작 지점이 연결되고, 제1 문자 및 제2 문자가 서로 중첩된 스트로크를 획득할 수 있다.
일 실시예에 의하면, 전자 장치(2000)는, 인식된 필기 입력 신호로부터 제1 문자, 제1 문자의 필기 입력 방향과 상이한 필기 입력 방향을 갖는 제2 문자, 및 제2 문자의 필기 입력 방향과 상이한 필기 입력 방향을 갖는 제3 문자를 포함하되, 제1 문자의 종료 지점과 제2 문자의 시작 지점이 연결되고, 제2 문자의 종료 지점과 제3 문자의 시작 지점이 연결되고, 제1 문자, 제2 문자, 및 제3 문자가 서로 중첩된 스트로크를 획득할 수 있다.
일 실시예에 의하면, 전자 장치(2000)는, 인식된 필기 입력 신호로부터 각 문자의 필기 입력 방향이 상이한 문자들을 포함하되, 각 문자가 서로 중첩된 스트로크를 획득할 수 있다.
단계 S430에서, 전자 장치(2000)는, 획득된 스트로크로부터, 스트로크에 관한 특징들을 추출할 수 있다. 일 실시예에서, 전자 장치(2000)는 사용자에 의해 드로잉된 궤적을 판단함으로써, 스트로크에 관한 특징들을 추출할 수 있다. 일 실시예에 의하면, 전자 장치(2000)는 스트로크에 관한 특징들을 추출하기 전에 스트로크에 대한 전처리 단계를 수행할 수 있다. 전처리 단계는, 크기 정규화(size normalization), 포인트 밀도 정규화, B-스플라인 근사(B-spline approximation) 등을 포함할 수 있다. 포인트 밀도 정규화 단계에서, 전자 장치(2000)는 스트로크를 포인트 집합으로 샘플링하고, 포인트가 누락된 경우에는 누락된 포인트를 보간하고, 포인트의 개수가 너무 많은 경우에는 재샘플링을 할 수 있다.
일 실시예에 의하면, 스트로크에 관한 특징들은 스트로크의 공간적 특징, 시간적 특징, 기하학적 특징, 펜업/펜다운 등을 포함할 수 있다.
일 실시예에서, 스트로크의 공간적 특징에는, 스트로크의 궤적, 위치, 방향, 곡률 등이 포함될 수 있다. 일 실시예에서, 스트로크의 공간적 특징에서, 스트로크는 포인트 집합으로 샘플링될 수 있다. 예를 들어, 스트로크의 각 포인트의 위치는 2차원 좌표로 표현될 수 있다. 일 실시예에서, 스트로크는 2차원 좌표로 표현된 포인트들의 집합으로 샘플링될 수 있다. 예를 들어, 스트로크는 {(3, 5), (4, 6), ...} 등의 (x, y) 좌표들의 집합으로 표현될 수 있다.
일 실시예에서, 스트로크의 시간적 특징에는, 스트로크의 입력 순서, 입력 시간 등이 포함될 수 있다. 일 실시예에서, 스트로크의 시간적 특징에서, 스트로크는 포인트 집합으로 샘플링될 수 있다. 일 실시예에서, 스트로크의 시간적 특징에는 스트로크의 포인트 각각의 입력 시간이 포함될 수 있다. 예를 들어, 스트로크의 포인트 각각의 입력 시간은, 스트로크의 첫번째 입력 포인트의 입력 시간을 기준으로 상대적으로 측정된 시간일 수 있다. 일 실시예에서, 스트로크의 포인트 각각의 입력 시간의 간격은, 스트로크를 포인트 집합으로 샘플링할 때의 샘플링 주기와 동일할 수 있다.
일 실시예에서, 스트로크의 기하학적 특징에는, 문자의 생김새 등이 포함될 수 있다. 예를 들어, "i"에 대응되는 스트로크의 기하학적 특징은 세로 스트로크와, 세로 스트로크 상단의 점으로 구성되는 특징일 수 있다. 예를 들어, "t"에 대응되는 스트로크의 기하학적 특징은, 세로 스트로크와 가로 스트로크로 구성되는 특징일 수 있다.
일 실시예에서, 펜업은 전자 장치(2000)와 필기 도구 간 접촉이 중단되었을 때의 필기 도구의 마지막 위치를 의미할 수 있다. 일 실시예에서, 펜다운은 전자 장치(2000)에 필기 도구가 다시 접촉했을 때의 필기 도구의 접촉 위치를 의미할 수 있다. 예를 들어, 전자 장치(2000)의 디스플레이(2310)에 사용자가 필기 도구를 이용해 문자열을 필기 입력하는 경우, 디스플레이(2310) 상에서 필기 도구가 접촉되는 위치는 2차원 좌표로 표현될 수 있다. 펜업/펜다운은 디스플레이(2310)와 필기 도구 간 접촉이 중단되었을 때의 필기 도구의 마지막 위치와, 필기 도구가 다시 접촉했을 때의 필기 도구의 접촉 위치를 2차원 좌표로 추출할 수 있다. 일 실시예에 의하면, 문자열이 스무스 중첩 필기 입력 방식으로 필기 입력되는 경우, 필기 입력으로부터 문자열을 인식하는 데에 있어 펜업/펜다운이 사용되지 않을 수 있다.
단계 S440에서, 전자 장치(2000)는 스트로크에 관한 특징들을 스무스 중첩 필기 입력 인식 모델에 입력하여 문자열을 인식할 수 있다. 본 명세서에서, 필기 입력 방향이 상이한 문자들을 포함하되, 각 문자는 서로 중첩된 필기 입력 데이터들을 포함하는 필기 입력 데이터세트를 "스무스 중첩 필기 입력 데이터세트"로 정의한다. 본 명세서에서, 스무스 중첩 필기 입력 데이터세트로 훈련된 인공지능 모델을 "스무스 중첩 필기 입력 인식 모델"로 정의한다. 스무스 중첩 필기 입력 데이터 세트의 생성 방법은 도 5 내지 도 9에서 구체적으로 설명하기로 한다.
스무스 중첩 필기 입력 인식 모델은 필기 입력 방향이 상이한 문자들을 포함하되, 각 문자가 서로 연결되고, 각 문자가 서로 중첩된 스트로크로부터 추출된, 스트로크에 관한 특징들로부터 각 문자를 포함하는 문자열을 인식할 수 있다. 즉, 스무스 중첩 필기 입력 인식 모델은 스무스 중첩 필기 입력 방식으로 입력된 필기 입력에 대응되는 스트로크로부터 추출된, 스트로크에 관한 특징들로부터 문자열을 인식할 수 있다.
스무스 중첩 필기 입력 인식 모델은 제1 문자 및 제1 문자의 필기 입력 방향과 상이한 필기 입력 방향을 갖는 제2 문자를 포함하되, 제1 문자의 종료 지점과 제2 문자의 시작 지점이 연결되고, 제1 문자 및 제2 문자가 서로 중첩된 스트로크로부터 추출된, 스트로크에 관한 특징들로부터 제1 문자 및 제2 문자를 포함하는 문자열을 인식할 수 있다.
일 실시예에 따른 스무스 중첩 필기 입력 인식 모델은 제1 문자, 제1 문자의 필기 입력 방향과 상이한 필기 입력 방향을 갖는 제2 문자, 및 제2 문자의 필기 입력 방향과 상이한 필기 입력 방향을 갖는 제3 문자를 포함하되, 제1 문자의 종료 지점과 제2 문자의 시작 지점이 연결되고, 제2 문자의 종료 지점과 제3 문자의 시작 지점 또한 연결되고, 제1 문자, 제2 문자, 및 제3 문자가 서로 중첩된 스트로크로부터 추출된, 스트로크에 관한 특징들로부터 제1 문자, 제2 문자, 및 제3 문자를 포함하는 문자열을 인식할 수 있다.
일 실시예에 따른 스무스 중첩 필기 입력 인식 모델은 필기 입력 방향이 상이한 문자들을 포함하되, 각 문자가 서로 중첩된 스트로크로부터 추출된, 스트로크에 관한 특징들로부터 각 문자를 포함하는 문자열을 인식할 수 있다.
일 실시예에 의하면, 전자 장치(2000)는 필기 입력 신호로부터 문자열을 인식하기 위해 외부 장치에 저장된 스무스 중첩 필기 입력 인식 모델을 이용할 수 있다. 이 경우, 전자 장치(2000)는 추출된 스트로크에 관한 특징들을 외부 장치로 전송할 수 있다. 전자 장치(2000)는 스트로크에 관한 특징들이 외부 장치에 저장된 스무스 중첩 필기 입력 인식 모델에 입력되어 출력값이 출력되면, 외부 장치로부터 출력값을 수신할 수 있다. 이 때, 출력값은 스무스 중첩 필기 입력 인식 모델에 의해 인식된 문자열에 해당할 수 있다. 전자 장치(2000)는 출력값을 기초로 하여 문자열을 인식할 수 있다.
상술한 예에 한하지 않고, 전자 장치(2000)는 다양한 방법을 통해 필기 입력으로부터 문자열을 인식할 수 있다.
도 5는 본 개시의 일 실시예에 따른 스무스 (smooth) 중첩 필기 입력 인식 모델을 구성하는 방법을 나타내는 순서도이다.
스무스 중첩 필기 입력 인식 모델을 구성하는 과정은 전자 장치(2000)의 프로세서(2100)에 의해 수행될 수 있다. 또한, 스무스 중첩 필기 입력 인식 모델은 외부 장치에 의해 구성되어 전자 장치(2000)의 메모리(2700)에 저장될 수 있다. 스무스 중첩 필기 입력 인식 모델은 외부 장치에 의해 구성되어 외부 장치에 저장될 수도 있다. 이 경우, 스무스 중첩 필기 입력 인식 모델은 전자 장치(2000)의 메모리(2700)에 저장되지 않는다. 이하에서는, 설명의 편의를 위해, 스무스 중첩 필기 입력 인식 모델은 전자 장치(2000)에서 훈련되는 경우를 예로 들어 설명하기로 한다.
전자 장치(2000)는 정렬된 필기 입력 데이터 세트를 이용해 스무스 중첩 필기 입력 데이터 세트를 생성할 수 있다.
단계 S510에서, 일 실시예에 따른 전자 장치(2000)는 정렬된 필기 입력 데이터 세트를 획득할 수 있다. 일 실시예에 의하면, 전자 장치(2000)는 외부 장치로부터 정렬된 필기 입력 데이터 세트를 획득할 수 있다. 예를 들어, 전자 장치(2000)는 외부 서버로부터 오픈소스 데이터 세트로 제공되는 정렬된 필기 입력 데이터 세트를 획득할 수 있다. 전술한 예에 한하지 않고, 전자 장치(2000)는 다양한 방법을 통해 정렬된 필기 입력 데이터 세트를 획득할 수 있다. 정렬된 필기 입력 데이터 세트는, 기존의 필기 입력을 인식하기 위한 인공지능 모델의 훈련 데이터 세트일 수 있다. 또한 정렬된 필기 입력 데이터 세트는, 기존의 중첩된 필기 입력을 인식하기 위한 인공지능 모델의 훈련 데이터 세트일 수 있다. 정렬된 필기 입력 데이터 세트는 필기 입력에 대응되는 스트로크의 특징들을 포함할 수 있다. 스트로크의 특징들에는 스트로크의 공간적 특징, 시간적 특징, 기하학적 특징, 펜업/펜다운 등이 포함될 수 있다.
단계 S520에서, 일 실시예에 따른 전자 장치(2000)는 정렬된 필기 입력 데이터 세트를 이용해 스무스 중첩 필기 입력 데이터 세트를 생성할 수 있다. 단계 S520에는 단계 S522, 단계 S524, 단계 S526, 및 단계 S528이 포함된다. 일 실시예에 따른 스무스 중첩 필기 입력 데이터 세트에는, 스무스 중첩 필기 입력 방식에 따라 입력된 필기 입력 데이터들이 포함될 수 있다. 일 실시예에 따른 스무스 중첩 필기 입력 데이터 세트에는, 필기 입력 방향이 상이한 문자들을 포함하되, 각 문자는 서로 중첩된 필기 입력 데이터들이 포함될 수 있다.
단계 S522에서, 일 실시예에 따른 전자 장치(2000)는 정렬된 필기 입력 데이터 세트에 포함된 필기 입력 데이터가 단일 문자에 대응되는 필기 입력 데이터인지 판단할 수 있다. 단일 문자가 아닌 경우에는 단계 S524를 수행하고, 단일 문자인 경우에는 단계 S528을 수행할 수 있다. 일 실시예에 의하면, 정렬된 필기 입력 데이터 세트에 포함되는 각 필기 입력 데이터는, 필기 입력에 대응되는 문자열에 관한 정보를 포함할 수 있다. 필기 입력에 대응되는 문자열에 대한 정보에는 필기 입력에 포함되는 문자열의 개수에 대한 정보를 포함할 수 있다. 필기 입력 데이터에 포함되는 문자열의 개수에 대한 정보를 기초로 하여, 단일 문자인지 여부를 판단할 수 있다.
단계 S524에서, 일 실시예에 따른 전자 장치(2000)는 단일 문자로 이루어지지 않은 필기 입력 데이터들을 단일 문자로 분할할 수 있다. 일 실시예에 의하면, 필기 입력 데이터에 포함된 각 문자들은 필기 입력에 대응되는 문자열에 관한 정보 및 각 문자에 대응되는 스토로크에 관한 정보를 기초로 하여 각 문자로 분할될 수 있다. 일 실시예에 의하면, 필기 입력 데이터에 포함된 각 문자들은, 필기 입력 데이터에 포함된 스트로크에 관한 특징들을 문자 분할 인공지능 모델에 입력해 각 문자로 분할될 수 있다.
단계 S526에서, 일 실시예에 따른 전자 장치(2000)는 분할된 각 문자들이 서로 연결되고, 중첩되도록 문자들을 회전 및 이동시켜 스무스 중첩 필기 입력 데이터를 생성할 수 있다. 일 실시예에 의하면, 문자의 회전은 문자에 대응되는 스트로크에 포함된 포인트 전체가 임의의 좌표를 기준으로 좌표 회전하는 것을 의미할 수 있다. 일 실시예에 의하면, 문자를 이동시키는 것은 문자에 대응되는 스트로크에 포함된 포인트 전체를 좌표 이동하는 것을 의미할 수 있다. 일 실시예에 의하면, 두 문자가 서로 연결되는 것은, 문자의 종료 지점과 다음 문자의 시작 지점이 일치되는 것을 의미할 수 있다. 일 실시예에 의하면, 두 문자가 서로 연결되는 것은, 문자와 다음 문자가 하나의 스트로크로 필기 입력되는 것을 의미할 수 있다. 문자들이 서로 연결되고, 중첩되도록 문자를 회전 및 이동시키는 방법은 도 7 및 도 8에서 상세하게 설명한다.
단계 S528에서, 일 실시예에 따른 전자 장치(2000)는 각 문자를 다양하게 회전시켜 스무스 중첩 필기 입력 데이터를 생성할 수 있다. 일 실시예에 따른 전자 장치(2000)는 각 문자를 다양하게 이동시켜 스무스 중첩 필기 입력 데이터를 생성할 수 있다. 일 실시예에 따른 전자 장치(2000)는 각 문자를 다양하게 회전 및 이동시켜 스무스 중첩 필기 입력 데이터를 생성할 수 있다. 각 문자는 서로 중첩될 수 있다. 단계 S528에서 생성되는 스무스 중첩 필기 입력 데이터는, 단계 S526에서 생성되는 스무스 중첩 필기 입력 데이터와 달리, 각 문자가 서로 연결되지 않을 수 있다. 각 문자를 다양하게 회전 및/또는 이동시켜 생성된 스무스 중첩 필기 입력 데이터들을 통해, 각 문자가 다양한 필기 입력 방향으로 입력된 필기 입력 데이터를 확보할 수 있고, 스무스 중첩 필기 입력 인식 모델의 인식률을 높일 수 있다. 각 문자가 다양하게 회전 및/또는 이동해 생성된 스무스 중첩 필기 입력 데이터는 도 6에 예시적으로 도시되어 있다.
단계 S530에서, 일 실시예에 따른 전자 장치(2000)는 단계 S526 및 단계 S528에 의해 생성된 스무스 중첩 필기 입력 데이터 세트를 통해 스무스 중첩 필기 입력 인식 모델을 훈련할 수 있다. 일 실시예에 의하면, 스무스 중첩 필기 입력 인식 모델은 기존의 중첩된 필기 입력을 인식하기 위해 사용되는 인공지능 모델의 구조와 동일한 구조를 가질 수 있다.
단계 S540에서, 일 실시예에 따른 전자 장치(2000)는 스무스 중첩 필기 입력 인식 모델에 언어 모델을 적용할 수 있다. 일 실시예에 따른 언어 모델은, 스무스 중첩 필기 입력 인식 모델에서 출력된 문자열을 입력받아 적어도 하나의 문자열 후보를 출력할 수 있다. 언어 모델은, 적어도 하나의 문자열 후보 및 문자열 후보 각각에 대응되는 적어도 하나의 확률을 출력할 수 있다. 일 실시예에 따라 전자 장치(2000)가 스무스 중첩 필기 입력 인식 모델에서 인식된 문자열을 언어 모델에 입력해 문자열을 재인식하는 방법은 도 11에서 상세하게 설명한다.
단계 S550에서, 일 실시예에 따른 전자 장치(2000)는 스무스 중첩 필기 입력을 인식하는 데이터베이스(DB)를 구축할 수 있다. 전자 장치(2000)는 스무스 중첩 필기 입력 인식 DB를 메모리(2700)에 저장할 수 있다. 스무스 중첩 필기 입력 인식 DB는 스무스 중첩 필기 입력 인식 모델 및 언어 모델을 포함할 수 있다. 스무스 중첩 필기 입력 인식 DB를 통해, 스무스 중첩 필기 입력 방식으로 입력된 필기 입력으로부터 문자열을 인식할 수 있다. 또한, 언어 모델을 통해 적어도 하나의 문자열 후보를 획득하고, 적어도 하나의 문자열 후보 각각에 대응되는 적어도 하나의 확률을 기초로 하여 문자열을 재인식 할 수 있다.
도 6는 본 개시의 일 실시예에 따른 스무스 (smooth) 중첩 필기 입력 데이터를 생성하는 과정을 나타내는 예시적인 도면이다. 도 6은 도 5의 단계 S528에서 각 문자를 다양하게 회전 및/또는 이동시켜 스무스 중첩 필기 입력 데이터를 생성하는 과정을 도시한 예시적인 도면이다.
정렬된 필기 입력 데이터(610)는 문자열 "hang"에 대응되는 필기 입력에 대한 데이터이다. 정렬된 필기 입력 데이터(610)는 각 문자가 서로 중첩된 필기 입력 데이터일 수 있다. 하나의 정렬된 필기 입력 데이터(610)를 통해 복수의 스무스 중첩 필기 입력 데이터들(620)을 생성할 수 있다. 즉, 도 6에 표현된 3개의 스무스 중첩 필기 입력 데이터들 뿐만 아니라, 더 많은 스무스 중첩 필기 입력 데이터를 생성할 수 있다.
복수의 스무스 중첩 필기 입력 데이터들(620)은 정렬된 필기 입력 데이터(610)의 각 문자가 다양하게 회전되어 생성된 필기 입력 데이터일 수 있다. 복수의 스무스 중첩 필기 입력 데이터들(620)은 정렬된 필기 입력 데이터(610)의 각 문자가 다양하게 이동되어 생성된 필기 입력 데이터일 수 있다. 복수의 스무스 중첩 필기 입력 데이터들(620)은 정렬된 필기 입력 데이터(610)의 각 문자가 다양하게 회전 및 이동되어 생성된 필기 입력 데이터일 수 있다. 복수의 스무스 중첩 필기 입력 데이터들(620)의 각 문자는 서로 연결되지 않을 수 있다. 복수의 스무스 중첩 필기 입력 데이터들(620)의 각 문자는 서로 중첩될 수 있다.
도 7은 본 개시의 일 실시예에 따른 정렬된 필기 입력 데이터로부터 스무스 (smooth) 중첩 필기 입력 데이터를 생성하는 방법을 나타내는 순서도이다. 도 7은 도 5의 단계 S526에 해당하는 스무스 중첩 필기 입력 데이터 생성 방법을 세분화한 것이다.
단계 S710에서, 일 실시예에 따른 전자 장치(2000)는 정렬된 필기 입력 데이터 세트가 획득될 수 있다. 일 실시예에 의하면, 전자 장치(2000)는 외부 장치로부터 정렬된 필기 입력 데이터 세트를 획득할 수 있다. 예를 들어, 전자 장치(2000)는 외부 서버로부터 오픈소스 데이터 세트로 제공되는 정렬된 필기 입력 데이터 세트를 획득할 수 있다. 전술한 예에 한하지 않고, 전자 장치(2000)는 다양한 방법을 통해 정렬된 필기 입력 데이터 세트를 획득할 수 있다. 정렬된 필기 입력 데이터 세트는, 기존의 필기 입력을 인식하기 위한 인공지능 모델의 훈련 데이터 세트일 수 있다. 또한 정렬된 필기 입력 데이터 세트는, 기존의 중첩된 필기 입력을 인식하기 위한 인공지능 모델의 훈련 데이터 세트일 수 있다. 이 경우, 정렬된 필기 입력 데이터 세트의 각 문자는 서로 중첩된 것일 수 있다. 정렬된 필기 입력 데이터 세트는 필기 입력에 대응되는 스트로크의 특징들을 포함할 수 있다. 스트로크의 특징들에는 스트로크의 공간적 특징, 시간적 특징, 기하학적 특징, 펜업/펜다운 등이 포함될 수 있다.
단계 S720에서, 일 실시예에 따른 전자 장치(2000)는 각 문자의 무게 중심, 시작 지점 및 종료 지점을 감지할 수 있다. 일 실시예에 의하면, 각 문자의 무게 중심은 필기 입력 데이터에 포함된 각 문자에 대응되는 스트로크의 공간적 특징들을 통해 구해질 수 있다. 구체적으로, 각 문자의 무게 중심의 x 좌표는 각 문자에 대응되는 스트로크에 포함된 각 포인트의 x 좌표를 모두 더하고, x 좌표의 총합을 각 문자에 대응되는 스트로크에 포함된 포인트 개수로 나누어 구해질 수 있다. 예를 들어, 문자 A에 대응되는 스트로크에 3개의 포인트가 포함되고, 각 포인트의 x 좌표가 a1, a2, a3라면, 문자 A의 무게 중심의 x 좌표는 a1+a2+a3을 3으로 나누어 구해질 수 있다. 마찬가지로, 각 문자의 무게 중심의 y 좌표는 각 문자에 대응되는 스트로크에 포함된 각 포인트의 y 좌표를 모두 더하고, y 좌표의 총합을 각 문자에 대응되는 스트로크에 포함된 포인트 개수로 나누어 구해질 수 있다.
단계 S730에서, 일 실시예에 따른 전자 장치(2000)는 필기 입력 데이터의 문자열 중 첫번째 문자의 무게 중심이 중심 좌표와 일치하도록 첫번째 문자를 이동시킬 수 있다. 일 실시예에 의하면, 중심 좌표는 필기 입력 데이터에서 2차원 좌표평면의 중심으로 설정된 좌표일 수 있다. 예를 들어, 사용자가 전자 장치(2000)의 디스플레이(2310)에 문자열을 필기 입력할 때, 중심 좌표는 디스플레이(2310)의 중심 좌표를 의미할 수 있다.
단계 S740에서, 일 실시예에 따른 전자 장치(2000)는 필기 입력 데이터의 문자열에 포함되는 문자의 종료 지점과 다음 문자의 시작 지점을 연결할 수 있다. 일 실시예에 의하면, 문자의 종료 지점과 다음 문자의 시작 지점을 연결하기 위해, 다음 문자를 회전 및 이동시킬 수 있다. 예를 들어, 필기 입력 데이터의 문자열이 hang인 경우, h의 종료 지점과 a의 시작 지점, a의 종료 지점과 n의 시작 지점, 그리고 n의 종료 지점과 g의 시작 지점을 연결할 수 있다. 필기 입력 데이터의 문자열에 포함되는 이전 문자의 종료 지점과 다음 문자의 시작 지점을 모두 연결하는 경우, 하나의 스트로크로 문자열을 필기 입력할 수 있다. 예를 들어, 필기 입력 데이터의 문자열이 hang인 경우, 이전 문자의 종료 지점과 다음 문자의 시작 지점을 모두 연결하면, hang을 하나의 스트로크로 필기 입력할 수 있다.
단계 S750에서, 일 실시예에 따른 전자 장치(2000)는 첫번째 문자와 각 문자의 무게 중심 간 거리가 최소가 되도록 각 문자를 회전 및 이동시킬 수 있다. 일 실시예에 의하면, 문자들의 무게 중심 간 거리는 각 무게 중심의 좌표 사이의 최단거리를 의미할 수 있다. 일 실시예에 의하면, 각 문자의 회전 및 이동은 각 문자와 각 문자의 다음 문자가 서로 연결된 상태로 회전 및 이동될 수 있다. 일 실시예에 의하면, 단계 S740 및 단계 S750은 동시에 일어날 수 있다. 즉, 일 실시예에 따른 전자 장치(2000)는 각 문자가 각 문자의 다음 문자와 연결되고, 첫번째 문자와 각 문자의 무게 중심 간 거리가 최소가 되도록 각 문자를 회전 및 이동시킬 수 있다.
단계 S760에서, 단계 S710에서 단계 S750을 통해 생성된 필기 입력 데이터를 스무스 중첩 필기 입력 데이터 세트에 저장할 수 있다. 일 실시예에 의하면, 스무스 중첩 필기 입력 데이터 세트에는 단계 S710에서 단계 S750을 통해 생성된 필기 입력 데이터뿐만 아니라, 각 문자를 다양하게 회전 및/또는 이동하여 생성된 필기 입력 데이터도 포함될 수 있다.
도 8은 본 개시의 일 실시예에 따른 스무스 (smooth) 중첩 필기 입력 데이터가 생성되는 과정을 나타내는 예시적인 도면이다. 도 8은 도 5의 단계 S526에 해당하는 스무스 중첩 필기 입력 데이터 생성 방법에 따라 생성된 스무스 중첩 필기 입력 데이터에 대한 예시적인 도면이다.
도 8에서 도시된 바와 같이, 필기 입력 데이터는 "e"에 대응되는 필기 입력(810) 및 "a"에 대응되는 필기 입력(820)으로 구성되어 있다. 일 실시예에 따른 전자 장치(2000)는 "e"에 대응되는 필기 입력(810)의 무게 중심(813)을 중심 좌표로 이동시킬 수 있다. 일 실시예에 따른 전자 장치(2000)는 "a"에 대응되는 필기 입력(820)의 시작 지점(826)(이하 "a"의 시작 지점이라 한다.)이 "e"에 대응되는 필기 입력(810)의 종료 지점(816)(이하 "e"의 종료 지점이라 한다.)에 연결되도록 "a"에 대응되는 필기 입력(820)을 회전 및 이동시킬 수 있다. 또한, 일 실시예에 따른 전자 장치(2000)는 "e"에 대응되는 필기 입력의 무게 중심(813)(이하 "e"의 무게 중심이라 한다.)과 "a"에 대응되는 필기 입력의 무게 중심(823)(이하 "a"의 무게 중심이라 한다.) 간 거리가 최소가 되도록 "a"에 대응되는 필기 입력(820)을 회전 및 이동시킬 수 있다.
상술한 바와 같이, 일 실시예에 따른 전자 장치(2000)가 "e"에 대응되는 필기 입력(810) 및 "a"에 대응되는 필기 입력(820)이 서로 연결되고, "e"의 무게 중심(813) 및 "a"의 무게 중심(823) 간 거리가 최소가 되도록 "e" 및 "a"를 회전 및 이동시키면, 스무스 중첩 필기 입력 데이터(830)가 생성될 수 있다.
도 9는 본 개시의 일 실시예에 따른 정렬된 필기 입력 데이터로부터 생성된 스무스 (smooth) 중첩 필기 입력 데이터로 스무스 (smooth) 중첩 필기 입력 인식 모델을 훈련하는 과정을 나타내는 도면이다.
일 실시예에 의하면, 정렬된 필기 입력 데이터 세트(910)를 이용해 인공지능 모델을 훈련시킬 수 있다. 도 9에는 정렬된 필기 입력 데이터 세트(910)에 포함되는 임의의 정렬된 필기 입력 데이터를 예시적으로 도시한 것이고, 정렬된 필기 입력 데이터 세트(910)에는 복수의 정렬된 필기 입력 데이터가 포함될 수 있다. 정렬된 필기 입력 데이터 세트(910)는, 각 문자가 중첩되어 입력된 필기 입력 데이터를 포함할 수 있다. 기존 필기 입력 인식 모델(930)은 정렬된 필기 입력 데이터 세트(910)로 훈련되어, 필기 입력으로부터 문자열을 인식하는 인공지능 모델을 의미할 수 있다. 또한, 기존 필기 입력 인식 모델(930)은 정렬된 중첩 필기 입력 데이터 세트로 훈련되어, 중첩된 필기 입력으로부터 문자열을 인식하는 인공지능 모델을 의미할 수도 있다.
일 실시예에 의하면, 스무스 중첩 필기 입력 데이터 세트(920)를 이용해 인공지능 모델을 훈련시킬 수 있다. 도 9에는 스무스 중첩 필기 입력 데이터 세트(920)에 포함되는 임의의 스무스 중첩 필기 입력 데이터를 예시적으로 도시한 것이고, 스무스 중첩 필기 입력 데이터 세트(920)에는 복수의 스무스 중첩 필기 입력 데이터가 포함될 수 있다. 스무스 중첩 필기 입력 인식 모델(940)은 중첩된 필기 입력으로부터 문자열을 인식하는 기존 필기 입력 인식 모델(930)과 동일한 구조를 가질 수 있다.
기존 필기 입력 인식 모델(930)의 경우, 각 문자가 중첩되어 필기 입력되는 경우에 필기 입력으로부터 문자열을 인식할 수 있다. 하지만, 각 문자가 상이한 필기 입력 방향으로, 서로 연결되고 중첩되어 필기 입력되는 경우, 이러한 필기 입력으로부터 문자열을 인식할 수 없게 된다. 스무스 중첩 필기 입력 인식 모델(940)은, 각 문자가 상이한 필기 입력 방향으로, 서로 연결되고 중첩되어 필기 입력되는 경우에도 이러한 필기 입력으로부터 문자열을 인식할 수 있다. 즉, 스무스 중첩 필기 입력 인식 모델(940)은 스무스 중첩 필기 입력 방식으로 입력된 필기 입력으로부터 문자열을 인식할 수 있다.
도 10은 본 개시의 일 실시예에 따른 스무스 (smooth) 중첩 필기 입력 방식으로 입력된 필기 입력의 각 문자가 일정 각도로 회전되어 입력되는 방식을 나타내는 예시적인 도면이다.
일 실시예에 의하면, 전자 장치(2000)는 스무스 중첩 필기 입력 인식 모델의 인식률을 높이기 위해, 중첩 필기 입력의 각 문자가 이전 문자의 필기 입력 방향을 기준으로 일정 각도로만 회전되어 입력되도록 제한할 수 있다. 일 실시예에 의하면, 스무스 중첩 필기 입력 인식 모델을 훈련할 때, 훈련에 이용되는 스무스 중첩 필기 입력 데이터 세트는 각 문자가 이전 문자의 필기 입력 방향을 기준으로 일정 각도로만 회전되어 입력된 필기 입력 데이터를 포함할 수 있다. 일 실시예에 의하면, 스무스 중첩 필기 입력 데이터 세트의 각 필기 입력 데이터는 필기 입력의 회전 각도에 대한 정보를 포함할 수 있다.
예를 들어, "led"에 대응되는 필기 입력 데이터(1010)를 이용해 각 문자가 60도 회전된 필기 입력 데이터(1020), 90도로 회전된 필기 입력 데이터(1030), 180도로 회전된 필기 입력 데이터(1040)를 생성할 수 있다. 각 문자가 60도로 회전된 필기 입력 데이터(1020)를 생성하는 경우, "e"에 대한 필기 입력은 "l"의 필기 입력 방향을 기준으로 왼쪽 방향으로 60도 회전되어 입력될 수 있다. "d"에 대한 필기 입력은 "e"의 필기 입력 방향을 기준으로 다시 왼쪽 방향으로 60도 회전되어 입력될 수 있다.
일 실시예에 의하면, 전자 장치(2000)는 필기 입력의 회전 각도에 관한 정보를 획득할 수 있다. 예를 들면, 전자 장치(2000)는 사용자로 하여금 필기 입력 전, 필기 입력의 회전 각도에 관한 정보를 입력하도록 할 수 있다. 일 실시예에 의하면, 필기 입력의 회전 각도에 관한 정보는 필기 입력에 대응되는 문자열의 각 문자가 이전 문자의 필기 입력 방향을 기준으로 일정 각도로 회전되어 입력될 때, 회전되는 일정 각도에 대한 정보일 수 있다. 전자 장치(2000)는 인식된 필기 입력 신호로부터 스트로크를 획득하고, 스트로크에 관한 특징들을 추출할 수 있다. 전자 장치(2000)는 획득된 스트로크에 관한 특징들 및 필기 입력의 회전 각도에 관한 정보를 스무스 중첩 필기 입력 인식 모델에 입력하여 문자열을 인식할 수 있다. 예를 들어, 사용자가 각 문자를 이전 문자의 필기 입력 방향을 기준으로 60도씩 회전시켜 필기 입력하는 경우, 사용자는 필기 입력 전, 필기 입력의 회전 각도를 60도로 입력할 수 있다.
도 11은 본 개시의 일 실시예에 따른 언어 모델을 통해 인식된 문자열을 재인식하는 방법을 나타내는 순서도이다.
단계 S1110에서, 전자 장치(2000)는 필기 입력 신호로부터 제1 문자열을 인식할 수 있다. 전자 장치(2000)는 필기 입력 신호를 인식하고, 인식된 필기 입력 신호로부터 스트로크를 획득하고, 획득된 스트로크에 관한 특징들을 추출하고, 추출된 스트로크에 관한 특징들을 스무스 중첩 필기 입력 인식 모델에 입력해 제1 문자열을 인식할 수 있다.
단계 S1120에서, 일 실시예에 따른 전자 장치(2000)는 인식된 제1 문자열을 언어 모델에 입력할 수 있다.
단계 S1130에서, 일 실시예에 따른 전자 장치(2000)는 언어 모델로부터 적어도 하나의 문자열 후보를 획득할 수 있다. 일 실시예에 의하면, 적어도 하나의 문자열 후보는, 제1 문자열에서 적어도 하나의 문자가 수정된 문자열 후보를 포함할 수 있다. 일 실시예에 의하면, 적어도 하나의 문자열 후보는, 제1 문자열에서 적어도 하나의 문자가 추가된 문자열 후보를 포함할 수 있다.
단계 S1140에서, 일 실시예에 따른 전자 장치(2000)는 언어 모델로부터 적어도 하나의 문자열 후보 각각에 대응되는 적어도 하나의 확률을 획득할 수 있다. 일 실시예에 따른 문자열 후보의 확률은, 필기 입력 신호로부터 제1 문자열을 인식했을 때, 문자열 후보가 실제 필기 입력된 문자열에 해당할 확률을 의미할 수 있다. 일 실시예에 의하면, 언어 모델은 적어도 하나의 문자열 후보 각각에 대응되는 적어도 하나의 확률에 따른 스코어를 출력할 수 있다.
단계 S1150에서, 일 실시예에 따른 전자 장치(2000)는 적어도 하나의 문자열 후보 및 적어도 하나의 문자열 후보 각각에 대응되는 적어도 하나의 확률을 기초로 하여, 제2 문자열을 인식할 수 있다. 제2 문자열은 제1 문자열이 언어 모델을 통해 재인식된 문자열일 수 있다. 즉, 전자 장치(2000)는 제1 문자열을 언어 모델을 통해 재인식할 수 있다. 일 실시예에 따르면, 제2 문자열은 적어도 하나의 문자열 후보 중 가장 확률이 높은 문자열 후보에 해당할 수 있다.
도 12은 본 개시의 일 실시예에 따른 인식된 문자열을 보정하여 문자열을 재인식하는 방법을 나타내는 순서도이다.
단계 S1210에서, 전자 장치(2000)는 필기 입력 신호로부터 제1 문자열을 인식할 수 있다. 전자 장치(2000)는 필기 입력 신호를 인식하고, 인식된 필기 입력 신호로부터 스트로크를 획득하고, 획득된 스트로크에 관한 특징들을 추출하고, 추출된 스트로크에 관한 특징들을 스무스 중첩 필기 입력 인식 모델에 입력해 제1 문자열을 인식할 수 있다.
단계 S1220에서, 일 실시예에 따른 전자 장치(2000)는 제1 문자열을 보정할지 여부를 결정할 수 있다. 전자 장치(2000)는 스트로크에 관한 특징들을 스무스 중첩 필기 입력 인식 모델에 입력하여 제1 문자열을 인식할 수 있다. 전자 장치(2000)는 스무스 중첩 필기 입력 인식 모델을 통해 인식된 제1 문자열에 대응되는 인식 스코어를 획득할 수 있다. 일 실시예에 따른 인식 스코어는 스무스 중첩 필기 입력 인식 모델로부터 인식된 문자열이 실제 필기 입력된 문자열에 해당할 확률에 따라 계산될 수 있다. 예를 들어, 스무스 중첩 필기 입력 인식 모델로부터 인식된 문자열이 실제 필기 입력된 문자열에 해당할 확률이 90%에 해당한다면, 문자열의 인식 스코어는 0.9로 계산될 수 있다. 일 실시예에 의하면, 전자 장치(2000)는 제1 문자열의 인식 스코어가 일정 값보다 작은 경우, 제1 문자열을 보정하기로 결정할 수 있다.
일 실시예에 의하면, 전자 장치(2000)는 언어 모델로부터 적어도 하나의 문자열 후보 각각에 대응되는 적어도 하나의 확률을 획득할 수 있다. 일 실시예에 의하면, 전자 장치(2000)는 적어도 하나의 확률 중 최댓값이 일정 값보다 작은 경우, 제1 문자열을 보정하기로 결정할 수 있다.
전자 장치(2000)가 제1 문자열을 보정하기로 결정한 경우에는, 단계 S1230, 단계 S1240, 단계 S1250 및 단계 S1260을 수행할 수 있다.
단계 S1230에서, 일 실시예에 따른 전자 장치(2000)는 인식된 제 1 문자열의 각 문자에 대응되는 스트로크들을 결정(S1230)할 수 있다. 일 실시예에 의하면, 인식된 제1 문자열의 각 문자의 기하학적 특징들을 기초로 하여 스트로크를 각 문자에 대응되는 스트로크들로 분할할 수 있다.
단계 S1240에서, 일 실시예에 따른 전자 장치(2000)는 인식된 제1 문자열의 각 문자에 대응되는 스트로크들을 정렬하여 나열(S1240)할 수 있다. 일 실시예에 의하면, 문자열의 각 문자에 대응되는 스트로크들을 정렬하여 나열하는 것은, 전자 장치(2000)가 문자열의 각 문자의 필기 입력 방향이 첫번째 문자의 필기 입력 방향과 일치되도록 각 문자에 대응되는 스트로크들을 회전시키고, 각 문자에 대응되는 스트로크들이 서로 중첩되지 않도록 이동시켜 디스플레이(2310)에 출력하는 것을 의미한다.
단계 S1250에서, 일 실시예에 따른 전자 장치(2000)는 나열된 제1 문자열의 각 문자에 대응되는 스트로크들을 보정(S1250)할 수 있다. 일 실시예에 의하면, 전자 장치(2000)는 사용자로 하여금 스트로크들 중 일부를 삭제하도록 할 수 있다. 일 실시예에 의하면, 전자 장치(2000)는 추가 필기 입력 신호를 인식할 수 있다. 추가 필기 입력 신호는 사용자가 전자 장치(2000)에 필기 도구를 접촉시켜 생성될 수 있다. 사용자는 나열된 제1 문자열의 각 문자에 대응되는 스트로크들 위에 중첩하여 필기 입력을 할 수 있다. 전자 장치(2000)는 추가 필기 입력 신호로부터 적어도 하나의 추가 스트로크를 획득할 수 있다.
단계 S1260에서, 일 실시예에 따른 전자 장치(2000)는 보정된 제1 문자열의 각 문자에 대응되는 스트로크들을 기초로 하여 제2 문자열을 인식(S1260)할 수 있다. 즉, 전자 장치(2000)는 보정된 제1 문자열의 각 문자에 대응되는 스트로크들을 기초로 하여 제1 문자열을 제2 문자열로 재인식 할 수 있다. 보정된 제1 문자열의 각 문자에 대응되는 스트로크들은 나열된 스트로크들 및 적어도 하나의 추가 스트로크가 포함된 스트로크들을 의미할 수 있다. 일 실시예에 의하면, 전자 장치(2000)는 획득된 적어도 하나의 추가 스트로크로부터 스트로크에 관한 특징들을 추출할 수 있다. 전자 장치(2000)는 제1 문자열에 대응되는 필기 입력으로부터 추출된 스트로크에 관한 특징들과 추가 필기 입력으로부터 추출된 스트로크에 관한 특징들을 스무스 중첩 필기 입력 인식 모델에 입력하여 제2 문자열을 인식할 수 있다.
상술한 예에 한정되지 않고, 전자 장치(2000)는 다양한 방법을 통해 제1 문자열을 보정할지 여부를 결정하고, 보정된 제1 문자열의 각 문자에 대응되는 스트로크들을 기초로 하여 제2 문자열을 인식할 수 있다.
도 13는 본 개시의 일 실시예에 따른 도 12의 문자열 재인식 방법에 따라 문자열을 보정하고 재인식하는 방법을 나타내는 예시적인 도면이다.
도 13에서, 사용자는 "
Figure pat00001
"를 입력하기 위해, ""의 주요 부분을 스무스 중첩 필기 입력 방식으로 필기 입력(1310)할 수 있다. 전자 장치(2000)는 사용자에 의해 생성된 필기 입력 신호를 인식하고, 인식된 필기 입력 신호로부터 스트로크를 획득할 수 있다. 전자 장치(2000)는, 획득된 스트로크로부터 스트로크에 관한 특징들을 추출하고, 추출된 스트로크에 관한 특징들을 스무스 중첩 필기 입력 인식 모델에 입력하여 문자열 "lrere"을 인식할 수 있다.
전자 장치(2000)는 인식된 문자열 "lrere"의 각 문자의 기하학적 특징을 기초로 하여, 스트로크를 각 문자에 대응되는 스트로크들로 분할할 수 있다. 전자 장치(2000)는 각 문자에 대응되는 스트로크들을 정렬하여 나열(1320)할 수 있다. 사용자는 추가 필기 입력을 통해 나열된 각 문자에 대응되는 스트로크들을 보정할 수 있다. 예를 들어, 사용자는 추가 필기 입력을 통해 "l"을 "f"로 보정하고 첫번째 "e"에 악센트를 추가할 수 있다. 전자 장치(2000)는 사용자에 의해 생성된 추가 필기 입력 신호를 인식하고, 인식된 추가 필기 입력 신호로부터 2개의 추가 스트로크들을 획득(1330)할 수 있다.
전자 장치(2000)는 문자열 "lrere"의 각 문자에 대응되는 스트로크들과 2개의 추가 스트로크들이 포함된 보정된 스트로크들(1340)을 획득할 수 있다. 전자 장치(2000)는 보정된 스트로크들(1340)을 스무스 중첩 필기 입력 인식 모델에 입력하여 문자열 ""를 인식(1350)할 수 있다. 전자 장치(2000)는 인식된 문자열 ""를 디스플레이(2310)에 출력할 수 있다.
도 14는 본 개시의 일 실시예에 따른 전자 장치(2000)의 내부 구성을 도시한 블록도이다.
도 14를 참조하면, 전자 장치(2000)는, 프로세서(2100), 디스플레이(2310) 및 메모리(2700)를 포함할 수 있다. 그러나, 도 14에 도시된 구성 요소 모두가 전자 장치(2000)의 필수 구성 요소인 것은 아니다. 도 14에 도시된 구성 요소보다 많은 구성 요소에 의해 전자 장치(2000)가 구현될 수 있고, 도 14에 도시된 구성 요소보다 적은 구성 요소에 의해 전자 장치(2000)가 구현될 수도 있다.
프로세서(2100)는, 통상적으로 전자 장치(2000)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(2100)는, 메모리(2700)에 저장된 프로그램들을 실행함으로써, 사용자 입력 모듈(2200), 출력 모듈(2300), 센싱 모듈(2400), 통신 모듈(2500), A/V 입력 모듈(2600) 등을 전반적으로 제어할 수 있다.
전자 장치(2000)는 적어도 하나의 프로세서(2100)를 포함할 수 있다. 예를 들면, 전자 장치(2000)는 CPU(Central Processing Unit), GPU(Graphics Processing Unit), NPU(Neural Processing Unit) 등의 다양한 종류의 프로세서를 포함할 수 있다.
프로세서(2100)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(2700)로부터 프로세서(2100)에 제공되거나, 통신 모듈(2500)을 통해 수신되어 프로세서(2100)로 제공될 수 있다. 예를 들면 프로세서(2100)는 메모리(2700)와 같은 기록 장치에 저장된 프로그램 코드에 따라 명령을 실행하도록 구성될 수 있다.
일 실시예에 따른 프로세서(2100)는, 적어도 하나의 인스트럭션을 실행함으로써, 필기 입력 신호를 인식할 수 있다. 프로세서(2100)는, 인식된 필기 입력 신호로부터 제1 문자 및 제1 문자의 필기 입력 방향과 상이한 필기 입력 방향을 갖는 제2 문자를 포함하되, 제1 문자의 종료 지점과 제2 문자의 시작 지점은 서로 연결되고, 제1 문자 및 제2 문자는 서로 중첩된 스트로크를 획득할 수 있다. 프로세서(2100)는, 획득된 스트로크에 관한 특징들을 추출할 수 있다. 프로세서(2100)는, 추출된 스트로크에 관한 특징들을 스무스 중첩 필기 인식 모델에 입력하여, 문자열을 인식할 수 있다.
일 실시예에 따른 프로세서(2100)는 스트로크에 관한 특징들을 외부 장치로 전송할 수 있다. 프로세서(2100)는 스트로크에 관한 특징들이 외부 장치에 저장된 스무스 중첩 필기 인식 모델에 입력되어 출력값이 출력되면, 외부 장치로부터 출력값을 수신할 수 있다. 프로세서(2100)는 출력값을 기초로 하여 문자열을 인식할 수 있다.
프로세서(2100)는, 인식된 필기 입력 신호로부터 제1 문자, 제1 문자의 필기 입력 방향과 상이한 필기 입력 방향을 갖는 제2 문자, 제2 문자의 필기 입력 방향과 상이한 필기 입력 방향을 갖는 제3 문자를 포함하되, 제1 문자의 종료 지점과 제2 문자의 시작 지점은 서로 연결되고, 제2 문자의 종료 지점과 제3 문자의 시작 지점은 서로 연결되고, 제1 문자, 제2 문자, 및 제3 문자는 서로 중첩된 스트로크를 획득할 수 있다. 프로세서(2100)는, 획득된 스트로크에 관한 특징들을 추출할 수 있다. 프로세서(2100)는, 추출된 스트로크에 관한 특징들을 스무스 중첩 필기 인식 모델에 입력하여, 문자열을 인식할 수 있다.
일 실시예에 따른 프로세서(2100)는 필기 입력의 회전 각도에 관한 정보를 획득할 수 있다. 프로세서(2100)는 스트로크에 관한 특징들 및 필기 입력의 회전 각도에 관한 정보를 스무스 중첩 필기 입력 인식 모델에 입력하여 문자열을 인식할 수 있다.
일 실시예에 따른 프로세서(2100)는 제1 문자열을 언어 모델에 입력하여 적어도 하나의 문자열 후보를 획득할 수 있다. 프로세서(2100)는, 적어도 하나의 문자열 후보 각각에 대응되는 적어도 하나의 확률을 획득할 수 있다. 프로세서(2100)는, 획득한 적어도 하나의 문자열 후보 및 적어도 하나의 확률을 기초로 하여 제2 문자열을 인식할 수 있다.
일 실시예에 따른 프로세서(2100)는 스무스 중첩 필기 입력 인식 모델로부터 제1 문자열에 대응되는 인식 스코어를 획득할 수 있다. 프로세서(2100)는 획득된 인식 스코어를 기초로 하여 제1 문자열을 보정할지 여부를 결정할 수 있다. 프로세서(2100)는, 제1 문자열을 보정하기로 결정한 경우, 인식된 제1 문자열을 기초로 하여, 제1 문자열의 각 문자에 대응되는 스트로크들을 결정할 수 있다. 프로세서(2100)는 결정된 제1 문자열의 각 문자에 대응되는 스트로크들을 정렬하여 나열할 수 있다. 프로세서(2100)는 나열된 제1 문자열의 각 문자에 대응되는 스트로크들을 보정할 수 있다. 프로세서(2100)는 보정된 제1 문자열의 각 문자에 대응되는 스트로크들을 기초로 하여 제2 문자열을 인식할 수 있다.
일 실시예에 따른 프로세서(2100)는 추가 필기 입력 신호를 인식할 수 있다. 프로세서(2100)는 인식된 추가 필기 입력 신호로부터 적어도 하나의 추가 스트로크를 획득할 수 있다. 프로세서(2100)는 획득한 적어도 하나의 추가 스트로크를 통해 문자열의 각 문자에 대응되는 스트로크들을 보정할 수 있다.
디스플레이(2310)는 전자 장치(2000)에서 처리되는 정보를 표시 출력한다. 일 실시예에 의하면, 디스플레이(2310)는 사용자에 의해 입력된 필기 입력 또는, 필기 입력이 촬영된 이미지 또는 영상을 표시할 수 있다. 또한, 디스플레이(2310)는, 일 실시예에 따라, 필기 입력으로부터 인식된 문자열을 표시할 수 있다.
한편, 디스플레이(2310)와 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이(2310)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 이 경우, 일 실시 예에 따라, 사용자에 의해 입력되는 필기 입력을 통해 필기 입력 신호가 생성될 수 있다. 예를 들면, 사용자는 디스플레이(2310)에 필기 도구를 접촉시켜 필기 입력을 수행하고, 디스플레이(2310)에서 필기 입력을 통해 필기 입력 신호가 생성될 수 있다.
디스플레이(2310)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 그리고 전자 장치(2000)의 구현 형태에 따라 전자 장치(2000)는 디스플레이(2310)를 2개 이상 포함할 수도 있다.
메모리(2700)는, 프로세서(2100)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 전자 장치(2000)로 입력되거나 전자 장치(2000)로부터 출력되는 데이터를 저장할 수도 있다.
일 실시 예에 의한 메모리(2700)는 필기 입력으로부터 문자열을 인식하는 데에 필요한 다양한 종류의 데이터를 저장할 수 있다. 예를 들면, 메모리(2700)는 정렬된 필기 입력 데이터 세트, 스무스 중첩 필기 입력 데이터 세트, 스무스 중첩 필기 입력 인식 모델, 언어 모델, 스무스 중첩 필기 입력 인식 DB 등을 저장할 수 있다.
메모리(2700)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
메모리(2700)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈(2710), 터치 스크린 모듈(2720), 알림 모듈(2730) 등으로 분류될 수 있다.
UI 모듈(2710)은, 애플리케이션 별로 전자 장치(2000)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈(2720)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 프로세서(2100)로 전달할 수 있다. 일부 실시예에 따른 터치 스크린 모듈(2720)은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈(2720)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.
터치스크린의 터치 또는 근접 터치를 감지하기 위해 터치스크린의 내부 또는 근처에 다양한 센서가 구비될 수 있다. 터치스크린의 터치를 감지하기 위한 센서의 일례로 촉각 센서가 있다. 촉각 센서는 사람이 느끼는 정도로 또는 그 이상으로 특정 물체의 접촉을 감지하는 센서를 말한다. 촉각 센서는 접촉면의 거칠기, 접촉 물체의 단단함, 접촉 지점의 온도 등의 다양한 정보를 감지할 수 있다.
사용자의 터치 제스처에는 탭, 터치&홀드, 더블 탭, 드래그, 패닝, 플릭, 드래그 앤드 드롭, 스와이프 등이 있을 수 있다.
알림 모듈(2730)은 전자 장치(2000)의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다.
도 15은 본 개시의 일 실시예에 따른 전자 장치(2000)의 내부 구성을 도시한 블록도이다.
예를 들면, 전자 장치(2000)는 도 15에 도시된 바와 같이, 프로세서(2100), 디스플레이(2310) 및 메모리(2700) 이외에, 사용자 입력 모듈(2200), 출력 모듈(2300), 센싱 모듈(2400), 통신 모듈(2500), 및 A/V 입력 모듈(2600)을 더 포함할 수도 있다. 프로세서(2100), 디스플레이(2310) 및 메모리(2700)는 도 14의 대응하는 구성과 동일한 동작을 수행한다.
사용자 입력 모듈(2200)은, 사용자가 전자 장치(2000)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력 모듈(2200)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
일 실시 예에 의하면, 사용자 입력 모듈(2200)에서, 사용자에 의해 입력되는 필기 입력을 통해 필기 입력 신호가 생성될 수 있다. 예를 들면, 사용자는 사용자 입력 모듈(2200)에 필기 도구를 접촉시켜 필기 입력을 수행하고, 사용자 입력 모듈(2200)에서 필기 입력을 통해 필기 입력 신호가 생성될 수 있다.
출력 모듈(2300)은, 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력 모듈(2300)은 디스플레이(2310), 음향 출력 모듈(2320), 및 진동 모터(2330)를 포함할 수 있다.
디스플레이(2310)는 도 14의 대응하는 구성과 동일한 동작을 수행한다.
음향 출력 모듈(2320)은 통신 모듈(2500)로부터 수신되거나 메모리(2700)에 저장된 오디오 데이터를 출력한다.
진동 모터(2330)는 진동 신호를 출력할 수 있다. 또한, 진동 모터(2330)는 터치스크린에 터치가 입력되는 경우 진동 신호를 출력할 수도 있다.
일 실시 예에 의한 음향 출력 모듈(2320) 또는 진동 모터(2330)는, 필기 입력 신호로부터 인식된 문자열을 출력함을 나타내는 오디오 데이터 또는 진동 신호를 출력할 수 있다.
센싱 모듈(2400)는, 전자 장치(2000)의 상태 또는 전자 장치(2000) 주변의 상태를 감지하고, 감지된 정보를 프로세서(2100)로 전달할 수 있다.
센싱 모듈(2400)는, 지자기 센서(Geomagnetic sensor)(2410), 가속도 센서(Acceleration sensor)(2420), 온/습도 센서(2430), 적외선 센서(2440), 자이로스코프 센서(2450), 위치 센서(예컨대, GPS)(2460), 기압 센서(2470), 근접 센서(2480), 및 RGB 센서(illuminance sensor)(2490) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
통신 모듈(2500)은, 전자 장치(2000)가 외부 장치와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신 모듈(2500)은, 근거리 통신 모듈, 이동 통신 모듈, 방송 수신 모듈 등을 포함할 수 있다.
근거리 통신 모듈(short-range wireless communication module)(2510)은, 블루투스 통신 모듈, BLE(Bluetooth Low Energy) 통신 모듈, 근거리 무선 통신 모듈(Near Field Communication module), WLAN(와이파이) 통신 모듈, 지그비(Zigbee) 통신 모듈, 적외선(IrDA, infrared Data Association) 통신 모듈, WFD(Wi-Fi Direct) 통신 모듈, UWB(ultra wideband) 통신 모듈, Ant+ 통신 모듈 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
이동 통신 모듈(2520)은, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 신호, 화상 통화 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
방송 수신 모듈(2530)은, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 실시예에 따라서 전자 장치(2000)가 방송 수신 모듈(2530)을 포함하지 않을 수도 있다.
일 실시예에 의한 통신 모듈(2500)은, 일 실시예에 따라 필기 입력 신호로부터 추출된 스트로크에 관한 특징들을 외부 장치로 전송할 수 있다. 스트로크에 관한 특징들이 외부 장치에 저장된 스무스 중첩 필기 입력 인식 모델에 입력되어 출력값이 출력되면, 외부 장치로부터 출력값을 수신할 수 있다.
A/V(Audio/Video) 입력 모듈(2600)은 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(2610)와 마이크로폰(2620) 등이 포함될 수 있다. 카메라(2610)는 화상 통화모드 또는 촬영 모드에서 이미지 센서를 통해 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 이미지 센서를 통해 캡쳐된 이미지는 프로세서(2100) 또는 별도의 이미지 처리부를 통해 처리될 수 있다.
일 실시 예에 의한 A/V 입력 모듈(2600)은, 필기 입력이 촬영된 이미지 또는 영상을 생성할 수 있다. 일 실시예에 따른 전자 장치(2000)는 A/V 입력 모듈(2600)에 의해 촬영된 이미지 또는 영상을 처리함으로써, 필기 입력을 획득할 수 있다.
마이크로폰(2620)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다. 예를 들어, 마이크로폰(2620)은 일 실시예에 따라 사용자로부터 필기 입력의 회전 각도에 관한 정보를 포함하는 음성 신호를 수신할 수 있다.
한편, 도 14 및 도 15에 도시된 전자 장치(2000)의 블록도는, 일 실시예를 위한 블록도이다. 블록도의 각 구성요소는 실제 구현되는 각 장치의 사양에 따라 통합, 추가 또는 생략될 수 있다. 즉 필요에 따라 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나, 혹은 하나의 구성요소가 2 이상의 구성요소로 세분되어 구성될 수 있다. 또한, 각 블록에서 수행하는 기능은 실시예들을 설명하기 위한 것이며, 그 구체적인 동작이나 장치는 본 개시의 권리범위를 제한하지 아니한다.
본 개시의 일 측면에 따르면, 전자 장치에서 필기 입력으로부터 문자열을 인식하는 방법을 제공할 수 있다. 상기 방법은, 필기 입력 신호를 인식하는 단계를 포함할 수 있다. 상기 방법은, 인식된 상기 필기 입력 신호로부터 제1 문자 및 상기 제1 문자의 필기 입력 방향과 상이한 필기 입력 방향을 갖는 제2 문자를 포함하되, 상기 제1 문자의 종료 지점과 상기 제2 문자의 시작 지점이 연결되고, 상기 제1 문자 및 상기 제2 문자가 서로 중첩된 스트로크를 획득하는 단계를 포함할 수 있다. 상기 방법은, 획득된 상기 스트로크에 관한 특징들을 추출하는 단계를 포함할 수 있다. 상기 방법은, 추출된 상기 스트로크에 관한 특징들을, 필기 입력 방향이 상이한 문자들을 포함하되, 각 문자는 서로 중첩된 필기 입력 데이터들을 포함하는 필기 입력 데이터세트로 훈련된 인공지능 모델에 입력하여 상기 제1 문자 및 상기 제2 문자를 포함하는 제1 문자열을 인식하는 단계를 포함할 수 있다.
상기 방법에서, 상기 스트로크에 관한 특징들은 공간적 특징, 시간적 특징, 및 기하학적 특징을 포함하는 것일 수 있다.
상기 방법에서, 상기 제1 문자열을 인식하는 단계는, 상기 스트로크에 관한 특징들을 외부 장치로 전송하는 단계를 포함할 수 있다. 상기 제1 문자열을 인식하는 단계는, 상기 스트로크에 관한 특징들이 상기 외부 장치에 저장된 상기 인공지능 모델에 입력되어 출력값이 출력되면, 상기 외부 장치로부터 상기 출력값을 수신하는 단계를 포함할 수 있다. 상기 제1 문자열을 인식하는 단계는, 상기 출력값을 기초로 하여 상기 제1 문자열을 인식하는 단계를 포함할 수 있다.
상기 방법에서, 상기 스트로크는, 상기 제2 문자의 필기 입력 방향과 상이한 필기 입력 방향을 갖는 제3 문자를 포함하되, 상기 제2 문자의 종료 지점과 상기 제3 문자의 시작 지점이 연결되고, 상기 제1 문자, 상기 제2 문자, 및 상기 제3 문자가 서로 중첩된 것일 수 있다. 상기 방법에서, 상기 제1 문자열은, 상기 제1 문자, 상기 제2 문자, 및 상기 제3 문자를 포함할 수 있다.
상기 방법은, 필기 입력의 회전 각도에 관한 정보를 획득하는 단계를 포함할 수 있다. 상기 방법은, 스트로크에 관한 특징들 및 상기 필기 입력의 회전 각도에 관한 정보를 상기 인공지능 모델에 입력하여 상기 제1 문자열을 인식하는 단계를 포함할 수 있다.
상기 방법은, 상기 제1 문자열을 언어 모델에 입력하여 적어도 하나의 문자열 후보를 획득하는 단계를 포함할 수 있다. 상기 방법은, 획득된 적어도 하나의 문자열 후보 각각에 대응되는 적어도 하나의 확률을 획득하는 단계를 포함할 수 있다. 상기 방법은, 획득된 적어도 하나의 문자열 후보 및 이에 대응되는 적어도 하나의 확률을 기초로 하여 제2 문자열을 인식하는 단계를 포함할 수 있다.
상기 방법은, 상기 인공지능 모델로부터 상기 제1 문자열에 대응되는 인식 스코어를 획득하는 단계를 포함할 수 있다. 상기 방법은, 상기 인식 스코어를 기초로 하여 상기 제1 문자열을 보정할지 여부를 결정하는 단계를 포함할 수 있다. 상기 방법은, 상기 제1 문자열을 보정하기로 결정한 경우, 인식된 상기 제1 문자열을 기초로 하여, 상기 제1 문자열의 각 문자에 대응되는 스트로크들을 결정하는 단계를 포함할 수 있다. 상기 방법은, 상기 결정된 제1 문자열의 각 문자에 대응되는 스트로크들을 정렬하여 나열하는 단계를 포함할 수 있다. 상기 방법은, 상기 나열된 제1 문자열의 각 문자에 대응되는 스트로크들을 보정하는 단계를 포함할 수 있다. 상기 방법은, 상기 보정된 상기 제1 문자열의 각 문자에 대응되는 스트로크들을 기초로 하여 제2 문자열을 인식하는 단계를 포함할 수 있다.
상기 방법은, 추가 필기 입력 신호를 획득하는 단계를 포함할 수 있다. 상기 방법은, 인식된 상기 추가 필기 입력 신호로부터 적어도 하나의 추가 스트로크를 획득하는 단계를 포함할 수 있다. 상기 방법은, 획득된 상기 적어도 하나의 추가 스트로크를 통해 상기 제1 문자열의 각 문자에 대응되는 스트로크들을 보정하는 단계를 포함할 수 있다.
본 개시의 일 측면에 따르면, 필기 입력된 문자열을 인식하는 전자 장치(2000)를 제공할 수 있다. 상기 전자 장치(2000)는, 적어도 하나의 인스트럭션을 저장하는 메모리(2700) 및 메모리(2700)에 저장된 적어도 하나의 인스트럭션을 실행하는 프로세서(2100)를 포함할 수 있다. 상기 프로세서(2100)는, 적어도 하나의 인스트럭션을 실행함으로써, 필기 입력 신호를 인식할 수 있다. 상기 프로세서(2100)는, 인식된 상기 필기 입력 신호로부터 제1 문자 및 상기 제1 문자의 필기 입력 방향과 상이한 필기 입력 방향을 갖는 제2 문자를 포함하되, 상기 제1 문자의 종료 지점과 상기 제2 문자의 시작 지점이 연결되고, 상기 제1 문자 및 상기 제2 문자가 서로 중첩된 스트로크를 획득할 수 있다. 상기 프로세서(2100)는, 획득된 상기 스트로크에 관한 특징들을 추출할 수 있다. 상기 프로세서(2100)는, 추출된 상기 스트로크에 관한 특징들을, 필기 입력 방향이 상이한 문자들을 포함하되, 각 문자는 서로 중첩된 필기 입력 데이터들을 포함하는 필기 입력 데이터세트로 훈련된 인공지능 모델에 입력하여 상기 제1 문자 및 상기 제2 문자를 포함하는 제1 문자열을 인식할 수 있다.
상기 전자 장치(2000)에서, 스트로크에 관한 특징들은 공간적 특징, 시간적 특징, 및 기하학적 특징을 포함하는 것일 수 있다.
상기 프로세서(2100)는, 상기 스트로크에 관한 특징들을 외부 장치로 전송할 수 있다. 상기 프로세서(2100)는, 상기 스트로크에 관한 특징들이 상기 외부 장치에 저장된 상기 인공지능 모델에 입력되어 출력값이 출력되면, 상기 외부 장치로부터 상기 출력값을 수신할 수 있다. 상기 프로세서(2100)는, 상기 출력값을 기초로 하여 상기 제1 문자열을 인식할 수 있다.
상기 전자 장치(2000)에서, 상기 스트로크는, 상기 제2 문자의 필기 입력 방향과 상이한 필기 입력 방향을 갖는 제3 문자를 포함하되, 상기 제2 문자의 종료 지점과 상기 제3 문자의 시작 지점이 연결되고, 상기 제1 문자, 상기 제2 문자, 및 상기 제3 문자가 서로 중첩된 것일 수 있다. 상기 전자 장치에서, 상기 제1 문자열은, 상기 제1 문자, 상기 제2 문자, 및 상기 제3 문자를 포함하는 것일 수 있다.
상기 프로세서(2100)는, 필기 입력의 회전 각도에 관한 정보를 획득할 수 있다. 상기 프로세서(2100)는, 상기 스트로크에 관한 특징들 및 상기 필기 입력의 회전 각도에 관한 정보를 상기 인공지능 모델에 입력하여 상기 제1 문자열을 인식할 수 있다.
상기 프로세서(2100)는, 제1 문자열을 언어 모델에 입력하여 적어도 하나의 문자열 후보를 획득할 수 있다. 상기 프로세서(2100)는, 적어도 하나의 문자열 후보 각각에 대응되는 적어도 하나의 확률을 획득할 수 있다. 상기 프로세서(2100)는, 획득한 적어도 하나의 문자열 후보 및 적어도 하나의 확률을 기초로 하여 제2 문자열을 인식할 수 있다.
상기 프로세서(2100)는 상기 인공지능 모델로부터 상기 제1 문자열에 대응되는 인식 스코어를 획득할 수 있다. 상기 프로세서(2100)는 인식 스코어를 기초로 하여 제1 문자열을 보정할지 여부를 결정할 수 있다. 상기 프로세서(2100)는, 제1 문자열을 보정하기로 결정한 경우, 인식된 상기 제1 문자열을 기초로 하여, 상기 제1 문자열의 각 문자에 대응되는 스트로크들을 결정할 수 있다. 상기 프로세서(2100)는, 상기 결정된 제1 문자열의 각 문자에 대응되는 스트로크들을 나열할 수 있다. 상기 프로세서(2100)는, 상기 나열된 제1 문자열의 각 문자에 대응되는 스트로크들을 보정할 수 있다. 상기 프로세서(2100)는, 상기 보정된 제1 문자열의 각 문자에 대응되는 스트로크들을 기초로 하여 제2 문자열을 인식할 수 있다.
상기 프로세서(2100)는, 추가 필기 입력 신호를 획득할 수 있다. 상기 프로세서(2100)는, 인식된 상기 추가 필기 입력 신호로부터 적어도 하나의 추가 스트로크를 획득할 수 있다. 상기 프로세서(2100)는, 획득된 상기 적어도 하나의 추가 스트로크를 통해 상기 제1 문자열의 각 문자에 대응되는 스트로크들을 보정할 수 있다.
본 개시의 일 측면에 따르면, 전술한 필기 입력으로부터 문자열을 인식하는 방법들 중 어느 하나를 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
본 개시의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 또는 프로그램 모듈과 같은 변조된 데이터 신호의 기타 데이터를 포함할 수 있다.
또한, 컴퓨터에 의해 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예를 들어, 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예를 들어, compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예를 들어, 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예를 들어, 스마트폰들) 간에 직접, 온라인으로 배포(예를 들어, 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예를 들어, 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 개시의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.

Claims (17)

  1. 전자 장치에서 필기 입력으로부터 문자열을 인식하는 방법에 있어서,
    필기 입력 신호를 인식하는 단계;
    인식된 상기 필기 입력 신호로부터 제1 문자 및 상기 제1 문자의 필기 입력 방향과 상이한 필기 입력 방향을 갖는 제2 문자를 포함하되, 상기 제1 문자의 종료 지점과 상기 제2 문자의 시작 지점이 연결되고, 상기 제1 문자 및 상기 제2 문자가 서로 중첩된 스트로크를 획득하는 단계;
    획득된 상기 스트로크에 관한 특징들을 추출하는 단계;
    추출된 상기 스트로크에 관한 특징들을, 필기 입력 방향이 상이한 문자들을 포함하되, 각 문자는 서로 중첩된 필기 입력 데이터들을 포함하는 필기 입력 데이터세트로 훈련된 인공지능 모델에 입력하여 상기 제1 문자 및 상기 제2 문자를 포함하는 제1 문자열을 인식하는 단계를 포함하는, 문자열 인식 방법.
  2. 제1항에 있어서,
    상기 스트로크에 관한 특징들은 공간적 특징, 시간적 특징, 및 기하학적 특징을 포함하는 것인,
    방법.
  3. 전술한 청구항들 중 어느 한 항에 있어서,
    상기 제1 문자열을 인식하는 단계는,
    상기 스트로크에 관한 특징들을 외부 장치로 전송하는 단계;
    상기 스트로크에 관한 특징들이 상기 외부 장치에 저장된 상기 인공지능 모델에 입력되어 출력값이 출력되면, 상기 외부 장치로부터 상기 출력값을 수신하는 단계;
    상기 출력값을 기초로 하여 상기 제1 문자열을 인식하는 단계를 포함하는,
    방법.
  4. 전술한 청구항들 중 어느 한 항에 있어서,
    상기 스트로크는,
    상기 제2 문자의 필기 입력 방향과 상이한 필기 입력 방향을 갖는 제3 문자를 포함하되, 상기 제2 문자의 종료 지점과 상기 제3 문자의 시작 지점이 연결되고, 상기 제1 문자, 상기 제2 문자, 및 상기 제3 문자가 서로 중첩된 것이고,
    상기 제1 문자열은,
    상기 제1 문자, 상기 제2 문자, 및 상기 제3 문자를 포함하는,
    방법.
  5. 전술한 청구항들 중 어느 한 항에 있어서,
    상기 제1 문자열을 인식하는 단계는,
    필기 입력의 회전 각도에 관한 정보를 획득하는 단계;
    상기 스트로크에 관한 특징들 및 상기 필기 입력의 회전 각도에 관한 정보를 상기 인공지능 모델에 입력하여 상기 제1 문자열을 인식하는 단계를 포함하는,
    방법.
  6. 전술한 청구항들 중 어느 한 항에 있어서,
    상기 방법은,
    상기 제1 문자열을 언어 모델에 입력하여 적어도 하나의 문자열 후보를 획득하는 단계;
    상기 적어도 하나의 문자열 후보 각각에 대응되는 적어도 하나의 확률을 획득하는 단계;
    획득된 상기 적어도 하나의 문자열 후보 및 상기 적어도 하나의 확률을 기초로 하여 제2 문자열을 인식하는 단계를 포함하는,
    방법.
  7. 전술한 청구항들 중 어느 한 항에 있어서,
    상기 방법은,
    상기 인공지능 모델로부터 상기 제1 문자열에 대응되는 인식 스코어를 획득하는 단계;
    상기 인식 스코어를 기초로 하여 상기 제1 문자열을 보정할지 여부를 결정하는 단계;
    상기 제1 문자열을 보정하기로 결정한 경우,
    인식된 상기 제1 문자열을 기초로 하여, 상기 제1 문자열의 각 문자에 대응되는 스트로크들을 결정하는 단계;
    상기 결정된 제1 문자열의 각 문자에 대응되는 스트로크들을 정렬하여 나열하는 단계;
    상기 나열된 제1 문자열의 각 문자에 대응되는 스트로크들을 보정하는 단계;
    상기 보정된 제1 문자열의 각 문자에 대응되는 스트로크들을 기초로 하여 제2 문자열을 인식하는 단계를 더 포함하는,
    방법.
  8. 전술한 청구항들 중 어느 한 항에 있어서,
    나열된 상기 제1 문자열의 각 문자에 대응되는 스트로크들을 보정하는 단계는,
    추가 필기 입력 신호를 인식하는 단계;
    인식된 상기 추가 필기 입력 신호로부터 적어도 하나의 추가 스트로크를 획득하는 단계;
    획득된 상기 적어도 하나의 추가 스트로크를 통해 상기 제1 문자열의 각 문자에 대응되는 스트로크들을 보정하는 단계를 포함하는,
    방법.
  9. 필기 입력된 문자열을 인식하는 전자 장치 (2000) 에 있어서,
    적어도 하나의 인스트럭션을 저장하는 메모리 (2700); 및
    상기 메모리에 저장된 상기 적어도 하나의 인스트럭션을 실행하는 프로세서(2100) 를 포함하고,
    상기 프로세서는, 상기 적어도 하나의 인스트럭션을 실행함으로써,
    필기 입력 신호를 인식하고,
    인식된 상기 필기 입력으로부터 제1 문자 및 상기 제1 문자의 필기 입력 방향과 상이한 필기 입력 방향을 갖는 제2 문자를 포함하되, 상기 제1 문자의 종료 지점과 상기 제2 문자의 시작 지점이 연결되고, 상기 제1 문자 및 상기 제2 문자가 서로 중첩된 스트로크를 획득하고,
    획득된 상기 스트로크에 관한 특징들을 추출하고,
    추출된 상기 스트로크에 관한 특징들을, 필기 입력 방향이 상이한 문자들을 포함하되, 각 문자는 서로 중첩된 필기 입력 데이터들을 포함하는 필기 입력 데이터세트로 훈련된 인공지능 모델에 입력하여 상기 제1 문자 및 상기 제2 문자를 포함하는 제1 문자열을 인식하는,
    전자 장치.
  10. 제9항에 있어서,
    상기 스트로크에 관한 특징들은 공간적 특징, 시간적 특징, 및 기하학적 특징을 포함하는 것인,
    전자 장치.
  11. 전술한 청구항들 중 어느 한 항에 있어서,
    상기 프로세서 (2100) 는 상기 적어도 하나의 인스트럭션을 실행함으로써,
    상기 스트로크에 관한 특징들을 외부 장치로 전송하고,
    상기 스트로크에 관한 특징들이 상기 외부 장치에 저장된 상기 인공지능 모델에 입력되어 출력값이 출력되면, 상기 외부 장치로부터 상기 출력값을 수신하고,
    상기 출력값을 기초로 하여 상기 제1 문자열을 인식하는,
    전자 장치.
  12. 전술한 청구항들 중 어느 한 항에 있어서,
    상기 스트로크는,
    상기 제2 문자의 필기 입력 방향과 상이한 필기 입력 방향을 갖는 제3 문자를 포함하되, 상기 제2 문자의 종료 지점과 상기 제3 문자의 시작 지점이 연결되고, 상기 제1 문자, 상기 제2 문자, 및 상기 제3 문자가 서로 중첩된 것이고,
    상기 제1 문자열은,
    상기 제1 문자, 상기 제2 문자, 및 상기 제3 문자를 포함하는,
    전자 장치.
  13. 전술한 청구항들 중 어느 한 항에 있어서,
    상기 프로세서 (2100) 는 상기 적어도 하나의 인스트럭션을 실행함으로써,
    필기 입력의 회전 각도에 관한 정보를 획득하고,
    상기 스트로크에 관한 특징들 및 상기 필기 입력의 회전 각도에 관한 정보를 상기 인공지능 모델에 입력하여 상기 제1 문자열을 인식하는,
    전자 장치.
  14. 전술한 청구항들 중 어느 한 항에 있어서,
    상기 프로세서 (2100) 는 상기 적어도 하나의 인스트럭션을 실행함으로써,
    상기 제1 문자열을 언어 모델에 입력하여 적어도 하나의 문자열 후보를 획득하고,
    상기 적어도 하나의 문자열 후보 각각에 대응되는 적어도 하나의 확률을 획득하고,
    획득된 상기 적어도 하나의 문자열 후보 및 상기 적어도 하나의 확률을 기초로 하여 제2 문자열을 인식하는,
    전자 장치.
  15. 전술한 청구항들 중 어느 한 항에 있어서,
    상기 프로세서 (2100) 는 상기 적어도 하나의 인스트럭션을 실행함으로써,
    상기 인공지능 모델로부터 상기 제1 문자열에 대응되는 인식 스코어를 획득하고,
    상기 인식 스코어를 기초로 하여 상기 제1 문자열을 보정할지 여부를 결정하고,
    상기 제1 문자열을 보정하기로 결정한 경우,
    인식된 상기 제1 문자열을 기초로 하여, 상기 제1 문자열의 각 문자에 대응되는 스트로크들을 결정하고,
    상기 결정된 제1 문자열의 각 문자에 대응되는 스트로크들을 정렬하여 나열하고,
    상기 나열된 제1 문자열의 각 문자에 대응되는 스트로크들을 보정하고,
    상기 보정된 제1 문자열의 각 문자에 대응되는 스트로크들을 기초로 하여 제2 문자열을 인식하는,
    전자 장치.
  16. 전술한 청구항들 중 어느 한 항에 있어서,
    상기 프로세서 (2100) 는 상기 적어도 하나의 인스트럭션을 실행함으로써,
    추가 필기 입력 신호를 획득하고,
    인식된 상기 추가 필기 입력 신호로부터 적어도 하나의 추가 스트로크를 획득하고,
    획득된 상기 적어도 하나의 추가 스트로크를 통해 상기 제1 문자열의 각 문자에 대응되는 스트로크들을 보정하는,
    전자 장치.
  17. 제1항 내지 제8항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020220147396A 2022-11-07 2022-11-07 필기 입력을 인식하는 방법 및 장치 KR20240065997A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220147396A KR20240065997A (ko) 2022-11-07 2022-11-07 필기 입력을 인식하는 방법 및 장치
PCT/KR2023/013443 WO2024101627A1 (ko) 2022-11-07 2023-09-07 필기 입력을 인식하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220147396A KR20240065997A (ko) 2022-11-07 2022-11-07 필기 입력을 인식하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20240065997A true KR20240065997A (ko) 2024-05-14

Family

ID=91033180

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220147396A KR20240065997A (ko) 2022-11-07 2022-11-07 필기 입력을 인식하는 방법 및 장치

Country Status (2)

Country Link
KR (1) KR20240065997A (ko)
WO (1) WO2024101627A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220003662A (ko) * 2013-06-09 2022-01-10 애플 인크. 실시간 필기 인식 관리
EP3295292B1 (en) * 2015-05-15 2020-09-02 MyScript System and method for superimposed handwriting recognition technology
EP3772015B1 (en) * 2019-07-31 2023-11-08 MyScript Text line extraction
KR102570007B1 (ko) * 2019-11-04 2023-08-23 삼성전자주식회사 필기 입력을 보정하는 방법 및 전자 장치
KR20220135914A (ko) * 2021-03-31 2022-10-07 삼성전자주식회사 학습 기반의 필기 입력을 처리하는 전자 장치, 그 동작 방법 및 저장매체

Also Published As

Publication number Publication date
WO2024101627A1 (ko) 2024-05-16

Similar Documents

Publication Publication Date Title
US20180150751A1 (en) Apparatus and method for determining user's mental state
CN107102723B (zh) 用于基于手势的移动交互的方法、装置、设备和非暂时性计算机可读介质
US20180300542A1 (en) Drawing emojis for insertion into electronic text-based messages
US20160224591A1 (en) Method and Device for Searching for Image
JP2017516176A (ja) 手跡及びジェスチャを認識するための方法とシステム
KR102474245B1 (ko) 스와이프 입력에 기초하여 입력 문자를 판단하는 시스템 및 방법
CN108369637B (zh) 用于美化数字墨水的系统和方法
US11709593B2 (en) Electronic apparatus for providing a virtual keyboard and controlling method thereof
Vatavu The impact of motion dimensionality and bit cardinality on the design of 3D gesture recognizers
US20210150200A1 (en) Electronic device for converting handwriting input to text and method of operating the same
KR20210017090A (ko) 필기 입력을 텍스트로 변환하는 방법 및 전자 장치
WO2016073856A1 (en) Nonparametric model for detection of spatially diverse temporal patterns
KR20210033394A (ko) 전자 장치 및 그의 제어 방법
US20240029461A1 (en) Electronic device for processing handwriting input on basis of learning, operation method thereof, and storage medium
US20150177981A1 (en) Touch-Based Text Entry Using Hidden Markov Modeling
US10776000B2 (en) System and method of receiving and converting digital ink input
US11954595B2 (en) Electronic device for recognizing object in image, and operation method thereof
US20230046860A1 (en) Electronic device and handwriting recognition method
Alam et al. TARNet: An Efficient and Lightweight Trajectory‐Based Air‐Writing Recognition Model Using a CNN and LSTM Network
KR20240065997A (ko) 필기 입력을 인식하는 방법 및 장치
US11631262B2 (en) Semantic segmentation for stroke classification in inking application
CN102929534A (zh) 一种盲写信息输入系统和方法
US11295121B2 (en) Context-based shape extraction and interpretation from hand-drawn ink input
US20240020996A1 (en) Electronic device and method for identifying sentence indicated by strokes
JP7392315B2 (ja) 表示装置、表示方法、プログラム