Main Content

일본어 지원

이 항목에서는 일본어 텍스트를 지원하는 Text Analytics Toolbox™ 기능에 대해 설명합니다. 일본어 텍스트 데이터를 분석하는 방법을 보여주는 예제는 Analyze Japanese Text Data 항목을 참조하십시오.

토큰화

tokenizedDocument 함수는 일본어 입력을 자동으로 감지합니다. 또는 tokenizedDocument'Language' 옵션을 'ja'로 설정하십시오. 이 옵션은 토큰의 언어 세부 정보를 지정합니다. 토큰의 언어 세부 정보를 보려면 tokenDetails를 사용하십시오. 이러한 언어 세부 정보에 따라 토큰에서 removeStopWords, addPartOfSpeechDetails, normalizeWords, addSentenceDetailsaddEntityDetails 함수의 동작이 달라집니다.

토큰화의 MeCab 옵션을 추가로 지정하려면 mecabOptions 객체를 만드십시오. 지정된 MeCab 토큰화 옵션을 사용하여 토큰화하려면 tokenizedDocument'TokenizeMethod' 옵션을 사용하십시오.

일본어 텍스트 토큰화하기

tokenizedDocument를 사용하여 일본어 텍스트를 토큰화합니다. 이 함수는 일본어 텍스트를 자동으로 감지합니다.

str = [
    "恋に悩み、苦しむ。"
    "恋の悩みで苦しむ。"
    "空に星が輝き、瞬いている。"
    "空の星が輝きを増している。"];
documents = tokenizedDocument(str)
documents = 
  4x1 tokenizedDocument:

     6 tokens: 恋 に 悩み 、 苦しむ 。
     6 tokens: 恋 の 悩み で 苦しむ 。
    10 tokens: 空 に 星 が 輝き 、 瞬い て いる 。
    10 tokens: 空 の 星 が 輝き を 増し て いる 。

품사 세부 정보

기본적으로 tokenDetails 함수에는 토큰 세부 정보와 함께 품사 세부 정보가 포함됩니다.

일본어 텍스트의 품사 세부 정보 가져오기

tokenizedDocument를 사용하여 일본어 텍스트를 토큰화합니다.

str = [
    "恋に悩み、苦しむ。"
    "恋の悩みで 苦しむ。"
    "空に星が輝き、瞬いている。"
    "空の星が輝きを増している。"
    "駅までは遠くて、歩けない。"
    "遠くの駅まで歩けない。"
    "すもももももももものうち。"];
documents = tokenizedDocument(str);

일본어 텍스트의 경우 tokenDetails를 사용하여 품사 세부 정보를 가져올 수 있습니다. 영어 텍스트의 경우 먼저 addPartOfSpeechDetails를 사용해야 합니다.

tdetails = tokenDetails(documents);
head(tdetails)
ans=8×8 table
     Token     DocumentNumber    LineNumber       Type        Language    PartOfSpeech     Lemma       Entity  
    _______    ______________    __________    ___________    ________    ____________    _______    __________

    "恋"             1               1         letters           ja       noun            "恋"       non-entity
    "に"             1               1         letters           ja       adposition      "に"       non-entity
    "悩み"           1               1         letters           ja       verb            "悩む"      non-entity
    "、"             1               1         punctuation       ja       punctuation     "、"       non-entity
    "苦しむ"          1               1         letters           ja       verb            "苦しむ"    non-entity
    "。"             1               1         punctuation       ja       punctuation     "。"       non-entity
    "恋"             2               1         letters           ja       noun            "恋"       non-entity
    "の"             2               1         letters           ja       adposition      "の"       non-entity

명명된 엔터티 인식

기본적으로 tokenDetails 함수에는 토큰 세부 정보와 함께 엔터티 세부 정보가 포함됩니다.

일본어 텍스트에 명명된 엔터티 태그 추가하기

tokenizedDocument를 사용하여 일본어 텍스트를 토큰화합니다.

str = [
    "マリーさんはボストンからニューヨークに引っ越しました。"
    "駅で鈴木さんに迎えに行きます。"
    "東京は大阪より大きいですか?"
    "東京に行った時、新宿や渋谷などいろいろな所を訪れました。"];
documents = tokenizedDocument(str);

일본어 텍스트의 경우 명명된 엔터티 태그가 자동으로 추가되므로 addEntityDetails 함수를 사용할 필요가 없습니다. 사람 이름, 위치, 조직 및 기타 명명된 엔터티가 자동으로 감지됩니다. 엔터티 세부 정보를 보기 위해 tokenDetails 함수를 사용합니다.

