KR101613626B1 - 스케일된 확률들을 사용한 단어들의 분절 - Google Patents

스케일된 확률들을 사용한 단어들의 분절 Download PDF

Info

Publication number
KR101613626B1
KR101613626B1 KR1020107023144A KR20107023144A KR101613626B1 KR 101613626 B1 KR101613626 B1 KR 101613626B1 KR 1020107023144 A KR1020107023144 A KR 1020107023144A KR 20107023144 A KR20107023144 A KR 20107023144A KR 101613626 B1 KR101613626 B1 KR 101613626B1
Authority
KR
South Korea
Prior art keywords
gram
word
probability
identifying
grams
Prior art date
Application number
KR1020107023144A
Other languages
English (en)
Other versions
KR20100135819A (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 KR20100135819A publication Critical patent/KR20100135819A/ko
Application granted granted Critical
Publication of KR101613626B1 publication Critical patent/KR101613626B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates

Abstract

스케일된 확률들을 사용하여 단어들을 분절하는 시스템들, 방법들, 장치들 및 컴퓨터 프로그램 제품들이 개시된다. 일 구현예에서, 하나의 방법이 제공되며, 이 방법은 단어를 식별하는 n-gram의 확률을 수신하는 단계; 상응하는 n-gram 내 원자 유닛들의 수를 결정하는 단계; n-gram 내 원자 유닛들의 수에 따른 스케일링 가중치를 식별하는 단계; 및 단어를 식별하는 상기 n-gram의 스케일된 확률을 결정하기 위하여, 단어를 식별하는 n-gram의 확률에 스케일링 가중치를 적용하는 단계를 포함한다.

Description

스케일된 확률들을 사용한 단어들의 분절{Segmenting words using scaled probabilities}
본 명세서는 스케일된 확률들을 사용하여 단어들을 분절하는 것에 관련된다.
n-gram은 n개의 연속한 토큰들(tokens)의 시퀀스이다(예컨대, 단어들 또는 문자들). n-gram은 그 n-gram 내 토큰들의 수인 차수(order)를 갖는다. 예를 들어, 1-gram(또는 유니그램)은 하나의 토큰을 가지고, 2-gram(또는 바이-그램)은 2개의 토큰을 가진다.
각 n-gram은 훈련 데이터(training data) 내에서 n-gram 상대 빈도의 함수로 계산되는 연관 확률 추정치를 갖는다. 예를 들어, L 토큰들의 열은
Figure 112010066781159-pct00001
로 표현된다. 아래의 확률이
Figure 112010066781159-pct00002
열에 할당될 수 있다.
Figure 112010066781159-pct00003
여기서, 근사화는 열 내에서 다음 토큰을 예측할 때 가장 최근의 (n-1) 토큰들만이 관련된다는 마코프(Markov) 가정에 근거하며, P에 대한 "^" 표기는 그것이 확률 함수의 근사라는 것을 가리킨다.
기존의 단어 분절(word segmentation) 기법은 단어들을 식별하는 n-gram들의 확률들이 독립적이라고 가정한다. 따라서 기존 기법은 특정 단어를 식별하는 n-gram의 확률을, 저차수 n-gram들의 확률들의 곱을 사용하여 결정한다. 저차수 n-gram들은 n-gram으로부터 유도된다. 예를 들어, n-gram이 "abc"라고 가정하면, n-gram "abc"의 저차수 n-gram들은 "a", "b", "c", "ab", 및 "bc"를 포함한다. 둘 이상의 단어를 식별하는 n-gram(예컨대, "abc")의 확률은 단어를 식별하는 저차수 n-gram(예컨대, "a", "b", 및 "c"; "c","a" 및 "bc"; 또는 "ab" and "c") 각각의 개별 확률들의 곱이다.
기존 기법은 독립 확률의 법칙을 따르고 있기 때문에, 기존 기법은 적은 수의 원자 유닛(atomic unit)들을 포함하는 단어들보다는 많은 수의 원자 유닛들을 포함하는 단어들로 n-gram들을 분절하는 것을 매우 선호한다. 원자 유닛은 n-gram으로부터 유도될 수 있는 최소 표의 문자(ideographic)이다(예컨대, 영어에서 영문자들). 예를 들어, n-gram이 "abc"라고 가정한다. 또한, "a", "b", "c" 및 "abc" 각각이 단어를 식별하는 확률을 가지며 그 값이 0.1이라고 가정한다. 즉,
Figure 112010066781159-pct00004
이라고 가정한다. 비록, 단어를 식별하는 "a", "b" 및 "c" 각각의 확률 및 단어를 식별하는 "abc"의 확률이 동일하게 유망하지만(equally likely), 기존 기법은 n-gram을 보다 긴 단어인 "abc"로 분절하는 것을 매우 선호한다. 기존 기법을 사용하면, 3개의 개별 단어들(즉, "a", "b" 및 "c")를 식별하는 "abc"의 확률은, 단어를 식별하는 "a"의 확률과 단어를 식별하는 "b"의 확률과 단어를 식별하는 "c"의 확률의 곱과 동일하다. 즉,
Figure 112010066781159-pct00005
이다.
따라서 "abc"가 단일 단어를 식별하는 확률은 "abc"가 3개의 단어 "a", "b" 및 "c"를 식별하는 확률보다 매우 크다. 즉,
Figure 112010066781159-pct00006
이다.
결과적으로, 기존 기법은 n-gram을 "abc"로 분절하는 것에 편향되어 있는데, "abc"가 단어를 식별하는 보다 큰 확률을 가지기 때문이다.
실제로, 단어들을 식별하는 n-gram들의 확률들이 매우 낮아, 짧은 단어들을 포함하는 분절이 더욱 정확할 수 있는 특별한 경우에도, 짧은 단어들을 포함하는 분절들에 비하여 긴 단어들을 포함하는 분절들을 선호하는 기존 기법의 문제가 확대된다.
스케일된 확률들을 사용하여 단어들을 분절하는 시스템들, 방법들, 장치들 및 컴퓨터 프로그램 제품들이 개시된다. 일반적으로, 본 명세서에 기술된 주제의 일 국면은, 단어를 식별하는 n-gram의 확률을 수신하는 단계; 상응하는 n-gram 내 원자 유닛(atomic units)들의 수를 결정하는 단계; n-gram 내 원자 유닛들의 수에 따른 스케일링 가중치(scaling weight)를 식별하는 단계; 및 단어를 식별하는 상기 n-gram의 스케일된 확률을 결정하기 위하여, 단어를 식별하는 n-gram의 확률에 스케일링 가중치를 적용하는 단계를 포함하는 방법들로 구체화될 수 있다. 본 국면의 다른 실시예들은 상응하는 시스템들, 장치들, 컴퓨터 프로그램 제품들을 포함한다.
이들 및 다른 실시예들은 하나 이상의 후술하는 특징을 선택적으로 포함할 수 있다. 단어를 식별하는 n-gram의 스케일된 확률은 n-gram 내 원자 유닛들의 수에 따라서 결정될 수 있다. 단어를 식별하는 n-gram의 스케일된 확률은 xn 일 수 있고, 여기서 x는 단어를 식별하는 n-gram의 확률이고, n은 n-gram 내 원자 유닛들의 수이다. 단어를 식별하는 n-gram의 스케일된 확률은 x1+k(n-1)일 수 있고, 여기서 x는 단어를 식별하는 n-gram의 확률이고, n은 n-gram 내 원자 유닛들의 수이고, k는 상수이고 0≤k≤1이다.
본 방법은 복수의 토큰을 수신하는 단계; 및 스케일된 확률을 사용하여, 복수의 토큰을 단어들로 분절하는 단계를 더 포함할 수 있다. 본 방법은 n-gram으로부터 유도되는, 저차수 n-gram들을 식별하는 단계; 단어들을 식별하는 저차수 n-gram들 각각에 상응하는 확률들을 수신하는 단계; 단어를 식별하는 n-gram의 확률과, 단어들을 식별하는 저차수 n-gram들의 조합들의 확률들을 비교하는 단계; 및 단어를 식별하는 저차수 n-gram들의 조합의 확률이 단어를 식별하는 n-gram의 확률로부터 지정 임계량만큼 다른 경우에, 단어를 식별하는 n-gram의 확률에 상응하는 스케일링 가중치를 변경하는 단계를 더 포함할 수 있다. 본 방법은 단어를 식별하는 n-gram의 스케일된 확률을 수신하는 단계; n-gram으로부터 유도되는, 단어들을 식별하는 저차수 n-gram들의 스케일된 확률들을 결정하는 단계; 및 단어를 식별하는 저차수 n-gram들의 조합의 스케일된 확률이 단어를 식별하는 n-gram의 스케일된 확률로부터 지정 임계량만큼 다른 경우에, n-gram을 사전으로부터 제거하는 단계를 더 포함할 수 있다.
본 명세서에 설명된 주제의 특정 실시예들은 하나 이상의 후술하는 장점을 실현하기 위하여 구현될 수 있다. 스케일된 확률들을 사용하여 단어들을 분절하면, 분절 동안 짧은 단어들에 비하여 긴 단어들을 부정확하게 선호하는 것으로부터 야기되는 문제들이 방지된다. 대수 공간에서 스케일링 확률들을 사용하여 분절들을 결정하면, 스케일링 가중치들의 임의적 적용이 회피되어 짧은 단어들의 분절들에 비하여 긴 단어들의 분절들을 부정확하게 선호하지 않는 분절들이 얻어진다. 스케일링 가중치들은 대수 공간에서 미리 계산될 수 있고, 따라서 실행시간(runtime) 성능을 손상시키지 않고 분절들의 정확성을 개선할 수 있다. 스케일된 확률들을 세분화여 분절에 사용하면, 사전으로부터 n-gram들을 제거할 수 있고, 따라서 사전의 메모리 크기를 축소할 수 있다. 세분화된 스케일링 가중치들은 진정으로 독립적인 것이 아닌 확률들을 설명할 수 있고, 따라서 단어 분절들의 정확성이 개선된다.
본 명세서에 설명된 주제의 하나 이상 실시예의 상세 내용이 첨부 도면과 아래에 개시된다. 본 주제의 다른 특징들, 국면들 및 장점들은 후술하는 설명, 도면 및 청구항들로부터 명확하게 된다.
도1은 스케일된 확률들을 사용하여 단어들을 분절하는 예시적 분절 시스템을 도시하는 블록도이다.
도2는 단어를 식별하는 n-gram의 스케일된 확률을 생성하는 예시적 프로세스를 도시하는 흐름도이다.
도3은 n-gram에 상응하는 스케일링 가중치를 변경하는 예시적 프로세스를 도시하는 흐름도이다.
도4는 n-gram으로부터 유도된 저차수 n-gram들의 스케일된 확률들에 따라서 사전으로부터 n-gram을 제거하는 예시적 프로세스를 도시하는 흐름도이다.
도5는 범용 컴퓨터 시스템의 개략도이다.
여러 도면에서 유사한 참조 번호와 표시는 유사한 요소를 가리킨다.
짧은 단어들보다 긴 단어들을 부정확하게 선호하는 단어 분절들을 방지하기 위하여, n-gram들을 단어들로 분절하는데 스케일된 확률들이 사용될 수 있다. 스케일된 확률들은, 도2를 참조하여 아래에 더욱 상세히 설명되는 바와 같이, 단어들을 식별하는 n-gram들의 확률들에 스케일링 가중치들을 적용하여 결정된다.
일부 구현예에서, 단어들의 식별하는 n-gram들의 확률들은 훈련 데이터(예컨대, 웹페이지, 탐색 쿼리 로그, 이메일 및 블로그의 자료(corpus)) 내에서 n-gram들의 상대 빈도를 사용하여 훈련될 수 있다. 부가적으로, 일부 구현예에서, 대규모 훈련 데이터(예컨대, 테라바이트의 데이터)를 위해 분산 훈련 환경이 사용된다. 분산 훈련을 위한 하나의 예시적 기법이 MapReduce이다. MapRduce의 부가적인 상세 내용은 J. Dean 및 S. Ghemawat 저, MapRduce: Simplified Data Processing on Large Clusters, Proceedings of the 6th Symposium on Operating System Design and Implementation, pp. 137 150(2004년 12월 6일)에 기재되어 있다.
도1은 스케일된 확률들을 사용하여 단어들을 분절하는 예시적 분절 시스템을 도시하는 블록도이다. 일부 구현예에서, 시스템은 사전(100)을 포함한다. 사전(100)은 n-gram들의 집합(102) 및 단어들을 식별하는 n-gram들의 상응하는 확률들(104)을 포함한다. 따라서 사전 내 각각의 n-gram에 대하여, 그 n-gram이 특정 단어를 식별하는 상응하는 확률이 있다. 확률들은 예를 들어, 훈련 데이터 내에서 n-gram들의 상대 빈도에 기초하여 결정될 수 있다. 대안적으로는, 시스템은 외부 소스(예컨대, 언어 모델)로부터 입력으로서 사전의 확률들과 n-gram들을 수신할 수 있다.
단어들을 식별하는 n-gram들의 스케일된 확률들(140)을 결정하기 위하여, 단어들을 식별하는 n-gram들의 확률들에 스케일링 가중치들이 적용된다. 일부 구현예에서, 스케일링 엔진(120)은 단어들을 식별하는 n-gram들의 스케일된 확률들(140)을 결정하기 위하여 사전(100)을 사용한다. 특히, 스케일링 엔진(120)은 스케일링 가중치들을 사전(100)으로부터의 단어들을 식별하는 n-gram들의 확률들에 적용하여, 단어들을 식별하는 n-gram들의 스케일된 확률들(140)을 결정한다. 스케일된 확률들을 결정하는 법은 도3과 관련하여 아래에 설명된다.
일부 구현예에서, 분절기(160; segmenter)는 단어들을 식별하는 n-gram들의 스케일된 확률들(140)을 사용하여 복수의 토큰들(예컨대, 중국 문자들의 시퀀스)을 단어들(예컨대, 중국어 단어들)로 분절한다. 예를 들어, 단어 분절기들 및 탐색 엔진들은 분절기(160)를 사용하여, 하나 이상의 언어(예컨대, 한국어, 중국어, 일본어 및 태국어)로 된 토큰들의 시퀀스들을 분절할 수 있다.
도2는 단어를 식별하는 n-gram의 스케일된 확률을 생성하는 예시적 프로세스(200)를 도시하는 흐름도이다. 편의를 위하여, 단어들을 식별하는 n-gram들의 스케일된 확률들의 생성은 그 생성을 수행하는 시스템과 관련하여 설명한다.
시스템은 단어를 식별하는 n-gram의 확률을 수신한다(220). 시스템은 수신된 확률에 상응하는 n-gram 내 원자 유닛들의 수를 결정한다(240). 예를 들어, 시스템은 단어를 식별하는 n-gram의 확률을 수신하고, 여기서 상응하는 n-gram은 3개의 중국어 문자 "x y z"로 된 시퀀스를 포함한다. "x y z" 내 원자 유닛들의 수는 3이다. 또 다른 예로서, 시스템은 단어를 식별하는 n-gram의 확률을 수신하고, 여기서 상응하는 n-gram은 영어 문자 "basketball"로 된 시퀀스를 포함한다. "basketball" 내 원자 유닛들의 수는 10이다.
일부 구현예에서, 원자 유닛들은 서기소 클러스터(grapheme cluster)들에 상응한다. 서기소 클러스터는 사용자-인지 문자(user-perceived character)이다. 예를 들어, 하나 이상의 유니코드 문자들이 결합되어, 사용자가 한 언어의 문자 또는 기본 유닛이라고 생각하는 것을 만들 수 있다. 예음 악센트 " ' "가 있는 문자 "C", 즉
Figure 112010066781159-pct00007
는 서기소 클러스터이다. 사용자는
Figure 112010066781159-pct00008
를 단일 문자로 인식할 수 있지만,
Figure 112010066781159-pct00009
는 두개의 유니코드 포인트들(예컨대, 각각 "C" 및 " ' "를 나타내는 개별의 코드 포인트들)로 표현될 수 있다. 서기소 클러스터들에 대한 부가적인 상세 내용은 예를 들어, M. Davis 저, Unicode Standard Annex #29: Text Boundaries, (2006), http://www.unicode.org/reports/tr29/에 설명되어 있다.
시스템은 원자 유닛들의 수에 따른 스케일링 가중치를 식별한다(260). 일부 구현예에서, 스케일링 가중치는 원자 유닛들의 수이다. 시스템은 단어를 식별하는 n-gram의 스케일된 확률을 결정하기 위하여, 단어를 식별하는 n-gram의 스케일된 확률에 스케일링 가중치를 적용한다(280). 스케일링 가중치는 훈련 내 분절들의 정확도에 따라서 결정될 수 있다. 예를 들어, 스케일링 가중치들이 식별된 후, 훈련 데이터는 스케일된 확률들을 사용하여 분절될 수 있고, 스케일링 가중치들은 상응하는 스케일링 확률들이 특정 단어들에 대하여 너무 작으면 변경될 수 있다.
예를 들어, 단어를 식별하는 n-gram의 스케일된 확률은 단어를 식별하는 n-gram의 확률을 n 제곱한 것과 같고, n은 n-gram 내 원자 유닛들의 수이다. 즉,
ScaledProbability(단어) = [Probability(단어)]n이다.
대수 용어를 사용하여 다시 쓰면, 스케일된 확률은 다음과 같이 표현될 수 있다.
ScaledLogProbability(단어) = LogProbability(단어)/n.
다른 예에서, 스케일링 가중치는 1과 n 사이의 값이며, n은 n-gram 내 원자 유닛들의 수이다. 예를 들어, 단어를 식별하는 n-gram의 스케일된 확률은 단어를 식별하는 n-gram의 확률을 [1 + k(n-1)] 제곱한 것과 같고, n은 n-gram 내 원자 유닛들의 수이고, k는 0(원자 유닛들의 수에 의한 스케일링이 없음)과 1(원자 유닛들의 수에 의한 완전(full) 스케일링) 사이의 상수이다. 즉,
ScaledProbability(단어) = [Probability(단어)][1+k(n-1)]이다.
대수 용어를 사용하여 다시 쓰면, 스케일된 확률은 다음과 같이 표현될 수 있다.
ScaledLogProbability(단어) = LogProbability(단어)/[1 + k(n-1)].
일부 구현예에서, 스케일링 가중치들은 미리 계산된다. 더욱이, 일부 구현예에서, 스케일된 확률들은 대수 공간(logarithmic space)에서 결정된다. 대수 스케일을 사용하면 매우 작은 확률들에 대한 계산이 간편해진다.
예를 들어, n-gram은 "xyz"이다. "x", "y", "z", "xy", "yz" and "xyz" 각각이 단어를 식별하는 확률로 0.1을 갖는다고 가정한다. 아래의 테이블은 단어들을 식별하는 "x", "y", "z", "xy", "yz" and "xyz"의 확률들을 나타낸다. 이 테이블은 또한 단어들을 식별하는 "x", "y", "z", "xy", "yz" and "xyz"의 스케일된 확률들(예컨대, ScaledProbability(단어) = [Probability(단어)]n])을 나타낸다. 특히, "xy"의 스케일된 확률은, "xy"가 2개의 원자 유닛을 가지므로, "xy"의 확률을 2제곱한 것과 같다. 즉,
ScaledProbability("xy") = [Probability("xy")]2 = [0.1]2 = 0.01.
유사하게, "xyz"의 스케일된 확률은, "xyz"가 3개의 원자 유닛을 가지므로, "xyz"의 확률을 3제곱한 것과 같다. 즉,
ScaledProbability("xyz") = [Probability("xyz")]3 = [0.1]3 = 0.001.
Figure 112010066781159-pct00010
n-gram의 분절들의 확률들은 n-gram의 확률들과 같지 않다(예를 들어, Probability("xyz")=0.1 ≠ Probability("x", "yz")=0.01; Probability("xyz")=0.1 ≠ Probability("xy", "z")=0.01). 다른 한편, n-gram의 분절들의 스케일된 확률들은 n-gram의 스케일된 확률들과 같다(예를 들어, Probability("xyz")=0.001 = Probability("x", "y", "z")=0.001; Probability("xyz")=0.001 = Probability("x", "yz")=0.001; Probability("xyz")=0.001 = Probability("xy", "z")=0.001).
따라서 스케일된 확률들은 짧은 단어들에 비하여 긴 단어들의 분절들을 선호하지 않는다. 예를 들어, 스케일된 확률들을 사용하면, 분절기(예컨대, 분절기(160))는 n-gram "xyz"를 "xyz", "x y z", "x yz" 또는 "xy z"로 균등한 가능성으로 분절한다. 한편, 스케일되지 않는 확률을 사용하면, 분절기는 n-gram "xyz"를 "xyz"로 분절하는 것을 선호하는데, 비록 현실에는 확률들이 변화할 수 있지만, "xyz"의 확률이 "x y z", "x yz" 또는 "xy z"의 확률들보다 크기 때문이다.
함께 출현하는 개별 단어들(즉, 단일 단어의 일부가 아님)을 식별하는 n-gram 내 개별 토큰들의 확률들은 진정으로 독립적인 것이 아닐 수 있다. 따라서 스케일링 가중치들은 확률들의 종속적 특성(dependent nature)을 설명하기 위하여 더욱 세분화(refined)될 수 있다.
도3은 n-gram에 상응하는 스케일링 가중치를 변경하기 위한 예시적 프로세스(300)를 도시하는 흐름도이다. 편의를 위하여, n-gram에 상응하는 스케일링 가중치의 변경은 프로세스(300)를 수행하는 시스템과 관련하여 설명한다. 단어를 식별하는 저차수 n-gram들을 조합의 확률이 단어를 식별하는 n-gram의 확률과 지정 임계량만큼 다른 경우에, 스케일링 가중치가 변경될 수 있다.
시스템은 n-gram으로부터 저차수 n-gram들을 유도함으로써 저차수 n-gram들을 식별한다. 시스템은 단어들을 식별하는 저차수 n-gram들 각각에 상응하는 확률들을 수신한다(320). 다음, 시스템은 단어를 식별하는 n-gram의 확률과, 단어들을 식별하는 저차수 n-gram들의 조합들의 확률들을 비교한다. 저차수 n-gram들의 조합들은 n-gram으로부터 유도된다. 예를 들어, n-gram이 "abc"이면, 저차수 n-gram들의 조합들은 ("a b c"); ("ab c"); 및 ("a bc")이다. 단어를 식별하는 저차수 n-gram들의 조합의 확률이 단어를 식별하는 n-gram의 확률보다 지정 임계량만큼 작으면(단계 (340)의 "예"), 시스템은 단어를 식별하는 n-gram의 확률에 상응하는 스케일링 가중치를 증가시킨다(350). 그 외에는(단계 (340)의 "아니오"), 프로세스는 단어를 식별하는 n-gram의 확률에 상응하는 스케일링 가중치를 변경하지 않는다(360). 예를 들어, 토큰들의 특정 시퀀스("there of")가 유망하지 않으면(very unlikely), "thereof"의 확률은 변경되어야 한다. 특히, 단어를 식별하는 "thereof"의 확률에 상응하는 스케일링 가중치는, "there of"의 확률이 "thereof"의 확률보다 지정 임계량만큼 작은 경우에, 증가될 수 있다.
일부 구현예에서, 시스템은 단어를 식별하는 n-gram의 확률에 상응하는 스케일링 가중치를 감소시킨다. 단어를 식별하는 저차수 n-gram들의 조합의 확률이 단어를 식별하는 n-gram의 확률보다 지정 임계량만큼 큰 경우에, 시스템은 단어를 식별하는 n-gram의 확률에 상응하는 스케일링 가중치를 감소시킨다. 예를 들어, 특정 시퀀스("can not")가 매우 유망하면, "cannot"의 확률이 변경되어야 한다. 특히, 단어를 식별하는 "cannot"의 확률에 상응하는 스케일링 가중치는, "can not"의 확률이 "cannot"의 확률보다 지정 임계량만큼 큰 경우에, 감소될 수 있다.
일부 구현예에서, 특정 상황 하에서, n-gram들이 사전으로부터 제거된다. 사전(예컨대, 사전(100))은 n-gram들의 집합 및 단어들을 식별하는 n-gram들의 상응하는 확률들을 포함한다. 예를 들어, 사전의 n-gram이 그 사전 내에 있는 저차수 n-gram들(상기 n-gram으로부터 유도됨)을 2개 이상 사용하여 분절될 수 있고, 저차수 n-gram들의 스케일된 확률들의 곱이 n-gram의 스케일된 확률보다 지정 임계량만큼 다른 경우, n-gram은 사전으로부터 제거된다. 일부 구현예에서, 저차수 n-gram들의 스케일된 확률들의 곱이 n-gram의 스케일된 확률보다 큰 경우, n-gram은 사전으로부터 제거된다. 이 예에서, 분절기(분절기(160))는 n-gram을 단어를 식별하는 것으로 분절하지 않는데, 특정 n-gram의 확률이 저차수 n-gram들을 사용하는 대안적 분절의 확률보다 작기 때문이다. 단어들을 식별하는 것으로 분절되지 않는 n-gram들을 제거하여 보다 간결한 사전을 제공한다.
도4는 n-gram으로부터 유도된 저차수 n-gram들의 스케일된 확률들에 기초하여 사전으로부터 n-gram을 제거하는 예시적 프로세스(400)를 도시하는 흐름도이다. 편의를 위하여, n-gram으로부터 유도된 저차수 n-gram들의 스케일된 확률들에 기초하여 사전으로부터 n-gram을 제거하는 것은 프로세스(400)를 수행하는 시스템과 관련하여 설명한다.
시스템은 단어를 식별하는 n-gram의 스케일된 확률을 수신한다(410). 시스템은 단어들을 식별하는 저차수 n-gram들의 스케일된 확률들을 결정하며(420), 저차수 n-gram들은 n-gram으로부터 유도된다. 시스템은 단어를 식별하는 n-gram의 스케일된 확률과, 단어들을 식별하는 저차수 n-gram들의 조합들의 스케일된 확률들을 비교한다(430). 단어를 식별하는 저차수 n-gram의 스케일된 확률이 단어를 식별하는 n-gram의 스케일된 확률보다 크면(단계(440)의 "예"), 시스템은 n-gram을 사전(예컨대, 스케일된 확률들을 포함하는 사전)으로부터 제거한다(450). 그 외에는(단계(440)의 "아니오"), 프로세스는 사전을 변경하지 않는다(460). 예를 들어, 사전으로부터 n-gram을 제거하지 않는다.
도 5는 범용 컴퓨터 시스템(500)의 개략도이다. 시스템(500)은 앞서 설명한 기술들과 연관되어 설명한 동작들(예컨대, 프로세스 200, 300 및 400)을 실현하는데 사용될 수 있다. 시스템(500)은 프로세서(510), 메모리(520), 저장 디바이스(530) 및 입/출력 디바이스(540)를 포함한다. 구성요소(510, 520, 530 및 540) 각각은 시스템 버스(550)를 통해 상호 접속된다. 프로세서(510)는 시스템(500) 내에서 실행을 위한 명령들을 처리할 수 있다. 이러게 실행되는 명령들은 예컨대, 도1의 분절 시스템 내 하나 이상 구성요소들을 구현할 수 있다. 일 구현예에서, 프로세서(510)는 싱글 쓰레드(single-threaded) 프로세서이다. 다른 구현예에서, 프로세서(510)는 멀티 쓰레드(multi-threaded) 프로세서이다. 프로세서(510)는 메모리(520) 또는 저장 디바이스(530)에 저장된 명령들을 처리하여 입/출력 디바이스(540) 상에 사용자 인터페이스용 그래픽 정보를 디스플레이할 수 있다.
메모리(520)는 시스템(500) 내에 정보를 저장하는 휘발성 또는 비휘발성 컴퓨터 판독 가능 매체이다. 예를 들어, 메모리(520)는 사전(100)을 저장할 수 있다. 저장 디바이스(530)는 플로피디스크 디바이스, 하드디스크 디바이스, 광학디스크 디바이스, 혹은 테이프 디바이스 또는 그 밖의 적절한 항구적 저장 수단일 수 있다. 입/출력 디바이스(540)는 시스템(500)에 대하여 입/출력 동작을 제공한다. 일 구현예에서, 입/출력 디바이스(540)는 키보드 및/또는 포인팅 디바이스를 포함한다. 다른 구현예에서, 입/출력 디바이스(540)는 그래픽 사용자 인터페이스(GUI)를 디스플레이하기 위한 디스플레이 유닛을 포함한다.
입/출력 디바이스(540)는 도1의 분절 시스템에 입/출력 동작을 제공할 수 있다. 분절 시스템은 단어들을 식별하는 n-gram들의 스케일된 확률들을 결정하고, 그 스케일된 확률들을 사용하여 단어들을 분절하기 위한 컴퓨터 소프트웨어 구성요소들을 포함할 수 있다. 그러한 소프트웨어 구성요소들의 예에는 스케일링 엔진(120)과 분절기(160)가 포함된다. 이러한 소프트웨어 구성요소들(120 및 160)은 저장 디바이스(530)에 상존하거나, 예컨대 네트워크 접속을 통해 획득될 수 있다.
본 명세서에서 설명된 주제의 실시예들과 기능적 동작들은 디지털 전자 회로로 구현되거나, 본 명세서에 개시된 구조들 및 그와 구조적 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어로 구현되거나, 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 본 명세서에 개시된 주제의 실시예들은 하나 이상의 컴퓨터 프로그램 제품으로서 구현될 수 있다. 즉, 데이터 처리 장치에 의해 실행되거나, 데이터 처리 장치의 동작을 제어하도록, 유형의 프로그램 캐리어 상에 부호화된 컴퓨터 프로그램 명령들의 하나 이상 모듈로서 구현될 수 있다. 유형의 프로그램 캐리어는 전파 신호이거나 컴퓨터-판독 가능 매체이다. 전파 신호는 인공적으로 생성된 신호이다. 예를 들어, 컴퓨터가 실행하도록 적절한 수신 장치에 전송하기 위해, 정보를 부호화하도록 생성된 기계-발생 전기, 광, 또는 전자기 신호이다. 컴퓨터 판독가능 매체는 기계-판독가능 저장 디바이스, 기계-판독가능 저장 기판, 메모리 디바이스, 기계-판독가능 전파 신호를 초래하는 물질의 조성(composition), 또는 이들 중 하나 이상의 조합일 수 있다.
용어 "데이터 처리 장치"는 프로그래머블 프로세서, 컴퓨터, 또는 다중 프로세서 또는 컴퓨터들을 예로서 포함하는, 데이터 처리를 위한 모든 장치, 디바이스 및 기계를 포괄한다. 하드웨어에 더하여, 장치는 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 시스템, 또는 이들 중 하나 이상의 조합을 구성하는 코드와 같이, 당해 컴퓨터 프로그램에 대한 실행 환경을 만드는 코드를 포함할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트, 또는 코드로 알려짐)은, 컴파일 또는 인터프리트 언어 또는 선언적 또는 절차적 언어를 포함하는 임의 형태의 프로그래밍 언어로 작성될 수 있고, 또한, 컴퓨터 프로그램은 독립형 프로그램 또는 모듈로서 컴포넌트, 서브루틴, 또는 컴퓨팅 환경에 적합한 그 밖의 유닛을 포함하는 임의 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 한 파일에 반드시 상응하지 않는다. 프로그램은 다른 프로그램들 또는 데이터를 보유하는 한 파일의 일부에 저장되거나(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트), 당해 프로그램 전용의 단일 파일에 저장되거나, 또는 다중 조화 파일들(예를 들어, 하나 이상의 모듈들, 서브프로그램들, 또는 코드의 부분들을 저장하는 파일들)에 저장될 수 있다. 컴퓨터 프로그램은 일 컴퓨터상에서, 또는 한 장소에 위치하거나 다중 장소에 걸쳐 분포되고 통신 네트워크에 의해 상호 접속된 다중 컴퓨터들 상에서 실행되도록 배치될 수 있다.
본 명세서에 설명된 처리와 논리 흐름은, 입력 데이터에 작용하여 출력을 생성하는 기능을 실현하는 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그래머블 프로세서들에 의해 수행될 수 있다. 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application-specific integrated circuit)와 같은 특수 목적 논리 회로가 상기 프로세스들과 논리 흐름을 수행하거나, 또는 장치를 구현할 수 있다.
컴퓨터 프로그램을 실행하는데 적절한 프로세서들에는, 예를 들어, 범용 마이크로프로세서와 전용 마이크로프로세서 및 임의 종류의 디지털 컴퓨터의 하나 이상의 프로세서들이 있다. 일반적으로, 프로세서는 명령과 데이터를, 읽기 전용 메모리(ROM) 또는 랜덤 액세스 메모리(RAM) 또는 이들 양자로부터 수신한다. 컴퓨터의 필수 요소는, 명령을 수행하는 프로세서, 명령과 데이터를 저장하는 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하는 하나 이상의 대용량 저장 디바이스들(예를 들어, 자기 디스크, 광자기 디스크 또는 광디스크)을 포함하거나, 또는 이러한 저장 디바이스들에 동작적으로(operatively) 연결되어 데이터를 송수신한다. 하지만, 컴퓨터는 그와 같은 디바이스들을 구비할 필요는 없다. 또한, 컴퓨터는 예를 들어, 모바일 전화기, 개인 휴대 단말(PDA), 모바일 오디오 또는 비디오 재생기, 게임 콘솔, GPS(Global Positioning System) 수신기 등과 같은 다른 디바이스에 내장(embed)될 수 있다.
컴퓨터 프로그램 명령들과 데이터를 저장하는데 적합한 컴퓨터 판독가능 매체에는, 예를 들어, 반도체 메모리 디바이스(예를 들어, EPROM, EEPROM, 플래시 메모리 디바이스들); 자기 디스크들(예를 들어, 내부 하드디스크, 착탈식 디스크들); 광자기 디스크들; 및 CD ROM과 DVD-ROM 디스크들을 포함하는 모든 형태의 비휘발성 메모리, 미디어 및 메모리 디바이스가 있다. 프로세서와 메모리는 ASIC에 의해 보완되거나 또는 ASIC에 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위하여, 본 명세서에 기술된 주제의 실시예들은 정보를 사용자에게 디스플레이하기 위한 디스플레이 디바이스(예를 들어, CRT 또는 LCD 모니터)와 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)를 구비한 컴퓨터상에서 구현될 수 있다. 사용자와의 상호 작용을 제공하기 위하여 다른 종류의 디바이스가 또한 사용될 수 있다; 예를 들어, 사용자에게 제공되는 피드백(feedback)은 임의 형태의 감각 피드백(예를 들어, 시각 피드백, 청각 피드백 또는 촉각 피드백)일 수 있고, 사용자로부터의 입력은 음향(acoustic), 음성(speech) 또는 촉각(tactile) 입력을 포함하는 임의의 형태로 수신될 수 있다.
본 명세서에 기술된 주제의 실시예들은, 예컨대 데이터 서버와 같은 백엔드 구성요소; 또는 예컨대 애플리케이션 서버 또는 인터넷 서버와 같은 미들웨어 구성요소; 또는 예컨대 그래픽 사용자 인터페이스나 인터넷 브라우저를 구비한 클라이언트 컴퓨터와 같은 프론트엔드 구성요소, 또는 이들의 임의 조합을 구비하는 컴퓨팅 시스템에서 구현될 수 있다. 사용자는 본 명세서에 기술된 주제의 구현예와, 그래픽 사용자 인터페이스나 인터넷 브라우저를 통해 상호작용할 수 있다. 시스템의 구성요소들은 디지털 데이터 통신의 임의 형태 또는 매체(예를 들어, 통신 네트워크)에 의해 상호접속될 수 있다. 통신 네트워크들의 예에는 근거리 네트워크(LAN) 및 예컨대 인터넷과 같은 광역 네트워크(WAN)가 있다.
컴퓨팅 시스템은 클라이언트와 서버를 포함할 수 있다. 클라이언트와 서버는 보통 서로 떨어져 있으며, 일반적으로는 통신 네트워크를 통하여 상호작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터상에서 실행되고 상호 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들에 의하여 발생한다.
본 명세서는 많은 구체적 구현 상세를 포함하고 있지만, 이들은 본 발명 또는 청구 사항의 범위를 한정하는 것으로 해석되어서는 안 되고, 오히려, 특정 발명의 특정 구현예에 고유한 특징들의 설명으로서 해석되어야 한다. 개별 구현예의 맥락으로 본 명세서에서 설명된 소정 특징들은 조합되어서 단일 구현예로서 구현될 수 있다. 역으로, 단일 구현예의 맥락으로 설명된 다양한 특징들이 다수의 개별 구현예나 또는 임의의 적절한 서브 조합으로 구현될 수 있다. 더욱이, 상기한 바와 같이, 특징들이 소정 조합으로 동작하는 것으로 설명되고 또한 그렇게 청구되었지만, 청구된 조합으로부터 하나 이상의 특징들이, 일부 경우에, 제거될 수 있고, 청구된 조합은 서브 조합이나 서브 조합의 변형에 관계될 수 있다.
유사하게, 동작들이 도면들에서 특정 순서로 묘사되었지만, 바람직한 결과를 얻기 위하여, 그러한 동작들이 도시된 특정 순서 또는 순차적 순서로 수행되거나, 또는 예시된 모든 동작이 수행되어야 하는 것이 요구되는 것은 아님을 알아야 한다. 소정 상황에서는, 다중 또는 병렬 처리가 바람직할 수 있다. 또한, 상술한 구현예에서, 다양한 시스템 구성요소들의 분리가 모든 구현예에서 그러한 분리를 요구하는 것은 아님을 알아야 한다. 또한, 설명된 프로그램 구성요소들과 시스템들은 일반적으로 단일 소프트웨어 제품으로 통합되거나, 다중 소프트웨어 제품들로 패키지 될 수 있음을 알아야 한다.
본 명세서에 설명된 주제의 특정 구현예들이 설명되었다. 다른 구현예들도 후술하는 청구항의 범위 내에 있다. 예를 들어, 청구항들에 언급되는 동작들은 다른 순서로 수행되어도 여전히 바람직한 결과를 달성할 수 있다. 한 예로서, 첨부 도면에 설명된 프로세스들은 바람직한 결과를 얻기 위하여, 도시된 특정 순서나 순차적 순서를 요구하는 것은 아니다. 소정 구현예들에서, 멀티태스킹과 병렬 프로세싱이 바람직할 수 있다.
120 : 스케일링 엔진
160 : 분절기
510 : 프로세서
520 : 메모리
530 : 저장 디바이스
540 : 입/출력 디바이스들

