Main Content

tokenDetails

토큰화된 문서 배열 내 토큰의 세부 정보

설명

예제

tdetails = tokenDetails(documents)tokenizedDocument 배열 documents의 토큰에 대한 토큰 세부 정보 테이블을 반환합니다.

예제

모두 축소

토큰화된 문서 배열을 만듭니다.

str = [ ...
    "This is an example document. It has two sentences."
    "This document has one sentence and an emoticon. :)"
    "Here is another example document. :D"];
documents = tokenizedDocument(str);

처음 몇 개 토큰에 대한 토큰 세부 정보를 표시합니다.

tdetails = tokenDetails(documents);
head(tdetails)
ans=8×5 table
      Token       DocumentNumber    LineNumber       Type        Language
    __________    ______________    __________    ___________    ________

    "This"              1               1         letters           en   
    "is"                1               1         letters           en   
    "an"                1               1         letters           en   
    "example"           1               1         letters           en   
    "document"          1               1         letters           en   
    "."                 1               1         punctuation       en   
    "It"                1               1         letters           en   
    "has"               1               1         letters           en   

type 변수에는 각 토큰의 유형이 포함되어 있습니다. 문서에 포함된 이모티콘을 표시합니다.

idx = tdetails.Type == "emoticon";
tdetails(idx,:)
ans=2×5 table
    Token    DocumentNumber    LineNumber      Type      Language
    _____    ______________    __________    ________    ________

    ":)"           2               1         emoticon       en   
    ":D"           3               1         emoticon       en   

토큰화된 문서 배열을 만듭니다.

str = [ ...
    "This is an example document. It has two sentences."
    "This document has one sentence."
    "Here is another example document. It also has two sentences."];
documents = tokenizedDocument(str);

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

documents = addSentenceDetails(documents);
tdetails = tokenDetails(documents);
head(tdetails)
ans=8×6 table
      Token       DocumentNumber    SentenceNumber    LineNumber       Type        Language
    __________    ______________    ______________    __________    ___________    ________

    "This"              1                 1               1         letters           en   
    "is"                1                 1               1         letters           en   
    "an"                1                 1               1         letters           en   
    "example"           1                 1               1         letters           en   
    "document"          1                 1               1         letters           en   
    "."                 1                 1               1         punctuation       en   
    "It"                1                 2               1         letters           en   
    "has"               1                 2               1         letters           en   

세 번째 문서의 두 번째 문장에 대한 토큰 세부 정보를 표시합니다.

idx = tdetails.DocumentNumber == 3 & ...
    tdetails.SentenceNumber == 2;
tdetails(idx,:)
ans=6×6 table
       Token       DocumentNumber    SentenceNumber    LineNumber       Type        Language
    ___________    ______________    ______________    __________    ___________    ________

    "It"                 3                 2               1         letters           en   
    "also"               3                 2               1         letters           en   
    "has"                3                 2               1         letters           en   
    "two"                3                 2               1         letters           en   
    "sentences"          3                 2               1         letters           en   
    "."                  3                 2               1         punctuation       en   

예제 데이터를 불러옵니다. 파일 sonnetsPreprocessed.txt에는 셰익스피어 소네트의 전처리된 버전이 들어 있습니다. 파일에는 한 줄에 하나씩 소네트가 들어 있으며 단어가 공백으로 구분되어 있습니다. sonnetsPreprocessed.txt에서 텍스트를 추출하고, 추출한 텍스트를 새 줄 문자에서 문서로 분할한 후 그 문서를 토큰화합니다.

filename = "sonnetsPreprocessed.txt";
str = extractFileText(filename);
textData = split(str,newline);
documents = tokenizedDocument(textData);

처음 몇 개 토큰에 대한 토큰 세부 정보를 표시합니다.

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

    "fairest"            1               1         letters       en   
    "creatures"          1               1         letters       en   
    "desire"             1               1         letters       en   
    "increase"           1               1         letters       en   
    "thereby"            1               1         letters       en   
    "beautys"            1               1         letters       en   
    "rose"               1               1         letters       en   
    "might"              1               1         letters       en   

addPartOfSpeechDetails 함수를 사용하여 품사 세부 정보를 문서에 추가합니다. 이 함수는 먼저 문서에 문장 정보를 추가한 다음, tokenDetails에서 반환된 테이블에 품사 태그를 추가합니다. 처음 몇 개 토큰에 대해 업데이트된 토큰 세부 정보를 표시합니다.

