次の方法で共有


固有表現認識 (NER) の使用方法

NER 機能を使うと、非構造化テキストを評価し、テキストから複数の定義済みカテゴリ (人、場所、イベント、製品、組織など) の名前付きエンティティを抽出できます。

開発オプション

固有表現認識を使用するには、分析のために未加工の非構造化テキストを送信し、お使いのアプリケーションで API 出力を処理します。 分析はそのままの状態で行われ、データに使用されるモデルに対して追加のカスタマイズは行われません。 固有表現認識を使用するには、次の 2 つの方法があります。

開発オプション 説明
Language Studio Language Studio は Web ベースのプラットフォームであり、Azure アカウントがなければテキストの例で、サインアップしたら独自のデータで、エンティティ リンクを試すことができます。 詳しくは、Language Studio の Web サイトまたは Language Studio のクイックスタートに関する記事をご覧ください。
REST API またはクライアント ライブラリ (Azure SDK) さまざまな言語で使用できる REST API ライブラリ、またはクライアント ライブラリを使用して、固有表現認識をお使いのアプリケーションに統合します。 詳しくは、固有表現認識のクイックスタートに関する記事をご覧ください。

データの処理方法を決定する (省略可能)

入力言語

処理されるドキュメントを送信するときに、サポートされている言語のうちのどれでそのドキュメントが書かれているかを指定できます。言語を指定しないと、英語がキー フレーズ抽出によって既定で使われます。 さまざまな多言語と絵文字のエンコードをサポートするため、API からの応答でオフセットが返される場合があります。

データの送信

要求が受信されると分析が実行されます。 NER を同期的に使うとステートレスになります。 データはアカウントに保存されず、結果がすぐに応答で返されます。

この機能を非同期的に使うと、API の結果は、応答で示される要求取り込み時刻から 24 時間利用できます。 この時間が経過すると、結果は消去され、取得できなくなります。

API では、指定されたドキュメント言語について、定義されたエンティティのカテゴリの検出が試みられます。

NER の結果の取得

NER から結果を取得するときは、結果をアプリケーションにストリーミングしたり、ローカル システム上のファイルに出力を保存したりできます。 API の応答には、認識されたエンティティと、そのカテゴリ、サブカテゴリ、信頼度スコアなどが含まれます。

返されるエンティティを選択する

API では、特定のドキュメント言語の定義済みのエンティティ型とタグの検出を試みます。 柔軟性を高めるために、エンティティ型とタグが古いモデルでエンティティの定義に使用されていたカテゴリとサブカテゴリの構造に取って代わります。 また、適切なエンティティ型と共にオプションの includeList パラメーターと excludeList パラメータを使用することで、どのエンティティを検出して返すかを指定することもできます。 次の例では、Location のみが検出されます。 返されるエンティティ型を 1 つ以上指定できます。 このバージョンで型とタグの階層が導入されたため、次に示すように、さまざまな粒度レベルでフィルタリングする柔軟性が得られます。

入力:

Note

この例では、"Location" エンティティ型のみが返されます。

{
    "kind": "EntityRecognition",
    "parameters": 
    {
        "includeList" :
        [
            "Location"
        ]
    },
    "analysisInput":
    {
        "documents":
        [
            {
                "id":"1",
                "language": "en",
                "text": "We went to Contoso foodplace located at downtown Seattle last week for a dinner party, and we adore the spot! They provide marvelous food and they have a great menu. The chief cook happens to be the owner (I think his name is John Doe) and he is super nice, coming out of the kitchen and greeted us all. We enjoyed very much dining in the place! The pasta I ordered was tender and juicy, and the place was impeccably clean. You can even pre-order from their online menu at www.contosofoodplace.com, call 112-555-0176 or send email to order@contosofoodplace.com! The only complaint I have is the food didn't come fast enough. Overall I highly recommend it!"
            }
        ]
    }
}