Claims (25)

  1. 단어를 식별하는 n-gram의 확률을 수신하는 단계;
    상응하는 n-gram 내 원자 유닛(atomic unit)들의 수를 결정하는 단계;
    상기 n-gram 내 원자 유닛들의 수에 따라 스케일링 가중치(scaling weight)를 결정하는 단계;
    단어를 식별하는 상기 n-gram의 스케일된 확률을 결정하기 위하여, 단어를 식별하는 상기 n-gram의 확률에 상기 스케일링 가중치를 적용하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 청구항1에 있어서, 단어를 식별하는 상기 n-gram의 상기 스케일된 확률은 상기 n-gram 내 원자 유닛들의 수에 따르는 것을 특징으로 하는 방법.
  3. 청구항1에 있어서, 단어를 식별하는 상기 n-gram의 상기 스케일된 확률은 xn 이고, 여기서 x는 단어를 식별하는 상기 n-gram의 확률이고, n은 상기 n-gram 내 원자 유닛들의 수인 것을 특징으로 하는 방법.
  4. 청구항1에 있어서, 단어를 식별하는 상기 n-gram의 상기 스케일된 확률은 x1+k(n-1)이고, 여기서 x는 단어를 식별하는 상기 n-gram의 확률이고, n은 상기 n-gram 내 원자 유닛들의 수이고, k는 상수이고 0≤k≤1인 것을 특징으로 하는 방법.
  5. 청구항1에 있어서,
    복수의 토큰을 수신하는 단계; 및
    상기 스케일된 확률을 사용하여, 상기 복수의 토큰을 단어들로 분절(segment)하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  6. 청구항1에 있어서,
    상기 n-gram으로부터 유도되는, 저차수(lesser order) n-gram들을 식별하는 단계;
    단어들을 식별하는 상기 저차수 n-gram들 각각에 상응하는 확률들을 수신하는 단계;
    단어를 식별하는 상기 n-gram의 확률과, 단어들을 식별하는 상기 저차수 n-gram들의 조합들의 수신된 확률들 각각을 비교하는 단계; 및
    단어들을 식별하는 상기 저차수 n-gram들의 조합들의 수신된 확률들 중 한 확률이 단어를 식별하는 상기 n-gram의 상기 확률로부터 지정 임계량(specified threshold amount) 만큼 다른 경우에, 단어를 식별하는 상기 n-gram의 확률에 상응하는 상기 스케일링 가중치를 변경하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  7. 청구항1에 있어서,
    단어를 식별하는 n-gram의 스케일된 확률을 수신하는 단계;
    상기 n-gram으로부터 유도되는, 단어들을 식별하는 저차수 n-gram들의 스케일된 확률들을 결정하는 단계; 및
    단어를 식별하는 저차수 n-gram들의 조합의 스케일된 확률이 단어를 식별하는 상기 n-gram의 스케일된 확률로부터 지정 임계량만큼 다른 경우에, 상기 n-gram을 사전으로부터 제거하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. n-gram들, 및 단어를 식별하는 n-gram 각각의 상응하는 확률들을 포함하는 사전;
    n-gram 각각에 상응하는 스케일링 가중치들―상기 스케일링 가중치들은 각 n-gram 내 원자 유닛들의 수에 따름―을 포함하는 스케일링 엔진; 및
    단어를 식별하는 n-gram 각각의 스케일된 확률들을 포함하고,
    단어를 식별하는 n-gram 각각의 스케일된 확률들은 단어를 식별하는 n-gram 각각에 대한 상응하는 확률에 스케일링 가중치를 적용하여 결정되는 것을 특징으로 하는 시스템.
  9. 청구항8에 있어서, 단어를 식별하는 상기 n-gram의 상기 스케일된 확률은 상기 n-gram 내 원자 유닛들의 수에 따르는 것을 특징으로 하는 시스템.
  10. 청구항8에 있어서, 단어를 식별하는 상기 n-gram의 상기 스케일된 확률은 xn 이고, 여기서 x는 단어를 식별하는 상기 n-gram의 확률이고, n은 상기 n-gram 내 원자 유닛들의 수인 것을 특징으로 하는 시스템.
  11. 청구항8에 있어서, 단어를 식별하는 상기 n-gram의 상기 스케일된 확률은 x1+k(n-1)이고, 여기서 x는 단어를 식별하는 상기 n-gram의 확률이고, n은 상기 n-gram 내 원자 유닛들의 수이고, k는 상수이고 0≤k≤1인 것을 특징으로 하는 시스템.
  12. 청구항8에 있어서,
    복수의 토큰을 수신하고, 상기 스케일된 확률들을 사용하여, 상기 복수의 토큰을 단어들로 분절하는 분절기(segmenter)를 더 포함하는 것을 특징으로 하는 시스템.
  13. 청구항8에 있어서,
    상기 n-gram으로부터 유도되는, 저차수 n-gram들을 식별하고;
    단어들을 식별하는 상기 저차수 n-gram들 각각에 상응하는 확률들을 수신하고;
    단어를 식별하는 상기 n-gram의 확률과, 단어들을 식별하는 상기 저차수 n-gram들의 조합들의 수신된 확률들 각각을 비교하고; 및
    단어들을 식별하는 상기 저차수 n-gram들의 조합들의 수신된 확률들 중 한 확률이 단어를 식별하는 상기 n-gram의 확률로부터 지정 임계량만큼 다른 경우에, 단어를 식별하는 상기 n-gram의 확률에 상응하는 상기 스케일링 가중치를 변경하는 것을 포함하는 동작을 수행할 수 있는 하나 이상의 컴퓨터를 더 포함하는 것을 특징으로 하는 시스템.
  14. 청구항8에 있어서,
    단어를 식별하는 n-gram의 스케일된 확률을 수신하고;
    상기 n-gram으로부터 유도되는, 단어들을 식별하는 저차수 n-gram들의 스케일된 확률들을 결정하고; 및
    단어를 식별하는 저차수 n-gram들의 조합의 스케일된 확률이 단어를 식별하는 상기 n-gram의 스케일된 확률로부터 지정 임계량만큼 다른 경우에, 상기 n-gram을 사전으로부터 제거하는 것을 포함하는 동작을 수행할 수 있는 하나 이상의 컴퓨터를 더 포함하는 것을 특징으로 하는 시스템.
  15. 컴퓨터 판독가능 매체 상에 유형적으로 저장되고, 명령들을 포함하는 컴퓨터 프로그램으로서, 상기 명령들은 프로그래머블(programmable) 프로세서로 하여금,
    단어를 식별하는 n-gram의 확률을 수신하고;
    상응하는 n-gram 내 원자 유닛들의 수를 결정하고;
    상기 n-gram 내 원자 유닛들의 수에 따라 스케일링 가중치를 결정하고;
    단어를 식별하는 상기 n-gram의 스케일된 확률을 결정하기 위하여, 단어를 식별하는 상기 n-gram의 확률에 상기 스케일링 가중치를 적용하도록 하는 것을 특징으로 하는 컴퓨터 프로그램.
  16. 청구항15에 있어서, 단어를 식별하는 상기 n-gram의 상기 스케일된 확률은 상기 n-gram 내 원자 유닛들의 수에 따르는 것을 특징으로 하는 컴퓨터 프로그램.
  17. 청구항15에 있어서, 단어를 식별하는 상기 n-gram의 상기 스케일된 확률은 xn 이고, 여기서 x는 단어를 식별하는 상기 n-gram의 확률이고, n은 상기 n-gram 내 원자 유닛들의 수인 것을 특징으로 하는 컴퓨터 프로그램.
  18. 청구항15에 있어서, 단어를 식별하는 상기 n-gram의 상기 스케일된 확률은 x1+k(n-1)이고, 여기서 x는 단어를 식별하는 상기 n-gram의 확률이고, n은 상기 n-gram 내 원자 유닛들의 수이고, k는 상수이고 0≤k≤1인 것을 특징으로 하는 컴퓨터 프로그램.
  19. 청구항15에 있어서, 상기 프로그래머블 프로세서로 하여금,
    복수의 토큰을 수신하고; 및
    상기 스케일된 확률을 사용하여, 상기 복수의 토큰을 단어들로 분절하도록 하는 명령들을 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램.
  20. 청구항15에 있어서, 상기 프로그래머블 프로세서로 하여금,
    상기 n-gram으로부터 유도되는, 저차수 n-gram들을 식별하고;
    단어들을 식별하는 상기 저차수 n-gram들 각각에 상응하는 확률들을 수신하고;
    단어를 식별하는 상기 n-gram의 확률과, 단어들을 식별하는 상기 저차수 n-gram들의 조합들의 수신된 확률들 각각을 비교하고; 및
    단어들을 식별하는 상기 저차수 n-gram들의 조합들의 수신된 확률들 중 한 확률이 단어를 식별하는 상기 n-gram의 확률로부터 지정 임계량만큼 다른 경우에, 단어를 식별하는 상기 n-gram의 확률에 상응하는 상기 스케일링 가중치를 변경하도록 하는 명령들을 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램.
  21. 청구항15에 있어서, 상기 프로그래머블 프로세서로 하여금,
    단어를 식별하는 n-gram의 스케일된 확률을 수신하고;
    상기 n-gram으로부터 유도되는, 단어들을 식별하는 저차수 n-gram들의 스케일된 확률들을 결정하고; 및
    단어를 식별하는 저차수 n-gram들의 조합의 스케일된 확률이 단어를 식별하는 상기 n-gram의 스케일된 확률로부터 지정 임계량만큼 다른 경우에, 상기 n-gram을 사전으로부터 제거하도록 하는 명령들을 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램.
  22. 단어를 식별하는 n-gram의 확률을 수신하는 수단;
    상응하는 n-gram 내 원자 유닛들의 수를 결정하는 수단;
    상기 n-gram 내 원자 유닛들의 수에 따라 스케일링 가중치를 결정하는 수단; 및
    단어를 식별하는 상기 n-gram의 스케일된 확률을 결정하기 위하여, 단어를 식별하는 상기 n-gram의 확률에 상기 스케일링 가중치를 적용하는 수단을 포함하는 것을 특징으로 하는 시스템.
  23. 청구항22에 있어서, 단어를 식별하는 상기 n-gram의 상기 스케일된 확률은 상기 n-gram 내 원자 유닛들의 수에 따르는 것을 특징으로 하는 시스템.
  24. 청구항22에 있어서, 단어를 식별하는 상기 n-gram의 상기 스케일된 확률은 xn 이고, 여기서 x는 단어를 식별하는 상기 n-gram의 확률이고, n은 상기 n-gram 내 원자 유닛들의 수인 것을 특징으로 하는 시스템.
  25. 청구항22에 있어서, 단어를 식별하는 상기 n-gram의 상기 스케일된 확률은 x1+k(n-1)이고, 여기서 x는 단어를 식별하는 상기 n-gram의 확률이고, n은 상기 n-gram 내 원자 유닛들의 수이고, k는 상수이고 0≤k≤1인 것을 특징으로 하는 시스템.
