Watson Natural Language Processing エンティティー抽出モデルは、入力テキストからエンティティーを抽出します。
使用可能な抽出タイプについて詳しくは、以下のセクションを参照してください。
一般エンティティーの機械学習ベースの抽出
機械学習ベースの抽出モデルは、個人、組織、場所など、より複雑なエンティティー・タイプのラベル付きデータに基づいてトレーニングされます。
機能
エンティティー・モデルは、入力テキストからエンティティーを抽出します。 以下のタイプのエンティティーが認識されます。
- 日付
- 期間
- ファシリティー
- 地理的特徴
- 役職
- 場所
- 測定
- 金銭
- 序数
- 組織
- 個人
- 時刻
機能 | 例 |
---|---|
入力テキストからエンティティーを抽出します。 | 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、h、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 | E メール・アドレス (例: [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 |
基本銀行口座番号 | ドイツ |
BankAccountNumber.IBAN.AT |
国際銀行口座番号 | すべて | |
NationalNumber.Passport.AT |
パスポート番号 | ドイツ | |
NationalNumber.TaxID.AT |
納税者番号 | ドイツ | |
ベルギー | 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 |
基本銀行口座番号 | データ |
BankAccountNumber.IBAN.DK |
国際銀行口座番号 | すべて | |
NationalNumber.NationalID.DK |
国別識別番号 | データ | |
エストニア | BankAccountNumber.BBAN.EE |
基本銀行口座番号 | et |
BankAccountNumber.IBAN.EE |
国際銀行口座番号 | すべて | |
NationalNumber.NationalID.EE |
国別識別番号 | et | |
フィンランド | BankAccountNumber.BBAN.FI |
基本銀行口座番号 | フィンランド |
BankAccountNumber.IBAN.FI |
国際銀行口座番号 | すべて | |
NationalNumber.NationalID.FI |
国別識別番号 | フィンランド | |
NationalNumber.Passport.FI |
パスポート番号 | フィンランド | |
フランス | BankAccountNumber.BBAN.FR |
基本銀行口座番号 | フランス |
BankAccountNumber.IBAN.FR |
国際銀行口座番号 | すべて | |
NationalNumber.Passport.FR |
パスポート番号 | フランス | |
NationalNumber.SocialInsuranceNumber.FR |
社会保険番号。 チェックサム・アルゴリズムが実装されています。 | フランス | |
ドイツ | BankAccountNumber.BBAN.DE |
基本銀行 aAccount 番号 | ドイツ |
BankAccountNumber.IBAN.DE |
国際銀行口座番号 | すべて | |
NationalNumber.Passport.DE |
パスポート番号 | ドイツ | |
NationalNumber.SocialInsuranceNumber.DE |
社会保険番号。 チェックサム・アルゴリズムが実装されています。 | ドイツ | |
ギリシャ | BankAccountNumber.BBAN.GR |
基本銀行口座番号 | el |
BankAccountNumber.IBAN.GR |
国際銀行口座番号 | すべて | |
NationalNumber.Passport.GR |
パスポート番号 | el | |
NationalNumber.TaxID.GR |
納税者番号 | el | |
NationalNumber.NationalID.GR |
国民 ID 番号 | el | |
ハンガリー | BankAccountNumber.BBAN.HU |
基本銀行口座番号 | ハンガリー |
BankAccountNumber.IBAN.HU |
国際銀行口座番号 | すべて | |
NationalNumber.NationalID.HU |
国別識別番号 | ハンガリー | |
NationalNumber.TaxID.HU |
納税者番号 | ハンガリー | |
アイスランド | BankAccountNumber.BBAN.IS |
基本銀行口座番号 | 次と同一である |
BankAccountNumber.IBAN.IS |
国際銀行口座番号 | すべて | |
NationalNumber.NationalID.IS |
国別識別番号 | 次と同一である | |
アイルランド | BankAccountNumber.BBAN.IE |
基本銀行口座番号 | ja |
BankAccountNumber.IBAN.IE |
国際銀行口座番号 | すべて | |
NationalNumber.NationalID.IE |
国別識別番号 | ja | |
NationalNumber.Passport.IE |
パスポート番号 | ja | |
NationalNumber.TaxID.IE |
納税者番号 | ja | |
イタリア | BankAccountNumber.BBAN.IT |
基本銀行口座番号 | それ |
BankAccountNumber.IBAN.IT |
国際銀行口座番号 | すべて | |
NationalNumber.NationalID.IT |
国別識別番号 | それ | |
NationalNumber.Passport.IT |
パスポート番号 | それ | |
ラトビア | BankAccountNumber.BBAN.LV |
基本銀行口座番号 | ラトビア |
BankAccountNumber.IBAN.LV |
国際銀行口座番号 | すべて | |
NationalNumber.NationalID.LV |
国別識別番号 | ラトビア | |
リヒテンシュタイン | BankAccountNumber.BBAN.LI |
基本銀行口座番号 | ドイツ |
BankAccountNumber.IBAN.LI |
国際銀行口座番号 | すべて | |
リトアニア | BankAccountNumber.BBAN.LT |
基本銀行口座番号 | リトアニア |
BankAccountNumber.IBAN.LT |
国際銀行口座番号 | すべて | |
NationalNumber.NationalID.LT |
国別識別番号 | リトアニア | |
ルクセンブルク | BankAccountNumber.BBAN.LU |
基本銀行口座番号 | de、fr |
BankAccountNumber.IBAN.LU |
国際銀行口座番号 | すべて | |
NationalNumber.TaxID.LU |
納税者番号 | de、fr | |
マルタ | BankAccountNumber.BBAN.MT |
基本銀行口座番号 | マルタ |
BankAccountNumber.IBAN.MT |
国際銀行口座番号 | すべて | |
オランダ | BankAccountNumber.BBAN.NL |
基本銀行口座番号 | オランダ |
BankAccountNumber.IBAN.NL |
国際銀行口座番号 | すべて | |
NationalNumber.NationalID.NL |
国別識別番号 | オランダ | |
NationalNumber.Passport.NL |
パスポート番号 | オランダ | |
ノルウェー | BankAccountNumber.BBAN.NO |
基本銀行口座番号 | いいえ |
BankAccountNumber.IBAN.NO |
国際銀行口座番号 | すべて | |
NationalNumber.NationalID.NO |
国別識別番号 | いいえ | |
NationalNumber.NationalID.NO.Old |
旧国民識別番号 | いいえ | |
NationalNumber.Passport.NO |
パスポート番号 | いいえ | |
ポーランド | BankAccountNumber.BBAN.PL |
基本銀行口座番号 | ポーランド |
BankAccountNumber.IBAN.PL |
国際銀行口座番号 | すべて | |
NationalNumber.NationalID.PL |
国別識別番号 | ポーランド | |
NationalNumber.Passport.PL |
パスポート番号 | ポーランド | |
NationalNumber.TaxID.PL |
納税者番号 | ポーランド | |
ポルトガル | BankAccountNumber.IBAN.PT |
国際銀行口座番号 | すべて |
BankAccountNumber.BBAN.PT |
基本銀行口座番号 | ポルトガル | |
NationalNumber.NationalID.PT |
国別識別番号 | ポルトガル | |
NationalNumber.NationalID.PT.Old |
国別識別番号、廃止されたフォーマット | ポルトガル | |
NationalNumber.TaxID.PT |
納税者番号 | ポルトガル | |
ルーマニア | BankAccountNumber.BBAN.RO |
基本銀行口座番号 | ルーマニア |
BankAccountNumber.IBAN.RO |
国際銀行口座番号 | すべて | |
NationalNumber.NationalID.RO |
国別識別番号 | ルーマニア | |
NationalNumber.TaxID.RO |
納税者番号 | ルーマニア | |
スロバキア | BankAccountNumber.IBAN.SK |
国際銀行口座番号 | すべて |
BankAccountNumber.BBAN.SK |
基本銀行口座番号 | スロバキア | |
NationalNumber.TaxID.SK |
納税者番号 | スロバキア | |
NationalNumber.NationalID.SK |
国別識別番号 | スロバキア | |
スロベニア | BankAccountNumber.IBAN.SI |
国際銀行口座番号 | すべて |
スペイン | BankAccountNumber.IBAN.ES |
国際銀行口座番号 | すべて |
BankAccountNumber.BBAN.ES |
基本銀行口座番号 | スペイン | |
NationalNumber.NationalID.ES |
国別識別番号 | スペイン | |
NationalNumber.Passport.ES |
パスポート番号 | スペイン | |
NationalNumber.TaxID.ES |
納税者番号 | スペイン | |
スウェーデン | BankAccountNumber.IBAN.SE |
国際銀行口座番号 | すべて |
BankAccountNumber.BBAN.SE |
基本銀行口座番号 | sv | |
NationalNumber.NationalID.SE |
国別識別番号 | sv | |
NationalNumber.Passport.SE |
パスポート番号 | sv | |
スイス | BankAccountNumber.IBAN.CH |
国際銀行口座番号 | すべて |
BankAccountNumber.BBAN.CH |
基本銀行口座番号 | de、fr、it | |
NationalNumber.NationalID.CH |
国別識別番号 | de、fr、it | |
NationalNumber.Passport.CH |
パスポート番号 | de、fr、it | |
NationalNumber.NationalID.CH.Old |
国別識別番号、廃止されたフォーマット | de、fr、it | |
イギリス連合王国 | BankAccountNumber.IBAN.GB |
国際銀行口座番号 | すべて |
NationalNumber.SocialSecurityNumber.GB.NHS |
国民保健サービス番号 | すべて | |
NationalNumber.SocialSecurityNumber.GB.NINO |
国民社会保障保険番号 | すべて | |
NationalNumber.NationalID.GB.Old |
国別 ID 番号、廃止された形式 | すべて | |
NationalNumber.Passport.GB |
パスポート番号。 チェックサム・アルゴリズムは実装されていないため、追加のコンテキスト制限があります。 | すべて | |
アメリカ合衆国 | NationalNumber.SocialSecurityNumber.US |
社会保障番号。 チェックサム・アルゴリズムは実装されていないため、追加のコンテキスト制限があります。 | ja |
NationalNumber.Passport.US |
パスポート番号。 チェックサム・アルゴリズムは実装されていないため、追加のコンテキスト制限があります。 | ja |
他のブロックへの依存関係
なし
コード・サンプル
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"
}
}