Szövegfelosztási kognitív képesség

A Szöveg felosztása képesség szövegrészekre bontja a szöveget. Megadhatja, hogy a szöveget mondatokra vagy adott hosszúságú oldalakra szeretné-e bontani. Ez a képesség különösen akkor hasznos, ha a szöveghosszra vonatkozó követelmények maximálisak az alsóbb rétegbeli készségekben.

Feljegyzés

Ez a képesség nem kötődik az Azure AI-szolgáltatásokhoz. Nem számlázható, és nincs Azure AI-szolgáltatások kulcskövetelménye.

@odata.type

Microsoft.Skills.Text.SplitSkill

Képességparaméterek

A paraméterek megkülönböztetik a kis- és nagybetűket.

Paraméter neve Leírás
textSplitMode Vagy pages vagy sentences. A lapok maximális hossza konfigurálható, de a képesség megpróbálja elkerülni a mondatok csonkolását, hogy a tényleges hossz kisebb legyen. A mondatok olyan sztringek, amelyek mondatvégződéskor végződnek, például pont, kérdőjel vagy felkiáltójel, feltéve, hogy a nyelv mondatvégződéssel rendelkezik.
maximumPageLength Csak akkor érvényes, ha textSplitMode be van állítva pages. Ez a paraméter a karakterek maximális oldalhosszára vonatkozik, a mért érték szerint String.Length. A minimális érték 300, a maximum 50000, az alapértelmezett érték pedig 5000. Az algoritmus a lehető legjobban meg tudja törni a szöveget a mondathatárokon, így az egyes adattömbek mérete kissé kisebb lehet, mint maximumPageLengtha .
pageOverlapLength Csak akkor érvényes, ha textSplitMode be van állítva pages. Minden oldal ekkora karakterszámmal kezdődik az előző oldal végétől kezdve. Ha ez a paraméter 0 értékre van állítva, az egymást követő oldalakon nincs átfedésben a szöveg. Ez a paraméter a 2023-10-01-preview REST API-ban és az Azure SDK bétacsomagjaiban támogatott, amelyek az integrált vektorizálás támogatásához lettek frissítve. Ez a példa tartalmazza a paramétert.
maximumPagesToTake Csak akkor érvényes, ha textSplitMode be van állítva pages. A visszaadni kívánt lapok száma. Az alapértelmezett érték 0, ami azt jelenti, hogy az összes oldalt visszaadja. Ezt az értéket akkor kell megadnia, ha csak a lapok egy részhalmazára van szükség. Ez a paraméter a 2023-10-01-preview REST API-ban és az Azure SDK bétacsomagjaiban támogatott, amelyek az integrált vektorizálás támogatásához lettek frissítve. Ez a példa tartalmazza a paramétert.
defaultLanguageCode (nem kötelező) Az alábbi nyelvkódok egyike: am, bs, cs, da, de, en, es, et, fr, he, hi, hr, hu, fi, id, is, it, ja, ko, lv, no, nl, pl, pt-PT, pt-BR, ru, sk, sl, sr, sv, tr, ur, zh-Hans. Az alapértelmezett érték az angol (en). Néhány megfontolandó szempont:
  • Ha nyelvi kódot ad meg, azzal elkerülheti, hogy félbe vágjon egy szót olyan nem térbeli nyelvek esetében, mint a kínai, a japán és a koreai.
  • Ha nem ismeri előre a nyelvet (például ha a LanguageDetectionSkill használatával észleli a nyelvet), javasoljuk az en alapértelmezett beállítást.

Készségbemenetek

Paraméter neve Leírás
text A részszúrásra felosztandó szöveg.
languageCode (Nem kötelező) A dokumentum nyelvi kódja. Ha nem ismeri a szövegbevitelek nyelvét (például ha a LanguageDetectionSkill használatával észleli a nyelvet), kihagyhatja ezt a paramétert. Ha egy nyelvre van állítva languageCode , akkor a program nem szerepel a defaultLanguageCodetámogatott listában, figyelmeztetést ad ki, és a szöveg nem lesz felosztva.

Képességkimenetek

Paraméter neve Leírás
textItems A kimenet a kinyert részsztringek tömbje. textItems a kimenet alapértelmezett neve. targetName nem kötelező, de ha több szövegfelosztási képességgel rendelkezik, ügyeljen arra, hogy targetName ne írja felül az első képesség adatait a másodikkal. Ha targetName be van állítva, használja a kimeneti mezőleképezésekben vagy a készségkimenetet használó alsóbb rétegbeli készségekben.

