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:
|
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.