Kognitivní dovednost rozdělení textu
Dovednost Rozdělení textu rozdělí text na bloky textu. Můžete určit, jestli chcete text rozdělit na věty nebo na stránky určité délky. Tato dovednost je užitečná zejména v případě, že existují požadavky na maximální délku textu v dalších dovednostech podřízené.
Poznámka:
Tato dovednost není vázána na služby Azure AI. Je nefakturovatelný a nemá žádný požadavek na klíč služeb Azure AI.
@odata.type
Microsoft.Skills.Text.SplitSkill
Parametry dovedností
Parametry rozlišují malá a velká písmena.
Název parametru | Popis |
---|---|
textSplitMode |
Buďto pages nebo sentences . Stránky mají konfigurovatelnou maximální délku, ale dovednost se snaží vyhnout zkrácení věty, aby skutečná délka mohla být menší. Věty jsou řetězec, který končí interpunkcí na konci věty, jako je tečka, otazník nebo vykřičník za předpokladu, že jazyk má interpunkci končící větou. |
maximumPageLength |
Platí pouze v případě, že textSplitMode je nastavena na pages hodnotu . Tento parametr odkazuje na maximální délku stránky v znacích měřených pomocí String.Length . Minimální hodnota je 300, maximum je 5 0000 a výchozí hodnota je 5000. Algoritmus nejlépe rozdělí text na hranicích vět, takže velikost každého bloku dat může být o něco menší než maximumPageLength . |
pageOverlapLength |
Platí pouze v případě, že textSplitMode je nastavena na pages hodnotu . Každá stránka začíná tímto počtem znaků od konce předchozí stránky. Pokud je tento parametr nastavený na hodnotu 0, není na po sobě jdoucích stránkách žádný překrývající se text. Tento parametr je podporován v rozhraní REST API verze 2023-10-01-Preview a v beta balíčcích sady Azure SDK, které byly aktualizovány tak, aby podporovaly integrovanou vektorizaci. Tento příklad obsahuje parametr. |
maximumPagesToTake |
Platí pouze v případě, že textSplitMode je nastavena na pages hodnotu . Počet stránek, které se mají vrátit Výchozí hodnota je 0, což znamená vrátit všechny stránky. Tuto hodnotu byste měli nastavit, pokud potřebujete jenom podmnožinu stránek. Tento parametr je podporován v rozhraní REST API verze 2023-10-01-Preview a v beta balíčcích sady Azure SDK, které byly aktualizovány tak, aby podporovaly integrovanou vektorizaci. Tento příklad obsahuje parametr. |
defaultLanguageCode |
(volitelné) Jeden z následujících kódů jazyka: 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 . Výchozí hodnota je angličtina (en). Několik věcí, které je potřeba vzít v úvahu:
|
Vstupy dovedností
Název parametru | Popis |
---|---|
text |
Text, který chcete rozdělit do podřetědce. |
languageCode |
(Volitelné) Kód jazyka dokumentu Pokud neznáte jazyk textových vstupů (například pokud k rozpoznání jazyka používáte LanguageDetectionSkill ), můžete tento parametr vynechat. Pokud jste nastavili languageCode jazyk, který není v seznamu podporovaných položek defaultLanguageCode , vygeneruje se upozornění a text se nerozdělí. |
Výstupy dovedností
Název parametru | Popis |
---|---|
textItems |
Výstup je pole podřetědců, které byly extrahovány. textItems je výchozí název výstupu. targetName je nepovinný, ale pokud máte více dovedností rozdělení textu, nezapomeňte nastavit targetName , abyste nepřepsali data z první dovednosti druhou dovedností. Pokud targetName je nastavená, použijte ji v mapování výstupních polí nebo v podřízených dovednostech, které používají výstup dovednosti. |
Ukázková definice
{
"@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"
}
]
}
Ukázkový vstup
{
"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"
}
}
]
}
Ukázkový výstup
{
"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říklad pro vytváření bloků dat a vektorizaci
Tento příklad je určený pro integrovanou vektorizaci, která je aktuálně ve verzi Preview. Do ukázkové definice přidá pouze parametry náhledu a zobrazí výsledný výstup.
pageOverlapLength
: Překrývající se text je užitečný ve scénářích vytváření bloků dat, protože zachovává kontinuitu mezi bloky dat vygenerovanými ze stejného dokumentu.maximumPagesToTake
: Limity příjmu stránky jsou užitečné ve scénářích vektorizace , protože vám pomůže zůstat pod maximálními vstupními limity vložených modelů poskytujících vektorizaci.
Ukázková definice
Tato definice přidá pageOverlapLength
100 znaků a maximumPagesToTake
z jedné.
Za předpokladu, že maximumPageLength
je 5 000 znaků (výchozí), zpracuje "maximumPagesToTake": 1
prvních 5 000 znaků každého zdrojového dokumentu.
Tento příklad se nastaví textItems
na myPages
.targetName
Protože targetName
je nastavená, je hodnota, myPages
kterou byste měli použít k výběru výstupu z dovednosti Rozdělení textu. Používá se /document/mypages/*
v podřízených dovednostech, mapováních výstupních polí indexeru, projekcích úložiště znalostí a projekcích indexu.
{
"@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"
}
]
}
Ukázkový vstup (stejný jako v předchozím příkladu)
{
"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"
}
}
]
}
Ukázkový výstup (všimněte si překrytí)
V každém poli textItems se koncový text z první položky zkopíruje na začátek druhé položky.
{
"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..."
]
}
}
]
}
Chybové případy
Pokud jazyk není podporovaný, vygeneruje se upozornění.