上記の例では、エンティティ型とタグで概要が示されているGPEStructural、および Geological でタグ付けされたエンティティなど、Location エンティティ型に該当するエンティティが返されます。 また、次に概要を示すように、GPE タグのみでフィルタリングするなど、Location エンティティ型のエンティティ タグの 1 つを使用してフィルタリングすることで、返されたエンティティをさらに絞り込むこともできます。


    "parameters": 
    {
        "includeList" :
        [
            "GPE"
        ]
    }
    

このメソッドは、GPE タグに該当するすべての Location エンティティのみを返し、Structural または Geological でタグ付けされた Location エンティティなど、他のエンティティ タグでタグ付けされた Location 型に該当するその他すべてのエンティティを無視します。 また、excludeList パラメーターを使用して、結果をさらにドリルダウンすることもできます。 GPE タグ付きエンティティは、次のタグでタグ付けすることができます: CityStateCountryRegionContinent。 たとえば、この例では、 Continent タグと CountryRegion タグを除外できます。


    "parameters": 
    {
        "includeList" :
        [
            "GPE"
        ],
        "excludeList": :
        [
            "Continent",
            "CountryRegion"
        ]
    }
    

includeList パラメーターに含まれる GPE エンティティ タグは Location 型に該当するため、これらのパラメーターを使用して、Location エンティティ型のみを正常にフィルタリングすることができます。 次に、地政学的エンティティのみをフィルタリングして、Continent タグまたは CountryRegion タグでタグ付けされたエンティティをすべて除外します。

その他の出力属性

エンティティの型に関するより多くの分析情報をユーザーに提供し、使いやすさを向上させるために、NER では出力で次の属性をサポートしています。

属性の名前 Type Definition
type String 検出されたエンティティの最も限定的な型。

たとえば、 “Seattle” は、CityGPE (地政学的エンティティ)、および Location です。 “Seattle” の最も細かい分類は、City です。 この型は、テキスト “Seattle" の City です。
tags 一覧 (タグ) 検出されたエンティティと階層またはその他のグループとのアフィニティを表すタグ オブジェクトの一覧。

タグには、次の 2 つのフィールドが含まれています。
1. name: タグの一意の名前。
2. confidenceScore: 0 から 1 までのタグの関連付けられた信頼度スコア。

この一意の tagName は、inclusionList および exclusionList パラメーターでフィルター処理するために使用されます。
metadata Object メタデータは、検出されたエンティティ型に関するより多くのデータを含むオブジェクトです。 metadataKind フィールドに基づいて変わります。

サンプル出力

このサンプル出力には、追加の出力属性の例が含まれています。

{ 
    "kind": "EntityRecognitionResults", 
    "results": { 
        "documents": [ 
            { 
                "id": "1", 
                "entities": [ 
                    { 
                        "text": "Microsoft", 
                        "category": "Organization", 
                        "type": "Organization", 
                        "offset": 0, 
                        "length": 9, 
                        "confidenceScore": 0.97, 
                        "tags": [ 
                            { 
                                "name": "Organization", 
                                "confidenceScore": 0.97 
                            } 
                        ] 
                    }, 
                    { 
                        "text": "One", 
                        "category": "Quantity", 
                        "type": "Number", 
                        "subcategory": "Number", 
                        "offset": 21, 
                        "length": 3, 
                        "confidenceScore": 0.9, 
                        "tags": [ 
                            { 
                                "name": "Number", 
                                "confidenceScore": 0.8 
                            }, 
                            { 
                                "name": "Quantity", 
                                "confidenceScore": 0.8 
                            }, 
                            { 
                                "name": "Numeric", 
                                "confidenceScore": 0.8 
                            } 
                        ], 
                        "metadata": { 
                            "metadataKind": "NumberMetadata", 
                            "numberKind": "Integer", 
                            "value": 1.0 
                        } 
                    } 
                ], 
                "warnings": [] 
            } 
        ], 
        "errors": [], 
        "modelVersion": "2023-09-01" 
    } 
} 

NER のモデルを指定する

既定では、テキストで利用可能な最新の AI モデルがこの機能で使われます。 特定のバージョンのモデルを使うように API 要求を構成することもできます。

サービスとデータの制限

分単位および秒単位で送信できる要求のサイズと数については、サービスの制限に関する記事を参照してください。

次のステップ

固有表現認識の概要