최상의 답변
사람들은 텍스트를 읽습니다. 텍스트는 문장으로 구성되고 문장은 단어로 구성됩니다. 인간은 언어 구조와 그 의미를 쉽게 이해할 수 있지만 기계는 아직 자연어 이해에 충분히 성공하지 못합니다. 그래서 우리는 초등학생처럼 기계에 일부 언어를 가르치려고합니다. 이것이 주요 개념입니다. 단어는 문장에서 다른 의미를 나타낼 수있는 기본적이고 의미있는 요소입니다. 이 시점에서 우리는 때때로 단어 그룹이 의미를 설명 할 때 한 단어보다 더 많은 이점을 제공한다는 것을 명심합니다. 다음은 “ 미국 역사에 관한 책을 읽었습니다. “문장입니다. 기계는 문장을 작은 조각으로 분리하여 문장의 의미를 파악하려고합니다. 어떻게해야합니까? 1. 단어를 하나씩 볼 수 있습니다. unigram 입니다. 각 단어는 그램입니다. “I”, “read”, “a”, “book”, “about”, “the”, “history”, “of”, “America”2. 한 번에 두 단어를 고려할 수 있습니다. bigram 입니다 ( digram ); 인접한 두 단어는 각각 bigram을 만듭니다. “I read”, “read a”, “a book”, “book about”, “about the”, “the history”, “history of”, “of America”3. 한 번에 3 개의 단어를 볼 수 있습니다. trigram 입니다. 인접한 세 단어가 각각 트라이 그램을 만듭니다. “I read a”, “read a book”, “a book about”, “book about the”, “about the history”, “the history of”, “history of America”
Answer
귀하의 질문은 “빅램 / 트라이 그램이란 무엇이며 왜 필요한가요?”와 같은 것일 수 있습니다.
그렇다면 내 대답은 다음과 같습니다. ) 문장에서 일어나는 일에 대한 예측. 특정 단어가 다음에 표시되거나 특정 단어 클래스에 속하는 요소가 다음에 표시 될 수 있습니다 (예 : “The guy said that he have…”다음에 동사를 기대하고 있습니다. 그래서 이상적으로는, 시작 * the *에서 * had *까지 모든 것을 고려하면 예측이 더 나아질 것으로 예상되며, 이는 7 그램을 형성합니다 (6 개의 예측 변수와 7 번째 예측 변수). 문제는 데이터가 너무 희소하다는 것입니다. n이 2 (또는 아마도 4)보다 큰 숫자 일 때 n + 1- 그램을 기반으로 예측하기위한 것입니다! 위의 예는 6 + 1- 그램입니다. 그래서 사람들은 bigrams (1 + 1-grams)와 같은 근사값으로 작업합니다. ) 및 trigrams (2 + 1-grams). bigram은 이전 단어를 기반으로 단어를 예측하고 trigram은 그 앞의 두 단어를 기반으로 단어를 예측합니다.
음 , 사실, bigrams에 대한 실제 응용 프로그램은 없지만 (내가 기억한다면) trigrams는 잘 작동합니다 .unigram은 단어로 구성되며, unigram w에서 얻을 수있는 유일한 이득입니다. 절대적인 모든 것이 균등 분포로 발생하도록 허용하는 대신 예측 인자로 단어의 빈도를 가질 수 있습니다. (Englisch의 경우, 유니 그램은 “가장 가능성이 높은 단어는 항상”the “입니다. bigram은”have “와 같은 것을 제공합니다. 실제로는”the “다음에 그다지 가능성이 없으며, trigram은”apple “을 제공합니다. “썩은”이후.