documents = addPartOfSpeechDetails(documents);
tdetails = tokenDetails(documents);
head(tdetails)
ans=8×7 table
       Token       DocumentNumber    SentenceNumber    LineNumber     Type      Language     PartOfSpeech 
    ___________    ______________    ______________    __________    _______    ________    ______________

    "fairest"            1                 1               1         letters       en       adjective     
    "creatures"          1                 1               1         letters       en       noun          
    "desire"             1                 1               1         letters       en       noun          
    "increase"           1                 1               1         letters       en       noun          
    "thereby"            1                 1               1         letters       en       adverb        
    "beautys"            1                 1               1         letters       en       noun          
    "rose"               1                 1               1         letters       en       noun          
    "might"              1                 1               1         letters       en       auxiliary-verb

입력 인수

모두 축소

입력 문서로, tokenizedDocument 배열로 지정됩니다.

출력 인수

모두 축소

토큰 세부 정보 테이블. tdetails에는 다음과 같은 변수가 있습니다.

이름설명
Token토큰 텍스트로, string형 스칼라로 반환됩니다.
DocumentNumber토큰이 속하는 문서의 인덱스로, 양의 정수로 반환됩니다.
SentenceNumber문서 내 토큰의 문장 번호로, 양의 정수로 반환됩니다. 이러한 세부 정보가 없는 경우 먼저 addSentenceDetails 함수를 사용하여 문장 세부 정보를 documents에 추가하십시오.
LineNumber문서 내 토큰의 라인 번호로, 양의 정수로 반환됩니다.
Type

토큰의 유형으로, 다음 중 하나로 반환됩니다.

  • 'letters' – 문자로만 구성된 문자열

  • 'digits' – 숫자로만 구성된 문자열

  • 'punctuation' – 문장 부호 및 기호 문자로만 구성된 문자열

  • 'email-address' – 감지된 이메일 주소

  • 'web-address' – 감지된 웹 주소

  • 'hashtag' – 감지된 해시태그("#"으로 시작하고 뒤에 문자가 옴)

  • 'at-mention' – 감지된 at-멘션("@" 문자로 시작)

  • 'emoticon' – 감지된 이모티콘

  • 'emoji' – 감지된 이모지

  • 'other' – 앞에서 언급한 유형에 속하지 않으며 사용자 지정 유형이 아닌 경우

이러한 세부 정보가 없는 경우 먼저 addTypeDetails 함수를 사용하여 유형 세부 정보를 documents에 추가하십시오.

Language

토큰의 언어로, 다음 중 하나로 반환됩니다.

  • 'en' – 영어

  • 'ja' – 일본어

  • 'de' – 독일어

  • 'ko' – 한국어

이러한 언어 세부 정보에 따라 토큰에서 removeStopWords, addPartOfSpeechDetails, normalizeWords, addSentenceDetailsaddEntityDetails 함수의 동작이 달라집니다.

이러한 세부 정보가 없는 경우 먼저 addLanguageDetails 함수를 사용하여 언어 세부 정보를 documents에 추가하십시오.

Text Analytics Toolbox™의 언어 지원에 대한 자세한 내용은 언어 고려 사항 항목을 참조하십시오.

PartOfSpeech

품사 태그로, 다음 클래스 이름 중 하나에서 categorical형으로 지정됩니다.

  • "adjective" – 형용사

  • "adposition" – 부치사

  • "adverb" – 부사

  • "auxiliary-verb" – 조동사

  • "coord-conjunction" – 등위 접속사

  • "determiner" – 한정사

  • "interjection" – 감탄사

  • "noun" – 명사

  • "numeral" – 수사

  • "particle" – 불변화사

  • "pronoun" – 대명사

  • "proper-noun" – 고유 명사

  • "punctuation" – 문장 부호

  • "subord-conjunction" – 종속 접속사

  • "symbol" – 기호

  • "verb" – 동사

  • "other" – 기타

이러한 세부 정보가 없는 경우 먼저 addPartOfSpeechDetails 함수를 사용하여 품사 세부 정보를 documents에 추가하십시오.

Entity

엔터티 태그로, 다음 중 하나로 지정됩니다.

  • 'location' – 감지된 위치

  • 'organization' – 감지된 조직

  • 'person' – 감지된 사람

  • 'other' – 위의 범주에 속하지 않는 감지된 엔터티

  • 'non-entity' – 감지된 엔터티 없음

이러한 세부 정보가 없는 경우 먼저 addEntityDetails 함수를 사용하여 엔터티 세부 정보를 documents에 추가하십시오.

Lemma

표제어 형태. 이러한 세부 정보가 없는 경우 먼저 addLemmaDetails 함수를 사용하여 표제어 세부 정보를 documents에 추가하십시오.

버전 내역

R2018a에 개발됨

모두 확장

R2018b에서 동작이 변경됨