Questa sezione illustra ulteriori sfumature e argomenti avanzati della funzionalità di ricerca.
Sinonimi personalizzati
Document AI Warehouse offre una funzionalità chiamata "Sinonimi personalizzati" che consente ai clienti di fornire i propri sinonimi per i loro domini specifici. Un sinonimo, come suggerisce il nome, è una parola simile utilizzata durante la ricerca. Se l'utente esegue una ricerca su "televisione", i seguenti sinonimi possono essere aggiunti senza problemi senza che l'utente ne sia a conoscenza: "TV", "Monitor video", "Schermo video". Per eseguire la query di ricerca verranno utilizzati i termini di ricerca originali dell'utente e i sinonimi.
Questa funzionalità consente di espandere la ricerca di un utente e restituire i risultati previsti. L'utilizzo tipico include termini aziendali o di settore, acronimi, gergo e linguaggio colloquiale.
Sinonimo, Contesto e SynonymSet
Document AI Warehouse introduce tre termini principali per la personalizzazione dei sinonimi:
Synonym. Un sinonimo rappresenta un insieme di parole con un significato simile.Context. Un contesto rappresenta un gruppo di utenti (ad esempio utenti del settore, della divisione o dell'organizzazione) che hanno sinonimi specifici che non vengono utilizzati da altri gruppi. Ad esempio, i reparti Finanze e Sanità probabilmente utilizzano unSynonymSetcompletamente diverso. I contesti possono essere specificati nel campoqueryContextdell'API Search. Pertanto, l'utilizzo di contesti diversi per gli stessi termini di query di ricerca potrebbe produrre risultati di ricerca diversi.SynonymSet. Un SynonymSet è una raccolta di sinonimi per un contesto specifico.
{
"name": string,
"context": string,
"synonyms": [
{
object (Synonym)
}
]
}
Caso d'uso di esempio
SynonymSet con contesto: "finanza"
| "Valuta","Cambio valuta","Dollaro","Euro","Yen" |
| "Inflazione","IPC","espansione economica","boom economico","prezzi più alti" |
| "IRS","Internal Revenue Service","US Treasury" |
| "Dichiarazione dei redditi","1040","1120","1099","W-2" |
Nell'esempio precedente, quando l'utente esegue una query per "Valuta" e queryContext è "finanza", gli altri sinonimi nella riga (ovvero cambio valuta, dollaro, euro, yen) vengono aggiunti implicitamente alla query di ricerca. Allo stesso modo, se l'utente esegue una query per un termine in quella riga, tutti gli altri termini vengono aggiunti alla query finale. Utilizzando lo stesso esempio, se l'utente esegue una query per "euro", alla query finale vengono aggiunti Valuta, Cambio valuta, dollaro e yen.
SynonymSet con contesto: "healthcare"
| "provider","clinic","hospital","doctor","therapist","specialist" |
| "Medical claim","Claim","1500","Diagnosis","ICD-9","ICD9","ICD-10","ICD10","CPT","HCPCS" |
| "injury","trauma","hurt","wound","sore","bruise","cut","laceration","lesion","abrasion","contusion" |
Ricerca con espansione dei sinonimi personalizzata
Quando i clienti vogliono cercare documenti con l'espansione dei sinonimi personalizzati, devono specificare uno o più query_context. Puoi consultare la documentazione nell'API SearchDocuments.
Ricerca di cartelle
Come suggerisce il nome, folder search esegue ricerche solo in una determinata cartella e nelle relative sottocartelle.
Una richiesta di ricerca di esempio avrebbe questo aspetto:
{
document_query {
query: "songs";,
folderNameFilter: "projects/PROJECT_NUM/locations/LOCATION/documents/888"
}
}
Istogrammi
Gli istogrammi sono una funzionalità avanzata che aggrega i conteggi sui dati specificati. Ad esempio, quanti documenti di ogni schema corrispondono alla query dell'utente? Per un database correlato al governo, se l'utente cerca"Orange County", un istogramma dello schema dei dati potrebbe restituire il numero di patenti di guida, certificati di matrimonio o atti che corrispondono ai criteri di ricerca. Gli istogrammi rispettano le autorizzazioni di accesso ai dati dell'utente richiedente, pertanto vengono conteggiati solo i documenti a cui l'utente richiedente ha accesso.
Gli istogrammi possono essere una risorsa potente, ma la raccolta e l'aggregazione di tutti i dati richiedono tempo.
Gli istogrammi non sono interessati dai campi di paginazione della richiesta di ricerca.
Formato generale della query dell'istogramma
HistogramQuery è definito come:
{
"histogramQuery": string,
"requirePreciseResultSize": boolean,
"filters": {
object (HistogramQueryPropertyNameFilter)
}
}
Il campo histogram_query ha il formato: COUNT('<item to count>'). Questo campo è un campo ripetuto, che ti consente di avere più di una query dell'istogramma.
Il campo require_precise_result_size non è implementato.
Il campo filters è descritto nella sezione Filtri.
Istogrammi dello schema del documento
Puoi creare istogrammi dello schema del documento o del tipo di documento aggiungendo questa query dell'istogramma:
{
document_query {
query: "test"
},
histogram_queries: [
{
histogram_query: "count('DocumentSchemaId')"
}
]
}
Ad esempio, la mappa all'interno di HistogramQueryResult di questa query sarebbe simile alla seguente:
histogramQueryResults: [
{
histogramQuery: "DocumentSchemaId",
histogram:
{
"projects/1234/locations/us-west/documentSchemas/5543": "22",
"projects/1234/locations/us-west/documentSchemas/5544": "2",
"projects/1234/locations/us-west/documentSchemas/5545": "4",
"projects/1234/locations/us-west/documentSchemas/5546": "122",
"projects/1234/locations/us-west/documentSchemas/5547": "256",
"projects/1234/locations/us-west/documentSchemas/5548": "1",
"projects/1234/locations/us-west/documentSchemas/5549": "5",
"projects/1234/locations/us-west/documentSchemas/5550": "15",
}
}
]
Questo esempio mostra che tre schemi di documenti corrispondono alla query di ricerca specificata e indica il numero di documenti per schema di documenti.
Istogrammi delle proprietà
Gli istogrammi delle proprietà mostrano i conteggi delle proprietà filtrabili specificate. Gli istogrammi delle proprietà hanno il formato:
COUNT('SomeSchema.SomeProp')
// Also, you can try with:
COUNT('SomeSchema.ParentProp.SubProp')
Di seguito è riportato un esempio di richiesta:
histogramQueryResults: [
{
histogramQuery: "5678.text_prop",
histogram: {
some_text: "1",
More_text: "55",
Additional_text: "19"
}
}
]
Questo istogramma mostra tutti gli istogrammi delle proprietà filtrabili in base al criterio HistogramQueryPropertyNameFilter. Restituisce il conteggio dell'utilizzo della proprietà (anziché il conteggio dei valori).
HistogramQueryPropertyNameFilter è definito come:
{
"documentSchemas": [
string
],
"propertyNames": [
string
],
"yAxis": enum (HistogramYAxis)
}
Puoi limitare i risultati a un insieme di schemi di documenti compilando il campo ripetibile denominato document_schemas fino a 10 campi schema_ID. Le proprietà aggregate possono essere ridotte facoltativamente utilizzando il campo ripetibile property_names.
Il campo y_axis determina come conteggiare le proprietà. Se non è impostato o è impostato su HISTOGRAM_YAXIS_DOCUMENT, la funzionalità dell'istogramma conteggia solo l'utilizzo di proprietà uniche. Se y_axis è impostato su HISTOGRAM_YAXIS_PROPERTY, l'istogramma conteggia tutto l'utilizzo della proprietà. Ad esempio:
Documento 1: Payments_property: [AMEX, VISA]
Documento 2: Payments_property: [MC]
`HISTOGRAM_YAXIS_DOCUMENT` would return:
Payments_property: 2
_Explanation_: The `Payments_property` is found in two documents
`HISTOGRAM_YAXIS_PROPERTY` would return:
Payments_property: 3
_Explanation_: The `Payments_property` has three values in the documents found
Di seguito è riportata una semplice query di esempio:
{
document_query {
},
histogram_queries: [
{
histogramQuery: "count('FilterableProperties')";
}
]
}
Di seguito è riportato un esempio di risposta alla query precedente:
histogramQueryResults: [
{
histogramQuery: "FilterableProperties",
histogram: {
456.int_prop: "4",
456.text_prop: "26"
}
}
]
Per filtrare i risultati di count('FilterableProperties')) in base agli schemi, vedi la seguente richiesta:
{
document_query: {
},
histogram_queries: [
{
histogram_query: "count('FilterableProperties')",
filters: {
document_schemas: [
"projects/1234/locations/us-west/documentSchemas/678",
"projects/1234/locations/us-west/documentSchemas/456"
]
}
}
]
}
Per filtrare i risultati di count('FilterableProperties') per proprietà specifiche, vedi la seguente richiesta:
{
document_query: {
},
histogram_queries: [
{
histogram_query: "count('FilterableProperties')",
filters: {
property_names: [
"678.MORTAGE_TYPE",
"456.language_code"
]
}
}
]
}
Per visualizzare il conteggio delle proprietà per count("FilterableProperties"), modifica l'asse y in HISTOGRAM_YAXIS_PROPERTY nel seguente modo:
{
document_query: {
},
histogram_queries: [
{
histogram_query: "count('FilterableProperties')",
filters: {
y_axis: "HISTOGRAM_YAXIS_PROPERTY"
}
}
]
}
Passaggi successivi
- Vai al motore delle norme
- Visita il riferimento REST