Main Content

독일어 지원

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

토큰화

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

독일어 텍스트 토큰화하기

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

str = [
    "Guten Morgen. Wie geht es dir?"
    "Heute wird ein guter Tag."];
documents = tokenizedDocument(str)
documents = 
  2x1 tokenizedDocument:

    8 tokens: Guten Morgen . Wie geht es dir ?
    6 tokens: Heute wird ein guter Tag .

문장 검출

문서에서 문장 구조를 검출하려면 addSentenceDetails를 사용합니다. abbreviations 함수를 사용하면 검출하고자 하는 사용자 지정된 약어 목록을 손쉽게 만들 수 있습니다.

독일어 문서에 문장 세부 정보 추가하기

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

str = [
    "Guten Morgen, Dr. Schmidt. Geht es Ihnen wieder besser?"
    "Heute wird ein guter Tag."];
documents = tokenizedDocument(str);

addSentenceDetails를 사용하여 문장 세부 정보를 문서에 추가합니다. 이 함수는 tokenDetails에서 반환된 테이블에 문장 번호를 추가합니다. 처음 몇 개 토큰에 대해 업데이트된 토큰 세부 정보를 표시합니다.

documents = addSentenceDetails(documents);
tdetails = tokenDetails(documents);
head(tdetails,10)
      Token      DocumentNumber    SentenceNumber    LineNumber       Type        Language
    _________    ______________    ______________    __________    ___________    ________

    "Guten"            1                 1               1         letters           de   
    "Morgen"           1                 1               1         letters           de   
    ","                1                 1               1         punctuation       de   
    "Dr"               1                 1               1         letters           de   
    "."                1                 1               1         punctuation       de   
    "Schmidt"          1                 1               1         letters           de   
    "."                1                 1               1         punctuation       de   
    "Geht"             1                 2               1         letters           de   
    "es"               1                 2               1         letters           de   
    "Ihnen"            1                 2               1         letters           de   

독일어 약어 테이블

독일어 약어 테이블을 표시합니다. addSentenceDetails를 사용할 때 이 테이블을 사용해 문장 검출을 위한 사용자 지정 약어 테이블을 손쉽게 만들 수 있습니다.

tbl = abbreviations('Language','de');
head(tbl)
    Abbreviation     Usage 
    ____________    _______

       "A.T"        regular
       "ABl"        regular
       "Abb"        regular
       "Abdr"       regular
       "Abf"        regular
       "Abfl"       regular
       "Abh"        regular
       "Abk"        regular

품사 세부 정보

독일어 품사 세부 정보를 문서에 추가하려면 addPartOfSpeechDetails 함수를 사용합니다.

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

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

str = [
    "Guten Morgen. Wie geht es dir?"
    "Heute wird ein guter Tag."];
documents = tokenizedDocument(str)
documents = 
  2x1 tokenizedDocument:

    8 tokens: Guten Morgen . Wie geht es dir ?
    6 tokens: Heute wird ein guter Tag .

독일어 텍스트의 품사 세부 정보를 가져오려면 먼저 addPartOfSpeechDetails를 사용합니다.

documents = addPartOfSpeechDetails(documents);

품사 세부 정보를 표시하려면 tokenDetails 함수를 사용합니다.

tdetails = tokenDetails(documents);
head(tdetails)
     Token      DocumentNumber    SentenceNumber    LineNumber       Type        Language    PartOfSpeech
    ________    ______________    ______________    __________    ___________    ________    ____________

    "Guten"           1                 1               1         letters           de       adjective   
    "Morgen"          1                 1               1         letters           de       noun        
    "."               1                 1               1         punctuation       de       punctuation 
    "Wie"             1                 2               1         letters           de       adverb      
    "geht"            1                 2               1         letters           de       verb        
    "es"              1                 2               1         letters           de       pronoun     
    "dir"             1                 2               1         letters           de       pronoun     
    "?"               1                 2               1         punctuation       de       punctuation 

명명된 엔터티 인식

엔터티 태그를 문서에 추가하려면 addEntityDetails 함수를 사용합니다.

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

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

str = [
    "Ernst zog von Frankfurt nach Berlin."
    "Besuchen Sie Volkswagen in Wolfsburg."];
documents = tokenizedDocument(str);

엔터티 태그를 독일어 텍스트에 추가하기 위해 addEntityDetails 함수를 사용합니다. 이 함수는 사람 이름, 위치, 조직 및 기타 명명된 엔터티를 감지합니다.

documents = addEntityDetails(documents);

엔터티 세부 정보를 보기 위해 tokenDetails 함수를 사용합니다.

tdetails = tokenDetails(documents);
head(tdetails)
       Token       DocumentNumber    SentenceNumber    LineNumber       Type        Language    PartOfSpeech      Entity  
    ___________    ______________    ______________    __________    ___________    ________    ____________    __________

    "Ernst"              1                 1               1         letters           de       proper-noun     person    
    "zog"                1                 1               1         letters           de       verb            non-entity
    "von"                1                 1               1         letters           de       adposition      non-entity
    "Frankfurt"          1                 1               1         letters           de       proper-noun     location  
    "nach"               1                 1               1         letters           de       adposition      non-entity
    "Berlin"             1                 1               1         letters           de       proper-noun     location  
    "."                  1                 1               1         punctuation       de       punctuation     non-entity
    "Besuchen"           2                 1               1         letters           de       verb            non-entity

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

idx = tdetails.Entity ~= "non-entity";
tdetails(idx,:)
ans=5×8 table
       Token        DocumentNumber    SentenceNumber    LineNumber     Type      Language    PartOfSpeech       Entity   
    ____________    ______________    ______________    __________    _______    ________    ____________    ____________

    "Ernst"               1                 1               1         letters       de       proper-noun     person      
    "Frankfurt"           1                 1               1         letters       de       proper-noun     location    
    "Berlin"              1                 1               1         letters       de       proper-noun     location    
    "Volkswagen"          2                 1               1         letters       de       noun            organization
    "Wolfsburg"           2                 1               1         letters       de       proper-noun     location    

불용어

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

문서에서 독일어 불용어 제거하기

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

str = [
    "Guten Morgen. Wie geht es dir?"
    "Heute wird ein guter Tag."];
documents = tokenizedDocument(str)
documents = 
  2x1 tokenizedDocument:

    8 tokens: Guten Morgen . Wie geht es dir ?
    6 tokens: Heute wird ein guter Tag .

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

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

    5 tokens: Guten Morgen . geht ?
    5 tokens: Heute wird guter Tag .

어간 추출

토큰 언어 세부 정보에 따라 토큰의 어간을 추출하려면 normalizeWords를 사용합니다.

독일어 텍스트의 어간 추출하기

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

str = [
    "Guten Morgen. Wie geht es dir?"
    "Heute wird ein guter Tag."];
documents = tokenizedDocument(str);

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

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

    8 tokens: gut morg . wie geht es dir ?
    6 tokens: heut wird ein gut tag .

언어에 독립적인 기능

단어 및 N-Gram 개수 세기

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

모델링 및 예측

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

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

참고 항목

| | | | | |

관련 항목