KR20220132536A - 필기에서의 수학 검출 - Google Patents

필기에서의 수학 검출 Download PDF

Info

Publication number
KR20220132536A
KR20220132536A KR1020227025534A KR20227025534A KR20220132536A KR 20220132536 A KR20220132536 A KR 20220132536A KR 1020227025534 A KR1020227025534 A KR 1020227025534A KR 20227025534 A KR20227025534 A KR 20227025534A KR 20220132536 A KR20220132536 A KR 20220132536A
Authority
KR
South Korea
Prior art keywords
symbol
classification
text
mathematical
symbols
Prior art date
Application number
KR1020227025534A
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 마이스크립트
Publication of KR20220132536A publication Critical patent/KR20220132536A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques
    • 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/26Techniques for post-processing, e.g. correcting the recognition result
    • G06V30/262Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
    • G06V30/274Syntactic or semantic context, e.g. balancing
    • 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
    • G06V30/373Matching; Classification using a special pattern or subpattern alphabet

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Character Discrimination (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 필기에서 수학 및 텍스트를 처리하기 위한 컴퓨팅 장치(100)에 의해 구현되는 방법과 관련되며, 상기 방법은 복수의 획(SK)에 필기 인식을 수행함으로써 심볼을 식별하는 단계, 제1 분류로서, 제1 심볼을 제1 임계값에 도달하는 신뢰도 점수를 갖는 텍스트 심볼 후보 또는 수학 심볼 후보로서 분류하는 단계, 제2 분류로서, 지정 공간 구문 규칙(RL2)을 적용함으로써 제1 심볼이 아닌 다른 제2 심볼을 각자의 신뢰도 점수를 갖고 텍스트 심볼 후보 또는 수학 심볼 후보로 분류하는 단계, 제3 분류로서, 심볼들 간 의미 연결을 설정하고 제2 분류의 결과에 의미 연결을 비교함으로써 제2 분류의 결과를 업데이트 또는 확인하는 단계, 및 상기 제3 분류의 결과에 기초하여 각각의 심볼을 텍스트 또는 수학으로 인식하는 단계를 포함한다.

Description

필기에서의 수학 검출
본 개시는 일반적으로 현장 필기 인식 및 필기 처리에 관한 것이며, 특히 필기에서 수학 및 텍스트 콘텐츠를 인식할 수 있는 컴퓨팅 장치에 관한 것이다.
텍스트 콘텐츠(가령, 영숫자 문자) 또는 비텍스트 콘텐츠(가령, 모양, 그림)와 같이 사용자가 손으로 그리거나 손으로 쓴 입력 요소와 같은 필기 입력 및 인식을 위한 다양한 컴퓨팅 장치가 수년에 걸쳐 개발되었다. 이를 위해, 종래의 컴퓨팅 장치는 일반적으로 사용자가 디스플레이 스크린 상에 디스플레이될 수 있는 디지털 잉크의 획(stroke) 형태로 필기 콘텐츠를 입력할 수 있도록 터치 감지 표면 등을 갖추고 있다.
사용자 필기 입력은 사용자가 필기를 입력할 때 실시간 인식을 가능하게 하는 온라인 필기 인식 시스템을 사용하여 해석될 수 있다. 필기 인식은 예를 들어 클라우드 기반 솔루션 등을 사용하여 수행될 수 있다. 대안으로, 오프라인 시스템도 알려져 있다. 일단 인식되면, 컴퓨팅 장치는 예를 들어 입력 획을 조판 버전으로 변환하거나 편집 기능을 구현하는 것과 같은 임의의 적절한 처리 작업을 수행할 수 있다.
사용자에게 필기 디스플레이, 조작, 편집 등의 좋은 경험을 제공하기 위해, 사용자로부터의 필기 입력을 가능한 한 정확하게 인식하는 것이 중요하다. 텍스트 분류기(text classifier)가 이미 공지되어 있으며 필기된 텍스트, 가령, 필기 문자, 숫자, 심볼, 악센트 등을 인식하는 데 사용된다. 그러나 필기 입력은 다양한 속성을 가질 수 있으므로 때때로 필기 인식 작업을 섬세하게 만든다.
특히, 필기에 수학 콘텐츠가 포함되거나 텍스트와 수학 콘텐츠가 혼합된 경우 필기 인식이 어려울 수 있다. 현재로서는, 수학과 텍스트를 모두 인식하는 효율적인 솔루션이 없다. 특히, 정확하고 신뢰할 수 있는 방식으로 필기에서 수학 및 텍스트 콘텐츠를 판별하는 솔루션이 필요하다.
본 명세서에서 아래에 설명되는 본 발명의 예는 필기에서 수학과 텍스트를 처리하기 위한 컴퓨팅 장치, 방법 및 대응하는 컴퓨터 프로그램을 제공한다.
특정 양태에 따르면, 본 발명은 필기 내 수학 및 텍스트를 처리하기 위한 컴퓨팅 장치에 의해 구현되는 방법을 제공하며, 상기 방법은:
- 디지털 잉크의 복수의 획에 대해 필기 인식을 수행함으로써 심볼을 식별하는 단계,
- 제1 분류로서, 심볼에 지정 심볼 인식 규칙을 개별적으로 적용함으로써 식별된 심볼 중 적어도 하나의 제1 심볼을, 적어도 제1 임계값에 도달하는 신뢰도 점수를 갖는 텍스트 심볼 후보 또는 수학 심볼 후보로 분류하는 단계,
- 제2 분류로서, 상기 적어도 하나의 제1 심볼 및 적어도 하나의 제2 심볼에 대해 상기 적어도 하나의 제1 심볼과 상기 적어도 하나의 제2 심볼 간 공간 관계를 정의하는 지정 공간 구문 규칙을 적용함으로써, 상기 적어도 하나의 제1 심볼이 아닌 다른 적어도 하나의 제2 심볼을 각자의 신뢰도 점수를 갖는 텍스트 심볼 후보 또는 수학 심볼 후보로 분류하는 단계,
- 제3 분류로서, 식별된 심볼 중 적어도 두 개의 심볼 간 의미 연결을 확립하고 상기 의미 연결을 상기 제2 분류의 결과와 비교함으로써 상기 제2 분류의 결과를 업데이트하거나 확인하는 단계, 및
적어도 상기 제3 분류의 결과에 기초하여 각각의 심볼을 텍스트 심볼 또는 수학 심볼로서 인식하는 단계를 포함한다.
본 발명은 효율적이고 신뢰할 만한 방식으로 필기에서 수학 및 텍스트를 인식할 수 있게 한다. 필기 입력의 어떤 획(또는 심볼)이 텍스트 콘텐츠이고 어떤 것이 수학 콘텐츠인지가 높은 신뢰도로 판별될 수 있다. 특히 필기 입력에 대한 3단계 분석, 즉, 심볼 분석, 구문 분석 및 의미 분석을 수행함으로써 효율적인 수학/텍스트 구별이 달성된다.
특정 실시예에서, 방법은 심볼을 식별하기 전에 심볼을 형성하는 디지털 잉크의 복수의 획을 획득하는 단계를 포함하고, 상기 식별된 심볼은 적어도 하나의 텍스트 심볼 및 적어도 하나의 수학 심볼을 포함한다.
특정 실시예에서, 상기 심볼을 식별하는 단계 동안, 복수의 획은 지정 심볼의 세트와 비교되고 복수의 획에 의해 형성된 심볼 각각은 지정 심볼의 세트 내 각각의 지정 심볼로서 식별된다.
특정 실시예에서, 상기 방법은, 각각의 식별된 심볼에 대해, 상기 심볼을 형성하는 획 각각에 기초하여, 잉크-관련 정보를 컴퓨팅하는 단계를 포함하며, 상기 잉크-관련 정보는:
- 상기 심볼을 형성하는 하나 이상의 획의 고유 속성을 특징 짓는 심볼 정보, 및
- 복수의 획의 적어도 하나의 각자의 순서에 따라, 상기 심볼을 형성하는 하나 이상의 획과 공간적으로 관련된 적어도 하나의 이웃하는 획을 특징 짓는 콘텍스트 정보를 포함하며,
상기 잉크-관련 정보는 적어도 상기 제2 분류 및 제3 분류에서 사용되어, 각각의 심볼을 수학 심볼 후보 또는 텍스트 심볼 후보로서 분류한다.
특정 실시예에서, 획은 획들이 필기되는 상대적인 시간 순서를 나타내는 시간 정보를 갖는 온라인 필기로서 획득된다.
콘텍스트 정보는 각각의 심볼에 대해, 복수의 획의 적어도 시간 순서에 따라, 상기 심볼을 형성하는 하나 이상의 획과 공간적으로 관련된 적어도 하나의 이웃 획을 특징짓는다.
특정 실시양태에서, 상기 제1 분류는 다음을 포함한다:
- 각각의 식별된 심볼에 대해, 심볼 인식 규칙에 의해 상기 심볼에 귀속되는 임베딩 정보를 결정하는 단계 - 상기 임베딩 정보는 상기 지정 심볼이 텍스트 또는 수학이라는 각자의 신뢰도 점수를 포함함 - , 및
- 임베딩 정보 내에 정의된 각각의 식별된 심볼의 각자의 신뢰도 점수를 제1 임계값과 비교하여 적어도 하나의 제1 심볼을 적어도 상기 제1 임계값에 도달하는 신뢰도 점수를 갖는 텍스트 심볼 후보 또는 수학 심볼 후보로서 식별하는 단계를 포함한다.
특정 실시예에서, 제1 분류 동안, 각각의 심볼은 지정된 심볼 인식 규칙을 개별적으로 적용함으로써 각자의 신뢰도 점수를 갖는 텍스트 심볼 후보 또는 수학 심볼 후보로서 분류된다.
특정 실시예에서, 제1 분류에서 식별된 각각의 심볼은 지정 심볼 인식 규칙에 기초하여, 상기 심볼이 텍스트 또는 수학이라는 각각의 신뢰도 점수를 포함하는 임베딩 정보에 기인한다.
특정 실시예에서, 상기 제2 분류 동안, 상기 공간 구문 규칙은 상기 적어도 하나의 제1 심볼에 대해 적용되어, 하나 이상의 제1 심볼과 지정 공간 관계를 갖는 적어도 하나의 다른 심볼을 수학 심볼 후보 또는 텍스트 심볼 후보로서 식별한다.
특정 실시예에서, 상기 제2 분류 동안, 상기 적어도 하나의 제1 심볼이 아닌 다른 심볼 각각은 텍스트 심볼 후보 또는 수학 심볼 후보로서 분류된다.
특정 실시예에서, 공간 구문 규칙은 다음을 포함한다:
- 적어도 두 개의 수학 심볼 간 공간 관계를 형성하는 수학 공간 구문 규칙, 및
- 적어도 두 개의 텍스트 심볼 간 공간 관계를 형성하는 텍스트 공간 구문 규칙.
특정 실시예에서, 수학 공간 구문 규칙은 다음을 정의하는 적어도 수학 공간 구문 규칙을 포함한다:
- 분자 성분과 분모 성분을 분리하는 분수 막대를 포함하는 분수,
- 하나 이상의 베이스 심볼의 왼쪽 상단 또는 왼쪽 하단에 각각 위치하는 하나 이상의 심볼과 연관된 윗첨자 및 아랫첨자,
- 하나 이상의 베이스 심볼 위 및 아래에 각각 배치된 하나 이상의 심볼과 연관된 윗첨자 및 아랫첨자, 및
- 표 형식으로 배열된 심볼의 복수 행 및 열과 연관된 행렬.
특정 실시예에서, 상기 제2 분류는 다음 중 적어도 하나를 포함한다:
- 상기 수학 공간 구문 규칙을 적용하여, 각자의 수학 심볼 후보로서, 제1 분류에서 수학 심볼 후보로서 식별된 적어도 하나의 제1 심볼(또는 전혀 없는)과의 지정 공간 관계를 갖는 적어도 하나의 다른 심볼을 식별하는 것, 및
- 상기 텍스트 공간 구문 규칙을 적용하여, 각자의 수학 심볼 후보로서, 제1 분류에서 수학 심볼 후보로서 식별된 적어도 하나의 제1 심볼과의 지정 공간 관계를 갖는 적어도 하나의 다른 심볼을 식별하는 것.
구체적인 실시예에서, 의미 연결에 기초한 제3 분류 동안 제2 분류의 결과가 확인되면, 제3 분류에서 생성된 결과는 제2 분류의 결과와 동일하다.
특정 실시예에서, 제2 분류의 결과가 의미 연결에 기초하여 제3 분류 동안 업데이트되는 경우, 제3 분류에서 생성된 결과는 각자의 업데이트된 신뢰도 점수와 함께 제2 분류에 비해 텍스트 및 심볼 후보로서의 심볼의 수정된 분류를 포함하고,
상기 방법은 제3 분류의 결과에 대해 제2 분류를 반복하여 상기 결과를 확정하거나 업데이트하는 단계를 더 포함한다.
특정 실시예에서, 제2 분류 및 제3 분류를 포함하는 반복 분류 프로세스는 상기 제2 분류와 제3 분류가 동일한 결과로 수렴될 때까지 반복된다.
특정 실시예에서, 제2 분류와 제3 분류가 동일한 결과로 수렴하기 전에 분류 프로세스의 지정 N회 반복에 도달하는 경우, 제3 분류에서 획득된 제2 분류의 최신 업데이트된 결과가 각각의 심볼을 텍스트 심볼 또는 수학 심볼로서 인식하기 위해 사용되며, N은 적어도 2의 정수이다.
특정 실시예에서, 각각의 심볼을 텍스트 심볼 또는 수학 심볼로서 인식하는 단계는 적어도 상기 제3 분류의 결과에 기초하여, 연관된 신뢰도 점수와 함께 수학 또는 텍스트로서의 분류를 각각의 획에 할당하는 단계를 포함한다.
특정 실시예에서, 상기 방법은 상기 인식의 결과에 기초하여, 복수의 획을 하나 이상의 획의 블록으로 그룹짓는 단계를 더 포함하며, 각각의 블록은 텍스트 블록 또는 수학 블록이며, 텍스트 블록에 포함된 각각의 획은 텍스트 심볼의 일부분이며 수학 블록에 포함된 각각의 획은 수학 심볼의 일부분이다.
특정 실시예에서, 그룹은 상기 제3 분류의 결과에서 정의된 바와 같이 수학 또는 텍스트로서 각각의 심볼의 분류에 기초하고 서로에 대한 획의 공간적 근접도에 기초하여 결정된다.
특정 실시예에서, 방법은 각각의 획이 속하는 각자의 블록을 나타내는 박스(box)와 함께 복수의 획을 디스플레이하는 단계를 포함한다.
특정 실시예에서, 상기 방법은 수학 언어 모델을 각각의 수학 블록에 적용하고 텍스트 언어 모델을 각각의 텍스트 블록에 적용함으로써 상기 획에서 수학 콘텐츠 및 텍스트 콘텐츠를 인식하는 단계를 포함한다.
또 다른 양태에 따르면, 본 발명은 본 명세서에 정의된 본 발명의 방법의 단계들을 수행하기 위한 명령을 포함하는 컴퓨터로 읽을 수 있는 프로그램 코드(또는 컴퓨터 프로그램)를 기록한 비일시적 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
본 발명의 컴퓨터 프로그램은 임의의 프로그래밍 언어로 표현될 수 있고, 소스 코드, 목적 코드, 또는 소스 코드와 목적 코드 사이의 임의의 중간 코드의 형태일 수 있으며, 예를 들어, 부분적으로 컴파일된 형태로, 또는 기타 적절한 형태일 수 있다.
본 발명은 또한 위에서 언급한 컴퓨터 프로그램을 제공한다.
앞서 언급한 비일시적 컴퓨터 판독형 매체는 컴퓨터 프로그램을 저장할 수 있는 임의의 개체 또는 장치일 수 있다. 예를 들어, 기록 매체는 저장 수단, 가령, ROM 메모리(마이크로전자 회로로 구현된 CD-ROM 또는 ROM), 또는 자기 저장 수단, 가령, 플로피 디스크 또는 하드 디스크를 포함할 수 있다.
본 발명의 비일시적 컴퓨터 판독형 매체는 전기 또는 광학 케이블을 통해 또는 라디오 또는 그 밖의 다른 임의의 적절한 수단에 의해 전송될 수 있는 전송 매체, 가령, 전기 또는 광학 신호에 대응할 수 있다. 본 개시에 따른 컴퓨터 프로그램은 특히 인터넷 또는 이와 유사한 네트워크로부터 다운로드될 수 있다.
대안으로, 비일시적 컴퓨터 판독형 매체는 컴퓨터 프로그램이 로딩되는 집적 회로에 대응할 수 있으며, 이 회로는 본 발명의 방법을 실행하거나 실행에 사용되도록 구성된다.
특정 실시예에서, 본 발명은 컴퓨터 판독형 프로그램 코드가 구현되는 비일시적 컴퓨터 판독형 매체와 관련되며, 상기 컴퓨터 판독형 프로그램 코드가 본 명세서에서 정의된 컴퓨팅 장치 상의 필기에서 수학 및 텍스트를 처리하기 위한 방법을 구현하도록 실행되도록 구성되며, 상기 컴퓨팅 장치는 상기 방법의 단계를 실행하기 위한 프로세서를 포함한다.
본 발명은 또한 본 개시내용에 정의된 바와 같은 방법을 구현하기에 적합한 컴퓨팅 장치에 관한 것이다. 더 구체적으로, 본 발명은 수학 및 텍스트를 처리하기 위한 컴퓨팅 장치를 제공하며,
- 디지털 잉크의 복수의 획에 대해 필기 인식을 수행함으로써 심볼을 식별하기 위한 제1 인식 모듈,
- 제1 분류로서, 심볼에 지정 심볼 인식 규칙을 개별적으로 적용함으로써 식별된 심볼 중 적어도 하나의 제1 심볼을, 적어도 제1 임계값에 도달하는 신뢰도 점수를 갖는 텍스트 심볼 후보 또는 수학 심볼 후보로 분류하기 위한 심볼 처리 모듈,
- 제2 분류로서, 상기 적어도 하나의 제1 심볼 및 상기 적어도 하나의 제2 심볼에 상기 적어도 하나의 제1 심볼과 상기 적어도 하나의 제2 심볼 간 공간 관계를 정의하는 지정 공간 구문 규칙을 적용함으로써, 상기 적어도 하나의 제1 심볼이 아닌 다른 적어도 하나의 제2 심볼을 각자의 신뢰도 점수를 갖는 텍스트 심볼 후보 또는 수학 심볼 후보로서 분류하기 위한 구문 처리 모듈, 및
- 제3 분류로서, 식별된 심볼 중 적어도 두 개의 심볼 간 의미 연결을 확립하고 상기 의미 연결을 상기 제2 분류의 결과와 비교함으로써 상기 제2 분류의 결과를 업데이트하거나 확인하기 위한 의미 처리 모듈을 포함하며,
상기 컴퓨팅 장치는 각각의 심볼을 적어도 상기 제3 분류의 결과에 기초하여 텍스트 심볼 또는 수학 심볼로서 인식하도록 구성된다.
본 발명의 방법과 관련하여 앞서 정의된 다양한 실시예는 본 개시 내용의 컴퓨팅 장치, 컴퓨터 프로그램 및 비일시적 컴퓨터 판독형 매체와 유사한 방식으로 적용된다.
본 개시 내용에 정의된 바와 같은 본 발명의 방법의 각각의 단계에 대해, 컴퓨팅 장치는 상기 단계를 수행하도록 구성된 대응하는 모듈을 포함할 수 있다.
특정 실시예에서, 본 개시 내용은 소프트웨어 및/또는 하드웨어 구성요소를 사용하여 구현될 수 있다. 이러한 맥락에서, 용어 "모듈"은 본 개시에서 소프트웨어 구성요소뿐만 아니라, 하드웨어 구성요소 또는 복수의 소프트웨어 및/또는 하드웨어 구성요소를 지칭할 수 있다.
본 개시 내용의 또 다른 특징 및 이점은 제한 특성을 갖지 않는 실시예를 도시하는 첨부 도면을 참조하여 이루어진 다음의 설명으로부터 자명할 것이다. 도면에서:
- 도 1은 본 발명의 특정 실시예에 따른 컴퓨팅 장치의 블록도이다.
- 도 2는 본 발명의 특정 실시예에 따른 컴퓨팅 장치에 의해 구현되는 기능 모듈을 나타내는 블록도이다.
- 도 3은 본 발명의 특정 실시예에 따라 필기에서 수학 및 텍스트를 처리하기 위한 방법의 단계를 도시하는 흐름도이다.
- 도 4 및 5는 본 개시 내용의 특정 실시예에 따른 필기에서의 수학 및 텍스트를 처리하기 위한 방법의 상이한 단계를 도시한다.
- 도 6은 본 발명의 특정 실시예에 따른 지정 심볼 세트를 도시한다.
- 도 7 내지 11, 12a, 12b, 12c 및 14-15는 본 발명의 특정 실시예에 따른 필기에서의 수학 및 텍스트를 처리하기 위한 방법의 상이한 단계를 도시한다.
- 도 16 및 17은 본 발명의 특정 실시예에 따른, 순환 신경망의 구조 및 동작을 개략적으로 도시한다.
- 도 18은 본 발명의 특정 실시예에 따라 필기에서의 수학 및 텍스트를 처리하기 위한 방법을 개략적으로 나타내는 블록도이다.
도면의 구성요소는 반드시 일정한 비율을 유지해야 하는 것은 아니며, 대신에 본 발명의 원리를 설명하는 데 중점을 둔다.
설명의 단순성과 명료성을 위해, 달리 표시되지 않는 한, 도면 전체에 걸쳐 동일한 참조 부호가 동일하거나 유사한 부품을 지칭하는 데 사용될 것이다.
다음의 상세한 설명에서, 관련 교시의 철저한 이해를 제공하기 위해 예로서 다수의 특정 세부사항이 제시된다. 그러나, 본 교시가 그러한 세부사항 없이 실시될 수 있음이 통상의 기술자에게 자명할 것이다. 또 다른 예에서, 본 교시의 양태를 불필요하게 모호하게 하는 것을 피하기 위해 잘 알려진 방법, 절차 및/또는 구성요소가 비교적 높은 수준에서 상세하게 설명되지 않는다.
예시적인 실시예의 다음 설명은 첨부된 도면을 참조한다. 다음의 상세한 설명은 본 발명을 제한하지 않는다. 대신, 본 발명의 범위는 첨부된 청구범위에 의해 정의된다. 도면에 예시된 바와 같은 다양한 실시예들에서, 컴퓨팅 장치, 대응하는 방법 및 대응하는 컴퓨터 프로그램이 논의된다.
"손그림(hand-drawing)"와 "필기(handwriting)"라는 용어는 손(또는 손가락) 또는 입력 장치(핸드헬드 스타일러스 또는 디지털 펜, 마우스...) 또는 입력 표면을 이용한 사용자에 의한 디지털 콘텐츠(필기 입력)의 생성을 정의하는 데 상호 교환 가능하게 사용된다. "손(hand)" 등의 용어는 입력 기술에 대한 간결한 설명을 제공하기 위해 본 명세서에서 사용되지만, 유사한 입력을 위해 사용자의 신체의 다른 부분, 가령 발, 입 및 눈을 사용하는 것도 이 정의에 포함된다.
필기는 사용자가 입력하는 디지털 잉크의 획(stroke)에 의해 형성된다. 획(또는 입력 획)은 적어도 획 시작 위치("펜 내림(pen down)" 이벤트에 해당), 획 종료 위치("펜 올림(pen up)" 이벤트에 대응), 및 획 시작 위치와 획 종료 위치를 연결하는 경로에 의해 특징 지어진다.
본 개시 내용에서 "텍스트(text)"라는 용어는 모든 문자(가령, 영숫자 문자 등) 및 이들의 문자열을, 임의의 필기 언어로, 보다 일반적으로 필기된 텍스트에 사용된 임의의 심볼을 포괄하는 것으로 이해된다. 따라서 텍스트는 임의의 스크립트, 가령, 라틴 스크립트, 키릴 스크립트, 중국어 스크립트 등으로부터의 베이스 문자 및 악센트를 포함한다.
"수학(math)"(또는 수학(mathematics))이라는 용어는 본 개시내용에서 임의의 언어로 된 임의의 수학 심볼 또는 수학 심볼의 열, 즉, 수학 콘텐츠, 수학 표현 또는 수학적 성질의 임의의 것을 표현하는 데 사용되는 임의의 심볼을 포괄하는 것으로 이해된다.
텍스트 및 수학 콘텐츠의 특정 예시가 아래에서 더 자세히 제공될 것이다.
또한, 이 도면에 표시된 예가 왼쪽에서 오른쪽으로 쓰여진 언어 콘텍스트에 있으므로, 위치에 대한 임의의 언급이 상이한 방향 형식을 갖는 수기 언어에 적용될 수 있다.
본 명세서에 기재된 다양한 기술은 일반적으로, 특히 수학 및 텍스트를 인식할 목적으로 휴대용 및 비휴대용 컴퓨팅 장치 상에서의 필기를 처리하는 것에 관한 것이다. 다양한 실시예가 이른바 온라인 인식 기술을 사용한 디지털 잉크 필기 입력의 인식과 관련하여 설명되었지만, 인식되기 위한 그 밖의 다른 형태의 입력, 가령, 인식을 수행하기 위해 원격 장치 또는 서버를 포함하는 오프라인 인식이 적용될 수 있다.
본 명세서에 기재된 시스템 및 방법은 입력 표면, 가령, 터치 감지 스크린(나중에 논의됨)을 통해 컴퓨팅 장치로 사용자의 자연스러운 필기 스타일의 인식을 활용할 수 있다.
이하에서 더 상세히 설명될 바와 같이, 본 발명의 한 양태는 필기에서 수학과 텍스트를 처리하는 것에 관한 것이다. 방법은 상이한 속성의 세 가지 심볼 분류, 즉, 심볼 표현 레벨, 구문 레벨, 및 의미 레벨에서의 분류에 기초하여, 필기에서 텍스트 및 수학 심볼을 정확하고 신뢰할 만하게 인식할 수 있다.
더 구체적으로, 방법은 디지털 잉크의 복수의 획에 대해 필기 인식을 수행함으로써 심볼을 식별하는 단계, 심볼 레벨의 제1 분류를 수행하여 적어도 하나의 제1 심볼을 적어도 제1 임계값에 도달하는 신뢰도 점수를 갖는 텍스트 심볼 후보 또는 수학 심볼 후보로 분류하는 단계, 구문 레벨의 제2 분류를 수행하여 상기 적어도 하나의 제1 심볼이 아닌 다른 적어도 하나의 제2 심볼을, 상기 적어도 하나의 제1 심볼과 상기 적어도 하나의 제2 심볼 간 공간적 관계에 기초하는 각자의 신뢰도 점수를 갖는 텍스트 심볼 후보 또는 수학 심볼 후보로 분류하는 단계, 및 의미 레벨의 제3 분류를 수행하여 적어도 두 개의 심볼 간에 확립된 의미 연결에 기초하여 제2 분류의 결과를 업데이트 또는 확인하는 단계, 및 적어도 상기 제3 분류의 결과에 기초하여 각각의 심볼을 텍스트 심볼 또는 수학 심볼로 인식하는 단계를 포함한다.
도 1은 본 발명의 특정 실시예에 따른 컴퓨팅 장치(DV1)의 블록도이다. 컴퓨팅 장치(또는 디지털 장치)(DV1)는 컴퓨터 데스크탑, 랩톱 컴퓨터, 태블릿 컴퓨터, 전자책 리더, 휴대폰, 스마트폰, 웨어러블 컴퓨터, 디지털 시계, 대화형 화이트보드, GPS(Global Positioning System) 장치, 기업 디지털 어시스턴트(EDA), 개인 디지털 어시스턴트(PDA), 게임 콘솔 등일 수 있다. 컴퓨팅 장치(DV1)는 적어도 하나의 처리 요소, 일부 형태의 메모리 및 입출력(I/O) 장치의 구성요소를 포함할 수 있다. 구성요소는 커넥터, 라인, 버스, 링크 네트워크 또는 당업자에게 알려진 그 밖의 다른 것과 같은 입력 및 출력을 통해 서로 통신한다.
더 구체적으로, 컴퓨팅 장치(DV1)는 아래에서 더 설명되는 바와 같이 텍스트 콘텐츠, 수학 콘텍스트 또는 텍스트와 수학 콘텐츠의 혼합일 수 있는, 콘텐츠(IN)를 필기(또는 손그림)하기 위한 입력 표면(4)을 포함한다. 입력 표면(4)은 상기 입력 표면 상에 입력된(또는 사용하는) 디지털 잉크의 복수의 획(SK)을 검출하는 데 적합하다.
입력 표면(104)은 임의의 적절한 기술, 가령, 저항, 표면 탄성파, 용량성, 적외선 그리드, 적외선 아크릴 프로젝션, 광학 이미징, 분산 신호 기술, 음향 펄스 인식, 또는 터치 또는 근접 감지 표면 형태의 사용자 입력을 수신하기 위한 해당 분야의 통상의 기술자에게 알려진 그 밖의 다른 임의의 적절한 기술을 채용할 수 있다. 입력 표면(4)은 위치 검출 시스템에 의해 모니터링되는 비-터치 감지 표면일 수 있다.
컴퓨팅 장치(100)는 또한 컴퓨팅 장치(DV1)로부터의 데이터, 가령, 필기(IN)를 출력하기 위한 적어도 하나의 디스플레이 유닛(또는 디스플레이 장치)(2)를 더 포함한다. 디스플레이 유닛(2)은 임의의 적절한 기술(LCD, 플라스마 ...)의 스크린 등일 수 있다. 디스플레이 유닛(2)은 사용자가 입력한 디지털 잉크의 획(SK)를 디스플레이하기에 적합하다.
입력 표면(4)은 디스플레이 유닛(2)과 같은 위치에 있거나 원격으로 연결될 수 있다. 특정 예에서, 디스플레이 유닛(2) 및 입력 표면(4)은 터치 스크린의 일부이다.
도 1에 도시된 바와 같이, 컴퓨팅 장치(DV1)는 프로세서(6) 및 메모리(8)를 더 포함한다. 컴퓨팅 장치(DV1)는 또한 메모리(8)의 일부 또는 그 개별로서 하나 이상의 휘발성 저장 요소(RAM)를 포함할 수 있다.
프로세서(6)는 소프트웨어, 특히 메모리(8)에 저장된 소프트웨어를 실행하기 위한 하드웨어 장치이다. 프로세서(8)는 임의의 커스텀 또는 범용 프로세서, 중앙 처리 장치(CPU), 반도체 기반 마이크로프로세서(마이크로칩 또는 칩셋의 형태), 마이크로제어기, 디지털 신호 프로세서(DSP), 주문형 집적 회로(ASIC), 현장 프로그램 가능 게이트 어레이(FPGA), 또는 그 밖의 다른 프로그램 가능 로직 장치, 또는 이들의 임의의 조합일 수 있거나 더 일반적으로 통상의 기술자에게 알려진 소프트웨어 명령을 실행하도록 설계된 임의의 적절한 프로세서 구성요소일 수 있다.
메모리(8)는 본 발명의 특정 실시예에 따른 비일시적(또는 비휘발성) 컴퓨터 판독형 매체(또는 기록 매체)이다. 메모리(8)는 비휘발성 저장 요소(예를 들어, ROM, EPROM, 플래시 PROM, EEPROM, 하드 드라이브, 자기 또는 광학 테이프, 메모리 레지스터, CD-ROM, WORM, DVD 등)의 임의의 조합을 포함할 수 있다.
메모리(8)는 컴퓨팅 장치(DV1)에 의해 원격으로 액세스 가능한 서버 또는 클라우드 기반 시스템에서와 같이 컴퓨팅 장치(DV1)로부터 원격일 수 있다. 비휘발성 메모리(8)는 프로세서(6)에 연결되어, 프로세서(6)는 메모리(8)로부터 정보를 읽고 메모리에 정보를 기록할 수 있다. 대안으로, 메모리(8)는 컴퓨팅 장치(8)에 통합된다.
메모리(8)는 운영 체제(OS)(10) 및 필기 애플리케이션(또는 컴퓨터 프로그램)(12)을 포함한다. 운영 체제(10)는 애플리케이션(12)의 실행을 제어한다. 이 애플리케이션은 본 발명의 특정 실시예에 따라 컴퓨터 프로그램(또는 컴퓨터 판독형 프로그램 코드)을 구성(또는 포함)하고, 이 컴퓨터 프로그램은 본 발명의 특정 실시예에 따른 방법을 구현하기 위한 명령을 포함한다.
본 실시예에서, 애플리케이션(12)은 적절한 방식으로 획득된 필기(IN)에서의 수학 및 텍스트를 처리하기 위한 명령을 포함한다. 본 예시에서, 처리될 필기(IN)는 아래에서 더 논의되는 바와 같이 컴퓨팅 장치(100)의 입력 표면(4)을 사용하여 사용자에 의해 필기된 디지털 잉크의 획(SK)일 수 있다. 하나의 변형예에서, 손에 있는 필기(IN)가 컴퓨팅 장치(DV1)에 의해 획득되지만 입력 표면(4)을 통해 입력되지는 않는다.
도 1에 도시된 바와 같이, 비휘발성 메모리(8)는 컴퓨팅 장치(2)에 의해 획득된 다양한 데이터, 가령, 지정 심볼의 세트(또는 데이터 세트)(ST1), 지정 심볼 인식 규칙의 세트(RL1), 지정 공간 구문 규칙의 세트(RL2) 및 지정 의미 규칙의 세트(RL3)를 저장하는 데 적합하다. 메모리(8)는 또한 잉크-관련 정보(IF1) 및/또는 임베딩 정보(embedding information)(IF2)를 저장할 수 있다. 이들 특징의 특성과 용도는 이후에 더 자세히 설명될 것이다.
특정 실시예에 따라 도 2에 도시된 바와 같이, 메모리(108)에 저장된 애플리케이션(12)을 실행할 때(도 1), 프로세서(6)는 모듈, 즉 제1 인식 모듈(MD2), 심볼 처리 모듈(MD4), 구문 처리 모듈(MD6), 의미 처리 모듈(MD8) 및 선택적으로 후처리 모듈(MD12)을 구현한다.
제1 인식 모듈(MD2)은 디지털 잉크의 복수의 획(SK)에 대한 필기 인식을 수행함으로써 심볼(SB)을 식별하도록 구성될 수 있다.
심볼 처리 모듈(MD4)은, 제1 분류로서, 식별된 심볼(SB) 중 적어도 하나의 제1 심볼(SBa)을, 적어도 제1 임계값에 도달하는 신뢰도 점수를 갖는 텍스트 심볼 후보 또는 수학 심볼 후보로 분류하도록 구성될 수 있다. 이 제1 분류는 제1 인식 모듈(MD2)에 의해 식별된 심볼(SB)에 대해 개별적으로 지정된 심볼 인식 규칙(RL1)을 적용함으로써 수행될 수 있다.
구문 처리 모듈(MD6)은 제2 분류로서 상기 적어도 하나의 제1 심볼(SBa) 이외의 적어도 하나의 제2 심볼(SBb)를 각자의 신뢰도 점수를 갖는 텍스트 심볼 후보 또는 수학 심볼 후보로 분류하도록 구성될 수 있다. 이 제2 분류는 상기 적어도 하나의 제1 심볼(SBa) 및 상기 적어도 하나의 제2 심볼(SBb)에 대해, 상기 적어도 하나의 제1 심볼(SBa)와 상기 적어도 하나의 제2 심볼(SBb) 간 공간 관계를 정의하는 지정 공간 구문 규칙(RL2)을 적용함으로써 수행될 수 있다.
의미 처리 모듈(MD8)은 제3 분류로서, 식별된 심볼(SB) 중 적어도 두 개의 심볼 간 의미 연결을 확립하고 상기 의미 연결을 상기 제2 분류의 결과와 비교함으로써 상기 제2 분류의 결과를 업데이트하거나 확인하도록 구성될 수 있다.
컴퓨팅 장치(DV1)는 상기 제3 분류의 결과에 기초하여(또는 적어도 이에 기초하여) 각각의 심볼(SB)을 텍스트 심볼 또는 수학 심볼로서 인식하도록 구성된다.
후처리 모듈(MD12)은 처리 모듈(MD4, MD6 및 MD8)에 의한 인식이 완료되면 획(SK)에 대한 후처리 동작을 수행하도록 구성될 수 있다.
특정 실시예에서 차후 설명될 바와 같이 애플리케이션(12)은 본 발명의 방법의 단계를 수행하기 위해 앞서 언급된 모듈(MD2-MD12)을 구현하도록 프로세서(6)를 구성하는 명령을 포함한다.
모듈(MD2-MD12)은 각각 하나 이상의 신경망이거나 이를 포함할 수 있다. 이 예에서, 각각의 모듈(MD4, MD6 및 MD8)은 신경망에 의해 실행된다.
컴퓨팅 장치(DV1)의 모듈(MD2-MD12)의 구성 및 동작은 도면을 참조하여 이하에서 설명되는 특정 실시예에서 더 명백할 것이다. 도 2에 도시된 바와 같은 모듈(MD2-MD12)은 본 발명의 예시적인 실시예를 나타내는 것에 불과하고, 다른 구현이 가능하다는 것을 이해해야 한다.
본 발명의 방법의 각각의 단계에 대해, 컴퓨팅 장치(DV1)는 상기 단계를 수행하도록 구성된 대응하는 모듈을 포함할 수 있다.
도 1 및 2에 도시된 컴퓨팅 장치(DV1)에 의해 구현되는 방법은 이제 본 발명의 특정 실시예에 따라, 도 3-15를 참조하여 설명된다. 보다 구체적으로, 컴퓨팅 장치(DV1)는 메모리(8)에 저장된 애플리케이션(12)을 실행함으로써 이 방법을 구현한다.
컴퓨팅 장치(DV1)가 필기(IN)를 획득하고 획득된 필기(IN)에서 수학을 검출하고, 더 구체적으로, 상기 필기(IN)에서 수학 및 텍스트 콘텍스트를 인식하기 위해 필기 인식 애플리케이션(12)을 구현하는 예시적인 시나리오가 고려된다.
더 구체적으로, 획득 단계(S2)(도 3)에서, 컴퓨팅 장치(DV1)는 디지털 잉크 형태의 필기(IN)를 획득한다. 획득된 필기 입력(IN)은 디지털 잉크의 복수의 획(SK)에 의해 형성된다. 이러한 획(SK)은 필기(IN)의 디지털 표현을 구성한다. 획(SK)의 획득된 세트는 각자의 기준선(20)을 따라 연장되는 적어도 하나의 필기 라인(이 예에서는 하나의 라인)을 형성한다고 가정한다.
따라서 컴퓨팅 장치(DV1)는 도 4에 도시된 바와 같이 디스플레이(2) 상에 획득된 획(ST)를 디스플레이한다.
이미 나타난 바와 같이, 각각의 입력 획(SK)은 적어도 획 시작 위치, 획 종료 위치 및 획 시작 위치와 획 종료 위치를 연결하는 경로에 의해 특징 지어진다. 따라서, 예를 들어 문자 "i"(단어 "포인트(point)"에서)의 상단에 위치한 점은 그 자체로 단일 획(SK)을 구성한다.
현재 예에서, S2에서 획득한 입력 획(SK)이 도 4에서와 같이 다음의 필기된 구절을 형성하는 것을 고려한다.
"let p b the point
Figure pct00001
, and let L(c)"
알 수 있는 바와 같이, 획득된 필기(IN)는 기준선(20)을 따라(또는 실질적으로 따라) 확장된다. 이 경우 획득된 필기(IN)는, 이하에서 더 기재될 바와 같이, 필기 라인을 형성하고 다양한 심볼을 포함하는, 문어(영어)로 된 표현 또는 구절이다. 본 예에서, 텍스트 콘텐츠는 하나의 기준선이고, 반면에 수학 콘텐츠는 하나 또는 복수의 기준선으로 가정된다. 그러나 이는 예시에 불과하며, 특히, 언어, 스타일, 형식 등의 다양한 다른 유형, 콘텐츠 및 형태의 필기가 가능함이 고려되어야 한다. 특히, 서로에 대한 획(SK)의 다양한 공간 배열(가령, 다양한 필기 배향, 크기)이 고려될 수 있다.
본 경우에서, 디지털 잉크의 복수의 획(ST)이 컴퓨팅 장치(DV1)의 입력 표면(104)을 사용하여 디스플레이(2)의 입력 영역에서 사용자에 의해 입력되는 것이 가정된다. 사용자는 손이나 손가락으로, 또는 일부 입력 기구, 가령, 입력 표면(4)과 함께 사용되기에 적합한 디지털 펜 또는 스타일러스를 이용해, 입력 획(SK)을 입력할 수 있다. 사용자는 또한, 입력 표면(4)의 근접부에서 모션을 감지하도록 구성된 수단이 사용 중인 경우, 입력 표면(4) 위에 제스처를 만듦으로써 또는 컴퓨팅 장치(DV1)의 주변 장치, 가령, 마우스 또는 조이스틱 등에 의해, 입력 획(SK)을 입력할 수 있다.
그러나 컴퓨팅 장치(DV1)는 임의의 다른 적절한 방식으로 필기(IN)를 획득할 수 있음이 자명할 것이다.
본 예에서, 컴퓨팅 장치(DV1)는 온라인 필기 인식을 수행하기 위해 입력 표면(4)으로 사용자에 의해 입력 받을 때 획(SK)을 획득한다. 컴퓨팅 장치(DV1)는 필기(텍스트 및 수학 콘텐츠)를 하나의 선 레벨에서 검출하고 처리하지만, 다양한 구현이 가능하다. 이하에서 더 설명될 바와 같이, 획(SK)이 시간에 따라 어떻게 서로에 대해 입력되는지를 특징 짓는 시간 정보가 나중에 처리되도록 컴퓨팅 장치(DV1)에 의해 획득된다.
그러나, 본 발명은 오프라인 필기 인식에 유사한 방식으로, 즉, 필기의 정적인 표현을 형성하는 필기의 이미지에 대해 본 발명의 개념을 수행함으로써 적용될 수 있음을 주목해야 한다. 따라서 시간에 따라 획이 서로에 대해 입력되는 방식에 대한 시간 정보는 직접 사용 가능하지 않다. 따라서 본 발명의 개념은 이러한 시간 정보를 사용하지 않고 또는 대안으로 이미지로부터 획을 복구하고 임의의 적절한 인공적인 방식으로 시간 정보를 생성함으로써, 즉, 필기 이미지 및 이들의 알려진 시간 정보를 이용해 신경망을 훈련함으로써, 적용될 수 있다.
식별 단계(S4)(도 3 및 5)에서, 컴퓨팅 장치(DV1)는 디지털 잉크의 획득된 획(SK)에 대해 필기 인식을 수행함으로써 심볼(SB)을 식별한다. 필기 인식(S4)은 인식 분류기(recognition classifier)이거나 이를 포함할 수 있는 제1 인식 모듈(MD2)에 의해 수행된다.
도 5는 본 예에서 획(SK)에 기초하여 컴퓨팅 장치(DV1)에 의해 식별된(S4) 심볼(SB)의 시퀀스를 도시한다.
각각의 심볼(SB)은 하나 또는 복수의 입력 획에 의해 또는 획(SK)의 적어도 일부에 의해 형성된다. 또한, 각각의 심볼(SB)은 심볼의 속성 및 사용되는 콘텍스트에 따라 텍스트 심볼 또는 수학 심볼일 수 있다.
이 방법의 목적은 식별된 심볼(SB) 중에서 수학 심볼을 텍스트 심볼과 구별하는 것이다. 이 경우에, 식별된 심볼(SB)은 적어도 하나의 텍스트 심볼 및 적어도 하나의 수학 심볼을 포함하는 것으로 고려된다. 다만, 획득된 필기(IN)에서 수학 콘텐츠만 또는 텍스트 콘텐츠만 인식되는 경우에도 본 발명이 적용될 수 있음에 유의해야 한다.
필기 인식(S4)을 수행하기 위해, 앞서 언급한 바와 같은 지정 심볼(PSB)의 세트(또는 데이터 세트)(ST)가 사용된다. 더 구체적으로, S2에서 획득된 획(SK)이 지정 심볼(PSB)의 세트(ST)와 비교되고 복수의 획(SK)에 의해 형성된 각각의 심볼(SB)은 지정 심볼(PSB)의 세트(ST) 내에서 각각의 획으로서 S4에서 식별된다. 다시 말해서, 컴퓨팅 장치(DV1)는 S2에서 획득된 다양한 획(SK)(획의 일부분, 전체 획 또는 획 그룹을 취함)을 데이터 세트(ST)에 정의된 임의의 지정 심볼(PSB)과 매칭된다. 이를 위해, 컴퓨팅 장치(DV1)는 사전-저장된 데이터 세트(ST)를 참조하고 데이터 세트(ST)와 획득된 획(SK) 간 다양한 비교를 수행한다.
(S4)에서 획득될 수 있는 각각의 심볼(SB)은 데이터 세트(ST)로부터 학습 가능한 표현을 갖는다는 것을 따른다.
지정 심볼(PSB) 각각은 데이터 세트(ST) 내에서 한 번씩만 발생한다. 지정 심볼(PSB)은 각각 이른바 순수 텍스트 심볼(즉, 텍스트로만 사용되거나 대부분 텍스트로 사용되는 심볼), 이른바 순수 수학 심볼(즉, 수학으로만 사용되거나 대부분 사용되는 심볼) 또는 콘텍스트에 따라 수학 또는 텍스트로서 사용될 수 있는 혼합 텍스트/수학 심볼일 수 있다. 아래에 추가로 표시되는 바와 같이, 각각의 지정 심볼(PSB)은 심볼 인식 규칙(RL1)에 의해 임베딩 정보(IF2)를 할당받을 수 있으며, 여기서 임베딩 정보(IF2)는 상기 지정 심볼(PSB)이 텍스트 또는 수학이라는 신뢰도 점수를 포함한다.
임의의 적절한 비어 있지 않은 데이터 세트(ST)가 사용될 수 있으며, 이는 각각의 경우에 따라 다를 수 있음을 염두에 둔다. 데이터 세트(ST)는 수학 및 텍스트 속성을 고려하여 맞춤형으로 구축될 수 있다. 데이터 세트(ST)는 바람직하게는 수학 및 다중 스크립트로부터의 심볼을 포함함으로써 수학 및 텍스트 구별을 용이하게 하도록 구축된다. 데이터 세트(ST)는 임의의 언어 또는 스크립트로부터의 심볼, 숫자, 악센트, 다중 문자의 악센트 변형, 수학 연산자, 수학 심볼, 수학 표현식에서 자주 사용되는 그리스 문자 등을 포함할 수 있다.
이 데이터 세트(ST)는, 예를 들어, 지연된 획, 심볼 문자 획(가령, 액센트, 다중 획 문자 및/또는 가짜 획)을 검출하도록, 새로운 심볼을 포함시킴으로써 시스템을 잉크의 인간 조작 및 노이즈에 강건하게 만들도록 설계될 수 있다.
본 예에서, S4에서 심볼 인식을 위해 사용된 데이터 세트(ST)가 도 6에 도시되어 있다. 특히, 데이터 세트(ST)는 다음 심볼(또는 다음 심볼 유형 중 적어도 하나 또는 여러 개)을 포함할 수 있다:
- 숫자(가령, "0"에서 "9"까지),
- 임의의 언어 또는 스크립트, 가령, 영숫자 문자(가령, "a" 내지 "z" 및 "A" 내지 "Z"), 키릴 문자, 중국어 등으로부터의 문자,
- 수학 연산자(가령, N-진 수학 연산자) 및 수학 심볼(가령, "+", "=", "-", "*", "(", ")", "[", "]", "{", "}"),
- 문자 기반 심볼, 가령, 그리스어 및 히브리어 문자,
- 문자 수정자, 가령, 막대, 호 등,
- 상기 심볼 중 적어도 두 개의 임의의 조합, 예컨대:
o 표준 수학 함수, 가령, sin, cos, tan, lim 등을 정의하는 영숫자 문자의 조합,
o 주어진 콘텍스트에서 일부 수학적 속성을 갖는 조합, 가령, 변수 이름, 유닛 등, 및
o 공간적 배열, 가령, 행렬, 분수, 위/아랫첨자, 다중 줄 연립 방정식 등에 포함되는 심볼.
도 6의 데이터 세트(ST)에서 볼 수 있는 바와 같이, 일부 지정 심볼(PSB)은 일반적으로 수학적 콘텍스트에서 사용되기 때문에 현재 데이터 세트(ST)에서 순수 수학 심볼(가령, "
Figure pct00002
", "=", "+")로 간주될 수 있다.
식별 단계(S4)에서 심볼(SB)을 식별하기 위해, 컴퓨팅 장치(DV1)는 예를 들어 순차 분류기를 사용하여 임의의 적절한 방식으로 획득된 획(SK)에 대한 필기 인식을 수행할 수 있다. S4에서 각각의 인식된 심볼(SB)은 그 방법에서 나중에 사용하기 위해 인식의 신뢰도 또는 관련도를 나타내는 각각의 인식 비용과 결합될 수 있다. 사용자마다 동일한 심볼을 약간씩 다르게 쓰는 것이 자연스러울 수 있기 때문에 S4에서의 필기 인식에서 생성된 결과가 항상 확실하지는 않다. 심볼 분류기는 각각의 심볼이 올바른 또는 의도된 심볼로 여전히 인식되면서 입력될 수 있는 다양한 방법을 수용할 수 있는 것이 바람직하다.
본 발명의 경우, 애플리케이션(12)은 필기 인식을 수행하기 위해 S4에서 심볼 분류기로서 동작하는 제1 인식 모듈(MD2)을 포함한다. 대안으로, 제1 인식 모듈(MD2)은 컴퓨팅 장치(DV1)에 원격인 필기 인식 시스템과 통신하기 위한 모듈일 수 있으며, 가령, 적절한 통신 링크를 통해 컴퓨팅 장치(DV1)에 의해 원격으로 액세스 가능한 도 1에 도시된 서버(SV1)일 수 있다.
제1 인식 모듈(MD2)에 의해 수행되는 필기 인식 프로세스의 속성 및 구현은 경우에 따라 달라질 수 있다. 필기 인식은 컴퓨팅 장치(DV1)에서 완전히 로컬로 수행되거나 예를 들어 원격 서버(SV1)(도 1)를 사용하여 적어도 부분적으로 원격으로 수행될 수 있다.
특징 추출 단계(S6)에서, 컴퓨팅 장치(DV1)는 식별된 심볼(SK)에 대한 특징 추출을 수행하여 각각의 심볼(SK)을 형성하는 디지털 잉크를 나타내는 잉크-관련 정보(IF1)를 획득할 수 있다. 다시 말해서, 본 발명에서, 잉크-관련 정보(IF1)는 연관된 심볼(SB)이 필기되는 방식을 나타낸다. 이 특징 추출 단계(S6)는 식별 단계(S4)의 일부로서 수행되거나 식별 단계(S4) 전에 적어도 부분적으로 수행될 수 있다. 잉크-관련 정보(IF1)는 향후 분류 프로세스(S10) 동안 나중에 사용되도록 S6에서 획득된다(도 3).
본 예에서, 특징 추출 단계(S6) 동안, 컴퓨팅 장치(DV1)는 (S4)에서 식별된 각각의 심볼(SB)에 대해, 상기 심볼을 형성하는 각각의 획(SK)에 기초하여 잉크-관련 정보(IF1)를 계산한다. 각각의 심볼(SB)에 대해, 연관된 잉크-관련 정보(IF1)는 다음을 포함할 수 있다:
- 상기 심볼(SB)을 형성하는 하나 이상의 획(SK)의 고유 속성을 특징 짓는 심볼 정보(IF1a), 및
- 복수의 획(SK)의 적어도 하나의 각자의 순서에 따라, 상기 심볼(SB)을 형성하는 하나 이상의 획(SK)과 공간적으로 관련된 적어도 하나의 다른(또는 이웃하는) 획(SK)을 특징 짓는 콘텍스트 정보(IF1b).
S6에서 획득된 잉크-관련 정보(IF1)는 각각의 심볼(SB)을 수학 심볼 후보 또는 텍스트 심볼 후보로 분류하기 위해(이하에서 더 설명됨), 적어도 차후의 제2 분류(S16) 및 제3 분류(S18)에서, 그리고 아마도 제1 분류(S12)에서도 사용될 수 있다.
더 구체적으로, 심볼 정보(IF1a)는 연관된 심볼(SK) 자체, 즉, 필기(IN)에서 주변 잉크와 관계없이 하나 이상의 구성 획(SK)의 고유 속성을 특징짓는다. 심볼 정보(IF1a)는 분류 특징, 심볼 위치 특징 및 심볼 설명 특징의 범주 중 임의의 하나(또는 모두)를 포함할 수 있다.
앞서 언급된 분류 특징은 필기 인식(S2) 동안에 인식 분류기(제1 인식 모듈(MD2))에 의해 각자의 심볼(SB)에 할당된 인식 비용(들)을 포함한다. 잉크 또는 심볼을 처리하는 데 추가 분류기가 사용되는 경우(가령, 기준선 대 비기준선 획 라벨링) 각각의 심볼(SB)와 관련된 분류 특징에 더 많은 비용이 추가될 수 있다.
앞서 언급된 심볼 위치(또는 공간) 특징은 기준선(20)에 대한 연관된 심볼(SB)의 위치와 관련된 정보(예를 들어, 기준선으로부터의 높이 거리, 기준선의 시작으로부터의 거리 ...)를 포함한다. 예를 들어, 본 예시(도 5-6)에서, 수학식 "
Figure pct00003
"의 심볼 "2"는 기준선(20)으로부터 임계 거리보다 높기 때문에 윗첨자로 특성화되고 인식될 수 있다. 기준선(20)은 예를 들어, 필기 라인의 모든 획(SK)을 분석함으로써, 임의의 적절한 방식으로 계산될 수 있다. 로컬 기준선이 또한 필기 라인의 특정 영역, 즉 관심 획 또는 심볼 부근의 일부 획(SK)만 분석함으로써 계산될 수 있다. 이 로컬 기준선은 특히 획 수가 많은 라인에서 윗첨자 및 아랫첨자와 같은 편차를 더 잘 감지하기 위해 로컬 변형 캡처를 용이하게 할 수 있다. 특정 관심 영역에서 모든 획의 중심의 평균인 선을 계산함으로써 기준선(20) 또는 로컬 기준선을 계산하는 알고리즘을 사용하는 것이 가능하다.
앞서 언급된 심볼 기술 특징은 주어진 심볼(SK)에 포함된 각각의 획(SK)에 대한 기술 특징을 포함한다. 이러한 정보는 예를 들어 연관된 심볼(SK) 및 그 주변의 바이너리 또는 포인트 카운트 비트맵을 포함할 수 있다. 심볼 설명 특징은 또한 심볼의 디지털 잉크로부터 컴퓨팅 장치(DV1)에 의해 계산된 수작업 특징, 예를 들어, 획의 최소, 최대 및/중간 또는 획의 일부분을 포함할 수 있다.
또한, 앞서 언급된 바와 같이 콘텍스트 정보(IF1b)는 복수의 획(SK)의 적어도 하나의 각자의 순서에 따라, 상기 심볼(SB)을 형성하는 하나 이상의 획(SK)과 공간적으로 관련된 적어도 하나의 다른(또는 이웃하는) 획(SK)을 특징 짓는다. 콘텍스트 정보(IF1b)는 하나 이상의 타 이웃 심볼(SK)에 대한 관심 심볼(SK)의 상대적인 특징을 특징 짓는 심볼 콘텍스트 특징을 포함할 수 있다.
획(SK)의 다양한 순서는 콘텍스트 정보(IF1b)를 생성하기 위해 사용될 수 있다. 예를 들어, 컴퓨팅 장치(DV1)는 다음의 순서 중 임의의 하나를 선택하여 각각의 심볼(SK)에 대해 콘텍스트 정보(IF1b)를 정의할 수 있다: 심볼 분류 디폴트 순서(즉, 제1 인식 모듈(MD2)에 의해 S4에서 심볼(SB)이 인식되는 심볼 출력 순서), 획득된 필기(IN)에 대한 각각의 심볼(SB)의 상대적 위치를 나타내는 공간 순서(가령, 기준선(20)에 따르는 X 위치), 및 각각의 심볼(SB)이 입력된 상대적 시간을 나타내는 시간 순서 또는 상대적 순서(가령, 각각의 심볼(SK)의 가장 최근 획(SK)을 이용하여 심볼을 인덱싱하고 정렬함). 임의의 선택된 순서에 대해, 앞서 언급된 심볼 콘텍스트 특징은 적어도 하나의 타 이웃 특징과 관련하여 각각의 심볼(SB)에 대해 계산될 수 있다(예를 들어, 관심 심볼 직전의 획 및 관심 심볼 직후의 획을 고려함).
앞서 지적한 바와 같이, 본 발명의 경우 획(SK)이 서로에 대해 필기되는 시간 순서를 나타내는 시간 정보를 갖는 온라인 필기로서 S2(도 3)에서 이전에 획득되었다고 가정한다. 따라서, 앞서 언급된 콘텍스트 정보는 (S4)에서 인식된 각각의 심볼(SB)에 대해, 복수의 획(SK)의 적어도 시간 순서에 따라, 상기 심볼(SB)을 형성하는 하나 이상의 획(SK)과 공간적으로 관련된 적어도 하나의 이웃 획(SK)을 특성화한다.
심볼 콘텍스트 특징은 예를 들어 다음 중 하나(또는 모두)를 포함할 수 있다:
- 관심 심볼과 적어도 하나의 이웃 심볼 간 공유 획을 나타내는 공유 획 정보,
- 적어도 하나의 이웃 심볼에 대한 관심 심볼의 상대적 변위(예를 들어, 기준선(20)의 배향 X을 따라 및/또는 X에 수직인 배향 Y를 따르는 변위)를 나타내는 변위 정보,
- 적어도 하나의 이웃 심볼에 대한 관심 심볼의 겹침(예를 들어, 기준선(20)의 배향 X을 따라 및/또는 X에 수직인 배향 Y를 따르는 변위)를 나타내는 겹침 정보, 및
- 관심 심볼과 적어도 하나의 이웃 심볼의 각자의 무게 중심들 간 거리를 나타내는 거리 정보.
심볼 콘텍스트 특징은 다양한 유형의 심볼 및 필기 스타일, 가령, 필기체 텍스트, 심볼들 사이의 공백, 아랫첨자 및 윗첨자 같은 공간 관계, 수학 심볼들 간 분수 등을 포착할 수 있다.
앞의 내용으로부터 자명하듯이, 단계(S6)에서(도 3) 대응하는 획(SK)에 기초하여 식별된 각각의 심볼(SB)로부터 추출된 잉크-관련 정보(IF1)는 각각의 경우에 따라 다양한 성질을 가질 수 있다. 따라서, 심볼 정보(IF1a) 및 콘텍스트 정보(IF1b)는 단지 예로서 제공되며, 다른 구현도 가능하다.
분류 프로세스(S10)(도 3 및 7)에서, 컴퓨팅 장치(DV1)는 S6에서 계산된 잉크-관련 정보(IF1)에 기초하여 그리고 이하에서 더 기재될 바와 같이 각각의 획득된 심볼(SB)에 귀속된 임베딩 정보(IF2)에 기초하여, S4에서 식별된 각각의 심볼(SB)을 텍스트심볼 후보 또는 수학 심볼 후보로 분류한다. 분류 프로세스(S10)는 세 개의 다른 전문가 모듈, 즉 처리 모듈(MD4, M6 및 MD8)을 사용하여 각각 세 개의 상이한 레벨, 즉, 심볼 표현 레벨의 제1 분류(S12), 구문 레벨의 제2 분류(S14) 및 의미 레벨의 제3 분류(S18)를 수행할 수 있다.
더 구체적으로, 제1 분류(S12)에서, 컴퓨팅 장치(DV1)는 심볼(SB)에 지정 심볼 인식 규칙(RL1)을 개별적으로 적용함으로써 식별된 심볼(SB)로부터 적어도 하나의 제1 심볼(SB1로 표기됨)을 적어도 제1 임계값(TH1)에 도달하는 신뢰도 점수를 갖는 텍스트 심볼 후보 또는 수학 심볼 후보로 분류한다.
제1 분류(S12)는 각각의 관심 심볼(SB)의 콘텍스트 분석을 필요로 하지 않는 심볼 레벨 분석을 기반으로 한다. 따라서, S6에서 계산된 심볼 콘텍스트 정보(IF1b)는 제1 분류(S12)에서 사용되지 않는다. 심볼(SB)은 예를 들어 S6에서 획득된 심볼 정보(IF1a)에 기초하여 고유 속성에 기초하여 분류된다. 특정한 예에서, S6에서 획득된 잉크-관련 정보(IF)는 제1 분류(S12)에서 사용되지 않는다.
실질적으로, 컴퓨팅 장치(DV1)는 비교적 양호한 신뢰도를 갖는 텍스트 심볼 후보 또는 수학 심볼 후보로 분류될 수 있는 각각의 심볼(SB)을 단계(S12)에서 검색한다.
앞서 나타낸 바와 같이, S4에서 식별된 각각의 심볼(SB)은 데이터 세트(ST)의 지정 심볼(PSB) 중 하나로 인식된다(도 6). 따라서 각각의 식별된 심볼(SB)은 수학으로 사용될 가능성이 가장 높은 순수 수학 심볼(SB), 텍스트로서 사용될 가능성이 가장 높은 순수 텍스트 심볼(SB), 콘텍스트에 따라 수학 또는 텍스트로 사용될 수 있는 모호한 혼합 수학/텍스트 심볼일 수 있다. 제1 분류(S12)는 식별된 심볼(SB) 중에서 순수 텍스트 심볼 또는 순수 수학 심볼에 해당하는 각각의 심볼, 즉, 텍스트이거나 수학인 가능성이 제1 임계값(TH1) 이상인 각각의 심볼을 식별하는 것을 가능하게 한다. 순수한 수학 심볼은 매우 특정한 상황에서 텍스트로 사용될 가능성이 여전히 매우 낮을 수 있으며 - 0은 아님 - , 순수 텍스트 심볼의 경우 그 반대일 수 있다. 따라서, 제1 임계값(TH1)은 임의의 적절한 확률 값, 예를 들어 90%와 100% 사이, 예를 들어 약 95%로 지정될 수 있다.
따라서 제1 분류(S12)는, 메모리(8)에 사전 저장된 지정 심볼 인식 규칙(RL1)을 적용시킴으로써, 제1 결과(RS1)로서, 비교적 좋은 신뢰도 점수를 갖고, 하나 이상의 심볼- 이른바 제1 심볼(SB1) - 의 초기 텍스트/수학 라벨링(또는 분류)을 생성한다. 따라서 이 제1 결과(RS1)에서, 이들 제1 심볼(SB1) 각각은 비교적 높은, 즉, 적어도 지정 제1 임계값(TH1)에 도달하는 각각의 신뢰도 점수를 갖는 수학 심볼 후보 또는 텍스트 심볼 후보로서 분류된다. 이하에서 더 설명될 바와 같이, 이들 초기 분류 및 각자의 신뢰도 점수는 분류 프로세스 S10에서 차후에 업데이트될 수 있다.
본 예에서, 지정 심볼 인식 규칙(RL1)은 지정 심볼(PSB)의 세트의 각각의 심볼에, 상기 지정 심볼이 텍스트 또는 수학이라는 각자의 신뢰도 점수를 포함하는 임베딩 정보(IF2)를 귀속(또는 할당)시킨다. 다시 말해서, 임베딩 정보(IF2)는 데이터 세트(ST)의 각각의 지정 심볼(PSB)에 대해 연관된 신뢰도 점수와 함께 텍스트 또는 수학으로서의 분류를 포함하는 임베딩 정보(IF2)를 정의한다. 이들 임베딩 정보(IF2)는 순환 신경망을 이용하여 미리 학습될 수 있다. 데이터 세트(ST)의 각각의 지정 심볼(PSB)의 신뢰도 점수는 텍스트 또는 수학 표현식에서 심볼의 고유한 발생 빈도와 심볼의 고유 속성을 기반으로 미리 계산될 수 있다. 훈련 프로세스 동안, 텍스트/수학 분류 및 연관된 신뢰도 점수가 예를 들어 신경망의 역전파 기울기에 기초하여, 필기된 잉크 샘플로 반복적으로 업데이트될 수 있다.
지정 심볼 인식 규칙(RL1)은 데이터 세트(ST)의 각각의 지정 심볼(PSB)에 텍스트 또는 수학으로 분류하는 데 유용한 임베딩 정보(IF2)의 추가 정보를 지정할 수 있다. 이러한 추가 보완 정보는 수학 및 텍스트 심볼에 대한 임의의 적절한 식별 언어 정보를 포함할 수 있다.
유사한 지정 심볼(PSB)은 동일한 임베딩 정보(IF2), 또는 적어도 동일한 텍스트/수학 분류 및 동일한 관련 신뢰도 점수를 공유하는 동일한 심볼 그룹의 일부로 정의될 수 있다. 예를 들어, 속성이 유사한 심볼 "(", "[" 및 "{"는 동일한 임베딩 정보(IF2)를 공유할 수 있다. 임베딩 정보(IF2)의 크기는 경우에 따라 조정되어 신경망의 성능을 최대화하고 계산 시간과 자원을 최소화할 수 있다.
본 예에서, 제1 분류(S12) 동안(도 3), 컴퓨팅 장치(DV1)는 S4에서 식별된 각각의 심볼(SB)에 대해 심볼 인식 규칙(RL1)에 의해 상기 심볼에 귀속되는 임베딩 정보(IF2)를 결정할 수 있으며, 이들 임베딩 정보(IF2)는 상기 지정 심볼이 텍스트 또는 수학이라는 각자의 신뢰도 점수를 포함한다. 그런 다음 컴퓨팅 장치(DV1)는 임베딩 정보(IF2) 내에 정의된 각각의 식별된 심볼(SB)의 각자의 신뢰도 점수를 제1 임계값(TH1)과 비교하여 적어도 하나의 제1 심볼(SB1)을 적어도 상기 제1 임계값(TH1)을 획득한(상기 임계값 이상인) 신뢰도 점수를 갖는 텍스트 심볼 후보 또는 수학 심볼 후보로서 식별할 수 있다.
특정 예에서, 잉크-관련 정보(IF1) 및 임베딩 정보(IF2)는 제1, 제2 및 제3 분류(S12-S18)를 각각 수행하기 위해 처리 모듈(MD4, MD6 및 MD8)에 정보 세트 또는 정보 벡터로서 함께 공급된다.
제1 분류(S12)는 수학에서만(또는 대부분) 또는 텍스트에서만(또는 대부분) 발생하는 심볼(SB)을 식별하는 것을 가능하게 하기 때문에, 양호한 신뢰도로 부분 텍스트/수학 라벨링이 달성될 수 있다. 대부분의 경우, 일부 심볼(SB)은 혼합 수학/텍스트 심볼일 것이며 따라서 이 단계에서 각각의 신뢰도 점수와 함께 텍스트/수학 분류가 할당되지 않을 것이다.
도 7에 도시된 예에서, 제1 분류(S12) 동안, 이들 심볼에 지정 심볼 인식 규칙(RL1)을 개별적으로 적용함으로써, 심볼 "∈" 및 "
Figure pct00004
"은 적어도 제1 임계값(TH1)에 도달하는 각자의 신뢰도 점수를 갖는 수학 심볼 후보로 분류된다. 따라서 이들 심볼 "∈" 및 "
Figure pct00005
"은 본 발명의 의미와 함께 제1 심볼(SB1)을 구성한다. 이들 심볼 "∈" 및 "
Figure pct00006
"은 수학적 의미에서 가장 많이 사용되는 잘 알려진 수학 심볼이므로 수학 심볼 후보로 비교적 높은 신뢰도를 가진다.
도 8은 제1 분류(S12) 동안 제1 심볼(SB1)로 분류될 수 있는 순수 수학 심볼의 다른 예를 도시한다.
순수 텍스트 심볼로 간주되는 심볼은 예를 들어 수학에서 일반적으로 사용되지 않는 통화 심볼(가령, "$", "€" 등), 글머리, 공백(단어 사이), 따옴표 ""와 같은 텍스트 구두점, 세미콜론 ";" 등을 포함할 수 있다.
하나의 변형예에서, 제1 분류(S12) 동안(도 3), S4에서 식별된 각각의 심볼(SB)은 지정된 심볼 인식 규칙(RL1)을 개별적으로 적용함으로써 각자의 신뢰도 점수를 갖는 텍스트 심볼 후보 또는 수학 심볼 후보로서 분류된다. 즉, 임시 신뢰도 점수를 갖는 임시 문자/수학 분류는 모호한 혼합 문자/수학 심볼을 포함하는 각각의 심볼(SB)에 귀속될 수 있고, 향후 분류 과정(S10) 동안 업데이트될 수 있다. 따라서 모호한 혼합 텍스트/수학 심볼은 순수 텍스트 및 순수 수학 심볼과 비교하여 이 단계에서 더 약한 텍스트/수학 분류 신뢰도 점수를 할당 받는다. 따라서, 제1 분류(S12)에 의해 생성된 제1 결과(RS1)는 각자의 신뢰도 점수가 적어도 제1 임계값(TH1)에 도달하는 텍스트 심볼 후보 또는 수학 심볼 후보로 식별된 적어도 하나의 제1 심볼(SB1)에 더하여, 각각의 타 심볼(SB)에 대한 각자의 신뢰도 점수를 갖는 임시 텍스트/수학 분류를 포함할 수 있다.
이 변형예에서, S4에서 식별된 각각의 심볼(SB)은 따라서 지정 심볼 인식 규칙(RL1)에 기초하여, 상기 심볼이 텍스트 또는 수학이라는 각자의 신뢰도 점수를 포함하는 임베딩 정보(IF2)에 기인한다.
반복 프로세스 S14(도 3)는 제1 분류의 결과(RS1)에 기초하여 분류 프로세스(S10)의 일부로 수행되어 식별된 심볼(SB) 각각에 대한 적절한 분류를 연관된 신뢰도 점수를 갖는 텍스트 심볼 또는 수학 심볼로 결정한다. S12에서 얻은 초기 텍스트/수학 분류 또는 라벨링은 이제 구문 및 의미 분석에 기초한 필기(IN) 내의 텍스트/수학 분류를 확장(또는 개선)하는 데 사용된다.
더 구체적으로, 제2 분류(S16) 및 제3 분류(S18)는 각각의 관심 심볼(SB)의 콘텍스트를 고려하지만 다른 방식의 분석을 기초로 한다. 따라서, S6에서 계산된 심볼 콘텍스트 정보(IF1b)는 제2 및 제3 분류(S16, S18)에서 입력으로서 사용된다.
이 반복적인 프로세스(S14)는 제2 분류(S16) 및 제3 분류(S18)를 포함하며, 이들은 각각 한 번만 수행되거나 이하에서 추가로 설명되는 적절한 횟수로 반복될 수 있다.
도 3에 도시된 바와 같이, 적어도 S12에서 식별된 각각의 제1 심볼(SB1)의 초기 텍스트/수학 분류 및 각각의 신뢰도 점수를 포함하는 결과(RS1)는 구문 처리 모듈(MD6)로 공급되어 제2 분류(S16)를 수행할 수 있다.
제2 분류(S16)에서, 컴퓨팅 장치(DV1)는, 식별된 심볼(SB) 중에서, 상기 적어도 하나의 제1 심볼(SB1) 및 적어도 하나의 제2 심볼(SB2)에 대해 상기 적어도 하나의 제1 심볼(SB1)과 상기 적어도 하나의 제2 심볼(SB2) 간 공간 관계를 정의하는 지정 공간 구문 규칙(RL2)을 적용함으로써, 상기 적어도 하나의 제1 심볼(SB1)이 아닌 다른 적어도 하나의 제2 심볼(SB2)을 각자의 신뢰도 점수를 갖는 텍스트 심볼 후보 또는 수학 심볼 후보로 분류한다.
실질적으로, 컴퓨팅 장치(DV1)는 지정 공간 구문 규칙(RL2)에 기초하여, 그들이 함께 공유하는 구문 연결의 결과로서 S12에서 식별된 하나 이상의 제1 심볼(SB1)과 지정 공간 관계를 갖는 심볼(SB2)를 검색한다(S16). 이 구문 분석에 기초하여, 상기 제1 심볼(SB1)이 아닌 라는 하나 이상의 이른바 제2 심볼(SB2)은 텍스트 심볼 후보 또는 수학 심볼 후보로 분류될 수 있다.
공간 구문 규칙(RL2)은 구문 연결에 따라 수학 및/또는 텍스트 심볼과 적어도 하나의 다른 심볼 사이의 공간 관계를 정의한다. 더 구체적으로, 각각의 공간 구문 규칙(RL2)은 아래의 예들에서 더 설명되는 바와 같이 지정 수학 또는 텍스트 심볼과 적어도 하나의 다른 심볼 사이의 공간 관계를 정의할 수 있다.
제2 분류(S16) 동안, 따라서 공간 구문 규칙(RL2)은 각각의 제1 심볼(SB1)에 적용되어 하나 이상의 제1 심볼과 지정 공간 관계를 갖는 적어도 하나의 다른 제2 심볼(SB2)를 따라서 수학 심볼 후보 또는 텍스트 심볼 후보로 식별할 수 있다. 더 구체적으로, 공간 구문 규칙(RL2)은 제1 분류(S12)에서 제1 심볼(SB1)에 할당된 임시 신뢰도 점수를 고려하고 필요한 경우 업데이트하여 모든 심볼(SB)에 적용될 수 있다.
공간 구문 규칙(RL2)은 당면한 규칙의 유형에 따라 하나의 제1 심볼(SB1) 또는 제1 심볼 그룹(SB1)에 적용될 수 있다. 따라서 공간적으로 관련된 심볼 그룹을 집합적으로 식별하고 분류할 수 있다.
따라서 이 제2 분류(S16)는 상대적으로 좋은 신뢰도로 식별된 제1 심볼(SB1)에 주로 초점을 맞춰 구문 연결을 공유하는 다른 심볼(SB2)를 식별하고 분류함으로써 S12에서 얻은 부분적(또는 적어도 초기) 텍스트/수학 분류를 확장하거나 통합할 수 있게 한다. 따라서 보다 모호한 심볼(순수한 텍스트 심볼 및 수학 심볼 제외)의 텍스트/수학 라벨을 효율적이고 신뢰할 수 있는 방식으로 달성할 수 있다.
공간 구문 규칙(RL2)은 다음 중 적어도 하나를 포함할 수 있다:
- 적어도 두 개의 수학 심볼 사이의 공간 관계를 정의하는 수학 공간 구문 규칙(RL2a), 및
- 적어도 두 개의 텍스트 심볼 사이의 공간 관계를 정의하는 텍스트 공간 구문 규칙(RL2b).
이 경우, 공간 구문 규칙(RL2)은 수학 공간 구문 규칙과 텍스트 공간 구문 규칙을 포함하는 것으로 가정한다.
수학 심볼의 경우 다양한 공간적 관계가 고려될 수 있다. 공간 구문 규칙(RL2)은 예를 들어 베이스 심볼과 아랫첨자(가령, 베이스 심볼의 오른쪽 하단에 위치) 간 공간 관계, 베이스 심볼과 윗첨자(가령, 기본 심볼의 오른쪽 상단에 위치) 간 공간 관계, 분수 막대 위와 아래의 분자/분모를 갖는 분수의 공간 관계, 집합을 나타내기 위해 쌍으로 나타나는 대괄호의 공간 관계 등을 정의할 수 있다.
특정 예에서 수학 공간 구문 규칙(RL2a)은 다음과 같이 공간 관계를 정의한다:
- 분자 성분과 분모 성분을 분리하는 분수 막대를 포함하는 분수,
- 하나 이상의 베이스 심볼의 왼쪽 상단 또는 왼쪽 하단에 각각 위치하는 하나 이상의 심볼과 연관된 윗첨자 및 아랫첨자,
- 하나 이상의 베이스 심볼 위 및 아래에 각각 배치된 하나 이상의 심볼과 연관된 윗첨자 및 아랫첨자, 및
- 표 형식으로 배열된 심볼의 복수 행 및 열과 연관된 행렬(행렬은 각각의 경우에 따라 기호를 그룹화하기 위해 중괄호가 있거나 없을 수 있다).
더 많은 수학 공간 구문 규칙(RL2a), 가령, 선행윗첨자, 선행아랫첨자, 주변 규칙(surrounding rule), 가령, 제곱근 심볼이 예를 들어 라텍스(Latex) 수학 스크립팅에서 차용하여 구문 처리 모듈(구문 전문가)(MD6)을 더욱 풍부하게 하고 심볼들 간 더 많은 공간적 관계를 수용할 수 있다.
텍스트의 경우, 공간 구문 규칙(RL2)은 예를 들어 구두점, 글머리 심볼, 참조 등에 기초하여 텍스트 심볼 사이의 공간 관계를 정의할 수 있지만 다른 예도 가능하다.
제2 분류(S16)를 수행하기 위해 구문 처리 모듈(구문 전문가)(MD6)은 S12에서 심볼 처리 모듈(MD4)에 의해 수학으로 분류된 각각의 제1 심볼(SB1)을 식별하고 이들 심볼이 수학 공간 구문 규칙(RL2a)을 만족할 때 적어도 하나의 타 이웃(또는 공간적으로 관련된) 심볼(SB2)도 수학으로 라벨링할 수 있다. 마찬가지로, 구문 처리 모듈(구문 전문가)(MD6)은 S12에서 심볼 처리 모듈(MD4)에 의해 텍스트로 분류된 각각의 제1 심볼(SB1)을 식별하고 이들 심볼이 텍스트 공간 구문 규칙(RL2b)을 만족할 때 적어도 하나의 타 이웃(또는 공간적으로 관련된) 심볼(SB2)도 텍스트로 라벨링할 수 있다.
다시 말해, 제2 분류(S16)는 다음 중 적어도 하나를 포함한다:
- 상기 수학 공간 구문 규칙(RL2a)을 적용하여, 각자의 수학 심볼 후보로서, 제1 분류(S12)에서 수학 심볼 후보로서 식별된 적어도 하나의 제1 심볼(SB1)과 지정 공간 관계를 갖는 적어도 하나의 다른 제2 심볼(SB2)을 각자의 수학 심볼 후보로서 식별하는 것, 및
- 상기 텍스트 공간 구문 규칙(RL2b)을 적용하여, 각자의 수학 심볼 후보로서, 제1 분류에서 수학 심볼 후보로서 식별된 적어도 하나의 제1 심볼(SB1)과 지정 공간 관계를 갖는 적어도 하나의 다른 제2 심볼(SB2)을 각자의 수학 심볼 후보로서 식별하는 것.
제2 분류(S16)에서, 구문 처리 모듈(구문 전문가)(MD6)은 실제로 모든 심볼(SB)을 검사하고 지정(수학 또는 텍스트) 공간 구문 규칙(RL2) 중 하나를 충족하는 두 개 이상의 심볼의 각각의 세트를 식별하고 이에 따라 이들 심볼을 라벨링할 수 있다.
본 예의 도 9에 도시된 바와 같이, 제1 분류(S12) 동안, 제1 분류(S12)에서 수학 심볼 후보로 이전에 분류된 제1 심볼 "∈" 및 "
Figure pct00007
"에 공간 구문 규칙(RL2)이 적용된다. 공간 구문 규칙(RL1)에 지정된 것처럼, 일반적으로 심볼 "∈"("~에 속함") 앞뒤에 수학 심볼이 있으며 일반적으로 심볼 "
Figure pct00008
"("실수 집합")과 연관된 수학 윗첨자가 존재한다. 따라서 컴퓨팅 장치(DV1)는 S16에서 심볼 "∈" 앞에 있는 닫는 괄호 ")"와 심볼 "
Figure pct00009
"의 오른쪽 상단에 있는 윗첨자 "2"를 수학 심볼 후보로 분류한다. 특히, 심볼 "2"는 수학 심볼의 윗첨자로 나타난다. 따라서 이는 윗첨자 규칙(RL1)에 의해 수학으로 라벨링된다. 이 닫는 괄호 ")"에 지정 공간 구문 규칙(RL2)을 적용함으로써, 닫는 괄호 ")" 앞에 공간적으로 관련된 여는 괄호 "("도 또한 S16에서 수학 심볼 후보로 분류된다. 닫는 괄호 ")"는 일반적으로 "(" 단독으로 사용할 수 없기 때문에 적용 가능한 구문 규칙(RL2)은 여는 괄호 "("를 닫는 괄호 ")"와 공간적으로 관련된 것으로 정의한다.
마찬가지로, 다른 공간 구문 규칙 RL2를 적용함으로써, 컴퓨팅 장치(DV1)는 S16에서 수학 심볼 후보로서 이중 괄호 내의 각각의 분수의 분자, 분모 및 분수 막대를 분류한다. 각각의 신뢰도 점수가 계산되고 S16에서 분류된 각각의 제2 심볼(SB2)에 할당된다.
도 10은 다른 예시적인 예로서 구문 처리 모듈(MD6)이 구문적 연결, 즉 수학 기본 심볼의 수학 윗첨자로 공간 관련 심볼을 식별하는 경우를 보여준다. 윗첨자와 함께 모든 심볼을 수학으로 일관되게 태그할 수 있지만 이들 심볼은 개별적으로 검사되는 경우 수학 심볼이 아닐 수도 있다(순수 수학 심볼 아님).
도 3에 도시된 바와 같이, 제2 분류(S12)는 따라서 지정 공간 구문 규칙(RL2)을 적용함으로써 제1 및 제2 심볼(SB1, SB2)의 확장된 텍스트/수학 라벨링(분류)을 각각의 신뢰도 점수와 함께 포함하는 제2 결과(RS2)를 생성한다. 이 제2 결과(RS2)에서, 텍스트/수학 분류 및 S12에서 획득된 각각의 제1 심볼(SB1)의 연관된 신뢰도 점수가 유지된다. 따라서 텍스트/수학 라벨링 및 신뢰도 점수는 S16에서 식별된 각각의 제2 심볼(SB2)에 할당될 수 있다.
특정 예에서, S12에서 분류된 하나 이상의 제1 심볼(SB1)이 아닌 다른 각각의 심볼(SB)은 제2 심볼(SB2)로서 처리되고 따라서 텍스트 심볼 후보 또는 수학 심볼 후보로 분류되고 공간 구문 규칙(RL2)에 기초하여 각자의 신뢰도 점수를 할당 받는다. 다른 예에서, 하나 이상의 심볼은 이 단계에서 분류되지 않은 채로 남아 있을 수 있고 앞으로의 제3 분류(S18) 동안 또는 반복 프로세스(S14)의 다른 반복(존재한다면) 동안 나중에 분류될 수 있다. 다시 말해서, 제2 분류(S16)는 확장되었지만 여전히 부분적인 텍스트/수학 라벨링일 수 있거나 필기(IN)의 임시 완전한 텍스트/수학 라벨링일 수 있다.
제1 분류(S12)에서 이미 임시 텍스트/수학 라벨링 및 신뢰도 점수가 이미 할당된 각각의 제2 심볼(SB2)(있는 경우)에 대해, 제2 분류(S16) 동안 업데이트되거나 확인될 수 있다.
그런 다음 구문 처리 모듈(MD6)은 제2 결과(RS2)를 의미 처리 모듈(MD8)에 공급하여 제3 분류(S18)를 수행한다.
제3 분류(S18)(도 3) 동안, 구문 처리 모듈(MD8)은 S4에서 식별된 심볼(SB) 중 적어도 두 개의 심볼(SB) 사이에 의미 연결(또는 의미 관계 또는 의미 연관)을 설정함으로써 제2 분류(S16)의 수신된 결과(RS2)를 업데이트하거나 확인한 후 이들 의미 연결을 제2 분류(S16)의 결과(RS2)와 비교한다.
실질적으로, 구문 처리 모듈(MD8)은 지정 의미 규칙(RL3)을 적용하여 심볼들 간 의미론적으로 유의미한 연결(또는 의미론적으로 유의미한 관계)에 기초하여 모든 심볼(SB)에 대한 더 심층적인 분석을 수행함으로써 수학 및/또는 텍스트 콘텐츠를 찾을 수 있다. 다시 말해, 제3 분류(S18) 동안 컴퓨팅 장치(DV1)는 심볼(SB)의 의미에 기초하여 의미 레벨에서 심볼을 분석하여 심볼(SB) 간의 의미 관계를 설정할 수 있다. 이들 의미 연결은 보다 인간 레벨의 현실적이며 지능적인 수학 대 텍스트 구별을 생성하는 데 사용할 수 있다. 식별된 의미 연결(또는 의미 관계)은 각 경우에 따라 하나의 라인, 단락 또는 완전한 필기 콘텐츠(IN)에 걸쳐 확장될 수 있다.
의미 연결(또는 의미 관계)은 두 개(또는 그 이상)의 심볼(SB) 사이의 의미 레벨에서 관계를 정의할 수 있으며, 이는 임의의 특정 유형의 순서(공간적, 시간적 또는 임의의 복잡한 순서)에서 연속적이거나 인접하지 않은 심볼일 수 있다. 의미 연결은 심볼, 단어, 구절, 문장 또는 더 큰 문서 단위 레벨로 설정될 수 있다. 예를 들어, 주어진 두 개의 심볼(SB)이 주어진 언어에 따라 동일한 기원 또는 개념적 뿌리를 갖는다면 문서에서의 실제 의미를 기반으로 의미론적으로 연결된 것으로 간주될 수 있다. 예를 들어, 도 12a(아래에서 자세히 설명)에서 첫 번째로 분리된 "n"(심볼(SB3))은 구절 끝에 있는 마지막 수학 표현식의 "n"과 동일한 심볼이므로 이들 심볼 "n"은 동일한 정체성의 개념에 의해 의미론적으로 연결되거나 관련된다.
의미 연결은 필기 라인 또는 문단에서 장거리 종속성을 수행하여 식별될 수 있다. 종속성은 잉크-관련 정보(IF1)으로 S6에서 이전에 계산된 모든 관련 특징의 유사성, 인접성, 보완 등 속성에 마킹된다.
따라서 이 제3 분류(S18)는 상대적으로 긴 범위의 관계(필기 라인, 단락 ...의 긴 범위 종속성)를 통해 의미론적으로 관련된 수학 또는 텍스트 심볼을 발견할 수 있게 한다. 따라서 구절 구조의 정확한 분석이 달성될 수 있다.
지정 의미 규칙(RL3)은 제2 분류(S16)에서 심볼(SB)에 할당된 임시 신뢰도 점수를 고려하여 S4에서 식별된 모든 심볼(SB)에 또는 이의 부분에 적용될 수 있다.
도 11에 도시된 예에서, 의미 처리 모듈(MD8)은 적어도 하나의 심볼(SB3)의 후속 그룹을 수학 심볼 후보로서 분류하도록 이끄는 단어 "let"을 식별한다. 이 경우, 첫 번째 단어 "let" 다음에 오는 심볼 "p"와 두 번째 단어 "let" 뒤에 오는 용어 "L(c)"는 적용 가능한 의미 규칙(RL3)에 따라 수학으로 분류된다.
도 12a는 의미 처리 모듈(MD8)이, 이들 심볼 "n"이 개별적으로 외관이 매우 유사하게 보이더라도, 심볼 "n"을 수학 심볼로 인식하는 동시에 "nature"라는 단어의 심볼 "n"을 텍스트로 라벨링할 수 있는 또 다른 예를 보여준다.
도 12b에 도시된 다른 예에서, 의미 처리 모듈(MD8)은 "E"가 수학 블록에 정의된 변수임을 인식할 수 있고 따라서 필기(IN)의 모든 인스턴스를 수학으로 라벨링할 수 있다. 도 12c에 도시된 바와 같이, 새로운 심볼 "E"를 추가하기 위해 획(SK)를 더 수정하는 경우에도, 의미 처리 모듈(MD8)은 여전히 이 새로운 심볼을 수학으로 인식하고 표현 "est" 및 "ensemble"에서 수정된 "E"와의 혼동을 피할 수 있음으로써 의미 관계가 진정한 수학 심볼의 라벨만 개선하는 데 사용되었음을 확인한다.
도 13은 의미 처리 모듈(MD8)이 의미 관계에 기초하여 필기 라인에서 심볼 "y"가 수학 심볼임을 캡처하는 또 다른 예를 도시한다.
S18의 의미 분석은 이 단계에서 아직 완료되지 않은 경우 텍스트/수학 라벨링을 더욱 확장할 수 있다. 추가로, 라벨링은 업데이트될 수 있고, 따라서 수신된 제2 결과(RS2)에서 이미 수학 또는 텍스트로 라벨링된 심볼에 대해 개선될 수 있다. 각각의 분류된 심볼에 할당된 신뢰도 점수는 획득한 분류에 대한 신뢰도를 나타내도록 업데이트된다. 제2 결과(RS2)에서 텍스트로 이전에 라벨링된 심볼(SB)은 예를 들어 심볼(SB) 사이에서 검출된 의미 연결에 기초하여 업데이트된 신뢰도 점수를 갖는 수학으로서 재분류될 수 있다.
심볼의 텍스트/수학 분류 및 관련 신뢰도 점수는 의미 처리 모듈(MD8)에 의해 제3 결과(RS3)로서 생성된다(도 3).
일부 경우에, 의미 처리 모듈(MD8)은 지정 의미 규칙(RL3)에 기초하여 제2 분류(S16)에서 획득된 제2 결과(RS2)가 정확하다고 결정할 수 있다. 다른 경우에, 제2 결과(RS2)는 적어도 하나의 심볼(SB)의 텍스트/수학 라벨을 수정함으로써, 및/또는 분류된 심볼과 연관된 적어도 하나의 신뢰도 점수를 업데이트함으로써 업데이트될 수 있다.
의미 연결에 기초한 제3 분류(S18) 동안 제2 분류(S16)의 결과(RS2)가 확인되는 경우, 제3 분류(S18)에서 생성된 결과(RS3)는 제2 분류(S16)의 결과(RS2)와 동일하다. 확인된 결과(RS3)(최종 결과(RS3)이라고도 함)에 기초하여, 컴퓨팅 장치(100)는 따라서 각각의 심볼(SB)을 텍스트 심볼 또는 수학 심볼로 인식한다(S20).
따라서 최종 결과(RS3)는 후처리 모듈(MD12)에 공급되어(S20), 후술될 바와 같이, 선택사항적 인식 후처리 단계(S24)를 수행할 수 있다(도 3).
그러나, 제2 분류(S16)의 결과(RS2)가 의미 연결에 기초하여 제3 분류(S18) 동안 업데이트되는 경우, 제3 분류(S18)에서 생성된 결과(RS3)는 각자의 업데이트된 신뢰도 점수와 함께 제2 분류(RS2)에 비해 텍스트 및 심볼 후보로서의 심볼의 수정된 분류를 포함한다.
특정 예에서, 적어도 하나의 심볼 후보가 텍스트에서 수학으로, 수학에서 텍스트로 변경되고, 그에 따라 S18에서 각각의 신뢰도 점수가 적응된다.
본 예에서, 제3 분류(S18) 동안 제2 결과(RS2)가 업데이트된 경우, 반복 프로세스(S14)는 적어도 1회(또는 복수회) 반복된다. 다시 말해, 제2 결과(RS2)가 제3 분류(S18)에서 업데이트되었음(또는 적어도 심볼이 텍스트에서 수학으로 또는 그 반대로 재분류되었음)이 검출되면(S20, 도 3), 방법은 결과(RS3)를 확인하거나 업데이트하도록, 제3 분류(S18)의 결과(RS3)에 기초하여 제2 분류(S16)를 다시 한 번 수행하는 것으로 진행한다(S20).
구문 처리 모듈(MD6)이 결과(RS3)를 확인하는 경우, 수학과 텍스트 심볼(SB)를 구별하는 최종 결과(RS3)가 획득되고 후처리 모듈(MD12)에 공급(S20)되어 선택적 후처리 단계(S24)를 수행할 수 있다(아래에 설명됨). 그러나, 의미 처리 모듈(MD8)에 의한 일부 심볼(SB)의 재라벨링에 의해 구문 처리 모듈(MD6)이 다른 심볼을 재라벨링할 수 있다. 따라서, 결과(RS3)가 새로운 구문 분석에 기초하여 구문 처리 모듈(MD6)에 의해 업데이트되는 경우, 새로운 제2 결과(RS2)가 이 업데이트된 결과(RS2)에 기초하여 제3 분류(S18)를 다시 한 번 수행하기 위해 의미 처리 모듈(MD8)에 공급된다.
반복 프로세스(S14)는 제2 및 제3 분류(S16, S18)가 동일한 결과로 수렴할 때까지, 즉, 제2 분류(S16)의 결과(RS2)가 제3 분류(S18)에서 확인되거나 제3 분류(S18)의 결과(RS3)가 제2 분류(S12)에서 확인될 때까지 복수 회 반복될 수 있다.
각각의 제2 및 제3 분류(S16, S18)는 앞서 설명한 바와 같이 수행된다. 구문 및 의미 처리 모듈(S6, S8) 사이의 이들 전후 상호작용은 정확하고 신뢰할 수 있는 분류 결과(RS3)를 향해 함께 수렴하는 것을 가능하게 한다.
처리 모듈(MD6 및 MD8)이 분류 결과에 동의하면, 제3 분류(S18)의 최종 결과(RS3)가 획득되어 컴퓨팅 장치(100)가 각각의 심볼(SB)을 텍스트 심볼 또는 수학 심볼로 인식할 수 있게 된다. 앞서 나타낸 바와 같이, 이 최종 결과(RS3)는 선택적인 후처리 단계(S24)를 수행하기 위해 후처리 모듈(MD12)에 제공될 수 있다.
특정 예에서, 제2 및 제3 분류(S16, S18)가 동일한 결과로 수렴되기 전에 분류 프로세스(S14)의 지정 반복 횟수(N)에 도달하는 경우, 제3 분류(S18)에서 획득된 최신 업데이트된 결과(RS3)가 최종 결과(RS3)가 되고, 후처리 단계(S24)를 진행하기 위해 후처리 모듈(MD12)로 전송될 수 있다(S20)(N은 적어도 2의 정수임). 가장 정확한 결과를 생성하기 위해 의미 분석이 구문 분석보다 우선되어야 한다는 것이 관찰되었다.
(S20)에서 획득된 최종 인식 결과(RS3)에 기초하여, 컴퓨팅 장치(DV1)는 후처리 단계(S24)를 실행할 수 있다.
후처리 단계(S24) 동안의 처리는 다양한 성질을 가질 수 있다. 본 예에서, 후처리 단계(S24)는 아래에서 더 설명되는 단계(S26, S28 및 S30)를 포함한다.
더 구체적으로, 도 14에 도시된 그룹화 단계(S26) 동안, 컴퓨팅 장치(DV1)는 (S20)에서 획득된 최종 결과(RS3)에 기초하여 모든 획(SK)를 하나 이상의 획(SK)의 블록(30)으로 그룹화하는데, 이때 각각의 블록(30)은 수학 블록(30a) 또는 텍스트 블록(30b)이다. 텍스트 블록(30b)에 포함된 각각의 획(SK)은 텍스트 심볼(SB)의 일부이고 수학 블록(30a)에 포함된 각각의 획(SK)는 수학 심볼(SB)의 일부이다.
컴퓨팅 장치(DV1)는 따라서 모든 심볼(SB)에 기초하여 텍스트 심볼 또는 수학 심볼의 일부로서 각각의 획(SK)을 라벨링하는 블록 스트링(30)을 결정할 수 있다.
블록(30)에 포함된 각각의 획(SK)은 전체 블록(30)에 할당된 카테고리인 동일한 카테고리(텍스트 또는 수학)에 속한다. 특히, 수학 및 텍스트 간에 동일한 유형이 할당된 연속 획(SK)의 각각의 시퀀스는 동일한 블록(30)으로 그룹화될 수 있다(S26).
특정 예에서, 각각의 텍스트 블록(30b)은 단일 기준선이며, 반면에 각각의 수학 블록은 단일 또는 복수의 기준선일 수 있다.
이 그룹화 단계(S26)는 획을 일관된 단일 라벨링된 블록, 즉 수학 및/또는 텍스트 블록으로 생성하는 것을 가능하게 한다. 각각의 획에 대한 분류 결과를 통합하기 위해 상이한 전략이 구현될 수 있다.
블록(30)은 제3 분류(RS3)의 수신된 결과(RS3)에 정의된 바와 같은 수학 또는 텍스트로서의 각각의 심볼(SB)의 분류에 기초하고 또한 서로에 대한 획(SK)의 공간적 근접성에 기초하여 결정될 수 있다.
블록(30)의 생성(S26)은 또한, 후속 인식을 위해 더 이해하기 쉽고, 강건하며, 유용하게 만들기 위해, 다른 지정된 제약, 가령, 획 레벨 제약, 공간 제약 등에 기초할 수 있다. 특정 예에서, 이러한 제약은 다음 중 임의의 하나(또는 모두)를 포함할 수 있다:
- 겹치는 획(SK)은 단일 블록(30)으로 그룹화됨,
- 획(SK)은 수평 방향으로 이격된 수학 또는 텍스트 블록(30)으로 그룹화됨,
- 블록당 최소 및/또는 최대 획(SK)에 대해 임계값이 설정됨(노이즈 제거를 위해) 등.
디스플레이 단계(S26)(도 3) 동안, 컴퓨팅 장치(DV1)는 (디스플레이 장치(2) 또는 임의의 다른 적절한 디스플레이를 사용하여) 각각의 획(SK)이 속하는 각자의 블록(30)을 나타내는 박스(35)와 함께 획(SK)을 디스플레이한다. 도 15는 수학 블록(30a)을 강조하는 그러한 상자(35)가 디스플레이되어 사용자가 필기(IN)의 어느 부분이 텍스트 또는 수학으로 인식되었는지 쉽게 식별할 수 있게 하는 예를 도시한다.
인식 단계(S30)(도 3)에서, 컴퓨팅 장치(DV1)는 각각의 수학 블록(30a)에 수학 언어 모델을 적용하고 각각의 텍스트 블록(30b)에 텍스트 언어 모델을 적용함으로써 획(SK)의 수학 콘텐츠 및 텍스트 콘텐츠를 인식한다. 이 필기 인식은 S26에서 달성된 획 그룹화를 기반으로 수행된다.
이제, 컴퓨팅 장치(DV1)가 획(SK)(또는 심볼)이 텍스트인지 또는 수학인지를 높은 신뢰도로 결정했으므로, 적절한 언어 모델 및 문버을 갖고 상이한 심볼 세트를 식별하도록 특정하게 훈련될 수 있는 각자의 인식기에 의해 보다 정확한 필기 인식이 수행될 수 있다(30). 따라서 적절한 형식화와 전반적으로 더 나은 필기 인식을 달성될 수 있다.
그러나, 후처리(S24) 동안 단계(S26-S30) 중 적어도 하나를 수행하지 않고도 구현의 다른 예가 가능하다. 예를 들어, 후처리(S24)는 S28에서 박스(35)를 디스플레이하지 않고 수행될 수 있다.
앞서 나타낸 바와 같이, 모듈(MD2-MD12)(도 2)은 각각 하나 이상의 신경망이거나 이를 포함할 수 있다. 도 3을 참조하여 앞서 설명한 예에서, 각각의 모듈 MD4, MD6 및 MD8은 적어도 하나의 신경망, 예를 들어 장단기 기억(LSTM) 신경망에 의해 실행된다. 본 발명의 방법을 수행하기 위해 LSTM 신경망이 어떻게 사용될 수 있는지에 대한 보다 상세한 설명은 이제 특정 실시예에 따라 도 16 내지 도 18을 참조하여 이하에서 제공된다.
LSTM 신경망(LSTM 망 또는 간단히 "LSTM"이라고도 함)은 입력의 시퀀스를 하나의 입력씩(지정 순서로) 분석하고 각각의 입력에 대한 출력을 생성하는 순환 신경망이다. 1997년 Hochreiter & Schmidhuber가 소개한 LSTM은 장기 종속성을 학습할 수 있다. LSTM은 임의의 간격에 걸쳐 값을 기억하는 순환 신경망(RNN) 아키텍처이다. LSTM 망은 LSTM 셀 CL1(나중에 설명됨)의 체인을 포함하며 각각은 체인에서 후속자(successor)에게 정보를 전달한다.
LSTM은 미정 지속시간의 시차를 감안하여 시계열을 분류, 처리 및 예측하는 데 적합하다. LSTM의 특성 및 작동은 일반적으로 해당 분야의 통상의 기술자에게 잘 알려져 있다. 참조의 편의를 위해 도 16 및 17과 관련하여 일부 세부사항이 아래에 제공된다. 그러나 통상의 기술자는 LSTM이 어떻게 작동하는지 이해하고, 따라서 본 개시내용에 기초하여 LSTM 망의 구성을 적응시켜 도 3을 참조하여 앞서 기재된 바와 같이, 단계(S2-S20) 및 가능하게는 심지어 단계(S2-S30)도 수행할 수 있다.
더 구체적으로, 도 16은 특정 실시예에 따른 양방향 LSTM 망(NT1로 표시됨)의 전역 아키텍처를 개략적으로 나타낸다. 양방향 LSTM 네트워크 NT1는 순방향 레이어(56), 역방향 레이어(58) 및 활성화 레이어(60)를 포함한다. 순방향 레이어 및 역방향 레이어(56, 58)는 S4(도 3)에서 인식된 각각의 심볼(SB)을 두 가지 반대 방향에 따라, 즉, 순방향(DR1)과 역방향(DR2)으로 순차적으로 분석하도록 구성된다. 순방향 및 역방향 레이어(56, 58) 각각은 S2(도 3)에서 획득된 필기 입력(IN)의 심볼(SB)을 분석하도록 구성된 복수의 LSTM 셀(또는 LSTM 모듈) CL1(도 16-17)을 포함한다. 각각의 LSTM 셀(CL1)은 주어진 방향(DR1 또는 DR2)에서 이전 심볼(SB)을 분석한 결과 생성된 입력 xt 및 LSTM 은닉 상태 h(t-1)를 획득한다. 이들 입력 xt 및 h(t-1)에 기초하여, 각각의 LSTM 셀 CL1은 활성화 레이어(60)에 제공되는 셀 상태(C)를 생성한다. 활성화 레이어(60)는 두 방향(DR1 및 DR2)으로 주어진 심볼(SB)에 대해 획득된 셀 상태 C를 결합하여, 최종 출력(yt)을 생성할 수 있다.
또한, 도 17은 특정 실시예에 따른 LSTM 셀(CL1)의 글로벌 아키텍처를 개략적으로 도시한다. 각각의 LSTM 셀(CL1)은 시퀀스의 이전 심볼(SB)에 대한 은닉 상태 h(t-1) 및 셀 상태 C(t-1)를 사용하여 입력 xt를 기반으로 현재 시간 단계에서 출력을 계산한다. 은닉 상태 h(t-1) 및 셀 상태 C(t-1)는 모두 과거의 관련 정보, 즉 시퀀스에서의 이전 심볼(SB)의 처리로부터의 정보를 저장한다. 각각의 LSTM 셀(CL1)은 활성 레이어(60)로 전송되는 현재 셀 상태 C(t)와 시퀀스에서의 다음 심볼(SB)을 처리하기 위해 다음 LSTM 셀(CL1)에 제공되는 현재 은닉 상태 h(t)를 출력으로 생성한다.
더 구체적으로, 도 17과 같이 각각의 라인은 한 노드의 출력에서 다른 노드의 입력까지 전체 벡터를 전달한다. LSTM 셀(CL1)은 점별 연산, 가령, 벡터 추가("+") 및 학습된 신경망 레이어(가령, 함수 tanh)를 포함한다. 줄 병합은 연결을 나타내는 반면, 유사 분기는 내용이 복사되고 복사본이 다른 위치로 이동함을 의미한다. LSTM 셀(CL1)의 주요 측면은 LSTM 셀의 상단을 가로지르는 수평선으로 표시되는 셀 상태 h이다. 이 셀 상태 h는 LSTM 셀(CL1)의 전체 체인을 통해 실행되며, 여기에는 일부 선형 상호 작용이 반복적으로 적용된다. 각각의 LSTM 셀(CL1)은 3개의 게이트의 제어 하에, 이전 LSTM 셀로부터 수신된 셀 상태 h(즉, 이전 셀 상태 h(t-1))에 정보를 제거하거나 추가하는 기능을 가진다. 이 3개의 게이트 각각은 시그모이드(sigmoid) 신경망 레이어("σ")와 점별 곱셈 연산으로 구성된다. 각각의 시그모이드 레이어 σ는 각각의 구성요소가 얼마나 통과해야 하는지 정의하는 0과 1 사이의 숫자를 출력한다. 값이 0이면 "아무것도 통과시키지 않음"을 의미하고 값이 1이면 "모든 것을 통과시킴"을 의미한다.
도 17에 도시된 바와 같이, LSTM 셀(CL1)은 입력 게이트(RE), 출력 게이트(SE), 쓰기 게이트(WR) 및 망각 게이트(forget gate)(52)를 포함한다. 입력으로서 수신된 은닉 상태 h(t-1) 및 셀 상태 C(t-1)가 현재 입력 xt에 기초하여, 현재 시간 단계 "t" 동안 h(t) 및 C(t)로 업데이트된다. 업데이트된 은닉 상태 h(t) 및 셀 상태 C(t)는 다음 LSTM 셀(CL1)에 입력되어 다음 심볼(SB)의 다음 시간 단계 계산을 수행함으로써 심볼 시퀀스의 이전 심볼(SB)을 고려할 수 있다.
은닉 상태 h는 시퀀스에서 다음 심볼(SB)를 처리하기 위해 관련 정보를 LSTM 셀(CL1)에 전송하는 데 사용되는 작업 메모리이다. 일반적으로 은닉 상태 h는 소멸 및 폭발 그라디언트 문제(vanishing and exploding gradients problem)(가령, https://en.wikipedia.org/wiki/Vanishing_gradient_problem 참조)를 겪고 있으므로 로컬 구문 및 의미 정보만 저장할 수 있다. 대조적으로, 셀 상태(C)는 장거리 또는 전역 구문 및 의미 정보를 저장하고 검색할 수 있다. 셀 상태(C)는 LSTM 셀(CL1)의 입력으로 사용되는 장기 메모리이다. 셀 상태(C)는 망각 게이트(52)에 의해 수정된다(잊어야 할 정보를 제거하기 위해). 망각 게이트(52)는 심볼(SB)의 시퀀스에서 이전 셀 상태 C(t-1)로부터 어떤 정보를 망각해야 하는지를 정의하는 시그모이드 함수 σ를 구현한다. 입력 게이트(RE)는 셀 상태(C(t-1))에 추가될 새로운 정보를 생성하기 위해 탄(tanh) 레이어(기록 게이트(WR))와 협력하는 시그모이드 함수 σ를 구현한다. 출력 게이트(SE)는 어떤 정보가 다음 은닉 상태 h(t)에 통합되어야 하는지를 정의하는 시그모이드 함수를 구현한다.
LSTM 셀(CL1)에 의한 출력으로서 생성된 현재 셀 상태(C(t))는 출력 게이트(SE)에 의해 구현된 시그모이드 레이어를 적용함으로써 필터링된 다음, 탄 함수를 통해 실행되고(-1과 1 사이의 값 설정) 시그모이드 출력 게이트의 출력이 곱해져서 현재 은닉 상태 h(t)를 생성할 수 있다(도 17).
LSTM 망은 도 16과 같이 두 방향 모두에서 두 개의 LSTM 아키텍처(즉, LSTM 셀의 두 개의 체임)를 조합함으로써, 양방향일 수 있다. LSTM 아키텍처에 대한 더 자세한 설명은 아래 참조에 있다: LSTM 망 참조문헌(지침서): https://colah.github.io/posts/2015-08-Understanding-LSTMs/.
컴퓨팅 장치(DV1)(도 1-2)의 전문가 모듈(MD4, MD6 및 MD8)은 모두 도 16-17을 참조하여 위에서 설명된 바와 같이 LSTM 아키텍처에 기초하여 구현될 수 있다.
도 18은 특정 실시예에 따른, 주어진 시간 단계에서 관심 심볼(SB)를 분석하기 위해 LSTM 망에 의해 수행되는 단계를 개략도로서 도시한다. 일례로, LSTM 망이 순방향(DR1)으로 한 번에 한 심볼씩 심볼 시퀀스를 처리하면서 심볼(SB) "2"를 현재 심볼로 분석하는 경우를 고려한다. 유사한 처리가 LSTM에 의해 시퀀스의 각각의 심볼(SB)에 대해 양방향(DR1 및 DR2)에서 수행된다는 것이 이해되어야 한다.
도 18에 도시된 바와 같이, 먼저 LSTM이 처리될 현재 심볼(SB)로 심볼 "2"를 선택하고 관련 정보, 즉, 현재 심볼 "2"과 연관된 잉크-관련 정보(IF1)(심볼 정보(IF1a) 및 콘텍스트 정보(IF1b))를 입력으로서 그리고 현재 심볼 "2"와 연관된 임베딩 정보(IF2)를 획득(S6)하는 것이 먼저 고려된다.
앞서 설명된 바와 같이, 심볼 위치(또는 공간) 특징은 현재 심볼 "2"를 형성하는 각각의 획(SK)(즉, 본 경우 단일 획(SK))에 기초하여 심볼 정보(IF1a)의 일부로서 추출될 수 있다(S6;도 3). 심볼 위치 특징은 기준선(20)에 대한 현재 심볼 "2"의 위치와 관련된 정보를 포함할 수 있다(예를 들어, 기준선으로부터의 높이 거리, 기준선의 시작으로부터의 거리 ...). 본 예(도 5-6)에서, 표현 "
Figure pct00010
"에서의 현재 심볼 "2"은 기준선(20)에서 임계 거리보다 높기 때문에 윗첨자로 특성화되고 인식된다. 또한, 본 예에서, 추출된 콘텍스트 정보(IF1b)는 도 18과 같이, 공간적으로 관련된 획(SK), 즉, 이웃 심볼 "∈", "
Figure pct00011
", "," 및 "a"을 특성화한다. 임베딩 정보(IF2)는 지정 심볼(PSB)의 세트의 각각의 심볼에 각자의 임베딩 정보(IF2)를 할당하는 지정 심볼 인식 규칙(RL1)에 기초하여 획득될 수 있다.
정보 입력(IF1 및 IF2)은 심볼 처리 모듈(MD4)(표현 전문가)로 작동하는 LSTM 셀(또는 LSTM 모듈) CL1(도 17)의 입력 게이트(RE)에 공급된다(S12). 심볼 처리 모듈(MD4)은 제1 분류 단계(S12)(도 3)를 참조하여 이전에 설명된 바와 같이 부분 수학/텍스트 라벨 정보를 포함하는 값의 벡터를 계산한다.
입력 게이트(RE)는 또한 방향(DR1)에 따라 이전 심볼(SB), 즉, 본 경우에서 현재 심볼 "2"에 선행하는 심볼 "
Figure pct00012
"에 대해 LSTM 셀(CL1)에 의해 계산된 LSTM 은닉 상태 h(t-1)를 수신하고 사용한다(S40, 도 18). 따라서 입력 게이트(RE)는 구문 처리 모듈 MD6(구문 전문가)로도 작동한다.
따라서 처리 모듈(MD4 및 MD6)은 모두 단계(S12 및 S40)에서 호출된다.
LSTM 셀(CL1)의 LSTM 셀 상태 C(도 17-18)는, 현재 심볼 "2" 전 또는 후(또는 양방향 LSTM의 경우 둘 모두) 셀 상태 C(t-1)로서 심볼(SB)로부터의 모든 구문 및 의미 정보를 캡처 및 저장(S42)한다. 이들 다양한 입력은 또한 망각 게이트(52)로 전달되고(S44) 셀 상태 라인(도 17)을 통해 현재 셀 상태 C(t)(업데이트 게이트)로 업데이트된다.
그런 다음 S12에서 입력 게이트(RE)에 의해 출력된 부분 라벨 정보가 구문 처리 모듈(MD6) 및 의미 처리 모듈(MD8)(즉, 구문 및 의미 전문가 모듈, 도2 참조)로서 역할 하는 출력 게이트(SE)(도 17) 상으로 전달된다(S14). 수신된 부분 라벨 정보에 기초하여, 처리 모듈(MD6 및 MD8)은 이전에 설명된 바와 같이 제2 및 제3 분류 단계(S16 및 S18)를 수행하여 현재 심볼 "2"에 대한 최종 라벨 정보를 생성할 수 있다. 처리 모듈(MD6 및 MD8)은 은닉 상태 h(t-1)를 사용하여 제2 및 제3 분류 단계(S16 및 S18)를 수행할 수 있다.
출력 게이트(SE)의 출력(즉, 최종 라벨 정보)은 이전 은닉 상태 h(t-1)를 현재 심볼 "2"에 대한 업데이트된 은닉 상태 h(t)로 업데이트(S50)하는 데 사용된다. 그런 다음 업데이트된 은닉 상태 h(t)는 분류 결과(RS3)(도 3 참조)의 일부로서, 현재 심볼 "2"에 대한 최종 라벨을 생성하기 위해(S52) 활성화 레이어(60)(도 16)로 전달된다. 양방향 LSTM이 사용되는 본 경우, 역방향(DR2) 및 순방향(DR1)에서 각각 심볼 시퀀스를 처리함으로써, (두 개의 개별 LSTM 셀 CL1의 출력 게이트 SE로부터의) 최종 라벨 정보의 두 개의 세트가 생성된다. 이들 두 세트의 최종 라벨 정보는 현재 심볼 "2"(도 16)에 대한 최종 수학/텍스트 라벨을 생성하기 위해 함께 평가되고 결합된다(S52). 이 평가는 두 LSTM 셀(CL1) 모두로부터의 최종 라벨 정보를 연결하고 이를 활성화 레이어(60)을 통해 전달하여 확률 배열(array), 본 예시에서, 수학에 대해 1이고 텍스트에 대해 1인 길이 2의 배열을 생성함으로써 수행될 수 있다. 활성화 레이어(60)는 연결된 최종 라벨 정보(최종 크기 2L)에 크기 2Lx2의 가중치 행렬을 곱한 다음, 소프트맥스(softmax) 함수(softargmax 또는 정규화된 지수 함수라고도 알려짐)를 적용하여 결과적 출력 확률 배열의 합은 1임을 보장할 수 있다.
앞서 기재된 바와 같이, 두 방향 DR1, DR2의 심볼 시퀀스를 처리함으로써 시퀀스의 심볼(SB)마다 동일한 방식으로 최종 라벨이 생성된다.
이 예에서 LSTM 아키텍처는 다양한 처리 모듈(전문가)(MD4, MD6 및 MD8)에 대한 고정된 수의 호출로 구성된다. LSTM 망은 두 단계로 이러한 처리 모듈을 호출하는데, 즉: 제1 단계에서 심볼 처리 모듈(MD4)(표현 전문가)와 구문 처리 모듈(MD6)(구문 전문가)이 동시에 호출되며, 제2 단계에서 구문 처리 모듈(MD6)(구문 전문가) 및 의미 처리 모듈(MD8)(의미 전문가)이 동시에 호출된다. 전체적으로, 구문 처리 모듈(MD6)(구문 전문가)은 따라서 두 번 호출된다(S12 및 S14). 제2 호출(S14)은 의미 처리 모듈(MD6)의 출력 결과를 검증하거나 전파하는 것이다. 앞서 언급했 듯이 LSTM의 양방향 변형은 시퀀스의 이전 및 다음 심볼에서 현재 심볼까지 콘텍스트를 처리한다.
또한, 통상의 기술자는 본 발명을 구현하기 위해 임의의 적절한 방식으로 LSTM 망을 훈련할 수 있다. LSTM 망은 역전파 알고리즘(자세한 내용은 위에서 언급한 참조 문헌 참조)을 사용하여 다양한 게이트(즉, 도 17의 각각의 시그모이드 및 탄 함수에 대해)의 가중치와 편향을 업데이트함으로써 필기에서의 수학의 검출을 학습할 수 있다. 특히, 입력 게이트(RE)의 가중치 및 편향 및 임베딩 정보(IF2)는 심볼 처리 모듈(MD4)(표현 전문가)을 구현하는 데 사용된다. 임베딩 정보(IF2)는 각각의 지정 심볼(PSB)에 대한 사전 지식을 저장하고 입력 게이트(RE)는 모든 입력(임베딩 정보(IF2), 심볼 정보(IF1a), 컨택트 정보(IF1b), 은닉 상태)을 함께 처리하는 방법을 학습한다. 출력 게이트(SE), 망각 게이트(52) 및 쓰기 게이트(WR)의 가중치 및 편향은 셀 상태 C(t-1) 및 은닉 상태 h(t-1)에 저장된 정보를 활용하고 수정할 수 있는 구문 처리 모듈(MD6) 및 의미 처리 모듈(MD8)(즉, 구문 및 의미 전문가 모듈)을 구현하는 데 함께 사용되어 주어진 시퀀스에 존재하는 다양한 구문 규칙 및 의미 연결을 복구할 수 있다.
LSTM 망은 수학 및 텍스트 모두를 포함하는 복수의 심볼 시퀀스, 및 텍스트 또는 수학만을 포함하는 심볼 시퀀스를 포함하는 데이터세트로 훈련될 수 있다. 훈련은 데이터 세트에 대한 전체 심볼 오분류 비율을 최소화하면서 복수의 반복으로 수행될 수 있으며, 이는 망이 1) 수학을 텍스트 심볼과 구별하고, 2) 수학 및 텍스트 특정 구문 규칙을 식별 및 적용하고, 3) 주어진 시퀀스에서의 심볼들 간 의미 연결을 설정하는 것을 학습함을 의미한다.
몇몇 대안적인 구현들에서, 블록으로 언급된 기능들은 도면들에서 언급된 순서와 다르게 발생할 수 있다는 점에 유의해야 한다. 예를 들어, 연속적으로 도시된 2개의 블록은 실제로 실질적으로 동시에 실행될 수 있거나, 블록이 때때로 역순으로 실행될 수 있거나, 블록이 관련된 기능에 따라 대체 순서로 실행될 수 있다.
명시적으로 설명되지는 않았지만, 본 실시예는 이들의 임의의 조합 또는 하위 조합으로 사용될 수 있다.
본 개시는 특정 실시예에서 설명되었지만, 통상의 기술자의 능력 내에서 그리고 본 발명의 능력을 행사하지 않고도 수많은 수정 및 실시예가 가능하다는 것이 명백하다. 따라서, 본 발명의 범위는 다음 청구범위에 의해 정의된다.

