Kognitiv skicklighet för textdelning

Färdigheten Dela upp text delar upp text i textsegment. Du kan ange om du vill dela upp texten i meningar eller i sidor med en viss längd. Den här färdigheten är särskilt användbar om det finns krav på maximal textlängd i andra färdigheter nedströms.

Kommentar

Den här färdigheten är inte kopplad till Azure AI-tjänster. Den kan inte faktureras och har inga nyckelkrav för Azure AI-tjänster.

@odata.type

Microsoft.Skills.Text.SplitSkill

Kompetensparametrar

Parametrar är skiftlägeskänsliga.

Parameternamn beskrivning
textSplitMode Antingen pages eller sentences. Sidor har en konfigurerbar maximal längd, men färdigheten försöker undvika att trunkera en mening så att den faktiska längden kan vara mindre. Meningar är en sträng som avslutas vid meningsavslutande skiljetecken, till exempel punkt, frågetecken eller utropstecken, förutsatt att språket har meningsslutande skiljetecken.
maximumPageLength Gäller endast om textSplitMode är inställt på pages. Den här parametern refererar till den maximala sidlängden i tecken mätt med String.Length. Det minsta värdet är 300, maxvärdet är 50000 och standardvärdet är 5 000. Algoritmen gör sitt bästa för att bryta texten på meningsgränser, så storleken på varje segment kan vara något mindre än maximumPageLength.
pageOverlapLength Gäller endast om textSplitMode är inställt på pages. Varje sida börjar med det här antalet tecken från slutet av föregående sida. Om den här parametern är inställd på 0 finns det ingen överlappande text på efterföljande sidor. Den här parametern stöds i REST API för 2023-10-01-Preview och i Azure SDK-betapaket som har uppdaterats för att stödja integrerad vektorisering. Det här exemplet innehåller parametern .
maximumPagesToTake Gäller endast om textSplitMode är inställt på pages. Antal sidor som ska returneras. Standardvärdet är 0, vilket innebär att alla sidor returneras. Du bör ange det här värdet om endast en delmängd sidor behövs. Den här parametern stöds i REST API för 2023-10-01-Preview och i Azure SDK-betapaket som har uppdaterats för att stödja integrerad vektorisering. Det här exemplet innehåller parametern .
defaultLanguageCode (valfritt) En av följande språkkoder: 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. Standardvärdet är engelska (en). Några saker att tänka på:
  • Att tillhandahålla en språkkod är användbart för att undvika att halvera ett ord för icke-vita språk som kinesiska, japanska och koreanska.
  • Om du inte kan språket i förväg (till exempel om du använder LanguageDetectionSkill för att identifiera språk) rekommenderar vi standardvärdet en .

Kunskapsindata

Parameternamn beskrivning
text Texten som ska delas upp i delsträng.
languageCode (Valfritt) Språkkod för dokumentet. Om du inte känner till språket för textindata (till exempel om du använder LanguageDetectionSkill för att identifiera språket) kan du utelämna den här parametern. Om du anger languageCode till ett språk inte finns i listan som stöds för defaultLanguageCodegenereras en varning och texten delas inte upp.

Kunskapsutdata

Parameternamn beskrivning
textItems Utdata är en matris med delsträngar som extraherades. textItems är standardnamnet för utdata. targetName är valfritt, men om du har flera kunskaper om textdelning måste du ange targetName så att du inte skriver över data från den första färdigheten med den andra. Om targetName anges använder du det i utdatafältmappningar eller i underordnade färdigheter som använder kunskapsutdata.

Exempeldefinition

{
    "@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"
        }
    ]
}

Exempelindata

{
    "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"
            }
        }
    ]
}

Exempelutdata

{
    "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..."
                ]
            }
        }
    ]
}

Exempel på segmentering och vektorisering

Det här exemplet är för integrerad vektorisering, för närvarande i förhandsversion. Den lägger till parametrar som endast är förhandsgranskningar i exempeldefinitionen och visar de resulterande utdata.

  • pageOverlapLength: Överlappande text är användbar i datasegmenteringsscenarier eftersom den bevarar kontinuiteten mellan segment som genereras från samma dokument.

  • maximumPagesToTake: Begränsningar för sidintag är användbara i vektoriseringsscenarier eftersom det hjälper dig att hålla dig under de maximala indatagränserna för de inbäddningsmodeller som tillhandahåller vektoriseringen.

Exempeldefinition

Den här definitionen lägger till pageOverlapLength 100 tecken och maximumPagesToTake av ett.

Förutsatt att är maximumPageLength 5 000 tecken (standard) bearbetar du sedan "maximumPagesToTake": 1 de första 5 000 tecknen i varje källdokument.

Det här exemplet anges textItems till myPages via targetName. Eftersom targetName är inställt myPages är det värde som du bör använda för att välja utdata från färdigheten Textdelning. Använd /document/mypages/* i underordnade kunskaper, indexerares utdatafältmappningar, kunskapslagerprojektioner och indexprojektioner.

{
    "@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"
        }
    ]
}

Exempelindata (samma som i föregående exempel)

{
    "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"
            }
        }
    ]
}

Exempelutdata (observera överlappningen)

I varje matris "textItems" kopieras avslutande text från det första objektet till början av det andra objektet.

{
    "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..."
                ]
            }
        }
    ]
}

Felfall

Om ett språk inte stöds genereras en varning.

Se även