此技能不绑定到 Azure AI 服务,并且没有 Azure AI 服务的关键要求。 此技能可提取文本和图像。 文本提取是免费的。 图像提取 由 Azure 认知搜索计量 。 在免费搜索服务中,每个索引器每天 20 个事务的成本已豁免,因此你可以免费完成快速入门、教程和小型项目。 对于基本、标准及以上的服务,图像提取是收费的。

@odata.type

Microsoft.Skills.Util.DocumentExtractionSkill

支持的文档格式

DocumentExtractionSkill 可从以下文档格式提取文本:

  • CSV(请参阅 为 CSV Blob 编制索引
  • JSON(请参阅 为 JSON blob 编制索引
  • KML(用于地理表示形式的 XML)
  • Microsoft Office 格式:DOCX/DOC/DOCM、XLSX/XLS/XLSM、PPTX/PPT/PPTM、MSG(Outlook 电子邮件)、XML(2003 和 2006 Word XML)
  • 公开文档格式:ODT、ODS、ODP
  • 纯文本文件(另请参阅 为纯文本编制索引
  • 参数区分大小写。

    parsingMode default text json 对于从非纯文本或 json 文件进行的文档提取,请设置为 default 。 对于包含标记的源文件(例如 PDF、HTML、RTF 和 Microsoft Office 文件),请使用默认值以提取纯文本,而不提取任何标记语言或标记。 如果未显式定义 parsingMode ,则它将设置为 default 。 如果源文件是 TXT,请设置为 text 。 此分析模式提高了纯文本文件的处理性能。 如果文件包含标记,此模式将在最终输出中保留标记。 若要从 json 文件中提取结构化内容,请设置为 json dataToExtract contentAndMetadata allMetadata 若要提取每个文件的所有元数据和文本内容,请设置为 contentAndMetadata 。 如果未显式定义 dataToExtract ,则它将设置为 contentAndMetadata 。 若要仅提取 内容类型的元数据属性 (例如,仅 .png 文件独有的元数据),请设置为 allMetadata configuration 请参阅下文。 可选参数的字典,这些参数用于调整文档提取执行方式。 有关支持的配置属性的说明,请参阅下表。 imageAction none generateNormalizedImages generateNormalizedImagePerPage 若要忽略数据集中的嵌入图像或图像文件,或者如果源数据不包含图像文件,请设置为 none 。 这是默认值。 对于 OCR 和图像分析 ,设置为 generateNormalizedImages 可使技能在 文档破解 过程中创建规范化图像的数组。 此操作需要将 parsingMode 设置为 default ,将 dataToExtract 设置为 contentAndMetadata 。 规范化的图像是指在视觉搜索结果中包含图像时,对图像进行额外的处理,使图像的输出一致,并通过调整大小和旋转方向使图像在呈现时更一致(例如,使图像控件中的照片大小一致,如 JFK 演示 中所示)。 当使用此选项时,将为每个图像生成此信息。 如果设置为 generateNormalizedImagePerPage ,则将以不同的方式对待 PDF 文件,将不会提取嵌入的图像,而是将每个页面呈现为图像并相应地规范化。 对待非 PDF 文件类型的方式与设置了 generateNormalizedImages 时相同。 normalizedImageMaxWidth 一个介于 50 和 10000 之间的整数 生成的规范化图像的最大宽度(以像素为单位)。 默认为 2000。 normalizedImageMaxHeight 一个介于 50 和 10000 之间的整数 生成的规范化图像的最大高度(以像素为单位)。 默认为 2000。

    将规范化图像的最大宽度和高度默认设置为 2000 像素是考虑到 OCR 技术 所能够支持的最大大小以及 图像分析技术 OCR 技能 支持非英语语言的最大宽度和高度为 4200,支持英语语言的最大宽度和高度为 10000。 如果增加最大限制,则根据技能组定义和文档语言,对较大的图像进行处理可能会失败。

    "$type": "file", "url": "URL to download file", "sasToken": "OPTIONAL: SAS token for authentication if the URL provided is for a file in blob storage"

    可通过以下三种方式之一生成文件引用对象:

  • 在你的索引器定义中将 allowSkillsetToReadFileData 参数设置为“true”。 这将创建路径 /document/file_data ,该路径是一个对象,表示从 blob 数据源下载的原始文件数据。 此参数仅适用于 Blob 存储中的文件。

  • 在你的索引器定义中将 imageAction 参数设置为 none 之外的值。 这会创建一个图像数组,该数组将遵循此技能的输入在逐个传递的情况下所需的约定(即 /document/normalized_images/* )。

  • 让自定义技能返回严格如上所述定义的 json 对象。 $type 参数必须精确设置为 file data 参数必须是文件内容的 Base64 编码字节数组数据,或者 url 参数必须是格式正确的 URL,有权在该位置下载文件。

    "@odata.type": "#Microsoft.Skills.Util.DocumentExtractionSkill", "parsingMode": "default", "dataToExtract": "contentAndMetadata", "configuration": { "imageAction": "generateNormalizedImages", "normalizedImageMaxWidth": 2000, "normalizedImageMaxHeight": 2000 "context": "/document", "inputs": [ "name": "file_data", "source": "/document/file_data" "outputs": [ "name": "content", "targetName": "extracted_content" "name": "normalized_images", "targetName": "extracted_normalized_images" "values": [ "recordId": "1", "data": "file_data": { "$type": "file", "data": "aGVsbG8=" "values": [ "recordId": "1", "data": { "content": "hello", "normalized_images": []
  • 如何定义技能集
  • 如何在认知搜索方案中处理和提取图像中的信息
  •