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 maximumPageLength a . |
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:
|
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 defaultLanguageCode tá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 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.