KR1020107023144A 2008-04-16 2009-04-09 스케일된 확률들을 사용한 단어들의 분절 KR101613626B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/104,014 US8046222B2 (en) 2008-04-16 2008-04-16 Segmenting words using scaled probabilities
US12/104,014 2008-04-16

Publications (2)

Publication Number Publication Date
KR20100135819A KR20100135819A (ko) 2010-12-27
KR101613626B1 true KR101613626B1 (ko) 2016-04-19

Family

ID=41199658

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107023144A KR101613626B1 (ko) 2008-04-16 2009-04-09 스케일된 확률들을 사용한 단어들의 분절

Country Status (4)

Country Link
US (2) US8046222B2 (ko)
KR (1) KR101613626B1 (ko)
CN (2) CN102057370A (ko)
WO (1) WO2009129124A2 (ko)

Families Citing this family (111)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US7917493B2 (en) * 2007-04-19 2011-03-29 Retrevo Inc. Indexing and searching product identifiers
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8046222B2 (en) 2008-04-16 2011-10-25 Google Inc. Segmenting words using scaled probabilities
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US8301619B2 (en) * 2009-02-18 2012-10-30 Avaya Inc. System and method for generating queries
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9262511B2 (en) * 2012-07-30 2016-02-16 Red Lambda, Inc. System and method for indexing streams containing unstructured text data
JP2016508007A (ja) 2013-02-07 2016-03-10 アップル インコーポレイテッド デジタルアシスタントのためのボイストリガ
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
CN110442699A (zh) 2013-06-09 2019-11-12 苹果公司 操作数字助理的方法、计算机可读介质、电子设备和系统
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US20150269646A1 (en) * 2014-03-19 2015-09-24 Verisign, Inc. N-gram combination determination based on pronounceability
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10186282B2 (en) * 2014-06-19 2019-01-22 Apple Inc. Robust end-pointing of speech signals using speaker recognition
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US9947311B2 (en) 2015-12-21 2018-04-17 Verisign, Inc. Systems and methods for automatic phonetization of domain names
US10102189B2 (en) 2015-12-21 2018-10-16 Verisign, Inc. Construction of a phonetic representation of a generated string of characters
US9910836B2 (en) 2015-12-21 2018-03-06 Verisign, Inc. Construction of phonetic representation of a string of characters
US10102203B2 (en) 2015-12-21 2018-10-16 Verisign, Inc. Method for writing a foreign language in a pseudo language phonetically resembling native language of the speaker
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
CN107885716B (zh) * 2016-09-29 2020-02-11 腾讯科技(深圳)有限公司 文本识别方法及装置
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770429A1 (en) 2017-05-12 2018-12-14 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
CN110809796B (zh) * 2017-10-24 2020-09-18 北京嘀嘀无限科技发展有限公司 具有解耦唤醒短语的语音识别系统和方法
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
US10496705B1 (en) 2018-06-03 2019-12-03 Apple Inc. Accelerated task performance
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
US11501067B1 (en) * 2020-04-23 2022-11-15 Wells Fargo Bank, N.A. Systems and methods for screening data instances based on a target text of a target corpus

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7275029B1 (en) * 1999-11-05 2007-09-25 Microsoft Corporation System and method for joint optimization of language model performance and size
US6904402B1 (en) * 1999-11-05 2005-06-07 Microsoft Corporation System and iterative method for lexicon, segmentation and language model joint optimization
JP2001249922A (ja) * 1999-12-28 2001-09-14 Matsushita Electric Ind Co Ltd 単語分割方式及び装置
US6477488B1 (en) * 2000-03-10 2002-11-05 Apple Computer, Inc. Method for dynamic context scope selection in hybrid n-gram+LSA language modeling
US7043422B2 (en) * 2000-10-13 2006-05-09 Microsoft Corporation Method and apparatus for distribution-based language model adaptation
US7385591B2 (en) * 2001-03-31 2008-06-10 Microsoft Corporation Out-of-vocabulary word determination and user interface for text input via reduced keypad keys
US6999918B2 (en) * 2002-09-20 2006-02-14 Motorola, Inc. Method and apparatus to facilitate correlating symbols to sounds
US7603267B2 (en) * 2003-05-01 2009-10-13 Microsoft Corporation Rules-based grammar for slots and statistical model for preterminals in natural language understanding system
JP3768205B2 (ja) * 2003-05-30 2006-04-19 沖電気工業株式会社 形態素解析装置、形態素解析方法及び形態素解析プログラム
US7359851B2 (en) * 2004-01-14 2008-04-15 Clairvoyance Corporation Method of identifying the language of a textual passage using short word and/or n-gram comparisons
US7478033B2 (en) * 2004-03-16 2009-01-13 Google Inc. Systems and methods for translating Chinese pinyin to Chinese characters
JP3998668B2 (ja) * 2004-07-14 2007-10-31 沖電気工業株式会社 形態素解析装置、方法及びプログラム
JP4652737B2 (ja) * 2004-07-14 2011-03-16 インターナショナル・ビジネス・マシーンズ・コーポレーション 単語境界確率推定装置及び方法、確率的言語モデル構築装置及び方法、仮名漢字変換装置及び方法、並びに、未知語モデルの構築方法、
US7774197B1 (en) * 2006-09-27 2010-08-10 Raytheon Bbn Technologies Corp. Modular approach to building large language models
CN100504851C (zh) * 2007-06-27 2009-06-24 腾讯科技(深圳)有限公司 一种中文分词方法及系统
US8046222B2 (en) 2008-04-16 2011-10-25 Google Inc. Segmenting words using scaled probabilities

