Watson 자연어 처리 엔티티 추출 모델은 입력 텍스트에서 엔티티를 추출합니다.
사용 가능한 추출 유형에 대한 세부사항은 다음 섹션을 참조하십시오.
일반 엔티티에 대한 기계 학습 기반 추출
기계 학습 기반 추출 모델은 개인, 조직 및 위치와 같은 보다 복잡한 엔티티 유형에 대해 레이블 지정된 데이터에 대해 훈련됩니다.
기능
엔티티 모델은 입력 텍스트에서 엔티티를 추출합니다. 다음 유형의 엔티티가 인식됩니다.
- 날짜
- 지속 기간
- 시설
- 지리적 특징
- 직책
- 위치
- 측도
- 화폐
- 순서형
- 조직
- 사람
- 시간
기능 | 예 |
---|---|
입력 텍스트에서 엔티티를 추출합니다. | IBM's CEO Arvind Krishna is based in the US -> IBM\Organization , CEO\JobTitle , Arvind Krishna\Person , US\Location |
사용 가능한 워크플로우 및 블록은 사용되는 런타임에 따라 다릅니다.
워크플로우 이름
entity-mentions_transformer-workflow_multilingual_slate.153m.distilled
: 이 워크플로우는 CPU및 GPU 모두에서 사용할 수 있습니다.entity-mentions_transformer-workflow_multilingual_slate.153m.distilled-cpu
: 이 워크플로우는 CPU 기반 런타임에 대해 최적화되어 있습니다.
지원되는 언어
엔티티 추출은 다음 언어로 사용할 수 있습니다.
ar, cs, da, de, en, es, fi, fr, he, hi, it, ja, ko, nb, nl, nn, pt, ro, ru, sk, sv, tr, zh-cn
언어 코드 및 해당 언어 목록은 언어 코드를 참조하세요
코드 샘플
import watson_nlp
# Load the workflow model
entities_workflow = watson_nlp.load('entity-mentions_transformer-workflow_multilingual_slate.153m.distilled')
# Run the entity extraction workflow on the input text
entities = entities_workflow.run('IBM\'s CEO Arvind Krishna is based in the US', language_code="en")
print(entities.get_mention_pairs())
코드 샘플의 출력:
[('IBM', 'Organization'), ('CEO', 'JobTitle'), ('Arvind Krishna', 'Person'), ('US', 'Location')]
일반 엔티티에 대한 규칙 기반 추출
규칙 기반 모델 entity-mentions_rbr_xx_stock
은(는) 구문적으로 정규 엔티티를 식별합니다.
블록 이름 entity-mentions_rbr_xx_stock
기능
규칙 기반 추출은 구문적으로 일반 엔티티 유형을 처리합니다. 엔티티 블록은 입력 텍스트에서 엔티티를 추출합니다. 다음 유형의 엔티티가 인식됩니다.
- PhoneNumber
- EmailAddress
- 숫자
- 퍼센트
- IPAddress
- HashTag
- TwitterHandle
- URLDate
기능 | 예 |
---|---|
입력 텍스트에서 구문적으로 정규 엔티티 유형을 추출합니다. | My email is [email protected] -> [email protected]\EmailAddress |
지원되는 언어
엔티티 추출은 다음 언어로 사용할 수 있습니다. 언어 코드 및 해당 언어 목록은 언어 코드를 참조하십시오.
ar, cs, da, de, en, es, fi, fr, 그, hi, it, ja, ko, nb, nl, nn, pt, ro, ru, sk, sv, tr, zh-cn, zh-tw
다른 블록에 대한 종속성
없음
코드 샘플
import watson_nlp
# Load a rule-based Entity Mention model for English
rbr_entity_model = watson_nlp.load('entity-mentions_rbr_en_stock')
# Run the entity model on the input text
rbr_entity_mentions = rbr_entity_model.run('My email is [email protected]')
print(rbr_entity_mentions)
코드 샘플의 출력:
{
"mentions": [
{
"span": {
"begin": 12,
"end": 27,
"text": "[email protected]"
},
"type": "EmailAddress",
"producer_id": {
"name": "RBR mentions",
"version": "0.0.1"
},
"confidence": 0.8,
"mention_type": "MENTT_UNSET",
"mention_class": "MENTC_UNSET",
"role": ""
}
],
"producer_id": {
"name": "RBR mentions",
"version": "0.0.1"
}
}
PII 엔티티에 대한 규칙 기반 추출
규칙 기반 모델 entity-mentions_rbr_multi_pii
는 PII 엔티티의 공통 형식을 식별하고 각 엔티티 유형에 적합하게 가능한 체크섬 또는 유효성 검증을 수행하여 대부분의 유형을 처리합니다. 예를 들어, 신용 카드 번호 후보는 Luhn 알고리즘을 사용하여 유효성 검증됩니다.
블록 이름 entity-mentions_rbr_multi_pii
기능
엔티티 블록 entity-mentions_rbr_multi_pii
는 다음 유형의 엔티티를 인식합니다.
엔티티 유형 이름 | 설명 | 지원되는 언어 |
---|---|---|
BankAccountNumber.CreditCardNumber .아멕스 | 카드 유형 AMEX의 신용 카드 번호 (15자리) 입니다. Luhn 알고리즘을 통해 확인합니다. | 모두 |
BankAccountNumber.CreditCardNumber .주인 | 카드 유형 마스터 카드의 신용 카드 번호 (16자리). Luhn 알고리즘을 통해 확인합니다. | 모두 |
BankAccountNumber.CreditCardNumber .다른 | 다른 유형의 왼쪽 카테고리에 대한 신용 카드 번호입니다. Luhn 알고리즘을 통해 확인합니다. | 모두 |
BankAccountNumber.CreditCardNumber .비자 | 카드 유형 VISA의 신용 카드 번호 (16-19자리). Luhn 알고리즘을 통해 확인합니다. | 모두 |
EmailAddress | 이메일 주소 (예: [email protected] ) | ar, cs, da, de, en, es, fi, fr, he, hi, it, ja, ko, nb, nl, nn, pl, pt, ro, ru, sk, sv, tr, zh-cn |
IPAddress | IPv4 및 IPv6 주소 (예: 10.142.250.123 ) |
ar, cs, da, de, en, es, fi, fr, he, hi, it, ja, ko, nb, nl, nn, pl, pt, ro, ru, sk, sv, tr, zh-cn |
PhoneNumber |
특정 전화번호 (예: 0511-123-456) | ar, cs, da, de, en, es, fi, fr, he, hi, it, ja, ko, nb, nl, nn, pl, pt, ro, ru, sk, sv, tr, zh-cn |
일부 PII 엔티티 유형 이름은 국가에 따라 다릅니다. 다음 엔티티 유형의 _
는 국가 코드의 플레이스홀더입니다.
BankAccountNumber.BBAN._
: 이는 보다 가변적인 국내 은행 계좌 번호이며 추출은 일반 체크섬 알고리즘이 없는 대부분 언어에 특정합니다.BankAccountNumber.IBAN._
: 고도로 표준화된 IBAN은 언어 독립적인 방식으로 체크섬 알고리즘을 사용하여 지원됩니다.NationalNumber.NationalID._
: 이러한 국가 ID에는 (공개된) 체크섬 알고리즘이 없으며 언어별로 추출됩니다.NationalNumber.Passport._
: 체크섬은 체크섬 알고리즘이 있는 국가에 대해서만 구현됩니다. 이는 추가 컨텍스트 제한사항이 있는 특별히 추출된 언어입니다.NationalNumber.TaxID._
: 이 ID에는 (공개된) 체크섬 알고리즘이 없으며 언어별로 추출됩니다.
사용할 언어 및 국가 코드에 사용 가능한 엔티티 유형은 다음 표에 나열되어 있습니다.
국가 | 엔티티 유형 이름 | 설명 | 지원 언어 |
---|---|---|---|
오스트리아 | BankAccountNumber.BBAN.AT |
기본 은행 계좌 번호 | de |
BankAccountNumber.IBAN.AT |
국제 은행 계좌 번호 | 모두 | |
NationalNumber.Passport.AT |
여권 번호 | de | |
NationalNumber.TaxID.AT |
납세자 번호 | de | |
벨기에 | BankAccountNumber.BBAN.BE |
기본 은행 계좌 번호 | fr, nl |
BankAccountNumber.IBAN.BE |
국제 은행 계좌 번호 | 모두 | |
NationalNumber.NationalID.BE |
국민 식별 번호 | fr, nl | |
NationalNumber.Passport.BE |
여권 번호 | fr, nl | |
불가리아 | BankAccountNumber.BBAN.BG |
기본 은행 계좌 번호 | bg |
BankAccountNumber.IBAN.BG |
국제 은행 계좌 번호 | 모두 | |
NationalNumber.NationalID.BG |
국민 식별 번호 | bg | |
캐나다 | NationalNumber.SocialInsuranceNumber.CA |
사회 보험 번호입니다. 체크섬 알고리즘이 구현됩니다. | en, fr |
크로아티아 | BankAccountNumber.BBAN.HR |
기본 은행 계좌 번호 | 시간 |
BankAccountNumber.IBAN.HR |
국제 은행 계좌 번호 | 모두 | |
NationalNumber.NationalID.HR |
국민 식별 번호 | 시간 | |
NationalNumber.TaxID.HR |
납세자 번호 | 시간 | |
키프로스 | BankAccountNumber.BBAN.CY |
기본 은행 계좌 번호 | el |
BankAccountNumber.IBAN.CY |
국제 은행 계좌 번호 | 모두 | |
NationalNumber.TaxID.CY |
납세자 번호 | el | |
체코 | BankAccountNumber.BBAN.CZ |
기본 은행 계좌 번호 | cs |
BankAccountNumber.IBAN.CZ |
국제 은행 계좌 번호 | cs | |
NationalNumber.NationalID.CZ |
국민 식별 번호 | cs | |
NationalNumber.TaxID.CZ |
납세자 번호 | cs | |
덴마크 | BankAccountNumber.BBAN.DK |
기본 은행 계좌 번호 | da |
BankAccountNumber.IBAN.DK |
국제 은행 계좌 번호 | 모두 | |
NationalNumber.NationalID.DK |
국민 식별 번호 | da | |
에스토니아 | BankAccountNumber.BBAN.EE |
기본 은행 계좌 번호 | et |
BankAccountNumber.IBAN.EE |
국제 은행 계좌 번호 | 모두 | |
NationalNumber.NationalID.EE |
국민 식별 번호 | et | |
핀란드 | BankAccountNumber.BBAN.FI |
기본 은행 계좌 번호 | fi |
BankAccountNumber.IBAN.FI |
국제 은행 계좌 번호 | 모두 | |
NationalNumber.NationalID.FI |
국민 식별 번호 | fi | |
NationalNumber.Passport.FI |
여권 번호 | fi | |
프랑스 | BankAccountNumber.BBAN.FR |
기본 은행 계좌 번호 | fr |
BankAccountNumber.IBAN.FR |
국제 은행 계좌 번호 | 모두 | |
NationalNumber.Passport.FR |
여권 번호 | fr | |
NationalNumber.SocialInsuranceNumber.FR |
사회 보험 번호입니다. 체크섬 알고리즘이 구현됩니다. | fr | |
독일 | BankAccountNumber.BBAN.DE |
기본 은행 aAccount 번호 | de |
BankAccountNumber.IBAN.DE |
국제 은행 계좌 번호 | 모두 | |
NationalNumber.Passport.DE |
여권 번호 | de | |
NationalNumber.SocialInsuranceNumber.DE |
사회 보험 번호입니다. 체크섬 알고리즘이 구현됩니다. | de | |
그리스 | BankAccountNumber.BBAN.GR |
기본 은행 계좌 번호 | el |
BankAccountNumber.IBAN.GR |
국제 은행 계좌 번호 | 모두 | |
NationalNumber.Passport.GR |
여권 번호 | el | |
NationalNumber.TaxID.GR |
납세자 번호 | el | |
NationalNumber.NationalID.GR |
국가 ID 번호 | el | |
헝가리 | BankAccountNumber.BBAN.HU |
기본 은행 계좌 번호 | hu |
BankAccountNumber.IBAN.HU |
국제 은행 계좌 번호 | 모두 | |
NationalNumber.NationalID.HU |
국민 식별 번호 | hu | |
NationalNumber.TaxID.HU |
납세자 번호 | hu | |
아이슬란드 | BankAccountNumber.BBAN.IS |
기본 은행 계좌 번호 | 다음과 같음 |
BankAccountNumber.IBAN.IS |
국제 은행 계좌 번호 | 모두 | |
NationalNumber.NationalID.IS |
국민 식별 번호 | 다음과 같음 | |
아일랜드 | BankAccountNumber.BBAN.IE |
기본 은행 계좌 번호 | ko |
BankAccountNumber.IBAN.IE |
국제 은행 계좌 번호 | 모두 | |
NationalNumber.NationalID.IE |
국민 식별 번호 | ko | |
NationalNumber.Passport.IE |
여권 번호 | ko | |
NationalNumber.TaxID.IE |
납세자 번호 | ko | |
이탈리아 | BankAccountNumber.BBAN.IT |
기본 은행 계좌 번호 | it |
BankAccountNumber.IBAN.IT |
국제 은행 계좌 번호 | 모두 | |
NationalNumber.NationalID.IT |
국민 식별 번호 | it | |
NationalNumber.Passport.IT |
여권 번호 | it | |
라트비아 | BankAccountNumber.BBAN.LV |
기본 은행 계좌 번호 | lv |
BankAccountNumber.IBAN.LV |
국제 은행 계좌 번호 | 모두 | |
NationalNumber.NationalID.LV |
국민 식별 번호 | lv | |
리히텐슈타인 | BankAccountNumber.BBAN.LI |
기본 은행 계좌 번호 | de |
BankAccountNumber.IBAN.LI |
국제 은행 계좌 번호 | 모두 | |
리투아니아 | BankAccountNumber.BBAN.LT |
기본 은행 계좌 번호 | lt |
BankAccountNumber.IBAN.LT |
국제 은행 계좌 번호 | 모두 | |
NationalNumber.NationalID.LT |
국민 식별 번호 | lt | |
룩셈부르크 | BankAccountNumber.BBAN.LU |
기본 은행 계좌 번호 | de, fr |
BankAccountNumber.IBAN.LU |
국제 은행 계좌 번호 | 모두 | |
NationalNumber.TaxID.LU |
납세자 번호 | de, fr | |
몰타 | BankAccountNumber.BBAN.MT |
기본 은행 계좌 번호 | mt |
BankAccountNumber.IBAN.MT |
국제 은행 계좌 번호 | 모두 | |
네덜란드 | BankAccountNumber.BBAN.NL |
기본 은행 계좌 번호 | nl |
BankAccountNumber.IBAN.NL |
국제 은행 계좌 번호 | 모두 | |
NationalNumber.NationalID.NL |
국민 식별 번호 | nl | |
NationalNumber.Passport.NL |
여권 번호 | nl | |
노르웨이 | BankAccountNumber.BBAN.NO |
기본 은행 계좌 번호 | 아니오 |
BankAccountNumber.IBAN.NO |
국제 은행 계좌 번호 | 모두 | |
NationalNumber.NationalID.NO |
국민 식별 번호 | 아니오 | |
NationalNumber.NationalID.NO.Old |
국가 ID 번호가 이전 번호입니다. | 아니오 | |
NationalNumber.Passport.NO |
여권 번호 | 아니오 | |
폴란드 | BankAccountNumber.BBAN.PL |
기본 은행 계좌 번호 | pl |
BankAccountNumber.IBAN.PL |
국제 은행 계좌 번호 | 모두 | |
NationalNumber.NationalID.PL |
국민 식별 번호 | pl | |
NationalNumber.Passport.PL |
여권 번호 | pl | |
NationalNumber.TaxID.PL |
납세자 번호 | pl | |
포르투갈 | BankAccountNumber.IBAN.PT |
국제 은행 계좌 번호 | 모두 |
BankAccountNumber.BBAN.PT |
기본 은행 계좌 번호 | pt | |
NationalNumber.NationalID.PT |
국민 식별 번호 | pt | |
NationalNumber.NationalID.PT.Old |
국가 식별 번호, 더 이상 사용되지 않는 형식 | pt | |
NationalNumber.TaxID.PT |
납세자 번호 | pt | |
루마니아 | BankAccountNumber.BBAN.RO |
기본 은행 계좌 번호 | ro |
BankAccountNumber.IBAN.RO |
국제 은행 계좌 번호 | 모두 | |
NationalNumber.NationalID.RO |
국민 식별 번호 | ro | |
NationalNumber.TaxID.RO |
납세자 번호 | ro | |
슬로바키아 | BankAccountNumber.IBAN.SK |
국제 은행 계좌 번호 | 모두 |
BankAccountNumber.BBAN.SK |
기본 은행 계좌 번호 | sk | |
NationalNumber.TaxID.SK |
납세자 번호 | sk | |
NationalNumber.NationalID.SK |
국민 식별 번호 | sk | |
슬로베니아 | BankAccountNumber.IBAN.SI |
국제 은행 계좌 번호 | 모두 |
스페인 | BankAccountNumber.IBAN.ES |
국제 은행 계좌 번호 | 모두 |
BankAccountNumber.BBAN.ES |
기본 은행 계좌 번호 | es | |
NationalNumber.NationalID.ES |
국민 식별 번호 | es | |
NationalNumber.Passport.ES |
여권 번호 | es | |
NationalNumber.TaxID.ES |
납세자 번호 | es | |
스웨덴 | BankAccountNumber.IBAN.SE |
국제 은행 계좌 번호 | 모두 |
BankAccountNumber.BBAN.SE |
기본 은행 계좌 번호 | sv | |
NationalNumber.NationalID.SE |
국민 식별 번호 | sv | |
NationalNumber.Passport.SE |
여권 번호 | sv | |
스위스 | BankAccountNumber.IBAN.CH |
국제 은행 계좌 번호 | 모두 |
BankAccountNumber.BBAN.CH |
기본 은행 계좌 번호 | de, fr, | |
NationalNumber.NationalID.CH |
국민 식별 번호 | de, fr, | |
NationalNumber.Passport.CH |
여권 번호 | de, fr, | |
NationalNumber.NationalID.CH.Old |
국가 식별 번호, 더 이상 사용되지 않는 형식 | de, fr, | |
영국 | BankAccountNumber.IBAN.GB |
국제 은행 계좌 번호 | 모두 |
NationalNumber.SocialSecurityNumber.GB.NHS |
국가 건강 서비스 번호 | 모두 | |
NationalNumber.SocialSecurityNumber.GB.NINO |
국가 사회 보장 보험 번호 | 모두 | |
NationalNumber.NationalID.GB.Old |
국가 ID 번호, 더 이상 사용되지 않는 형식 | 모두 | |
NationalNumber.Passport.GB |
패스포트 번호입니다. 체크섬 알고리즘은 구현되지 않으므로 추가 컨텍스트 제한사항과 함께 제공됩니다. | 모두 | |
미국 | NationalNumber.SocialSecurityNumber.US |
주민등록번호입니다. 체크섬 알고리즘은 구현되지 않으므로 추가 컨텍스트 제한사항과 함께 제공됩니다. | ko |
NationalNumber.Passport.US |
패스포트 번호입니다. 체크섬 알고리즘은 구현되지 않으므로 추가 컨텍스트 제한사항과 함께 제공됩니다. | ko |
다른 블록에 대한 종속성
없음
코드 샘플
import watson_nlp
# Load the RBR PII model. Note that this is a multilingual model supporting multiple languages.
rbr_entity_model = watson_nlp.load('entity-mentions_rbr_multi_pii')
# Run the RBR model. Note that language code of the input text is passed as a parameter to the run method.
rbr_entity_mentions = rbr_entity_model.run('Please find my credit card number here: 378282246310005. Thanks for the payment.', language_code='en')
print(rbr_entity_mentions)
코드 샘플의 출력:
{
"mentions": [
{
"span": {
"begin": 40,
"end": 55,
"text": "378282246310005"
},
"type": "BankAccountNumber.CreditCardNumber.Amex",
"producer_id": {
"name": "RBR mentions",
"version": "0.0.1"
},
"confidence": 0.8,
"mention_type": "MENTT_UNSET",
"mention_class": "MENTC_UNSET",
"role": ""
}
],
"producer_id": {
"name": "RBR mentions",
"version": "0.0.1"
}
}