Képességkörnyezet és beviteli széljegyzet nyelve
Ez a cikk a készségkörnyezet és a bemeneti szintaxis referenciadokumentációja. Ez a kifejezésnyelv teljes leírása, amellyel egy gazdagított dokumentumban csomópontok elérési útjait hozhatja létre.
Az Azure AI Search-készségek használhatják és bővíthetik az adatforrásból és más készségek kimenetéből származó adatokat. Az aktuális dokumentum indexelőjének aktuális állapotát képviselő adatmunkakészlet az adatforrásból származó nyers adatokból indul ki, és fokozatosan bővül az egyes képességi iterációk kimeneti adataival. Az adatok belső rendszerezése faszerű szerkezetben történik, amely lekérdezhető képességbemenetként való használatra vagy az indexhez való hozzáadására. A fa csomópontjai lehetnek egyszerű értékek, például sztringek és számok, tömbök, összetett objektumok és akár bináris fájlok is. Még az egyszerű értékek is bővíthetők további strukturált információkkal. A sztringek például széljegyzetekkel is elláthatók, amelyek a gazdagítási fa alatt találhatók. A belső struktúra lekérdezéséhez használt kifejezések a cikkben részletezett, részletes szintaxist használják. A bővített adatstruktúra hibakeresési munkamenetekből vizsgálható. A struktúrát lekérdező kifejezések hibakeresési munkamenetekből is tesztelhetők.
A cikk során a következő bővített adatokat fogjuk példaként használni. Ezek az adatok jellemzőek arra a struktúrára, amelyet a dokumentumok ocR-val való bővítésekor kapna, kulcskifejezés-kinyeréssel, szövegfordítással, nyelvfelismeréssel, entitásfelismerési képességekkel és egyéni jogkivonat-kezelő képességekkel.
Elérési út | Érték |
---|---|
document |
|
merged_content |
"A BMN 110 vizsgálata gyermekgyógyászati betegekben"... |
keyphrases |
|
[0] |
"A BMN tanulmányozása" |
[1] |
"Szindróma" |
[2] |
"Gyermekbetegek" |
... | |
locations |
|
[0] |
"IVA" |
translated_text |
"Étude de BMN 110 chez les patients pédiatriques"... |
entities |
|
[0] |
|
category |
"Szervezet" |
subcategory |
null |
confidenceScore |
0,72 |
length |
3 |
offset |
9 |
text |
"BMN" |
... | |
organizations |
|
[0] |
"BMN" |
language |
„hu” |
normalized_images |
|
[0] |
|
layoutText |
... |
text |
|
words |
|
[0] |
"Tanulmány" |
[1] |
"az" |
[2] |
"BMN" |
[3] |
"110" |
... | |
[1] |
|
layoutText |
... |
text |
|
words |
|
[0] |
"it" |
[1] |
"is" |
[2] |
"természetesen" |
... | |
... | |
... |
Dokumentumgyökér
Az összes adat egy gyökérelem alatt található, amelyhez az elérési út tartozik "/document"
. A fő elem a készségek alapértelmezett környezete.
Egyszerű útvonalak
A belső bővített dokumentum egyszerű elérési útjai perjelekkel elválasztott egyszerű jogkivonatokkal fejezhetők ki. Ez a szintaxis hasonló a JSON Pointer specifikációjához.
Objektumtulajdonságok
Az objektumokat képviselő csomópontok tulajdonságai hozzáadják az értékeiket a tulajdonság neve alatti fához. Ezek az értékek a tulajdonságnév perjellel elválasztott jogkivonatként való hozzáfűzésével szerezhetők be:
Kifejezés | Érték |
---|---|
/document/merged_content/language |
"en" |
A tulajdonságnév-jogkivonatok megkülönböztetik a kis- és nagybetűket.
Tömbelem-index
A tömb egyes elemeire a numerikus indexük, például egy tulajdonságnév használatával hivatkozhat:
Kifejezés | Érték |
---|---|
/document/merged_content/keyphrases/1 |
"Syndrome" |
/document/merged_content/entities/0/text |
"BMN" |
Menekülési sorozatok
Két karakter van, amelyek különleges jelentéssel rendelkeznek, és meg kell szökni, ha megjelennek egy kifejezésben, és úgy kell értelmezni, mint ahelyett, hogy különleges jelentésük lenne: '/'
és '~'
.
Ezeket a karaktereket a következőképpen kell feloldani '~0'
'~1'
.
Tömbök számbavétele
Az értékek tömbje a '*'
jogkivonat használatával kérhető le:
Kifejezés | Érték |
---|---|
/document/normalized_images/0/text/words/* |
["Study", "of", "BMN", "110" ...] |
A '*'
jogkivonatnak nem kell az elérési út végén lennie. A középen lévő csillaggal vagy több csillaggal egyező összes csomópont számbavétele lehetséges:
Kifejezés | Érték |
---|---|
/document/normalized_images/*/text/words/* |
["Study", "of", "BMN", "110" ... "it", "is", "certainly" ...] |
Ez a példa az összes egyező csomópont egy sima listáját adja vissza.
A második '*'
token helyett egy '#'
jogkivonat használatával több struktúrát tarthat fenn, és külön tömböt kaphat az egyes lapok szavaihoz:
Kifejezés | Érték |
---|---|
/document/normalized_images/*/text/words/# |
[["Study", "of", "BMN", "110" ...], ["it", "is", "certainly" ...] ...] |
A '#'
jogkivonat azt fejezi ki, hogy a tömböt egyetlen értékként kell kezelni a számbavétel helyett.
Tömbök számbavétele a környezetben
Gyakran hasznos, ha egy tömb minden elemét külön-külön dolgozzuk fel, és mindegyikhez más-más képességbemenetek és kimenetek tartoznak.
Ezt úgy teheti meg, hogy a képesség kontextusát enumerálásra állítja az alapértelmezett "/document"
helyett.
Az alábbi példában a korábban használt egyik bemeneti kifejezést használjuk, de egy másik kontextusban, amely megváltoztatja az eredményként kapott értéket.
Környezet | Kifejezés | Értékek |
---|---|---|
/document/normalized_images/* |
/document/normalized_images/*/text/words/* |
["Study", "of", "BMN", "110" ...] ["it", "is", "certainly" ...] ... |
A környezet és a bemenet ezen kombinációjához a képesség minden normalizált rendszerképhez egyszer lesz végrehajtva: egyszer és "/document/normalized_images/0"
egyszer."/document/normalized_images/1"
Az egyes képességek végrehajtásának megfelelő két bemeneti érték az értékek oszlopában található.
A tömbök környezetbeli számbavételekor a képesség által előállított kimenetek is hozzáadva lesznek a dokumentumhoz a környezet gazdagításaként.
A fenti példában egy elnevezett "out"
kimenet minden végrehajtáshoz hozzá lesz adva az értékekhez a dokumentum alatt és "/document/normalized_images/1/out"
alatt"/document/normalized_images/0/out"
.
Literális értékek
A készségbemenetek a meglévő dokumentumból lekérdezett dinamikus értékek helyett a konstans értékeket használhatják bemenetként. Ez az érték egyenlőségjellel történő előtagolásával érhető el. Az értékek lehetnek számok, sztringek vagy logikai értékek.
A sztringértékek egy '
- vagy két "
idézőjelben is csatolhatók.
Kifejezés | Érték |
---|---|
=42 |
42 |
=2.45E-4 |
0.000245 |
="some string" |
"some string" |
='some other string' |
"some other string" |
="unicod\u0065" |
"unicode" |
=false |
false |
Összetett kifejezések
Az értékek egyesíthetők a nemáris, bináris és ternáris operátorokkal.
Az operátorok az elérési út kiértékelése során keletkező literális értékeket és értékeket kombinálhatják.
Ha egy kifejezésen belül használják, az elérési utakat az és ")"
a között "$("
kell megadni.
Logikai nem '!'
Kifejezés | Érték |
---|---|
=!false |
true |
Negatív '-'
Kifejezés | Érték |
---|---|
=-42 |
-42 |
=-$(/document/merged_content/entities/0/offset) |
-9 |
Ezen kívül '+'
Kifejezés | Érték |
---|---|
=2+2 |
4 |
=2+$(/document/merged_content/entities/0/offset) |
11 |
Kivonás '-'
Kifejezés | Érték |
---|---|
=2-1 |
1 |
=$(/document/merged_content/entities/0/offset)-2 |
7 |
Szorzás '*'
Kifejezés | Érték |
---|---|
=2*3 |
6 |
=$(/document/merged_content/entities/0/offset)*2 |
18 |
Osztály '/'
Kifejezés | Érték |
---|---|
=3/2 |
1.5 |
=$(/document/merged_content/entities/0/offset)/3 |
3 |
Modulo '%'
Kifejezés | Érték |
---|---|
=15%4 |
3 |
=$(/document/merged_content/entities/0/offset)%2 |
1 |
Kisebb, kisebb vagy egyenlő, nagyobb és nagyobb, mint vagy egyenlő '<'
'<='
'>'
'>='
Kifejezés | Érték |
---|---|
=15<4 |
false |
=4<=4 |
true |
=15>4 |
true |
=1>=2 |
false |
Egyenlőség és nem egyenlőség '=='
'!='
Kifejezés | Érték |
---|---|
=15==4 |
false |
=4==4 |
true |
=15!=4 |
true |
=1!=1 |
false |
Logikai műveletek és, vagy kizárólagos vagy '&&'
'||'
'^'
Kifejezés | Érték |
---|---|
=true&&true |
true |
=true&&false |
false |
=true||true |
true |
=true||false |
true |
=false||false |
false |
=true^false |
true |
=true^true |
false |
Ternáris operátor '?:'
A logikai kifejezés kiértékelése alapján különböző értékeket adhat meg a ternáris operátorral.
Kifejezés | Érték |
---|---|
=true?"true":"false" |
"true" |
=$(/document/merged_content/entities/0/offset)==9?"nine":"not nine" |
"nine" |
Zárójelek és operátorprioritás
Az operátorokat a szokásos konvencióknak megfelelő prioritásokkal értékelik ki: a nem kötelező operátorokat, majd a szorzást, az osztást és a modulót, majd az összeadást és kivonást, majd az összehasonlítást, majd az egyenlőséget, majd a logikai operátorokat. A szokásos asszociativitási szabályok is érvényesek.
Zárójelekkel módosíthatja vagy egyértelműsítheti a kiértékelési sorrendet.
Kifejezés | Érték |
---|---|
=3*2+5 |
11 |
=3*(2+5) |
21 |