Also Published As

Publication number Publication date
US20090265171A1 (en) 2009-10-22
WO2009129124A3 (en) 2010-03-04
CN102057370A (zh) 2011-05-11
US20120089388A1 (en) 2012-04-12
KR20100135819A (ko) 2010-12-27
CN105786796A (zh) 2016-07-20
US8566095B2 (en) 2013-10-22
US8046222B2 (en) 2011-10-25
WO2009129124A2 (en) 2009-10-22
CN105786796B (zh) 2019-02-22

Similar Documents

Publication Publication Date Title
KR101613626B1 (ko) 스케일된 확률들을 사용한 단어들의 분절
KR101465770B1 (ko) 단어 확률 결정
US11321542B2 (en) Processing text sequences using neural networks
JP5379138B2 (ja) 領域辞書の作成
US7917355B2 (en) Word detection
US8386240B2 (en) Domain dictionary creation by detection of new topic words using divergence value comparison
US8612206B2 (en) Transliterating semitic languages including diacritics
US20150161110A1 (en) Techniques for a gender weighted pinyin input method editor
KR20100015958A (ko) 멀티모드 다국어 입력기
KR20100105586A (ko) Cjk 성명 검출
WO2019226954A1 (en) Training sequence generation neural networks using quality scores
US11182566B2 (en) Processing text sequences using neural networks
JP5770753B2 (ja) Cjk名前検出
JP7139271B2 (ja) 情報処理装置、情報処理方法、及びプログラム
CN116842149A (zh) 词语生成方法和电子设备

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190328

Year of fee payment: 4