Claims (15)

  1. 필기(IN) 내 수학 및 텍스트를 처리하도록 컴퓨팅 장치(100)에 의해 구현되는 방법으로서, 상기 방법은
    - 디지털 잉크의 복수의 획(SK)에 대해 필기 인식을 수행함으로써 심볼(SB)을 식별하는 단계(S4),
    - 제1 분류(S12)로서, 심볼에 대해 지정 심볼 인식 규칙(RL1)을 개별적으로 적용함으로써, 식별된 심볼 중 적어도 하나의 제1 심볼(SB1)을 적어도 제1 임계값(TH1)에 도달하는 신뢰도 점수를 갖는 텍스트 심볼 후보 또는 수학 심볼 후보로서 분류하는 단계,
    - 제2 분류(S16)로서, 상기 적어도 하나의 제1 심볼(SB1) 및 적어도 하나의 제2 심볼(SB2)에 대해 상기 적어도 하나의 제1 심볼과 상기 적어도 하나의 제2 심볼 간 공간 관계를 정의하는 지정 공간 구문 규칙(RL2)을 적용함으로써, 상기 적어도 하나의 제1 심볼이 아닌 다른 적어도 하나의 제2 심볼(SB2)을 각자의 신뢰도 점수를 갖는 텍스트 심볼 후보 또는 수학 심볼 후보로 분류하는 단계,
    - 제3 분류(S18)로서, 식별된 심볼 중 적어도 두 개의 심볼(SB) 간 의미 연결을 확립하고 상기 의미 연결을 상기 제2 분류의 결과와 비교함으로써 상기 제2 분류의 결과를 업데이트하거나 확인하는 단계, 및
    - 적어도 상기 제3 분류의 결과에 기초하여 각각의 심볼을 텍스트 심볼 또는 수학 심볼로서 인식하는 단계(S20)를 포함하는, 방법.
  2. 제1항에 있어서, 상기 심볼을 식별하는 단계 전에, 상기 심볼을 형성하는 디지털 잉크의 복수의 획을 획득하는 단계를 포함하며,
    상기 식별된 심볼은 적어도 하나의 텍스트 심볼 및 적어도 하나의 수학 심볼을 포함하는, 방법.
  3. 제1항 또는 제2항에 있어서, 상기 심볼을 식별하는 단계 동안, 복수의 획(SK)은 지정 심볼(PSB)의 세트와 비교되고 복수의 획에 의해 형성된 심볼 각각은 지정 심볼의 세트 내 각각의 지정 심볼로서 식별되는, 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 각각의 식별된 심볼(SB)에 대해, 상기 심볼을 형성하는 획 각각에 기초하여, 잉크-관련 정보(IF1)를 컴퓨팅하는 단계를 포함하며, 상기 잉크-관련 정보는
    - 상기 심볼을 형성하는 하나 이상의 획의 고유 속성을 특징 짓는 심볼 정보(IF1a), 및
    - 복수의 획의 적어도 하나의 각자의 순서에 따라, 상기 심볼을 형성하는 하나 이상의 획과 공간적으로 관련된 적어도 하나의 이웃하는 획을 특징 짓는 콘텍스트 정보(IF1b)를 포함하며,
    상기 잉크-관련 정보는 적어도 상기 제2 분류 및 제3 분류에서 사용되어, 각각의 심볼을 수학 심볼 후보 또는 텍스트 심볼 후보로서 분류하는, 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 제1 분류는
    - 각각의 식별된 심볼에 대해, 심볼 인식 규칙에 의해 상기 심볼에 귀속되는 임베딩 정보(IF2)를 결정하는 단계 - 상기 임베딩 정보는 상기 지정 심볼이 텍스트 또는 수학이라는 각자의 신뢰도 점수를 포함함 - , 및
    - 임베딩 정보 내에 정의된 각각의 식별된 심볼의 각자의 신뢰도 점수를 제1 임계값과 비교하여 적어도 하나의 제1 심볼을 적어도 상기 제1 임계값에 도달하는 신뢰도 점수를 갖는 텍스트 심볼 후보 또는 수학 심볼 후보로서 식별하는 단계를 포함하는, 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 제2 분류 동안, 상기 공간 구문 규칙(RL2)은 상기 적어도 하나의 제1 심볼(SB1)에 대해 적용되어, 하나 이상의 제1 심볼과 지정 공간 관계를 갖는 적어도 하나의 다른 심볼(SB2)을 수학 심볼 후보 또는 텍스트 심볼 후보로서 식별하는, 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 제2 분류 동안, 상기 적어도 하나의 제1 심볼이 아닌 다른 심볼 각각은 텍스트 심볼 후보 또는 수학 심볼 후보로서 분류되는, 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 공간 구문 규칙(RL2)은
    - 적어도 두 개의 수학 심볼 간 공간 관계를 형성하는 수학 공간 구문 규칙, 및
    - 적어도 두 개의 텍스트 심볼 간 공간 관계를 형성하는 텍스트 공간 구문 규칙을 포함하는, 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 제2 분류의 결과가 의미 연결에 기초하여 제3 분류 동안 업데이트되고, 제3 분류에서 생성된 결과는 각자의 업데이트된 신뢰도 점수와 함께 제2 분류에 비해 심볼의 수정된 분류를 포함하고,
    상기 방법은 제3 분류의 결과에 대해 제2 분류를 반복하여 상기 결과를 확정하거나 업데이트하는 단계를 더 포함하는, 방법.
  10. 제9항에 있어서, 제2 분류 및 제3 분류(S16, S18)를 포함하는 반복 분류 프로세스(S14)는 상기 제2 분류와 제3 분류가 동일한 결과로 수렴될 때까지 반복되는, 방법.
  11. 제9항 또는 제10항에 있어서, 제2 분류와 제3 분류가 동일한 결과로 수렴하기 전에 분류 프로세스(S14)의 지정 N회 반복에 도달하는 경우, 제3 분류(S18)에서 획득된 제2 분류의 최신 업데이트된 결과가 각각의 심볼(SB)을 텍스트 심볼 또는 수학 심볼로서 인식하기 위해 사용되며, N은 적어도 2의 정수인, 방법.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서, 각각의 심볼(SB)을 텍스트 심볼 또는 수학 심볼로서 인식하는 단계(S20)는 적어도 상기 제3 분류(S18)의 결과에 기초하여, 연관된 신뢰도 점수와 함께 수학 또는 텍스트로서의 분류를 각각의 획에 할당하는 단계를 포함하는, 방법.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서, 상기 인식의 결과에 기초하여, 복수의 획을 하나 이상의 획의 블록으로 그룹짓는 단계(S26)를 더 포함하며, 각각의 블록은 텍스트 블록 또는 수학 블록이며, 텍스트 블록에 포함된 각각의 획은 텍스트 심볼의 일부분이며 수학 블록에 포함된 각각의 획은 수학 심볼의 일부분인, 방법.
  14. 제13항에 있어서, 수학 언어 모델을 각각의 수학 블록에 적용하고 텍스트 언어 모델을 각각의 텍스트 블록에 적용함으로써 상기 획에서 수학 콘텐츠 및 텍스트 콘텐츠를 인식하는 단계를 포함하는, 방법.
  15. 필기(IN)에서 수학 및 텍스트를 처리하기 위한 컴퓨팅 장치(100)로서,
    - 디지털 잉크의 복수의 획(SK)에 대해 필기 인식을 수행함으로써 심볼(SB)을 식별하기 위한 제1 인식 모듈(MD2),
    - 제1 분류로서, 심볼에 지정 심볼 인식 규칙을 개별적으로 적용함으로써 식별된 심볼 중 적어도 하나의 제1 심볼(SB1)을, 적어도 제1 임계값에 도달하는 신뢰도 점수를 갖는 텍스트 심볼 후보 또는 수학 심볼 후보로 분류하기 위한 심볼 처리 모듈(MD4),
    - 제2 분류로서, 상기 적어도 하나의 제1 심볼 및 상기 적어도 하나의 제2 심볼에 상기 적어도 하나의 제1 심볼과 상기 적어도 하나의 제2 심볼 간 공간 관계를 정의하는 지정 공간 구문 규칙(RL2)을 적용함으로써, 상기 적어도 하나의 제1 심볼이 아닌 다른 적어도 하나의 제2 심볼(SB2)을 각자의 신뢰도 점수를 갖는 텍스트 심볼 후보 또는 수학 심볼 후보로서 분류하기 위한 구문 처리 모듈(MD6), 및
    - 제3 분류로서, 식별된 심볼 중 적어도 두 개의 심볼(SB) 간 의미 연결을 확립하고 상기 의미 연결을 상기 제2 분류의 결과와 비교함으로써, 상기 제2 분류의 결과를 업데이트하거나 확인하기 위한 의미 처리 모듈(MD8)을 포함하며,
    상기 컴퓨팅 장치는 적어도 상기 제3 분류의 결과에 기초하여 각각의 심볼을 텍스트 심볼 또는 수학 심볼로서 인식하도록 구성된, 컴퓨팅 장치.
