Main Content

addEntityDetails

문서에 엔터티 태그 추가

설명

addEntityDetails를 사용하여 엔터티 태그를 문서에 추가합니다.

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

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

예제

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

updatedDocuments = addEntityDetails(documents,Name,Value)는 하나 이상의 이름-값 쌍을 사용하여 옵션을 추가로 지정합니다.

addEntityDetailslower, 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 = 6x1 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 = 11x1 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는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 릴리스에서는 각 이름과 값을 쉼표로 구분하고 Name을 따옴표로 묶으십시오.

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

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

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

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

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

데이터형: logical

R2023a 이후

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

출력 인수

모두 축소

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

알고리즘

모두 축소

언어 세부 정보

tokenizedDocument 객체에는 언어 세부 정보를 포함하여 토큰에 대한 세부 정보가 포함됩니다. 입력 문서의 언어 세부 정보에 따라 addEntityDetails의 동작이 달라집니다. tokenizedDocument 함수는 기본적으로 입력 텍스트의 언어를 자동으로 검출합니다. 언어 세부 정보를 수동으로 지정하려면 tokenizedDocumentLanguage 옵션을 사용하십시오. 토큰 세부 정보를 보려면 tokenDetails 함수를 사용하십시오.

버전 내역

R2019a에 개발됨

모두 확장