如何使用具名實體辨識 (NER)
NER 功能可以評估非結構化文字,並從數個預先定義的類別中的文字,擷取具名實體,例如:person、location、event、product 和 organization。
開發選項
若要使用具名實體辨識,您會提交原始非結構化文字供分析,並在您的應用程式中處理 API 輸出。 分析是按原樣執行,對針對您的資料所使用的模型不會進行額外的自訂。 使用具名實體辨識有兩種方式:
開發選項 | 描述 |
---|---|
Language Studio | Language Studio 是以 Web 為基礎的平台,可讓您在沒有 Azure 帳戶的情況下嘗試使用文字範例進行實體連結,以及在註冊時使用自己的資料。 如需詳細資訊,請參閱 Language Studio 網站或 Language Studio 快速入門。 |
REST API 或用戶端程式庫 (Azure SDK) | 使用 REST API 或以各種語言提供的用戶端程式庫,將具名實體辨識整合至您的應用程式。 如需詳細資訊,請參閱具名實體辨識快速入門。 |
決定如何處理資料 (選擇性)
輸入語言
當您提交要處理的文件時,可以指定撰寫時所使用的支援語言。如果您未指定語言,關鍵片語擷取將預設為英文。 API 可能會在回應中傳回位移,以支援不同的多語系和表情符號編碼。
提交資料
分析會在接收要求時執行。 以同步方式使用 NER 功能是無狀態的。 您的帳戶中不會儲存任何資料,且結果會在回應中立即傳回。
以非同步方式使用此功能時,API 結果可從要求內嵌的時間起 24 小時內供使用,且會在回應中指出。 在這段時間之後,結果將會予以清除,且無法再供擷取。
API 將嘗試偵測指定文件語言的已定義實體類別。
取得 NER 結果
當您取得 NER 的結果時,可以將結果串流至應用程式,或將輸出儲存到本機系統上的檔案。 API 回應包含 已辨識的實體,包括其類別和子類別,以及信賴分數。
選取要傳回的實體
API 會嘗試偵測 指定文件語言的已定義實體類型和標籤 。 實體類型和標記會取代用以定義舊版模型的實體類別和子類別結構,從而提高靈活性。 您也可以指定偵測和傳回哪些實體,搭配適當的實體類型使用選擇性 includeList
和 excludeList
參數。 下列範例只會偵測 Location
。 您可以指定要傳回的一或多個實體類型。 鑑於該版本引進的類型和標記階層,您可以彈性地根據不同的資料細微性層級進行篩選,如下所示:
輸入:
注意
在此範例中,它只會 傳回 「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!"
}
]
}
}
上述範例會傳回屬於 Location
實體類型的實體,例如 GPE
、Structural
和 Geological
標記的實體,如實體類型和標記所概述。 我們也可以進一步篩選傳回的實體,方法是針對實體類型使用其中一個實體標記 Location
進行篩選,例如只篩選 GPE
標記,如下所示:
"parameters":
{
"includeList" :
[
"GPE"
]
}
這個方法會傳回所有 Location
實體只落在 標籤之下, GPE
並忽略任何其他實體落在標記的型別下 Location
,例如 Structural
或 Geological
標記 Location
的實體。 我們也可以使用 excludeList
參數進一步向下鑽研結果。 GPE
標記的實體可以下列標記進行標記:City
、State
、CountryRegion
、Continent
。 例如,我們可以針對範例排除 Continent
和 CountryRegion
標記:
"parameters":
{
"includeList" :
[
"GPE"
],
"excludeList": :
[
"Continent",
"CountryRegion"
]
}
使用這些參數,我們就能夠順利地只針對 Location
實體類型進行篩選,因為 GPE
參數中包含的 includeList
實體標籤屬於 Location
類型。 然後,我們只針對地緣政治實體進行篩選,並排除已標記為 Continent
或 CountryRegion
標記的任何實體。
其他輸出屬性
為了讓使用者深入瞭解實體的類型,並提供更高的可用性,NER 支持輸出中的這些屬性:
屬性的名稱 | 類型 | 定義 |
---|---|---|
type |
String | 偵測到的實體最特定類型。 例如,“Seattle” 是 City 、、[ GPE 地理政治實體] 和 Location 。 “Seattle” 最細微的分類是 。City 類型會 City 是 「Seattle」 文字。 |
tags |
清單(標籤) | 標記物件清單,表示偵測到實體與階層或任何其他群組的親和性。 標籤包含兩個字段: 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 要求設定為使用特定的模型版本。
服務和資料限制
如需每分鐘和每秒可傳送的要求大小和數目的相關資訊,請參閱服務限制一文。