KR1020227025534A 2020-01-28 2021-01-27 필기에서의 수학 검출 KR20220132536A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP20305069.5 2020-01-28
EP20305069.5A EP3859602B1 (en) 2020-01-28 2020-01-28 Math detection in handwriting
PCT/EP2021/051838 WO2021151929A1 (en) 2020-01-28 2021-01-27 Math detection in handwriting

Publications (1)

Publication Number Publication Date
KR20220132536A true KR20220132536A (ko) 2022-09-30

Family

ID=69528718

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227025534A KR20220132536A (ko) 2020-01-28 2021-01-27 필기에서의 수학 검출

Country Status (6)

Country Link
US (1) US20230084641A1 (ko)
EP (2) EP3859602B1 (ko)
JP (1) JP2023510904A (ko)
KR (1) KR20220132536A (ko)
CN (1) CN115039144A (ko)
WO (1) WO2021151929A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230063489A1 (en) * 2021-08-25 2023-03-02 Bank Of America Corporation Malware Detection with Multi-Level, Ensemble Artificial Intelligence Using Bidirectional Long Short-Term Memory Recurrent Neural Networks and Natural Language Processing

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7561737B2 (en) * 2004-09-22 2009-07-14 Microsoft Corporation Mathematical expression recognition
US7561739B2 (en) * 2004-09-22 2009-07-14 Microsoft Corporation Analyzing scripts and determining characters in expression recognition
CN107729865A (zh) * 2017-10-31 2018-02-23 中国科学技术大学 一种手写体数学公式离线识别方法及系统

