Azure 認知搜尋中的 AI 擴充
AI 擴充 是機器學習模型在原始內容上的應用,其中分析和推斷可用來建立先前不存在的可搜尋內容和結構。 因為Azure 認知搜尋是全文檢索搜尋解決方案,所以 AI 擴充的目的是要改善搜尋相關案例中內容的公用程式:
- 機器翻譯和語言偵測支援多語系搜尋
- 實體辨識會在大量文字區塊中尋找人員、地點和其他實體
- 關鍵字組擷取會識別並輸出重要詞彙
- 光學字元辨識 (OCR) 辨識二進位檔案中的文字
- 影像分析描述影像內容,並將描述輸出為可搜尋的文字欄位
AI 擴充是 索引子管線的延伸。 它具有所有基底元件 (索引子、資料來源、索引) ,以及指定不可部分完成擴充步驟 的技能集 。
下圖顯示 AI 擴充的進度:
匯 入是第一個步驟。 在這裡,索引子會連線到資料來源,並將檔 () 提取至搜尋服務。 Azure Blob 儲存體是 AI 擴充案例中最常使用的資源,但任何支援的資料來源都可以提供內容。
豐富 & 索引 涵蓋大部分的 AI 擴充管線:
擴充會在索引子 「破解檔」 並擷取影像和文字時啟動。 接下來發生的處理類型將取決於您的資料,以及您已新增至技能集的技能。 如果您有影像,則可以將它們轉送到執行影像處理的技能。 文字內容會排入佇列以用於文字和自然語言處理。 在內部,技能會建立「擴充的檔」,以在轉換發生時收集轉換。
擴充的內容會在技能集執行期間產生,除非您儲存它,否則為暫時內容。 為了讓擴充內容出現在搜尋索引中,索引子必須有對應資訊,才能將擴充的內容傳送至搜尋索引中的欄位。 輸出欄位對應會設定這些關聯。
索引編制是原始內容和擴充內容內嵌至 搜尋索引 的程式, (其檔案和資料夾) 。
探索 是最後一個步驟。 輸出一律是可從用戶端應用程式查詢的 搜尋索引 。 輸出可以是知識存放區,其中包含透過資料探索工具或下游程式存取Azure 儲存體中的 Blob 和資料表。 欄位對應、 輸出欄位對應和 投影 會決定將資料路徑導向管線外,並進入搜尋索引或知識存放區。 相同的擴充內容可以同時出現在兩者中,使用隱含或明確的欄位對應,將內容傳送至正確的欄位。
使用 AI 擴充的時機
如果原始內容是非結構化文字、影像內容,或需要語言偵測和翻譯的內容,擴充就很有用。 透過 內建技能 套用 AI 可以解除鎖定此內容,以進行全文檢索搜尋和資料科學應用程式。
擴充也會解除鎖定您提供的外部處理。 開放原始碼、協力廠商或第一方程式碼可以整合至管線中作為自訂技能。 識別各種檔案類型之顯著特性的分類模型屬於此類別,但可以使用任何將價值新增至您內容的外部套件。
內建技能的使用案例
內建技能是以認知服務 API為基礎:電腦視覺和語言服務。 除非您的內容輸入很小,否則預期 會附加可計費的認知服務資源 來執行較大的工作負載。
使用內建技能組合的 技能集 非常適合下列應用程式案例:
影像處理 技能包括 光學字元辨識 (OCR) 和 視覺特徵的識別,例如臉部偵測、影像解譯、影像辨識 (名人員和地標) ,或影像方向等屬性。 這些技能會在 Azure 認知搜尋中建立影像內容的文字標記法,以進行全文檢索搜尋。
自然語言處理 會分析文字區塊。 此類別中的技能包括 實體辨識、 情感偵測 (包括意見採礦) 和 個人識別資訊偵測。 透過這些技能,非結構化文字會對應為索引中的可搜尋和可篩選欄位。
自訂技能的使用案例
自訂技能 會執行您提供的外部程式碼。 自訂技能可支援更複雜的案例 (例如辨識表單) 或使用您在自訂技能 Web 介面中提供及包裝的模型來進行自訂實體偵測。 自訂技能的數個範例包括:
自訂技能不一定複雜。 例如,如果您有提供模式比對或檔分類模型的現有套件,您可以將它包裝在自訂技能中。
儲存輸出
在Azure 認知搜尋中,索引子會儲存它所建立的輸出。 單一索引子執行最多可以建立三個包含擴充和索引輸出的資料結構。
資料存放區 | 必要 | Location | 描述 |
---|---|---|---|
可搜尋的索引 | 必要 | 搜尋服務 | 用於全文檢索搜尋和其他查詢表單。 指定索引是索引子需求。 索引內容會從技能輸出填入,以及任何直接對應至索引中欄位的來源欄位。 |
知識存放區 | 選用 | Azure 儲存體 | 用於下游應用程式,例如知識採礦或資料科學。 知識存放區是在技能集內定義。 其定義會決定擴充的檔是否投影為數據表或物件, (檔案或 blob) Azure 儲存體。 |
擴充快取 | 選用 | Azure 儲存體 | 用於快取擴充,以便在後續的技能集執行中重複使用。 快取會儲存匯入、未處理的內容, (破解的檔) 。 它也會儲存在技能集執行期間所建立的擴充檔。 如果您使用影像分析或 OCR,而且想要避免重新處理影像檔的時間和費用,快取特別有用。 |
索引和知識存放區彼此完全獨立。 雖然您必須附加索引以滿足索引子需求,但如果您的唯一目標是知識存放區,您可以在索引填入之後忽略索引。 不過,請避免刪除它。 如果您想要重新執行索引子和技能集,您需要索引子才能執行索引。
探索內容
定義並載入 搜尋索引 或 知識存放區之後,您可以探索其資料。
查詢搜尋索引
執行查詢 以存取管線所產生的擴充內容。 索引就像您為Azure 認知搜尋建立的任何其他專案一樣:您可以使用自訂分析器來補充文字分析、叫用模糊搜尋查詢、新增篩選或實驗評分設定檔,以微調搜尋相關性。
在知識存放區上使用資料探索工具
在Azure 儲存體中,知識存放區可以假設下列形式:JSON 檔的 Blob 容器、映射物件的 Blob 容器,或資料表儲存體中的資料表。 您可以使用儲存體總管、Power BI或任何連線到Azure 儲存體的應用程式來存取您的內容。
Blob 容器會完整擷取擴充的檔,如果您要建立其他進程的摘要,這會很有用。
如果您需要擴充檔的配量,或是想要包含或排除輸出的特定部分,資料表會很有用。 如需Power BI的分析,資料表是Power BI中資料探索和視覺效果的建議資料來源。
可用性和價格
擴充可在具有 Azure 認知服務的區域中取得。 您可以在 依區域提供的 Azure 產品 頁面上檢查擴充的可用性。 擴充適用于所有區域,但下列情況除外:
- 澳大利亞東南部
- 中國北部 2
- 德國中西部
計費遵循隨用隨付定價模式。 在技能集中指定多區域認知服務金鑰時,會傳遞使用內建技能的成本。 另外還有與影像擷取相關聯的成本,如認知搜尋所計量。 不過,文字擷取和公用程式技能無法計費。 如需詳細資訊,請參閱如何支付Azure 認知搜尋費用。
檢查清單:一般工作流程
擴充管線是由具有技能集的索引子所組成。 技能集會定義擴充步驟,而索引子會驅動技能集。 設定索引子時,您可以包含輸出欄位對應等屬性,這些屬性會將擴充的內容傳送至定義知識存放區中資料結構的搜尋索引或投影。
編制索引後,您可以透過搜尋要求透過Azure 認知搜尋支援的所有查詢類型來存取內容。
從資料子集開始。 索引子和技能集設計是反復的程式,而且工作會更快速地使用小型代表性資料集。
建立指定資料連線的 資料來源 。
建立 技能集 以新增擴充步驟。 如果您使用知識存放區,您會在此步驟中加以指定。 除非您執行小型概念證明練習,否則您會想要 將多區域認知服務資源附加 至技能集。
建立定義搜尋索引的 索引架構 。
建立並執行 索引子 ,將所有上述元件結合在一起。 此步驟會擷取資料、執行技能集,並載入索引。 索引子也是您指定欄位對應和輸出欄位對應的位置,可設定搜尋索引的資料路徑。
可能的話,請在索引子組態中 啟用擴充快取 。 此步驟可讓您稍後重複使用現有的擴充。
執行 查詢 來評估結果並修改程式碼,以更新技能集、架構或索引子組態。
若要重複上述任何步驟,請在執行 索引子之前重設索引子 。 或者,如果您使用免費層) ,請刪除並重新建立每個執行 (建議的物件。 如果您已啟用快取索引子,如果在來源的資料未變更,而且您對管線的編輯不會使快取失效,則會從快取提取索引子。