tdetails = tokenDetails(documents);
head(tdetails)
ans=8×8 table
       Token        DocumentNumber    LineNumber     Type      Language    PartOfSpeech       Lemma          Entity  
    ____________    ______________    __________    _______    ________    ____________    ____________    __________

    "マリー"               1               1         letters       ja       proper-noun     "マリー"         person    
    "さん"                1               1         letters       ja       noun            "さん"           person    
    "は"                  1               1         letters       ja       adposition      "は"            non-entity
    "ボストン"             1               1         letters       ja       proper-noun     "ボストン"        location  
    "から"                1               1         letters       ja       adposition      "から"           non-entity
    "ニューヨーク"          1               1         letters       ja       proper-noun     "ニューヨーク"    location  
    "に"                  1               1         letters       ja       adposition      "に"            non-entity
    "引っ越し"             1               1         letters       ja       verb            "引っ越す"        non-entity

"person", "location", "organization" 또는 "other" 엔터티로 태그가 지정된 단어를 표시합니다. 다음은 태그가 "non-entity"로 지정되지 않은 단어들입니다.

idx = tdetails.Entity ~= "non-entity";
tdetails(idx,:).Token
ans = 11x1 string
    "マリー"
    "さん"
    "ボストン"
    "ニューヨーク"
    "鈴木"
    "さん"
    "東京"
    "大阪"
    "東京"
    "新宿"
    "渋谷"

불용어

토큰 언어 세부 정보에 따라 문서에서 불용어를 제거하려면 removeStopWords를 사용하십시오. 일본어 불용어 목록은 stopWords'Language' 옵션을 'ja'로 설정하십시오.

일본어 불용어 제거하기

tokenizedDocument를 사용하여 일본어 텍스트를 토큰화합니다. 이 함수는 일본어 텍스트를 자동으로 감지합니다.

str = [
    "ここは静かなので、とても穏やかです"
    "企業内の顧客データを利用し、今年の売り上げを調べることが出来た。"
    "私は先生です。私は英語を教えています。"];
documents = tokenizedDocument(str);

removeStopWords를 사용하여 불용어를 제거합니다. 이 함수는 documents의 언어 세부 정보를 사용하여 어떤 언어의 불용어를 제거할지 결정합니다.

documents = removeStopWords(documents)
documents = 
  3x1 tokenizedDocument:

     4 tokens: 静か 、 とても 穏やか
    10 tokens: 企業 顧客 データ 利用 、 今年 売り上げ 調べる 出来 。
     5 tokens: 先生 。 英語 教え 。

표제어 추출

토큰 언어 세부 정보에 따라 토큰의 표제어를 추출하려면 normalizeWords를 사용하고 'Style' 옵션을 'lemma'로 설정합니다.

일본어 텍스트의 표제어 추출하기

tokenizedDocument 함수를 사용하여 일본어 텍스트를 토큰화합니다. 이 함수는 일본어 텍스트를 자동으로 감지합니다.

str = [
    "空に星が輝き、瞬いている。"
    "空の星が輝きを増している。"
    "駅までは遠くて、歩けない。"
    "遠くの駅まで歩けない。"];
documents = tokenizedDocument(str);

normalizeWords를 사용하여 토큰의 표제어를 추출합니다.

documents = normalizeWords(documents)
documents = 
  4x1 tokenizedDocument:

    10 tokens: 空 に 星 が 輝く 、 瞬く て いる 。
    10 tokens: 空 の 星 が 輝き を 増す て いる 。
     9 tokens: 駅 まで は 遠い て 、 歩ける ない 。
     7 tokens: 遠く の 駅 まで 歩ける ない 。

언어에 독립적인 기능

단어 및 N-Gram 개수 세기

bagOfWords 함수와 bagOfNgrams 함수는 언어에 관계없이 tokenizedDocument 입력값을 지원합니다. 데이터가 포함된 tokenizedDocument 배열이 있는 경우 이러한 함수를 사용할 수 있습니다.

모델링 및 예측

fitlda 함수와 fitlsa 함수는 언어에 관계없이 bagOfWords 입력값과 bagOfNgrams 입력값을 지원합니다. 데이터가 포함된 bagOfWords 객체 또는 bagOfNgrams 객체가 있는 경우 이러한 함수를 사용할 수 있습니다.

trainWordEmbedding 함수는 언어에 관계없이 tokenizedDocument 또는 파일 입력값을 지원합니다. 올바른 형식의 데이터가 포함된 tokenizedDocument 배열 또는 파일이 있는 경우 이 함수를 사용할 수 있습니다.

참고 항목

| | | | | | |

관련 항목