Also Published As

Publication number Publication date
EP3859602B1 (en) 2023-08-09
CN115039144A (zh) 2022-09-09
EP3859602A1 (en) 2021-08-04
EP4097630A1 (en) 2022-12-07
US20230084641A1 (en) 2023-03-16
JP2023510904A (ja) 2023-03-15
WO2021151929A1 (en) 2021-08-05
EP4097630B1 (en) 2024-03-20

Similar Documents

Publication Publication Date Title
US10936862B2 (en) System and method of character recognition using fully convolutional neural networks
KR102326395B1 (ko) 다수의 객체 입력을 인식하기 위한 시스템 및 그 방법 및 제품
KR102383624B1 (ko) 중첩된 필기 인식 기술을 위한 시스템 및 방법
US9384403B2 (en) System and method for superimposed handwriting recognition technology
CN110114776B (zh) 使用全卷积神经网络的字符识别的系统和方法
CN114365075A (zh) 用于选择图形对象的方法和对应装置
Khémiri et al. Bayesian versus convolutional networks for Arabic handwriting recognition
US11393231B2 (en) System and method for text line extraction
US20150139547A1 (en) Feature calculation device and method and computer program product
Sundaram et al. Bigram language models and reevaluation strategy for improved recognition of online handwritten Tamil words
Singh et al. Recognition of online unconstrained handwritten Gurmukhi characters based on Finite State Automata
KR20220132536A (ko) 필기에서의 수학 검출
Singh et al. Online handwritten Gurmukhi words recognition: An inclusive study
US20230096728A1 (en) System and method for text line and text block extraction
Hakro et al. A Study of Sindhi Related and Arabic Script Adapted languages Recognition
JP7448132B2 (ja) 手書きの構造分解
CN107912062B (zh) 叠覆手写的系统和方法
Chooi et al. Handwritten character recognition using convolutional neural network
Singla et al. Age, gender and handedness prediction using handwritten text: A comprehensive survey
Jhanjhi et al. Adaptive Auto-encoder for Extraction of Arabic Text: invariant, font, and segment
Vyas et al. A comprehensive survey of handwritten character segmentation
WO2006090404A1 (en) System, method, and apparatus for accomodating variability in chunking the sub-word units of online handwriting
Tripathi et al. Handwritten Mathematical Expression Recognition
Bhatt et al. Design and Development of a Framework For Stroke-Based Handwritten Gujarati Font Generation
Yuadi et al. Evaluation for Optical Character Recognition of Mobile Application

Legal Events

Date Code Title Description
E902 Notification of reason for refusal