Keterampilan kognitif pemisah teks

Keterampilan Pemisahan Teks memutus teks menjadi beberapa gugus teks. Anda dapat menentukan apakah Anda ingin memutus teks menjadi kalimat atau menjadi halaman dengan panjang tertentu. Keterampilan ini sangat berguna jika ada persyaratan panjang teks maksimum dalam keterampilan lain di hilir.

Catatan

Keterampilan ini tidak terikat ke layanan Azure AI. Ini tidak dapat ditagih dan tidak memiliki persyaratan kunci layanan Azure AI.

@odata.type

Microsoft.Skills.Text.SplitSkill

Parameter keterampilan

Parameternya peka huruf besar/kecil.

Nama Parameter Deskripsi
textSplitMode Salah satu pages atau sentences. Halaman memiliki panjang maksimum yang dapat dikonfigurasi, tetapi keterampilan mencoba menghindari pemotongan kalimat sehingga panjang aktual mungkin lebih kecil. Kalimat adalah string yang berakhir pada tanda baca akhir kalimat, seperti titik, tanda tanya, atau tanda seru, dengan asumsi bahasa memiliki tanda baca akhir kalimat.
maximumPageLength Hanya diterapkan jika textSplitMode diatur ke pages. Parameter ini mengacu pada panjang halaman maksimum dalam karakter sebagaimana diukur oleh String.Length. Nilai minimum adalah 300, maksimum adalah 50000, dan nilai defaultnya adalah 5000. Algoritma melakukan yang terbaik untuk memecah teks pada batas kalimat, sehingga ukuran setiap gugus mungkin sedikit kurang dari maximumPageLength.
pageOverlapLength Hanya diterapkan jika textSplitMode diatur ke pages. Setiap halaman dimulai dengan jumlah karakter ini dari akhir halaman sebelumnya. Jika parameter ini diatur ke 0, tidak ada teks yang tumpang tindih pada halaman berturut-turut. Parameter ini didukung dalam REST API Pratinjau 10-10-2023 dan dalam paket beta Azure SDK yang telah diperbarui untuk mendukung vektorisasi terintegrasi. Contoh ini mencakup parameter .
maximumPagesToTake Hanya diterapkan jika textSplitMode diatur ke pages. Jumlah halaman yang akan dikembalikan. Defaultnya adalah 0, yang berarti mengembalikan semua halaman. Anda harus mengatur nilai ini jika hanya subkumpulan halaman yang diperlukan. Parameter ini didukung dalam REST API Pratinjau 10-10-2023 dan dalam paket beta Azure SDK yang telah diperbarui untuk mendukung vektorisasi terintegrasi. Contoh ini mencakup parameter .
defaultLanguageCode (opsional) Salah satu kode bahasa pemrogram berikut: 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. Defaultnya adalah bahasa Inggris (en). Beberapa hal yang perlu dipertimbangkan:
  • Menyediakan kode bahasa berguna untuk menghindari pemotongan kata menjadi dua untuk bahasa nonwhitespace seperti Cina, Jepang, dan Korea.
  • Jika Anda tidak mengetahui bahasa tersebut terlebih dahulu (misalnya, jika Anda menggunakan LanguageDetectionSkill untuk mendeteksi bahasa), kami merekomendasikan en default.

Input keterampilan

Nama Parameter Deskripsi
text Teks untuk dipisah menjadi substring.
languageCode (Opsional) Kode bahasa pemrogram untuk dokumen. Jika Anda tidak mengetahui bahasa input teks (misalnya, jika Anda menggunakan LanguageDetectionSkill untuk mendeteksi bahasa), Anda dapat menghilangkan parameter ini. Jika Anda mengatur languageCode ke bahasa tidak ada dalam daftar yang didukung untuk defaultLanguageCode, peringatan dipancarkan dan teks tidak dibagi.

Output keterampilan

Nama Parameter Deskripsi
textItems Output adalah array substring yang diekstrak. textItems adalah nama default output. targetName bersifat opsional, tetapi jika Anda memiliki beberapa keterampilan Pemisahan Teks, pastikan untuk mengatur targetName agar Anda tidak menimpa data dari keterampilan pertama dengan yang kedua. Jika targetName diatur, gunakan dalam pemetaan bidang output atau dalam keterampilan hilir yang menggunakan output keterampilan.

Definisi sampel

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

Input sampel

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

Sampel output

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

Contoh untuk pemotongan dan vektorisasi

Contoh ini untuk vektorisasi terintegrasi, saat ini dalam pratinjau. Ini menambahkan parameter khusus pratinjau ke definisi sampel, dan menunjukkan output yang dihasilkan.

  • pageOverlapLength: Teks yang tumpang tindih berguna dalam skenario pemotongan data karena mempertahankan kelangsungan antara gugus yang dihasilkan dari dokumen yang sama.

  • maximumPagesToTake: Batasan asupan halaman berguna dalam skenario vektorisasi karena membantu Anda tetap berada di bawah batas input maksimum dari model penyematan yang menyediakan vektorisasi.

Definisi sampel

Definisi ini menambahkan pageOverlapLength 100 karakter dan maximumPagesToTake satu karakter.

Dengan asumsi maximumPageLength adalah 5.000 karakter (default), lalu "maximumPagesToTake": 1 memproses 5.000 karakter pertama dari setiap dokumen sumber.

Contoh ini diatur textItems ke myPages melalui targetName. Karena targetName diatur, myPages adalah nilai yang harus Anda gunakan untuk memilih output dari keterampilan Pemisahan Teks. Gunakan /document/mypages/* dalam keterampilan hilir, pemetaan bidang output pengindeks, proyeksi penyimpanan pengetahuan, dan proyeksi indeks.

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

Input sampel (sama seperti contoh sebelumnya)

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

Sampel output (perhatikan tumpang tindih)

Dalam setiap array "textItems", teks berikutnya dari item pertama disalin ke awal item kedua.

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

Kasus kesalahan

Jika bahasa tidak didukung, peringatan akan dihasilkan.

Lihat juga