KR101729461B1 - 자연 언어 처리 시스템, 자연 언어 처리 방법, 및 자연 언어 처리 프로그램 - Google Patents

자연 언어 처리 시스템, 자연 언어 처리 방법, 및 자연 언어 처리 프로그램 Download PDF

Info

Publication number
KR101729461B1
KR101729461B1 KR1020167028427A KR20167028427A KR101729461B1 KR 101729461 B1 KR101729461 B1 KR 101729461B1 KR 1020167028427 A KR1020167028427 A KR 1020167028427A KR 20167028427 A KR20167028427 A KR 20167028427A KR 101729461 B1 KR101729461 B1 KR 101729461B1
Authority
KR
South Korea
Prior art keywords
score
tag
firing
sentence
natural language
Prior art date
Application number
KR1020167028427A
Other languages
English (en)
Other versions
KR20160124237A (ko
Inventor
마사토 하기와라
Original Assignee
라쿠텐 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 라쿠텐 인코포레이티드 filed Critical 라쿠텐 인코포레이티드
Publication of KR20160124237A publication Critical patent/KR20160124237A/ko
Application granted granted Critical
Publication of KR101729461B1 publication Critical patent/KR101729461B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F17/2755
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • G06F17/2725
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/226Validation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

일 실시 형태에 따른 자연 언어 처리 시스템은, 해석부 및 수정부를 구비한다. 해석부는, 분할 모델을 사용하여 하나의 문장에 대한 형태소 해석을 실행함으로써, 당해 하나의 문장을 분할하여 얻어지는 개개의 피분할 요소에 태그를 설정한다. 분할 모델은, 피분할 요소와 태그의 대응을 나타내는 출력 소성의 스코어와, 연속되는 두개의 피분할 요소에 대응하는 두개의 태그의 조합을 나타내는 천이 소성의 스코어를 포함한다. 수정부는, 해석부에 의해 얻어진 해석 결과로 나타나는 태그와, 하나의 문장의 정답의 태그를 나타내는 정답 데이터를 비교하여, 오답의 태그에 대응하는 정답의 태그에 관련되는 소성의 스코어를 높게 하고, 당해 오답의 태그에 관련되는 소성의 스코어를 낮게 함으로써, 해석부에 의한 다음 문장의 형태소 해석에서 사용될 분할 모델을 수정한다.

Description

자연 언어 처리 시스템, 자연 언어 처리 방법, 및 자연 언어 처리 프로그램{NATURAL LANGUAGE PROCESSING SYSTEM, NATURAL LANGUAGE PROCESSING METHOD, AND NATURAL LANGUAGE PROCESSING PROGRAM}
본 발명의 일 측면은, 자연 언어 처리 시스템, 자연 언어 처리 방법, 및 자연 언어 처리 프로그램에 관한 것이다.
자연 언어 처리의 기초 기술 중 하나로서, 문장을 형태소의 열로 분할하여 각 형태소의 품사를 판정하는 형태소 해석이 알려져 있다. 이것에 관련하여 하기 특허문헌 1에는, 입력된 텍스트 데이터를 형태소로 분해하고, 형태소 사전을 참조하여 당해 분해된 형태소에 대응하는 위치의 정보를 취득하고, 위치 정보를 사용한 코스트 함수에 의해, 당해 분해에서 얻어진 형태소 열의 후보로부터 형태소 열을 결정하는 형태소 해석 장치가 기재되어 있다.
일본 특허 공개 제2013-210856호 공보
형태소 해석은, 각 소성의 스코어를 포함하는 분할 모델을 사용하여 실행된다. 형태소 해석을 위한 지식이라고도 할 수 있는 그 분할 모델은 일반적으로 미리 고정되어 있으므로, 그 분할 모델에서는 망라하고 있지 않은 새로운 분야에 속하는 문장 또는 새로운 성질을 갖는 문장을 형태소 해석하려고 하면, 당연히 올바른 결과를 얻는 것은 매우 곤란하다. 한편, 분할 모델을 기계 학습 등의 수법에 의해 수정하려고 하면, 그 수정에 필요로 하는 시간이 예측할 수 없을 정도로 증대될 가능성이 있다. 따라서, 형태소 해석의 분할 모델을 일정한 시간 내에 자동으로 수정할 것이 요망되고 있다.
본 발명의 일 측면에 관한 자연 언어 처리 시스템은, 하나 이상의 트레이닝 데이터를 사용한 기계 학습에 의해 얻어지는 분할 모델을 사용하여, 하나의 문장에 대한 형태소 해석을 실행함으로써, 당해 하나의 문장을 분할하여 얻어지는 개개의 피분할 요소에, 적어도 단어의 품사를 나타내는 태그를 설정하는 해석부이며, 분할 모델이, 피분할 요소와 태그의 대응을 나타내는 출력 소성의 스코어와, 연속되는 두개의 피분할 요소에 대응하는 두개의 태그의 조합을 나타내는 천이 소성의 스코어를 포함하는, 당해 해석부와, 해석부에 의해 얻어진 해석 결과로 나타나는 태그와, 하나의 문장의 정답의 태그를 나타내는 정답 데이터를 비교하여, 오답의 태그에 대응하는 정답의 태그에 관련되는 출력 소성의 스코어 및 천이 소성의 스코어를 현재값보다도 높게 하고, 당해 오답의 태그에 관련되는 출력 소성의 스코어 및 천이 소성의 스코어를 현재 값보다도 낮게 함으로써, 해석부에 의한 다음 문장의 형태소 해석에 사용되는 분할 모델을 수정하는 수정부를 구비한다.
본 발명의 일 측면에 관한 자연 언어 처리 방법은, 프로세서를 구비하는 자연 언어 처리 시스템에 의해 실행되는 자연 언어 처리 방법이며, 하나 이상의 트레이닝 데이터를 사용한 기계 학습에 의해 얻어지는 분할 모델을 사용하여, 하나의 문장에 대한 형태소 해석을 실행함으로써, 당해 하나의 문장을 분할하여 얻어지는 개개의 피분할 요소에, 적어도 단어의 품사를 나타내는 태그를 설정하는 해석 스텝이며, 분할 모델이, 피분할 요소와 태그의 대응을 나타내는 출력 소성의 스코어와, 연속되는 두개의 피분할 요소에 대응하는 두개의 태그의 조합을 나타내는 천이 소성의 스코어를 포함하는, 당해 해석 스텝과, 해석 스텝에 있어서 얻어진 해석 결과로 나타나는 태그와, 하나의 문장의 정답의 태그를 나타내는 정답 데이터를 비교하여, 오답의 태그에 대응하는 정답의 태그에 관련되는 출력 소성의 스코어 및 천이 소성의 스코어를 현재 값보다도 높게 하고, 당해 오답의 태그에 관련되는 출력 소성의 스코어 및 천이 소성의 스코어를 현재 값보다도 낮게 함으로써, 해석 스텝에 있어서의 다음 문장의 형태소 해석에서 사용될 분할 모델을 수정하는 수정 스텝을 포함한다.
본 발명의 일 측면에 관한 자연 언어 처리 프로그램은, 하나 이상의 트레이닝 데이터를 사용한 기계 학습에 의해 얻어지는 분할 모델을 사용하여, 하나의 문장에 대한 형태소 해석을 실행함으로써, 당해 하나의 문장을 분할하여 얻어지는 개개의 피분할 요소에, 적어도 단어의 품사를 나타내는 태그를 설정하는 해석부이며, 분할 모델이, 피분할 요소와 태그의 대응을 나타내는 출력 소성의 스코어와, 연속되는 두개의 피분할 요소에 대응하는 두개의 태그의 조합을 나타내는 천이 소성의 스코어를 포함하는, 당해 해석부와, 해석부에 의해 얻어진 해석 결과로 나타나는 태그와, 하나의 문장의 정답의 태그를 나타내는 정답 데이터를 비교하여, 오답의 태그에 대응하는 정답의 태그에 관련되는 출력 소성의 스코어 및 천이 소성의 스코어를 현재 값보다도 높게 하고, 당해 오답의 태그에 관련되는 출력 소성의 스코어 및 천이 소성의 스코어를 현재 값보다도 낮게 함으로써, 해석부에 의한 다음 문장의 형태소 해석에서 사용될 분할 모델을 수정하는 수정부로서 컴퓨터를 기능시킨다.
이러한 측면에 있어서는, 하나의 문장을 형태소 해석할 때마다, 그 해석 결과와 정답 데이터가 비교되고, 이것들의 차에 기초하여 분할 모델이 수정된다. 이렇게 한 문장마다 분할 모델을 수정함으로써, 복수의 문장을 처리한 경우의 분할 모델의 수정에 필요로 하는 시간이, 문장의 개수에 따라서 거의 선형적으로 증대될 정도로 억제되므로, 형태소 해석의 분할 모델을 일정한 시간 내에(환언하면, 예측할 수 있는 시간의 범위 내에) 자동으로 수정할 수 있다.
본 발명의 일 측면에 의하면, 형태소 해석의 분할 모델을 일정한 시간 내에 자동으로 수정할 수 있다.
도 1은 실시 형태에 따른 자연 언어 처리 시스템에서의 처리의 개념도이다.
도 2는 실시 형태에 있어서의 형태소 해석의 예를 도시하는 도면이다.
도 3은 실시 형태에 따른 자연 언어 처리 시스템을 구성하는 컴퓨터의 하드웨어 구성을 도시하는 도면이다.
도 4는 실시 형태에 따른 자연 언어 처리 시스템의 기능 구성을 도시하는 블록도이다.
도 5는 태그 달기의 일례를 개념적으로 도시하는 도면이다.
도 6의 (a), (b)는, 각각 스코어 갱신의 일례를 모식적으로 도시하는 도면이다.
도 7은 실시 형태에 따른 자연 언어 처리 시스템의 동작을 도시하는 흐름도이다.
도 8은 실시 형태에 따른 자연 언어 처리 프로그램의 구성을 도시하는 도면이다.
이하, 첨부 도면을 참조하면서 본 발명의 실시 형태를 상세하게 설명한다. 또한, 도면의 설명에 있어서 동일 또는 동등한 요소에는 동일한 부호를 부여하고, 중복되는 설명을 생략한다.
먼저, 도 1 내지 5를 사용하여, 실시 형태에 따른 자연 언어 처리 시스템(10)의 기능 및 구성을 설명한다. 자연 언어 처리 시스템(10)은, 형태소 해석을 실행하는 컴퓨터 시스템이다. 형태소 해석이란, 문장을 형태소의 열로 분할하여 각 형태소의 품사를 판정하는 처리이다. 문장이란, 하나의 완결된 언명을 나타내는 언어 표현의 단위이며, 문자열로 표현된다. 형태소란, 의미를 갖는 최소의 언어 단위이다. 형태소의 열이란, 문장을 하나 이상의 형태소로 분할하여 얻어지는 당해 하나 이상의 형태소의 배열이다. 품사란, 문법 상의 기능 또는 형태에 의한 단어의 구분이다.
자연 언어 처리 시스템(10)은, 분할 모델(20)을 사용하여 개개의 문장을 형태소 해석한다. 자연 언어 처리 시스템(10)의 특징의 하나로서, 분할 모델(20)을 학습할 때에는 개개의 문장을 형태소 해석할 때마다 그 분할 모델(20)을 수정하는 점을 들 수 있다. 분할 모델(20)의 수정이 끝나면, 확정된 분할 모델(20)을 구비하는 자연 언어 처리 시스템(10)이 유저에 제공된다. 유저는 그 자연 언어 처리 시스템(10)에 형태소 해석을 실행시킬 수 있고, 이때에는, 분할 모델(20)의 수정이 행해지는 일 없이, 형태소 해석이 실행된다. 본 명세서에 있어서의 「분할 모델」이란, 문장을 하나 이상의 형태소로 분할할 때의 기준(단서)이며, 각 소성의 스코어로 나타난다. 이 분할 모델은, 하나 이상의 트레이닝 데이터를 사용한 기계 학습에 의해 얻어진다. 트레이닝 데이터는, 각 단어로 분할된 문장과, 그 문장을 분할하여 얻어지는 각 단어의 품사를 적어도 나타내는 데이터이다. 소성(feature)이란, 형태소 해석에 있어서 올바른 결과를 얻기 위한 단서이다. 일반적으로, 무엇을 소성(단서)으로서 사용하는지는 한정되지 않는다. 소성의 스코어란, 당해 소성의 우도를 나타내는 수치이다.
도 1에, 본 실시 형태에 따른 자연 언어 처리 시스템(10)에서의 처리의 개념을 간결하게 도시한다. 또한, 도 1에 있어서의 기어 M은 형태소 해석의 실행을 나타낸다. 어떤 시점에 있어서, 자연 언어 처리 시스템(10)은 분할 모델 w1을 사용한 형태소 해석을 실행함으로써 문장 s1을 하나 이상의 형태소로 분할한다. 본 실시 형태에서는, 자연 언어 처리 시스템(10)은 문장을 개개의 문자로 분할하여 문자 단위의 처리를 실행함으로써 문장을 하나 이상의 형태소로 분할한다. 즉, 본 실시 형태에서는, 처리 대상이 되는 피분할 요소는 문자이다. 자연 언어 처리 시스템(10)은, 개개의 문자(피분할 요소)에 태그를 설정함으로써, 형태소 해석의 결과를 나타낸다. 본 명세서에 있어서의 「태그」란, 문자의 속성 또는 기능을 나타내는 라벨이다. 태그에 대해서는 이후에 더욱 상세하게 설명한다.
형태소 해석을 실행하면, 자연 언어 처리 시스템(10)은 그 문장 s1의 형태소 해석의 정답을 나타내는 데이터(정답 데이터)를 접수하고, 해석 결과와 그 정답 데이터를 비교하여 분할 모델 w1을 수정함으로써 새로운 분할 모델 w2를 얻는다. 구체적으로는, 자연 언어 처리 시스템(10)은, 문장 s1의 형태소 해석의 적어도 일부의 태그 달기가 틀렸을 경우에는, 해석 결과 전체가 틀렸다고 평가한다. 그리고, 자연 언어 처리 시스템(10)은, 정답 데이터 내의 각 태그에 대응하는 소성을 「맞음(+1)」이라 평가하여 그 소성의 스코어를 현재 값보다도 높게 하고, 해석 결과 내의 각 태그에 대응하는 소성을 「틀림(-1)」이라 평가하여 그 소성의 스코어를 현재 값보다도 낮게 함으로써, 분할 모델 w2를 얻는다. 해석 결과 내에서 일부의 태그가 정답이었을 경우에는, 당해 일부의 태그(정답의 태그)에 관련되는 소성의 두개의 평가 「맞음(+1)」 「틀림(-1)」은 결과적으로 상쇄된다. 따라서, 상기와 같이 소성의 스코어를 낮게 또는 높게 하는 처리는, 오답의 태그에 대응하는 정답의 태그(오답 부분에 대응하는 정답의 태그)에 관련되는 소성의 스코어를 높게 하고, 당해 오답의 태그(오답 부분의 태그)에 관련되는 소성의 스코어를 낮게 하는 처리라고 할 수 있다.
또한, 자연 언어 처리 시스템(10)은, 정답 데이터 내의 각 태그를 「맞음(+1)」이라 평가하는 한편, 해석 결과 내의 각 문자에 관한 태그를 「틀림(-1)」이라 평가하고, 각 태그에 대하여 두개의 평가 결과를 상쇄한 다음, 「맞음(+1)」이라 평가된 태그에 대응하는 소성의 스코어를 높게 하고, 「틀림(-1)」이라 평가된 태그에 대응하는 소성의 스코어를 낮게 해도 된다.
예를 들어, 문장 s1 내에 5개의 문자 xa, xb, xc, xd, xe가 존재하는 것으로 한다. 그리고, 문자 xa, xb, xc, xd, xe의 정답의 태그가 각각 ta, tb, tc, td, te이며, 형태소 해석에 의해 각 문자의 태그가 ta, tg, th, td, te였기로 한다. 이 경우에는, 자연 언어 처리 시스템(10)은, 정답 데이터 내의 태그 ta, tb, tc, td, te에 대응하는 소성을 「맞음(+1)」이라 평가하여 그 소성의 스코어를 현재 값보다도 높게 하고, 실행 결과 내의 태그 ta, tg, th, td, te에 대응하는 소성을 「틀림(-1)」이라 평가하여 그 소성의 스코어를 현재 값보다도 낮게 한다. 이 경우, 태그 ta, td, te에 대응하는 소성의 스코어는 결과적으로는 갱신 전과 변함없어, 정답의 태그 tb, tc에 대응하는 소성의 스코어가 높아지고, 오답의 태그 tg, th에 대응하는 소성의 스코어가 낮아진다.
다음 문장 s2에 대한 형태소 해석을 실행하는 경우에는, 자연 언어 처리 시스템(10)은 그 분할 모델 w2를 사용한다. 그리고, 자연 언어 처리 시스템(10)은 그 문장 s2의 형태소 해석의 정답 데이터를 접수하고, 실행 결과와 그 정답 데이터를 비교하여, 분할 모델 w1을 수정하는 경우와 마찬가지로 분할 모델 w2를 수정함으로써 새로운 분할 모델 w3을 얻는다.
자연 언어 처리 시스템(10)은 이렇게 하나의 문장(s1, s2, …, st)을 처리할 때마다 분할 모델을 수정하고(w1→w2, w2→w3, …, wt→wt+1), 다음 문장의 형태소 해석으로 수정 후의 분할 모델을 사용한다. 이렇게 하나의 트레이닝 데이터를 처리할 때마다 모델을 갱신하는 수법은, 「온라인 학습」 또는 「온라인의 기계 학습」이라고도 일컬어진다.
자연 언어 처리 시스템(10)에 의한 형태소 해석의 결과 예를 도 2에 도시한다. 이 예에서는, 자연 언어 처리 시스템(10)은 「I bought a book」이라는 영문에 상당하는,
Figure 112016099095676-pct00001
라는 일본어의 문장을, 5개의 문자
Figure 112016099095676-pct00002
로 분할한다. 그리고, 자연 언어 처리 시스템(10)은 형태소 해석을 실행함으로써, 각 문자에 태그를 설정한다. 본 실시 형태에서는, 태그는, 단어 내에서의 문자의 출현 형태와, 그 단어의 품사와, 그 단어의 품사의 서브 클래스의 조합이며, 「S-N-nc」 등과 같이 알파벳을 사용하여 표현된다.
출현 형태는, 어떤 문자가 단독으로 하나의 단어가 되는지 아니면 다른 문자와의 조합으로 하나의 단어가 되는지와, 문자가 2문자 이상을 포함하는 단어의 일부일 경우에, 그 문자가 단어 내의 어디에 위치하는지를 나타내는 정보이다. 본 실시 형태에서는, 출현 형태는 S, B, I, E 중 어느 하나로 나타난다. 출현 형태 「S」는, 문자가 그 단독으로 하나의 단어가 되는 것을 나타낸다. 출현 형태 「B」는, 문자가, 2문자 이상을 포함하는 단어의 선두에 위치하는 것을 나타낸다. 출현 형태 「I」는, 문자가, 3문자 이상을 포함하는 단어의 도중에 위치하는 것을 나타낸다. 출현 형태 「E」는, 문자가, 2문자 이상을 포함하는 단어의 말미에 위치하는 것을 나타낸다. 도 2의 예는, 문자 x1, x2, x5가 단독으로 하나의 단어이며, 문자 x3, x4로 한 단어가 형성되는 것을 나타내고 있다.
또한, 출현 형태에 관한 스킴은 한정되지 않는다. 본 실시 형태에서는, 「SBIEO」라는 스킴을 사용하고 있지만, 예를 들어 당업자에게 주지인 「IOB2」라는 스킴을 사용해도 된다.
품사의 예로서는, 명사, 동사, 조사, 형용사, 형용동사, 접속사 등을 들 수 있다. 본 실시 형태에서는, 명사는 「N」으로 표현되고, 조사는 「P」로 표현되며, 동사는 「V」로 표현된다. 도 2의 예는, 문자 x1이 명사이고, 문자 x2가 조사이고, 문자 x3, x4로 이루어지는 단어가 동사이며, 문자 x5가 조사임을 나타내고 있다.
품사의 서브 클래스는, 대응하는 품사의 하위 개념을 나타낸다. 예를 들어, 명사는 일반 명사와 고유 명사로 더 분류할 수 있고, 조사는 격조사, 접속 조사, 계조사 등으로 더 분류할 수 있다. 본 실시 형태에서는, 일반 명사는 「nc」로 표현되고, 고유 명사는 「np」로 표현되고, 격조사는 「k」로 표현되고, 접속 조사는 「sj」로 표현되고, 일반 동사는 「c」로 표현된다. 도 2의 예는, 문자 x1이 일반 명사이고, 문자 x2가 격조사이고, 문자 x3, x4로 이루어지는 단어가 일반 동사이며, 문자 x5가 접속 조사인 것을 나타내고 있다.
분할 모델(20)이 기억하는 소성의 스코어는, 출력 소성(emission feature)의 스코어 및 천이 소성(transition feature)의 스코어이다.
출력 소성이란, 태그와 문자 또는 문자종과의 대응을 나타내는 단서이다. 환언하면, 출력 소성이란, 어떤 태그에 대하여 어떤 문자 또는 문자종이 대응하기 쉬울지를 나타내는 단서이다. 출력 소성은, 은닉 마르코프 모델의 출력 행렬의 소성 표현에 대응한다. 본 실시 형태에서는, 유니 그램(1문자만으로 이루어지는 문자열)의 출력 소성과, 바이 그램(연속되는 2문자로 이루어지는 문자열)의 출력 소성을 사용한다.
여기서, 문자종이란 어떤 언어에 있어서의 문자의 종류이다. 일본어의 문자종으로서, 예를 들어 한자, 히라가나, 가타카나, 알파벳(대문자 및 소문자), 아라비아 숫자, 한수자, 및 중점(·)을 들 수 있다. 또한, 본 실시 형태에서는, 문자종을 알파벳으로 나타낸다. 예를 들어, 「C」는 한자를 나타내고, 「H」는 히라가나를 나타내고, 「K」는 가타카나를 나타내고, 「L」은 알파벳을 나타내며, 「A」는 아라비아 숫자를 나타낸다. 도 2의 예는, 문자 x1, x3이 한자이고, 문자 x2, x4, x5가 히라가나인 것을 나타내고 있다.
문자에 관한 유니 그램의 출력 소성은, 태그 t와 문자 x의 대응을 나타내는 단서이다. 또한, 문자종에 관한 유니 그램의 출력 소성은, 태그 t와 문자종 c의 대응을 나타내는 단서이다. 본 실시 형태에서는, 태그 t와 문자 x의 대응의 우도의 스코어 s를 {t/x, s}로 나타낸다. 또한, 태그 t와 문자종 c의 대응의 우도의 스코어 s를 {t/c, s}로 나타낸다. 분할 모델(20)은, 하나의 문자 또는 문자종에 대하여 복수의 태그에 관한 스코어를 포함한다. 하나의 문자 또는 문자종에 대하여, 모든 종류의 태그에 관한 데이터가 준비될 경우에는, 분할 모델(20)은, 문법상, 실제로는 일어날 수 없는 태그와 문자 또는 문자종과의 조합에 관한 스코어도 포함한다. 단, 문법상 있을 수 없는 소성의 스코어는, 상대적으로 낮아진다.
이하에, 일본어의
Figure 112016099095676-pct00003
이라는 문자에 관한 출력 소성 스코어의 예를 나타낸다. 이 문자가 조사인 것은 일본어의 문법상 있을 수 없지만, 상술한 바와 같이, 문법상 존재하지 않는
Figure 112016099095676-pct00004
과 같은 소성에 대해서도 데이터가 준비될 수 있다.
Figure 112016099095676-pct00005
또한, 문자종 「한자」에 관한 출력 소성 스코어의 예를 나타낸다.
Figure 112016099095676-pct00006
문자종에 대해서도, 문법상 존재하지 않는 소성을 나타내는 데이터가 준비될 수 있다. 예를 들어, 아라비아 숫자로 표현되는 단어가 조사가 되는 것은 일본어의 문법상 있을 수 없지만, 「S-P-k/A」와 같은 소성에 대해서도 데이터가 준비될 수 있다.
문자에 관한 바이 그램의 출력 소성은, 태그 t와 문자열 xixi +1의 대응을 나타내는 단서이다. 또한, 문자종에 관한 바이 그램의 출력 소성은, 태그 t와 문자종의 열 cici +1의 대응을 나타내는 단서이다. 본 실시 형태에서는, 태그 t 및 문자 xi, xi+1의 우도의 스코어 s를 {t/xi/xi+1, s}로 나타낸다. 또한, 태그 t 및 문자종 ci, ci+1의 우도의 스코어 s를 {t/ci/ci+1, s}로 나타낸다. 하나의 바이 그램에 대하여, 존재할 수 있는 모든 태그에 관한 데이터를 준비할 경우에는, 분할 모델(20)은 문법상, 실제로는 일어날 수 없는 태그와 바이 그램과의 조합에 관한 데이터도 기억한다.
이하에,
Figure 112016099095676-pct00007
라는 바이 그램에 관한 출력 소성 스코어의 예를 나타낸다.
Figure 112016099095676-pct00008
또한, 한자의 다음에 히라가나가 나타나는 바이 그램에 관한 출력 소성 스코어의 예를 나타낸다.
Figure 112016099095676-pct00009
천이 소성이란, 문자 xi 태그 ti와 그 다음 문자 xi+1의 태그 ti +1과의 조합(연속되는 2문자에 대응하는 두개의 태그로 이루어지는 조합)을 나타내는 단서이다. 이 천이 소성은 바이 그램에 관한 소성이다. 천이 소성은, 은닉 마르코프 모델의 천이 행렬의 소성 표현에 대응한다. 본 실시 형태에서는, 태그 ti와 태그 ti +1과의 조합의 우도의 스코어 s를 {ti/ti +1, s}로 나타낸다. 존재할 수 있는 모든 조합에 관한 천이 소성의 데이터를 준비할 경우에는, 분할 모델(20)은 문법상, 실제로는 일어날 수 없는 두개의 태그의 조합에 관한 데이터도 기억한다.
이하에, 천이 소성 스코어의 몇 가지 예를 나타낸다.
Figure 112016099095676-pct00010
Figure 112016099095676-pct00011
자연 언어 처리 시스템(10)은 1대 이상의 컴퓨터를 구비하고, 복수대의 컴퓨터를 구비하는 경우에는, 후술하는 자연 언어 처리 시스템(10)의 각 기능 요소는 분산 처리에 의해 실현된다. 개개의 컴퓨터 종류는 한정되지 않는다. 예를 들어, 거치형 또는 휴대형의 퍼스널 컴퓨터(PC)를 사용해도 되고, 워크스테이션을 사용해도 되며, 고기능 휴대 전화기(스마트폰)나 휴대 전화기, 휴대 정보 단말기(PDA) 등의 휴대 단말기를 사용해도 된다. 또는, 여러 종류의 컴퓨터를 조합하여 자연 언어 처리 시스템(10)을 구축해도 된다. 복수대의 컴퓨터를 사용하는 경우에는, 이들 컴퓨터는 인터넷이나 인트라넷 등의 통신 네트워크를 통하여 접속된다.
자연 언어 처리 시스템(10) 내의 개개의 컴퓨터(100)의 일반적인 하드웨어 구성을 도 3에 도시한다. 컴퓨터(100)는, 오퍼레이팅 시스템이나 어플리케이션 프로그램 등을 실행하는 CPU(프로세서)(101)와, ROM 및 RAM으로 구성되는 주기억부(102)와, 하드 디스크나 플래시 메모리 등으로 구성되는 보조 기억부(103)와, 네트워크 카드 또는 무선 통신 모듈로 구성되는 통신 제어부(104)와, 키보드나 마우스 등의 입력 장치(105)와, 디스플레이나 프린터 등의 출력 장치(106)를 구비한다. 당연히, 탑재되는 하드웨어 모듈은 컴퓨터(100)의 종류에 따라 상이하다. 예를 들어, 거치형 PC 및 워크스테이션은 입력 장치 및 출력 장치로서 키보드, 마우스, 및 모니터를 구비하는 경우가 많지만, 스마트폰은 터치 패널이 입력 장치 및 출력 장치로서 기능하는 경우가 많다.
후술하는 자연 언어 처리 시스템(10)의 각 기능 요소는, CPU(101) 또는 주기억부(102) 위에 소정의 소프트웨어를 읽어들여, CPU(101)의 제어 하에서 통신 제어부(104)나 입력 장치(105), 출력 장치(106) 등을 동작시키고, 주기억부(102) 또는 보조 기억부(103)에 있어서의 데이터의 판독 및 기입을 행함으로써 실현된다. 처리에 필요한 데이터나 데이터 베이스는 주기억부(102) 또는 보조 기억부(103) 내에 저장된다.
한편, 분할 모델(20)은 미리 기억 장치에 기억된다. 분할 모델(20)의 구체적인 실장 방법은 한정되지 않고, 예를 들어 분할 모델(20)은 관계 데이터 베이스 또는 텍스트 파일로서 준비되어도 된다. 또한, 분할 모델(20)의 설치 장소는 한정되지 않고, 예를 들어 분할 모델(20)은 자연 언어 처리 시스템(10)의 내부에 존재해도 되고, 자연 언어 처리 시스템(10)과는 상이한 다른 컴퓨터 시스템 내에 존재해도 된다. 분할 모델(20)이 다른 자연 언어 처리 시스템 내에 있는 경우에는, 자연 언어 처리 시스템(10)은, 통신 네트워크를 통하여 분할 모델(20)에 액세스한다.
상술한 바와 같이, 분할 모델(20)은 다양한 소성의 스코어의 집합이라고도 할 수 있다. 수식 상에서는, n개의 소성의 스코어 w1, w2, …, wn을 포함하는 분할 모델(20)을 벡터 w={w1, w2, …, wn}로 나타낼 수 있다. 분할 모델(20)이 신규로 작성된 시점에서의 각 소성의 스코어는 모두 0이다. 즉, w={0, 0, …, 0}이다. 후술하는 자연 언어 처리 시스템(10)의 처리에 의해, 그 스코어는 조금씩 갱신되어 간다. 어느 정도 많은 문장이 처리된 후에는, 상기와 같이 개개의 소성 스코어 사이에 차가 발생되게 된다.
도 4에 도시하는 바와 같이, 자연 언어 처리 시스템(10)은 기능적 구성 요소로서 취득부(11), 해석부(12), 및 수정부(13)를 구비한다. 자연 언어 처리 시스템(10)은 필요에 따라서 분할 모델(20)에 액세스한다. 이하에 각 기능 요소에 대하여 설명하는데, 본 실시 형태에서는 자연 언어 처리 시스템(10)이 일본어 문장을 처리하는 것을 전제로 설명한다. 단, 자연 언어 처리 시스템(10)이 처리하는 문장의 언어는 일본어에 한정되지 않고, 중국어 등의 다른 언어의 문장을 해석하는 것도 가능하다.
취득부(11)는, 형태소의 열로 분할하려고 하는 문장을 취득하는 기능 요소이다. 취득부(11)에 의한 문장의 취득 방법은 한정되지 않는다. 예를 들어, 취득부(11)는 인터넷 상의 임의의 웹 사이트로부터 문장을 수집해도 된다(소위, 크롤링(crawling)). 또는, 취득부(11)는, 자연 언어 처리 시스템(10) 내의 데이터 베이스에 미리 축적된 문장을 판독해도 되고, 자연 언어 처리 시스템(10) 이외의 컴퓨터 시스템 상에 있는 데이터 베이스에 미리 축적된 문장을 통신 네트워크 경유로 액세스하여 판독해도 된다. 또는, 취득부(11)는 자연 언어 처리 시스템(10)의 유저가 입력한 문장을 접수해도 된다. 최초의 문장의 해석 지시가 입력되면, 취득부(11)는, 하나의 문장을 취득하여 해석부(12)에 출력한다. 그 후, 후술하는 수정부(13)로부터 완료 통지가 입력되면, 취득부(11)는 다음 문장을 취득하여 해석부(12)에 출력한다.
해석부(12)는 개개의 문장에 대하여 형태소 해석을 실행하는 기능 요소이다. 해석부(12)는 하나의 문장이 입력될 때마다 이하의 처리를 실행한다.
먼저, 해석부(12)는, 하나의 문장을 개개의 문자로 분할하고, 각 문자의 문자종을 판정한다. 해석부(12)는, 문자와 문자종의 대비표, 또는 문자종을 판정하기 위한 정규 표현을 미리 기억하고 있으며, 그 대비표 또는 정규 표현을 사용하여 문자종을 판정한다.
계속해서, 해석부(12)는 비터비·알고리즘(Viterbi algorithm)을 사용하여 각 문자의 태그를 결정한다. i번째의 문자에 대하여 해석부(12)는, 최종적으로 선택될 가능성이 있는 태그(후보 태그)의 각각에 대하여, (i-1)번째의 문자의 복수의 후보 태그 중 어느 후보 태그와 접속한 경우에 스코어(이것을 「접속 스코어」라고도 함)가 가장 높아지는지를 판정한다. 여기서, 접속 스코어는, 계산 대상의 태그에 관한 각종 스코어(유니 그램의 출력 소성의 스코어, 바이 그램의 출력 소성의 스코어, 및 천이 소성의 스코어)의 합계값이다. 예를 들어, 해석부(12)는, i번째의 태그가 「S-N-nc」인 경우에는, (i-1)번째의 태그가 「S-P-k」인 경우에 접속 스코어가 가장 높아지고, i번째의 태그가 「S-V-c」인 경우에는, (i-1)번째의 태그가 「E-N-nc」인 경우에 접속 스코어가 가장 높아진다는 등으로 판정한다. 그리고, 해석부(12)는, 접속 스코어가 가장 높아지는 조합(예를 들어, (S-P-k, S-N-nc), (E-N-nc, S-V-c) 등)을 모두 기억한다. 해석부(12)는, 최초의 문자로부터 문말 기호까지 1문자씩 진행하면서 이러한 처리를 실행한다.
문말 기호에 대해서는 1종류의 태그(EOS)밖에 존재하지 않으므로, 접속 스코어가 가장 높은, 최후의 문자와 문말 기호의 태그와의 조합은 하나로 결정된다(예를 들어, 그 조합이 (E-V-c, EOS)라고 결정됨). 그렇게 하면, 최후의 문자의 태그가 결정되고(예를 들어, 그 태그는 「E-V-c」라고 결정됨), 그 결과, 최후로부터 2번째의 문자의 태그도 결정된다. 결과적으로, 문장의 최후부터 선두를 향하여 차례로, 줄줄이 태그가 확정된다.
이러한 해석부(12)에 의한 처리를 모식적으로 도 5에 도시한다. 도 5는 4문자로 이루어지는 문장의 태그 달기를 하는 일례를 도시한다. 설명을 간단하게 하기 위해서, 이 예에서는 태그를 「A1」 「B2」 등과 같이 간략화하여 나타내고, 각 문자의 후보 태그의 개수를 3으로 하였다. 도 5에 있어서의 굵은 선은, 문장을 전방부터 처리함으로써 얻어지는, 접속 스코어가 가장 높다고 판정된 태그와 태그의 조합을 나타낸다. 예를 들어 3문자째의 처리에서는, 태그 C1에 대해서는 태그 B1과의 접속 스코어가 가장 높고, 태그 C2에 대해서는 태그 B1과의 접속 스코어가 가장 높고, 태그 C3에 대해서는 태그 B2와의 접속 스코어가 가장 높다. 도 5의 예에서는, 문장의 최후(EOS)까지 처리하면, 조합(D1, EOS)이 확정되고, 계속해서, 조합(C2, D1)이 확정되고, 그 후, 조합(B1, C2), (A2, B1)이 순차 확정된다. 따라서, 해석부(12)는 1 내지 4문자째의 태그가 각각 A2, B1, C2, D1이라고 판정한다.
해석부(12)는 각 문자가 태그 달기된 문장을 해석 결과로서 출력한다. 해석부(12)는 해석 결과를 적어도 수정부(13)에 출력하는데, 이 이유는, 그 해석 결과가 분할 모델(20)의 수정에 필요하기 때문이다. 해석부(12)는 추가적인 출력을 실행해도 된다. 예를 들어, 해석부(12)는 해석 결과를 모니터 상에 표시하거나 프린터에 인쇄하거나 해도 되고, 해석 결과를 텍스트 파일로 써내도 되며, 해석 결과를 메모리나 데이터 베이스 등의 기억 장치에 저장해도 된다. 또는, 해석부(12)는 해석 결과를 통신 네트워크 경유로 자연 언어 처리 시스템(10) 이외의 다른 임의의 컴퓨터 시스템에 송신해도 된다.
수정부(13)는, 해석부(12)로부터 얻어진 해석 결과와, 그 문장의 형태소 해석의 정답과의 차에 기초하여 분할 모델(20)을 수정하는 기능 요소이다. 본 명세서에 있어서의 「분할 모델의 수정」이란, 분할 모델 내의 적어도 하나의 소성 스코어를 변경하는 처리이다. 또한, 경우에 따라서는, 어떤 스코어를 변경하려고 해도 결과적으로 값이 변하지 않는 경우가 있을 수 있다. 수정부(13)는 해석 결과가 하나 입력될 때마다 이하의 처리를 실행한다.
먼저, 수정부(13)는 입력된 해석 결과에 대응하는 정답 데이터, 즉, 해석부(12)에 의해 처리된 문장의 형태소 해석의 정답을 나타내는 데이터를 취득한다. 본 실시 형태에 있어서의 정답 데이터란, 문장을 형성하는 각 문자의 태그(출현 형태, 품사 및, 품사의 서브 클래스의 조합)를 나타내는 데이터이다. 이 정답 데이터는 사람 손에 의해 작성된다. 수정부(13)에 의한 정답 데이터의 취득 방법은 한정되지 않는다. 예를 들어, 수정부(13)는 자연 언어 처리 시스템(10) 내의 데이터 베이스에 미리 축적된 정답 데이터를 판독해도 되고, 자연 언어 처리 시스템(10) 이외의 컴퓨터 시스템 상에 있는 데이터 베이스에 미리 축적된 문장을 통신 네트워크 경유로 액세스하여 판독해도 된다. 또는, 수정부(13)는 자연 언어 처리 시스템(10)의 유저가 입력한 정답 데이터를 접수해도 된다.
정답 데이터를 취득하면, 수정부(13)는 입력된 해석 결과와 그 정답 데이터를 비교하여 이들 사이의 차를 특정한다.
해석 결과가 정답 데이터와 완전히 일치하여 차가 없을 경우에는, 수정부(13)는 분할 모델(20)을 수정하는 일 없이 처리를 종료하고, 완료 통지를 생성하여 취득부(11)에 출력한다. 이 완료 통지는, 수정부(13)에서의 처리가 종료되어 다음 문장에 대한 형태소 해석이 실행 가능하게 된 것을 나타내는 신호이다. 해석 결과가 정답 데이터와 완전히 일치했다는 것은, 적어도 이 시점에서 분할 모델(20)을 수정할 필요가 없으므로, 자연 언어 처리 시스템(10)(보다 구체적으로는 해석부(12))은 현재의 분할 모델(20)을 그대로 사용하여 다음 문장을 해석한다.
예를 들어, 상술한 일본어 문장
Figure 112016099095676-pct00012
에 관한 정답 데이터는 이하와 같다. 또한, 편의적으로, 각 문자를 x1 내지 x5라고도 나타낸다.
Figure 112016099095676-pct00013
따라서, 도 2에 도시하는 해석 결과가 입력된 경우에는, 수정부(13)는 그 해석 결과와 정답 데이터가 완전히 일치한다고 판정하고, 해석부(12)를 수정하는 일 없이 완료 통지를 취득부(11)에 출력한다.
한편, 해석 결과가 정답 데이터와 완전히 일치하지 않는 경우(즉, 해석 결과와 정답 데이터에 차가 있는 경우)에는, 수정부(13)는 분할 모델(20)의 적어도 일부의 스코어를 갱신한다. 보다 구체적으로는, 수정부(13)는 오답의 태그에 대응하는 정답의 태그에 관련되는 소성의 스코어를 현재 값보다도 높게 함과 함께, 당해 오답의 태그에 관한 소성의 스코어를 현재 값보다도 낮게 한다.
예를 들어, 해석부(12)가 일본어 문장
Figure 112016099095676-pct00014
로부터 하기 해석 결과를 얻었다고 하자.
Figure 112016099095676-pct00015
이 경우, 해석 결과가 전체적으로 틀렸으므로, 수정부(13)는, 정답 데이터 내의 각 태그에 대응하는 소성을 「맞음(+1)」이라 평가하여 그 소성의 스코어를 현재 값보다도 높게 하고, 해석 결과 내의 각 태그에 대응하는 소성을 「틀림(-1)」이라 평가하여 그 소성의 스코어를 현재 값보다도 낮게 한다. 결과적으로 상쇄되는 부분을 고려하면, 수정부(13)는 최종적으로 이하의 처리를 행한다고 바꾸어 말할 수 있다.
수정부(13)는 문자 x4, x5의 정답 태그에 대응하는 출력 소성
Figure 112016099095676-pct00016
에 관한 스코어를 현재 값보다 크게 하고, 오답의 태그에 관련되는 출력 소성
Figure 112016099095676-pct00017
에 관한 스코어를 현재 값보다 작게 한다. 이에 의해, 해석된 문장에 관련되는 유니 그램의 출력 소성의 스코어(문자에 관한 스코어)가 갱신된다.
또한, 수정부(13)는, 오답이었던 문자 x4, x5의 정답 태그에 관련되는 출력 소성 「E-V-c/H」 「S-P-sj/H」에 관한 스코어를 현재 값보다 크게 하고, 오답의 태그에 관련되는 출력 소성 「I-V-c/H」 「E-V-c/H」에 관한 스코어를 현재 값보다 작게 한다. 이에 의해, 해석된 문장에 관련되는 유니 그램의 출력 소성의 스코어(문자종에 관한 스코어)가 갱신된다.
또한, 수정부(13)는, 오답이었던 문자 x4, x5의 정답 태그에 관련되는 출력 소성
Figure 112016099095676-pct00018
에 관한 스코어를 현재 값보다 크게 하고, 오답의 태그에 관련되는 출력 소성
Figure 112016099095676-pct00019
에 관한 스코어를 현재 값보다 작게 한다. 이에 의해, 해석된 문장에 관련되는 바이 그램의 출력 소성의 스코어(문자에 관한 스코어)가 갱신된다.
또한, 수정부(13)는, 오답이었던 문자 x4, x5의 정답 태그에 관련되는 출력 소성 「E-V-c/H/H」에 관한 스코어를 현재 값보다 크게 하고, 오답의 태그에 관련되는 출력 소성 「I-V-c/H/H」에 관한 스코어를 현재 값보다 작게 한다. 이에 의해, 해석된 문장에 관련되는 바이 그램의 출력 소성의 스코어(문자종에 관한 스코어)가 갱신된다.
또한, 수정부(13)는 오답이었던 문자 x4, x5의 정답 태그에 관련되는 천이 소성 「B-V-c/E-V-c」 「E-V-c/S-P-sj」에 관한 스코어를 현재 값보다 크게 하고, 오답의 태그에 관련되는 천이 소성 「B-V-c/I-V-c」 「I-V-c/E-V-c」에 관한 스코어를 현재 값보다 작게 한다. 이에 의해, 해석된 문장에 관련되는 천이 소성의 스코어가 갱신된다.
또한, 상술한 바와 같이, 수정부(13)는, 정답 데이터 내의 각 태그를 「맞음(+1)」이라 평가하는 한편, 해석 결과 내의 각 문자에 관한 태그를 「틀림(-1)」이라 평가하고, 각 태그에 관한 두개의 평가 결과를 상쇄한 다음, 「맞음(+1)」이라 평가된 태그에 대응하는 소성의 스코어를 높게 하고, 「틀림(-1)」이라 평가된 태그에 대응하는 소성의 스코어를 낮게 해도 된다.
소성의 스코어를 갱신할 때, 수정부(13)는 SCW(Soft Confidence-Weighted learning)를 사용해도 된다. 이 SCW는, 분산이 큰 파라미터에 대해서는 아직 자신이 없다(정확하지 않다)고 간주하여 그 파라미터를 크게 갱신하고, 분산이 작은 파라미터에 대해서는 어느 정도 정확하다고 간주하여 그 파라미터를 작게 갱신하는 수법이다. 수정부(13)는, 값의 범위를 갖는 스코어의 분산에 기초하여 당해 스코어의 변화량을 결정한다. 이 SCW를 실행하기 위해서, 분할 모델(20)(벡터 w)에 가우스 분포를 도입하고, 수정부(13)는 각 스코어의 갱신에 더하여 그 스코어의 평균 및 공분산 행렬도 동시에 갱신한다. 각 스코어의 평균의 초기값은 0이다. 각 스코어의 공분산 행렬의 초기값에 대해서는, 대각 요소가 1이며, 그 이외의 요소(비대각 요소)는 0이다. 도 6의 (a)는, 분산이 큰 스코어를 크게 변경하는(즉, 스코어의 변화량이 큰) 형태를 나타내고, 도 6의 (b)는, 분산이 작은 스코어를 조금만 변경하는(즉, 스코어의 변화량이 작은) 형태를 나타내고 있다. 도 6의 (a) 및 도 6의 (b)는 각각, 스코어를 Sa로부터 Sb로 갱신했을 때, 공분산 행렬 Σ도 갱신하는 것을 나타내고 있다. 또한, 공분산 행렬의 갱신에 대하여 말하자면, 어떤 소성과 다른 소성의 상관 관계를 고려하지 않아도 스코어의 계산 정밀도를 유지할 수 있으므로, 본 실시 형태에서는 공분산 행렬의 비대각 요소를 계산하는 일 없이 대각 요소만을 계산한다. 이에 의해, 스코어의 갱신 속도를 높일 수 있다.
또한, 수정부(13)는 SCW 이외의 수법을 사용하여 소성의 스코어를 갱신해도 된다. SCW 이외의 수법의 예로서는, Perceptron, Passive Aggressive(PA), Confidence Weighted(CW), Adaptive Regularization of Weight Vectors(AROW)를 들 수 있다.
해석된 문장에 관련되는 소성의 스코어를 갱신함으로써 분할 모델(20)을 수정하면, 수정부(13)는 완료 통지를 생성하여 취득부(11)에 출력한다. 이 경우에는, 자연 언어 처리 시스템(10)(보다 구체적으로는 해석부(12))은 수정된 분할 모델(20)을 사용하여 다음 문장을 해석한다.
이어서, 도 7을 사용하여, 자연 언어 처리 시스템(10)의 동작을 설명함과 함께 본 실시 형태에 따른 자연 언어 처리 방법에 대하여 설명한다.
먼저, 취득부(11)가 하나의 문장을 취득한다(스텝 S11). 계속해서, 해석부(12)가 분할 모델(20)을 사용하여 그 문장을 형태소 해석한다(스텝 S12, 해석 스텝). 이 형태소 해석에 의해, 문장의 각 문자에 「S-N-nc」 등과 같은 태그가 부여된다.
계속해서, 수정부(13)가 해석부(12)에 의한 형태소 해석의 결과와, 그 형태소 해석의 정답 데이터의 차를 구한다(스텝 S13). 그 차가 없을 경우(스텝 S14; "아니오"), 즉, 해석부(12)에 의한 형태소 해석이 완전히 맞는 경우에는, 수정부(13)는 분할 모델(20)을 수정하는 일 없이 처리를 종료한다. 한편, 해석 결과와 정답 데이터에 차가 있는 경우(스텝 S14; "예"), 즉, 해석부(12)에 의한 형태소 해석의 적어도 일부가 맞지 않는 경우에는, 수정부(13)는 해석된 문장에 관련되는 소성의 스코어를 갱신함으로써 분할 모델(20)을 수정한다(스텝 S15, 수정 스텝). 구체적으로는, 수정부(13)는 오답의 태그에 대응하는 정답의 태그에 관련되는 소성의 스코어를 현재 값보다도 높게 함과 함께, 당해 오답의 태그에 관련되는 소성의 스코어를 현재 값보다도 낮게 한다.
수정부(13)에서의 처리가 완료되면, 스텝 S11의 처리로 복귀되고(스텝 S16 참조), 취득부(11)가 다음 문장을 취득하고(스텝 S11), 해석부(12)가 그 문장을 형태소 해석한다(스텝 S12). 이때, 이전 문장의 처리에 있어서 분할 모델(20)의 수정(스텝 S15)이 실행되었던 경우에는, 해석부(12)는 수정된 분할 모델(20)을 사용하여 형태소 해석을 실행한다. 그 후, 수정부(13)가 스텝 S13 이후의 처리를 실행한다. 이러한 반복은, 처리 대상의 문장이 존재하는 한 계속된다(스텝 S16 참조).
자연 언어 처리 시스템(10)의 동작을 나타내는 알고리즘의 일례를 이하에 나타낸다.
Figure 112016099095676-pct00020
상기 알고리즘에 있어서의 1행째는 분할 모델(20)(변수 w1)의 초기화를 의미하고, 이 처리에 의해, 예를 들어 각 소성의 스코어가 0으로 설정된다. 2행째의 For루프는, 3행째 이후의 처리를 한 문장씩 실행하는 것을 나타낸다. 3행째는, 문장 xt를 취득하는 것을 의미하며, 상기 스텝 S11에 상당한다. 4행째는, 그 시점의 분할 모델(20)(wt)에 기초하는 형태소 해석을 함으로써 각 문자에 태그를 부여하는 처리를 나타내고, 상기 스텝 S12에 상당한다. y^t는 해석 결과를 나타낸다. 5행째는, 문장 xt의 형태소 해석의 정답 데이터 yt를 취득하는 것을 의미한다. 6행째는, 해석 결과 y^t와 정답 데이터 yt에 차가 있는 경우에는 분할 모델(20)을 갱신(수정)하는 것을 의미한다. 7행째는, 정답 데이터 yt를 정(正) 예로서 학습하는 것을 나타내고, 8행째는, 오류를 포함하는 해석 결과 y^t를 부(負) 예로서 학습하는 것을 나타낸다. 7, 8행째의 처리는 상기의 스텝 S15에 상당한다.
이어서, 도 8을 사용하여, 자연 언어 처리 시스템(10)을 실현하기 위한 자연 언어 처리 프로그램 P1을 설명한다.
자연 언어 처리 프로그램 P1은, 메인 모듈 P10, 취득 모듈 P11, 해석 모듈 P12, 및 수정 모듈 P13을 구비한다.
메인 모듈 P10은, 형태소 해석 및 이 관련 처리를 통괄적으로 제어하는 부분이다. 취득 모듈 P11, 해석 모듈 P12, 및 수정 모듈 P13을 실행함으로써 실현되는 기능은 각각, 상기 취득부(11), 해석부(12), 및 수정부(13)의 기능과 마찬가지이다.
자연 언어 처리 프로그램 P1은, 예를 들어 CD-ROM이나 DVD-ROM, 반도체 메모리 등의 유형의 기록 매체에 고정적으로 기록된 다음 제공되어도 된다. 또한, 자연 언어 처리 프로그램 P1은, 반송파에 중첩된 데이터 신호로서 통신 네트워크를 통하여 제공되어도 된다.
이상 설명한 바와 같이, 본 발명의 일 측면에 관한 자연 언어 처리 시스템은, 하나 이상의 트레이닝 데이터를 사용한 기계 학습에 의해 얻어지는 분할 모델을 사용하여, 하나의 문장에 대한 형태소 해석을 실행함으로써, 당해 하나의 문장을 분할하여 얻어지는 개개의 피분할 요소에, 적어도 단어의 품사를 나타내는 태그를 설정하는 해석부이며, 분할 모델이, 피분할 요소와 태그의 대응을 나타내는 출력 소성의 스코어와, 연속되는 두개의 피분할 요소에 대응하는 두개의 태그의 조합을 나타내는 천이 소성의 스코어를 포함하는, 당해 해석부와, 해석부에 의해 얻어진 해석 결과로 나타나는 태그와, 하나의 문장의 정답의 태그를 나타내는 정답 데이터를 비교하여, 오답의 태그에 대응하는 정답의 태그에 관련되는 출력 소성의 스코어 및 천이 소성의 스코어를 현재 값보다도 높게 하고, 당해 오답의 태그에 관련되는 출력 소성의 스코어 및 천이 소성의 스코어를 현재 값보다도 낮게 함으로써, 해석부에 의한 다음 문장의 형태소 해석에서 사용될 분할 모델을 수정하는 수정부를 구비한다.
본 발명의 일 측면에 관한 자연 언어 처리 방법은, 프로세서를 구비하는 자연 언어 처리 시스템에 의해 실행되는 자연 언어 처리 방법이며, 하나 이상의 트레이닝 데이터를 사용한 기계 학습에 의해 얻어지는 분할 모델을 사용하여, 하나의 문장에 대한 형태소 해석을 실행함으로써, 당해 하나의 문장을 분할하여 얻어지는 개개의 피분할 요소에, 적어도 단어의 품사를 나타내는 태그를 설정하는 해석 스텝이며, 분할 모델이, 피분할 요소와 태그의 대응을 나타내는 출력 소성의 스코어와, 연속되는 두개의 피분할 요소에 대응하는 두개의 태그의 조합을 나타내는 천이 소성의 스코어를 포함하는, 당해 해석 스텝과, 해석 스텝에 있어서 얻어진 해석 결과로 나타나는 태그와, 하나의 문장의 정답의 태그를 나타내는 정답 데이터를 비교하여, 오답의 태그에 대응하는 정답의 태그에 관련되는 출력 소성의 스코어 및 천이 소성의 스코어를 현재 값보다도 높게 하고, 당해 오답의 태그에 관련되는 출력 소성의 스코어 및 천이 소성의 스코어를 현재 값보다도 낮게 함으로써, 해석 스텝에 있어서의 다음 문장의 형태소 해석에서 사용될 분할 모델을 수정하는 수정 스텝을 포함한다.
본 발명의 일 측면에 관한 자연 언어 처리 프로그램은, 하나 이상의 트레이닝 데이터를 사용한 기계 학습에 의해 얻어지는 분할 모델을 사용하여, 하나의 문장에 대한 형태소 해석을 실행함으로써, 당해 하나의 문장을 분할하여 얻어지는 개개의 피분할 요소에, 적어도 단어의 품사를 나타내는 태그를 설정하는 해석부이며, 분할 모델이, 피분할 요소와 태그의 대응을 나타내는 출력 소성의 스코어와, 연속되는 두개의 피분할 요소에 대응하는 두개의 태그의 조합을 나타내는 천이 소성의 스코어를 포함하는, 당해 해석부와, 해석부에 의해 얻어진 해석 결과로 나타나는 태그와, 하나의 문장의 정답의 태그를 나타내는 정답 데이터를 비교하여, 오답의 태그에 대응하는 정답의 태그에 관련되는 출력 소성의 스코어 및 천이 소성의 스코어를 현재 값보다도 높게 하고, 당해 오답의 태그에 관련되는 출력 소성의 스코어 및 천이 소성의 스코어를 현재 값보다도 낮게 함으로써, 해석부에 의한 다음 문장의 형태소 해석에서 사용될 분할 모델을 수정하는 수정부로서 컴퓨터를 기능시킨다.
이러한 측면에 있어서는, 하나의 문장을 형태소 해석할 때마다, 그 해석 결과와 정답 데이터가 비교되고, 이들의 차에 기초하여 분할 모델이 수정된다. 이렇게 한 문장마다 분할 모델을 수정함으로써, 복수의 문장을 처리한 경우의 분할 모델의 수정에 필요로 하는 시간이, 문장의 개수에 따라서 거의 선형적으로 증대될 정도로 억제되므로, 형태소 해석의 분할 모델을 일정한 시간 내에(환언하면, 예측할 수 있는 시간의 범위 내에) 자동으로 수정할 수 있다.
또한, 정답 태그에 관한 소성 스코어를 높게 하고, 오답 태그에 관한 소성의 스코어를 낮게 함으로써, 다음 문장의 형태소 해석의 정밀도를 보다 높게 할 수 있다.
다른 측면에 관한 자연 언어 처리 시스템에서는, 피분할 요소가 문자여도 된다. 문자 단위의 지식(출력 소성 및 천이 소성)을 사용하여 문자마다 처리함으로써, 일반적으로 대규모가 되어 버리는 단어 사전을 사용하는 일 없이, 형태소 해석을 실행할 수 있다. 또한, 단어의 지식이 아닌 문자 단위의 지식을 사용하여 한 문장마다 분할 모델이 수정되므로, 다음 문장이, 지금까지 해석된 어느 문장과도 분야 또는 성질이 상이한 것이라고 하더라도, 당해 다음 문장을 고정밀도로 형태소 해석하는 것이 가능하다. 즉, 본 발명의 일 측면에 관한 자연 언어 처리 시스템은, 미지의 분야의 문장 또는 미지의 성질을 갖는 문장에 대한 적응성을 갖는다.
다른 측면에 관한 자연 언어 처리 시스템에서는, 출력 소성의 스코어 및 천이 소성의 스코어 각각이 값의 범위를 가지며, 각 스코어에 대하여 분산이 설정되고, 수정부가, 각 스코어의 분산에 기초하여, 당해 스코어를 높게 또는 낮게 할 때의 당해 스코어의 변화량을 결정해도 된다. 이 수법을 사용함으로써 각 소성의 스코어를 빨리 수렴시키는 것이 가능해진다.
이상, 본 발명을 그 실시 형태에 기초하여 상세하게 설명하였다. 그러나, 본 발명은 상기 실시 형태에 한정되는 것은 아니다. 본 발명은 그 요지를 일탈하지 않는 범위에서 다양한 변형이 가능하다.
일반적으로, 분할 모델(20)에 포함되는 소성의 개수는 취급하는 문자의 개수에 따라서 증가하므로, 일본어나 중국어 등과 같이 문자가 많은 언어에서는 분할 모델(20)이 매우 대규모가 되어, 분할 모델(20)을 위한 기억 용량도 매우 커져 버린다. 따라서, 피쳐·해싱(Feature Hashing)이라는 수법을 도입하여, 개개의 소성을 해시 함수에 의해 수치화해도 된다. 특히, 소성의 일부를 나타내는 문자 및 문자열을 수치화하는 것의 효과가 높다. 한편, 천이 소성은 해시화해도 분할 모델(20)의 용량의 압축에는 그다지 공헌하지 않고, 처리 속도가 오히려 느려질 가능성이 있다. 따라서, 천이 소성을 해시화하는 일 없이 출력 소성만을 해시화해도 된다. 또한, 해시 함수에 대해서는, 1종만을 사용해도 되고, 출력 소성과 천이 소성에 있어 상이한 해시 함수를 사용해도 된다.
이 경우에는, 분할 모델(20)은, 개개의 문자가 수치로 표시된 소성에 관한 데이터를 기억한다. 예를 들어,
Figure 112016099095676-pct00021
이라는 문자가 34라는 수치로 변환되고,
Figure 112016099095676-pct00022
라는 문자가 4788이라는 수치로 변환된다. 이 수치화에 의해, 유계인(bounded) 소성의 집합을 형성할 수 있다. 또한, 이 피쳐·해싱에 의해, 복수의 문자 또는 문자열에 동일한 수치가 할당될 수 있지만, 출현 빈도가 높은 문자 또는 문자열끼리에 동일한 수치가 할당될 개연성은 매우 낮으므로, 이러한 충돌은 무시할 수 있다.
즉, 다른 측면에 관한 자연 언어 처리 시스템에서는, 분할 모델이, 해시 함수에 의해 수치화된 출력 소성을 포함해도 된다. 문자를 수치로 취급함으로써, 분할 모델의 기억에 필요한 메모리 용량을 절약할 수 있다.
해석부(12)는, 스코어가 상대적으로 낮은 소성을 사용하는 일 없이(그러한 소성을 무시하고), 스코어가 상대적으로 높은 소성을 사용하여 형태소 해석을 실행해도 된다. 스코어가 상대적으로 낮은 소성을 무시하는 수법으로서, 예를 들어 포워드·백워드·스플리팅(Forward-Backward Splitting(FOBOS))과, 소성의 양자화(Feature Quantization)를 들 수 있다.
FOBOS는, 정칙화(예를 들어 L1 정칙화)에 의해 스코어를 0인 쪽으로 압축하는 수법이다. FOBOS를 사용함으로써, 스코어가 소정 값 이하인 소성(예를 들어, 스코어가 0인 소성, 또는 스코어가 0에 가까운 소성)을 무시하는 것이 가능해진다.
소성의 양자화는, 소수점 이하의 값에 10n(n은 1 이상의 자연수)을 곱함으로써 소성의 스코어를 정수화하는 수법이다. 예를 들어, 「0.123456789」라는 스코어에 1000을 곱하여 정수화하면 스코어는 「123」이다. 스코어를 양자화함으로써, 그 스코어를 텍스트로 기억하기 위해 필요한 메모리 용량을 절약할 수 있다. 또한, 이 수법에 의해, 스코어가 소정 값 이하인 소성(예를 들어, 정수화 후의 스코어가 0인 소성, 또는 당해 스코어가 0에 가까운 소성)을 무시하는 것이 가능해진다. 예를 들어, 어떤 소성 Fa, Fb의 스코어가 각각 0.0512, 0.0003이라고 하고, 이들 스코어에 1000을 곱하여 정수화했을 경우에는, 소성 Fa, Fb는 각각 51, 0이 된다. 이 경우에는, 해석부(12)는 소성 Fb를 사용하는 일 없이 형태소 해석을 실행한다.
정칙화 또는 양자화의 처리는, 예를 들어 수정부(13), 자연 언어 처리 시스템(10) 내의 다른 기능 요소, 또는 자연 언어 처리 시스템(10)과는 다른 컴퓨터 시스템에서 실행된다. 수정부(13)가 정칙화 또는 양자화의 처리를 실행하는 경우에는, 수정부(13)는 자연 언어 처리 시스템(10)에 있어서 1세트의 문장(예를 들어, 어느 정도 많은 문장)이 형태소 해석되고 분할 모델(20)이 몇 번이고 수정된 후에, 정칙화 또는 양자화의 처리를 1회 실행한다.
즉, 다른 측면에 관한 자연 언어 처리 시스템에서는, 해석부가, 정칙화 또는 양자화에 의해 스코어가 소정 값 이하로 된 소성을 사용하는 일 없이 형태소 해석을 실행해도 된다. 스코어가 상대적으로 낮은 소성(예를 들어, 정칙화 또는 양자화에 의해 스코어가 0이 되는 소성, 또는 당해 스코어가 0에 가까운 소성)을 사용하지 않음으로써, 분할 모델의 데이터양을 억제하거나 형태소 해석의 시간을 단축하거나 할 수 있다.
상기 실시 형태에서는 해석부(12)가 문장을 개개의 문자로 분할하여 각 문자에 태그를 설정했지만, 피분할 요소는 문자가 아닌 단어여도 된다. 이에 따라, 해석부는, 문자가 아닌 단어에 관한 소성의 스코어를 나타내는 분할 모델과 단어 사전을 사용하여 형태소 해석을 실행해도 된다.
상술한 바와 같이, 본 발명에 따른 자연 언어 처리 시스템은, 임의의 언어의 형태소 해석에 적용할 수 있다.
10: 자연 언어 처리 시스템
11: 취득부
12: 해석부
13: 수정부
20: 분할 모델
P1: 자연 언어 처리 프로그램
P10: 메인 모듈
P11: 취득 모듈
P12: 해석 모듈
P13: 수정 모듈

Claims (7)

  1. 하나 이상의 트레이닝 데이터를 사용한 기계 학습에 의해 얻어지는 분할 모델을 사용하여, 하나의 문장에 대한 형태소 해석을 실행함으로써, 상기 하나의 문장을, 단어 사전을 사용하여 하나 이상의 단어로 분할하는 일 없이 1문자씩 분할하고, 상기 분할에 의해 얻어지는 개개의 문자에, 적어도 단어의 품사를 나타내는 태그를 설정하는 해석부로서, 상기 분할 모델이, 문자와 상기 태그의 대응을 나타내는 출력 소성의 스코어와, 연속되는 두개의 문자에 대응하는 두개의 상기 태그의 조합을 나타내는 천이 소성의 스코어를 포함하는, 상기 해석부와,
    상기 해석부에 의해 얻어진 해석 결과로 나타나는 태그와, 상기 하나의 문장의 정답의 태그를 나타내는 정답 데이터를 비교하여 일치하지 않는 경우, 오답의 태그에 관련되는 상기 출력 소성의 스코어 및 상기 천이 소성의 스코어를 현재 값보다도 낮게 하고, 상기 오답의 태그에 대응하는 정답의 태그에 관련되는 상기 출력 소성의 스코어 및 상기 천이 소성의 스코어를 현재 값보다도 높게 함으로써, 상기 해석부에 의한 다음 문장의 형태소 해석에서 사용될 상기 분할 모델을 수정하는 수정부를 구비하는, 자연 언어 처리 시스템.
  2. 제1항에 있어서,
    상기 분할 모델이, 해시 함수에 의해 수치화된 상기 출력 소성을 포함하는, 자연 언어 처리 시스템.
  3. 제1항 또는 제2항에 있어서,
    상기 출력 소성의 스코어 및 상기 천이 소성의 스코어 각각이 값의 범위를 가지며, 각 스코어에 대하여 분산이 설정되고,
    상기 수정부가, 각 스코어의 분산에 기초하여, 상기 스코어를 높게 또는 낮게 할 때의 상기 스코어의 변화량을 결정하는, 자연 언어 처리 시스템.
  4. 제1항 또는 제2항에 있어서,
    상기 해석부가, 정칙화 또는 양자화에 의해 상기 스코어가 소정 값 이하로 된 상기 소성을 사용하는 일 없이 상기 형태소 해석을 실행하는, 자연 언어 처리 시스템.
  5. 제3항에 있어서,
    상기 해석부가, 정칙화 또는 양자화에 의해 상기 스코어가 소정 값 이하로 된 상기 소성을 사용하는 일 없이 상기 형태소 해석을 실행하는, 자연 언어 처리 시스템.
  6. 프로세서를 구비하는 자연 언어 처리 시스템에 의해 실행되는 자연 언어 처리 방법이며,
    하나 이상의 트레이닝 데이터를 사용한 기계 학습에 의해 얻어지는 분할 모델을 사용하여, 하나의 문장에 대한 형태소 해석을 실행함으로써, 상기 하나의 문장을, 단어 사전을 사용하여 하나 이상의 단어로 분할하는 일 없이 1문자씩 분할하고, 상기 분할에 의해 얻어지는 개개의 문자에, 적어도 단어의 품사를 나타내는 태그를 설정하는 해석 스텝으로서, 상기 분할 모델이, 문자와 상기 태그의 대응을 나타내는 출력 소성의 스코어와, 연속되는 두개의 문자에 대응하는 두개의 상기 태그의 조합을 나타내는 천이 소성의 스코어를 포함하는, 상기 해석 스텝과,
    상기 해석 스텝에 있어서 얻어진 해석 결과로 나타나는 태그와, 상기 하나의 문장의 정답의 태그를 나타내는 정답 데이터를 비교하여 일치하지 않는 경우, 오답의 태그에 관련되는 상기 출력 소성의 스코어 및 상기 천이 소성의 스코어를 현재 값보다도 낮게 하고, 상기 오답의 태그에 대응하는 정답의 태그에 관련되는 상기 출력 소성의 스코어 및 상기 천이 소성의 스코어를 현재 값보다도 높게 함으로써, 상기 해석 스텝에 있어서의 다음 문장의 형태소 해석에서 사용될 상기 분할 모델을 수정하는 수정 스텝을 포함하는, 자연 언어 처리 방법.
  7. 하나 이상의 트레이닝 데이터를 사용한 기계 학습에 의해 얻어지는 분할 모델을 사용하여, 하나의 문장에 대한 형태소 해석을 실행함으로써, 상기 하나의 문장을, 단어 사전을 사용하여 하나 이상의 단어로 분할하는 일 없이 1문자씩 분할하고, 상기 분할에 의해 얻어지는 개개의 문자에, 적어도 단어의 품사를 나타내는 태그를 설정하는 해석부로서, 상기 분할 모델이, 문자와 상기 태그의 대응을 나타내는 출력 소성의 스코어와, 연속되는 두개의 문자에 대응하는 두개의 상기 태그의 조합을 나타내는 천이 소성의 스코어를 포함하는, 상기 해석부와,
    상기 해석부에 의해 얻어진 해석 결과로 나타나는 태그와, 상기 하나의 문장의 정답의 태그를 나타내는 정답 데이터를 비교하여 일치하지 않는 경우, 오답의 태그에 관련되는 상기 출력 소성의 스코어 및 상기 천이 소성의 스코어를 현재 값보다도 낮게 하고, 상기 오답의 태그에 대응하는 정답의 태그에 관련되는 상기 출력 소성의 스코어 및 상기 천이 소성의 스코어를 현재 값보다도 높게 함으로써, 상기 해석부에 의한 다음 문장의 형태소 해석에서 사용될 상기 분할 모델을 수정하는 수정부로서 컴퓨터를 기능시키는, 컴퓨터 판독가능한 기록 매체에 저장된 자연 언어 처리 프로그램.
KR1020167028427A 2014-04-29 2014-12-08 자연 언어 처리 시스템, 자연 언어 처리 방법, 및 자연 언어 처리 프로그램 KR101729461B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201461985615P 2014-04-29 2014-04-29
US61/985,615 2014-04-29
PCT/JP2014/082428 WO2015166606A1 (ja) 2014-04-29 2014-12-08 自然言語処理システム、自然言語処理方法、および自然言語処理プログラム

Publications (2)

Publication Number Publication Date
KR20160124237A KR20160124237A (ko) 2016-10-26
KR101729461B1 true KR101729461B1 (ko) 2017-04-21

Family

ID=54358353

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167028427A KR101729461B1 (ko) 2014-04-29 2014-12-08 자연 언어 처리 시스템, 자연 언어 처리 방법, 및 자연 언어 처리 프로그램

Country Status (5)

Country Link
JP (1) JP5809381B1 (ko)
KR (1) KR101729461B1 (ko)
CN (1) CN106030568B (ko)
TW (1) TWI567569B (ko)
WO (1) WO2015166606A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210084723A (ko) * 2019-12-27 2021-07-08 동국대학교 산학협력단 기계학습을 기반으로 구축된 형태소 분석기를 이용한 문장 분석 장치 및 그 동작 방법

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108021559B (zh) * 2018-02-05 2022-05-03 威盛电子股份有限公司 自然语言理解系统以及语意分析方法
CN110020434B (zh) * 2019-03-22 2021-02-12 北京语自成科技有限公司 一种自然语言句法分析的方法
CN112101030B (zh) * 2020-08-24 2024-01-26 沈阳东软智能医疗科技研究院有限公司 建立术语映射模型、实现标准词映射的方法、装置及设备
CN113204667B (zh) * 2021-04-13 2024-03-22 北京百度网讯科技有限公司 音频标注模型的训练与音频标注的方法、装置
CN116153516B (zh) * 2023-04-19 2023-07-07 山东中医药大学第二附属医院(山东省中西医结合医院) 一种基于分布式计算的疾病大数据挖掘分析系统
JP7352249B1 (ja) * 2023-05-10 2023-09-28 株式会社Fronteo 情報処理装置、情報処理システム及び情報処理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003099426A (ja) 2001-09-25 2003-04-04 Canon Inc 自然言語処理装置およびその制御方法ならびにプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09114825A (ja) * 1995-10-19 1997-05-02 Ricoh Co Ltd 形態素解析方法およびその装置
CN100530171C (zh) * 2005-01-31 2009-08-19 日电(中国)有限公司 字典学习方法和字典学习装置
CN100533431C (zh) * 2005-09-21 2009-08-26 富士通株式会社 一种基于语素标注的自然语言成分识别、校正装置及方法
CN102681981A (zh) * 2011-03-11 2012-09-19 富士通株式会社 自然语言词法分析方法、装置及分析器训练方法
JP5795985B2 (ja) 2012-03-30 2015-10-14 Kddi株式会社 形態素解析装置、形態素解析方法および形態素解析プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003099426A (ja) 2001-09-25 2003-04-04 Canon Inc 自然言語処理装置およびその制御方法ならびにプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210084723A (ko) * 2019-12-27 2021-07-08 동국대학교 산학협력단 기계학습을 기반으로 구축된 형태소 분석기를 이용한 문장 분석 장치 및 그 동작 방법
KR102352481B1 (ko) * 2019-12-27 2022-01-18 동국대학교 산학협력단 기계학습을 기반으로 구축된 형태소 분석기를 이용한 문장 분석 장치 및 그 동작 방법

Also Published As

Publication number Publication date
TWI567569B (zh) 2017-01-21
JP5809381B1 (ja) 2015-11-10
TW201544976A (zh) 2015-12-01
WO2015166606A1 (ja) 2015-11-05
JPWO2015166606A1 (ja) 2017-04-20
KR20160124237A (ko) 2016-10-26
CN106030568A (zh) 2016-10-12
CN106030568B (zh) 2018-11-06

Similar Documents

Publication Publication Date Title
KR101729461B1 (ko) 자연 언어 처리 시스템, 자연 언어 처리 방법, 및 자연 언어 처리 프로그램
CN111444320B (zh) 文本检索方法、装置、计算机设备和存储介质
CN107870901B (zh) 从翻译源原文生成相似文的方法、记录介质、装置以及系统
CN111753531A (zh) 一种基于人工智能的文本纠错方法、装置、计算机设备及存储介质
CN111159990B (zh) 一种基于模式拓展的通用特殊词识别方法及系统
CN113591457A (zh) 文本纠错方法、装置、设备及存储介质
JP6817556B2 (ja) 類似文生成方法、類似文生成プログラム、類似文生成装置及び類似文生成システム
CN107004140A (zh) 文本识别方法和计算机程序产品
US20140289238A1 (en) Document creation support apparatus, method and program
US20220391647A1 (en) Application-specific optical character recognition customization
KR20230009564A (ko) 앙상블 스코어를 이용한 학습 데이터 교정 방법 및 그 장치
KR101379128B1 (ko) 사전 생성 장치, 사전 생성 방법 및 사전 생성 프로그램을 기억하는 컴퓨터 판독 가능 기록 매체
US11568150B2 (en) Methods and apparatus to improve disambiguation and interpretation in automated text analysis using transducers applied on a structured language space
JP6145059B2 (ja) モデル学習装置、形態素解析装置、及び方法
JP5441937B2 (ja) 言語モデル学習装置、言語モデル学習方法、言語解析装置、及びプログラム
CN112632956A (zh) 文本匹配方法、装置、终端和存储介质
JP5252596B2 (ja) 文字認識装置、文字認識方法及びプログラム
JP2021197165A (ja) 情報処理装置、情報処理方法及びコンピュータ読み取り可能な記憶媒体
JP3952964B2 (ja) 読み情報決定方法及び装置及びプログラム
CN113486666A (zh) 一种医学命名实体识别方法及系统
JP2016189154A (ja) 翻訳方法、装置、及びプログラム
JP2003331214A (ja) 文字認識誤り訂正方法、装置及びプログラム
CN114661917B (zh) 文本扩增方法、系统、计算机设备及可读存储介质
KR100998291B1 (ko) 키워드 스트링을 구조화하고 검출하는 방법 및 장치
CN117574881A (zh) 模型训练方法、语句纠错方法及相关设备

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
GRNT Written decision to grant