Definieren von Projektionen

Abgeschlossen

Die Projektionen von Daten, die in Ihrem Wissensspeicher gespeichert werden sollen, basieren auf den Dokumentstrukturen, die von der Anreicherungspipeline in Ihrem Indizierungsprozess generiert werden. Jeder Skill in Ihrem Skillset erstellt iterativ eine JSON-Darstellung der angereicherten Daten für die Dokumente, die indiziert werden, und Sie können einige oder alle Felder im Dokument als Projektionen beibehalten.

Verwenden des Shaper-Skills

Bei der inkrementellen Indizierung wird ein komplexes Dokument erstellt, das die verschiedenen Ausgabefelder aus den Skills im Skillset enthält. Dies kann zu einem Schema führen, das die Arbeit erschwert und Sammlungen primitiver Datenwerte enthält, die nicht einfach zu wohlgeformtem JSON-Code zugeordnet werden können.

Wenn die Zuordnung dieser Feldwerte zu Projektionen in einem Wissensspeicher vereinfacht werden soll, wird üblicherweise mithilfe des Shaper-Skills ein neues Feld erstellt, das eine einfachere Struktur der Felder enthält, die Projektionen zugeordnet werden sollen.

Sehen Sie sich z. B. die folgende Definition eines Shaper-Skills an:

{
  "@odata.type": "#Microsoft.Skills.Util.ShaperSkill",
  "name": "define-projection",
  "description": "Prepare projection fields",
  "context": "/document",
  "inputs": [
    {
      "name": "file_name",
      "source": "/document/metadata_content_name"
    },
    {
      "name": "url",
      "source": "/document/url"
    },
    {
      "name": "sentiment",
      "source": "/document/sentimentScore"
    },
    {
      "name": "key_phrases",
      "source": null,
      "sourceContext": "/document/merged_content/keyphrases/*",
      "inputs": [
        {
          "name": "phrase",
          "source": "/document/merged_content/keyphrases/*"
        }
      ]
    }
  ],
  "outputs": [
    {
      "name": "output",
      "targetName": "projection"
    }
  ]
}

Dieser Shaper-Skill erstellt ein Feld projection mit der folgenden Struktur:

{
    "file_name": "file_name.pdf",
    "url": "https://<storage_path>/file_name.pdf",
    "sentiment": 1.0,
    "key_phrases": [
        {
            "phrase": "first key phrase"
        },
        {
            "phrase": "second key phrase"
        },
        {
            "phrase": "third key phrase"
        },
        ...
    ]
}

Das resultierende JSON-Dokument ist wohlgeformt. Außerdem lässt es sich einfacher einer Projektion in einem Wissensspeicher zuzuordnen als das komplexere Dokument, das durch die vorherigen Skills in der Anreicherungspipeline iterativ erstellt wurde.