주요 콘텐츠

addEntityDetails

R2026b

문서에 개체 태그 추가

설명

addEntityDetails를 사용하여 개체 태그를 문서에 추가합니다.

addEntityDetails를 사용하여 텍스트에서 사람 이름, 위치, 조직 및 기타 개체명을 검출합니다. 이 프로세스를 개체명 인식이라고 합니다.

이 함수는 한국어, 영어, 일본어, 독일어 텍스트를 지원합니다.

updatedDocuments = addEntityDetails(documents)는 documents에서 개체명을 검출합니다. 이 함수는 개체 세부 정보가 누락된 토큰에만 세부 정보를 추가합니다. updatedDocuments에서 개체 세부 정보를 가져오려면 tokenDetails를 사용하십시오.

예제

updatedDocuments = addEntityDetails(documents,Name=Value)는 하나 이상의 이름-값 인수를 사용하여 옵션을 추가로 지정합니다. 예를 들어, addEntityDetails(documents,DiscardKnownValues=true)는 이전에 계산된 세부 정보를 무시하고 다시 계산하도록 지정합니다.

팁

addEntityDetails는 lower, upper, normalizeWords, removeWords, removeStopWords 함수에 의해 제거되는 정보를 사용하기 때문에 이러한 함수를 사용하기 전에 addEntityDetails를 먼저 사용해야 합니다.

예제

모두 축소

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

str = [
    "Mary moved to Natick, Massachusetts."
    "John uses MATLAB at MathWorks."];
documents = tokenizedDocument(str);

addEntityDetails 함수를 사용하여 개체 세부 정보를 문서에 추가합니다. 이 함수는 텍스트에서 개체명을 검출하고, tokenDetails 함수에서 반환된 테이블에 세부 정보를 추가합니다. 처음 몇 개 토큰에 대해 업데이트된 토큰 세부 정보를 표시합니다.

documents = addEntityDetails(documents);
tdetails = tokenDetails(documents)
tdetails = 13×8 table
         Token         DocumentNumber    SentenceNumber    LineNumber       Type        Language    PartOfSpeech       Entity   
    _______________    ______________    ______________    __________    ___________    ________    ____________    ____________

    "Mary"                   1                 1               1         letters           en       proper-noun     person      
    "moved"                  1                 1               1         letters           en       verb            non-entity  
    "to"                     1                 1               1         letters           en       adposition      non-entity  
    "Natick"                 1                 1               1         letters           en       proper-noun     location    
    ","                      1                 1               1         punctuation       en       punctuation     non-entity  
    "Massachusetts"          1                 1               1         letters           en       proper-noun     location    
    "."                      1                 1               1         punctuation       en       punctuation     non-entity  
    "John"                   2                 1               1         letters           en       proper-noun     person      
    "uses"                   2                 1               1         letters           en       verb            non-entity  
    "MATLAB"                 2                 1               1         letters           en       proper-noun     other       
    "at"                     2                 1               1         letters           en       adposition      non-entity  
    "MathWorks"              2                 1               1         letters           en       proper-noun     organization
    "."                      2                 1               1         punctuation       en       punctuation     non-entity  

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

idx = tdetails.Entity ~= "non-entity";
tdetails.Token(idx)
ans = 6×1 string
    "Mary"
    "Natick"
    "Massachusetts"
    "John"
    "MATLAB"
    "MathWorks"

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

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

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

tdetails = tokenDetails(documents);
head(tdetails)
       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 = 11×1 string
    "マリー"
    "さん"
    "ボストン"
    "ニューヨーク"
    "鈴木"
    "さん"
    "東京"
    "大阪"
    "東京"
    "新宿"
    "渋谷"

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    

입력 인수

모두 축소

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

이름-값 인수

모두 축소

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

예: DiscardKnownValues=true는 이전에 계산된 세부 정보를 무시하고 다시 계산하도록 지정합니다.

문서를 다시 토큰화하는 방법으로, 다음 중 하나로 지정됩니다.

  • "entity" – 개체명 인식을 위해 토큰을 변환합니다. 이 함수는 동일한 개체의 토큰들을 단일 토큰으로 병합합니다.

  • "none" – 문서를 다시 토큰화하지 않습니다.

이전에 계산된 세부 정보를 무시하고 다시 계산하는 옵션으로, true 또는 false로 지정됩니다.

데이터형: logical

R2023a 이후

사용자 지정 NER 모델로, 다음 값 중 하나로 지정됩니다.

출력 인수

모두 축소

업데이트된 문서로, tokenizedDocument 배열로 반환됩니다. updatedDocuments에서 토큰 세부 정보를 가져오려면 tokenDetails를 사용하십시오.

알고리즘

모두 축소

버전 내역

R2019a에 개발됨

모두 확장