Mintadefiníció

{
    "@odata.type": "#Microsoft.Skills.Text.SplitSkill",
    "textSplitMode" : "pages", 
    "maximumPageLength": 1000,
    "defaultLanguageCode": "en",
    "inputs": [
        {
            "name": "text",
            "source": "/document/content"
        },
        {
            "name": "languageCode",
            "source": "/document/language"
        }
    ],
    "outputs": [
        {
            "name": "textItems",
            "targetName": "mypages"
        }
    ]
}

Példabemenet

{
    "values": [
        {
            "recordId": "1",
            "data": {
                "text": "This is the loan application for Joe Romero, a Microsoft employee who was born in Chile and who then moved to Australia...",
                "languageCode": "en"
            }
        },
        {
            "recordId": "2",
            "data": {
                "text": "This is the second document, which will be broken into several pages...",
                "languageCode": "en"
            }
        }
    ]
}

Példakimenet

{
    "values": [
        {
            "recordId": "1",
            "data": {
                "textItems": [
                    "This is the loan...",
                    "In the next section, we continue..."
                ]
            }
        },
        {
            "recordId": "2",
            "data": {
                "textItems": [
                    "This is the second document...",
                    "In the next section of the second doc..."
                ]
            }
        }
    ]
}

Példa adattömb-készítésre és vektorizálásra

Ez a példa az integrált vektorizációra mutat, amely jelenleg előzetes verzióban érhető el. Csak előzetes verziójú paramétereket ad hozzá a mintadefinícióhoz, és megjeleníti az eredményként kapott kimenetet.

  • pageOverlapLength: Az átfedésben lévő szöveg az adattömbök esetében hasznos, mert megőrzi az azonos dokumentumból létrehozott adattömbök közötti folytonosságot.

  • maximumPagesToTake: Az oldalbeadás korlátai a vektorizálási forgatókönyvekben hasznosak, mivel segít a vektorizálást biztosító beágyazási modellek maximális bemeneti korlátainál maradni.

Mintadefiníció

Ez a definíció 100 karaktert és maximumPagesToTake egy karaktert ad hozzápageOverlapLength.

Ha az maximumPageLength érték 5000 karakter (ez az alapértelmezett), akkor "maximumPagesToTake": 1 az egyes forrásdokumentumok első 5000 karakterét dolgozza fel.

Ez a példa a értékre állítja textItems a myPages/targetName Mert targetName be van állítva, ez az az érték, myPages amelyet a Szöveg felosztása képesség kimenetének kiválasztásához kell használnia. Használja /document/mypages/* az alsóbb rétegbeli készségeket, az indexelő kimeneti mezőleképezéseit, a tudástár-előrejelzéseket és az index-előrejelzéseket.

{
    "@odata.type": "#Microsoft.Skills.Text.SplitSkill",
    "textSplitMode" : "pages", 
    "maximumPageLength": 1000,
    "pageOverlapLength": 100,
    "maximumPagesToTake": 1,
    "defaultLanguageCode": "en",
    "inputs": [
        {
            "name": "text",
            "source": "/document/content"
        },
        {
            "name": "languageCode",
            "source": "/document/language"
        }
    ],
    "outputs": [
        {
            "name": "textItems",
            "targetName": "mypages"
        }
    ]
}

Mintabemenet (ugyanaz, mint az előző példában)

{
    "values": [
        {
            "recordId": "1",
            "data": {
                "text": "This is the loan application for Joe Romero, a Microsoft employee who was born in Chile and who then moved to Australia...",
                "languageCode": "en"
            }
        },
        {
            "recordId": "2",
            "data": {
                "text": "This is the second document, which will be broken into several sections...",
                "languageCode": "en"
            }
        }
    ]
}

Mintakimenet (figyelje meg az átfedést)

Az egyes "textItems" tömbökben a program az első elemből származó záró szöveget a második elem elejére másolja.

{
    "values": [
        {
            "recordId": "1",
            "data": {
                "textItems": [
                    "This is the loan...Here is the overlap part",
                    "Here is the overlap part...In the next section, we continue..."
                ]
            }
        },
        {
            "recordId": "2",
            "data": {
                "textItems": [
                    "This is the second document...Here is the overlap part...",
                    "Here is the overlap part...In the next section of the second doc..."
                ]
            }
        }
    ]
}

Hibaesetek

Ha egy nyelv nem támogatott, figyelmeztetés jön létre.

Lásd még