Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Configurazione degli schemi di analisi del testo per Amazon CloudSearch
Amazon ti CloudSearch consente di configurare uno schema di analisi specifico per ogni lingua per ogni text
campo. text-array
Uno schema di analisi controlla il modo in cui i contenuti del campo vengono elaborati durante l'indicizzazione. Anche se le impostazioni predefinite di ogni lingua funzionano adeguatamente in molti casi, la regolazione delle opzioni di analisi ti permette di ottimizzare i risultati di ricerca in base alla tua conoscenza dei dati che stai cercando. Per un elenco di linguaggi supportati, consultare Lingue supportate.
Uno schema di analisi specifica la lingua del testo da elaborare e le seguenti opzioni di analisi:
-
Stemming algoritmico: specifica il livello di derivazione algoritmica da eseguire. I livelli di stemming disponibili variano a seconda della lingua.
-
Japanese Tokenization Dictionary: specifica le sostituzioni della tokenizzazione algoritmica durante l'elaborazione del giapponese. Il dizionario specifica il modo in cui particolari set di caratteri devono essere raggruppati in parole.
-
Dizionario Stemming: specifica le sostituzioni per i risultati dello stemming algoritmico. Il dizionario mappa specifiche parole correlate a una radice o una parola radice comune.
-
Stopwords: specifica le parole da ignorare durante l'indicizzazione e la ricerca.
-
Synonyms (Sinonimi): specifica le parole con lo stesso significato delle parole presenti nei dati e che dovrebbero produrre gli stessi risultati di ricerca.
Durante l'elaborazione del testo, i valori dei campi e i termini di ricerca vengono convertiti in lettere minuscole (case-folding), pertanto le stopword, le radici e i sinonimi non prevedono la distinzione tra maiuscole e minuscole. Per ulteriori informazioni su come Amazon CloudSearch elabora il testo durante l'indicizzazione e la gestione delle richieste di ricerca, consulta. Elaborazione del testo in Amazon CloudSearch
Devi specificare una lingua per ogni schema di analisi e configurare uno schema di analisi per ogni campo text
e text-array
. Quando configuri i campi tramite la CloudSearch console Amazon, lo schema di analisi utilizza per impostazione predefinita lo schema di _en_default_
analisi. Se non specifichi opzioni di analisi per uno schema di analisi, Amazon CloudSearch utilizza le opzioni predefinite per la lingua specificata. Per informazioni sulle impostazioni predefinite di ogni lingua, consultare Impostazioni specifiche della lingua.
Il modo più semplice per definire gli schemi di analisi è tramite la pagina Schemi di analisi nella CloudSearch console Amazon. Affinché lo schema di analisi abbia effetto, devi applicarlo a un campo. Puoi applicare uno schema di analisi a un campo dalla pagina Indexing Options (Opzioni di indicizzazione). Puoi anche definire schemi di analisi e configurare uno schema di analisi per ogni campo tramite gli strumenti a riga di comando e AWS SDKs.
Quando applichi un nuovo schema di analisi a un campo dell'indice o modifichi uno schema di analisi in uso, devi rebuild the index in modo esplicito in modo che le modifiche si riflettano nei risultati di ricerca.
Argomenti
Stemming su Amazon CloudSearch
Lo stemming è il processo di mappatura di parole correlate a una radice comune. Una radice solitamente è la radice o parola base da cui derivano le varianti. Ad esempio, run è la radice di running e ran. Lo stemming viene eseguito durante l'indicizzazione e al momento dell'esecuzione delle query. Lo stemming riduce il numero di termini che vengono inclusi nell'indice e semplifica le corrispondenze quando il termine di ricerca è una variante di un termine presente nei contenuti in cui si sta eseguendo la ricerca. Ad esempio, se mappi il termine running alla radice run e quindi cerchi il termine running, la richiesta restituisce i documenti che contengono sia run che running.
Amazon CloudSearch supporta sia dizionari di derivazione algoritmica che dizionari di derivazione esplicita. Per configurare lo stemming algoritmico devi specificare il livello di stemming che desideri utilizzare. I livelli di stemming algoritmico disponibili variano a seconda della lingua:
none (nessuno): disattiva lo stemming algoritmico
minimal (minimo): esegue lo stemming di base rimuovendo i suffissi plurali
light (leggero): punta alle desinenze dei nomi/aggettivi più comuni e ai suffissi derivati
full (completo): rimuove in modo aggressivo desinenze e suffissi
Oltre a controllare il livello di stemming algoritmico eseguito, puoi specificare un dizionario di stemming che mappi specifiche parole correlate a una radice comune. Puoi specificare il dizionario come oggetto JSON che contiene una raccolta di coppie stringa:valore che mappano un termine alla relativa radice, ad esempio {"term1": "stem1", "term2": "stem2",
"term3": "stem3"}
. Il dizionario di stemming viene applicato in aggiunta a qualsiasi stemming algoritmico. In questo modo puoi sostituire i risultati dello stemming algoritmico per correggere casi specifici di overstemming o understemming. Le dimensioni massime di un dizionario di stemming è di 500 KB. Le voci dei dizionari di stemming devono essere in lettere minuscole.
Per definire un dizionario di stemming personalizzato in uno schema di analisi, utilizza la chiave StemmingDictionary
. Poiché passi il dizionario ad Amazon CloudSearch come stringa, devi evitare tutte le virgolette doppie all'interno della stringa. Ad esempio, il seguente schema di analisi definisce le radici di running e jumping:
{ "AnalysisSchemeName": "myscheme", "AnalysisSchemeLanguage": "en", "AnalysisOptions": { "AlgorithmicStemming": "light", "StemmingDictionary": "{\"running\": \"run\",\"jumping\": \"jump\"}" } }
Se non specifichi il livello di derivazione algoritmica o un dizionario di derivazione algoritmica nel tuo schema di analisi, Amazon CloudSearch utilizza il livello di derivazione algoritmica predefinito per la lingua specificata. Sebbene lo stemming possa aiutare gli utenti a individuare i documenti pertinenti che altrimenti potrebbero essere esclusi dai risultati di ricerca, è possibile che si verifichi l'overstemming in troppe corrispondenze di dubbia rilevanza. Il livello predefinito dello stemming algoritmico configurato per ogni lingua funziona adeguatamente nella maggior parte dei casi d'uso. In generale, è meglio iniziare con il livello predefinito e in seguito apportare delle modifiche per ottimizzare la rilevanza dei risultati di ricerca per il tuo caso d'uso. Per informazioni sulle impostazioni predefinite di ogni lingua, consultare Impostazioni specifiche della lingua.
Stopwords su Amazon CloudSearch
Le stopword (eccezioni) sono parole che solitamente dovrebbero essere ignorate sia durante l'indicizzazione che durante la ricerca, in quanto insignificanti o talmente comuni che includerle significherebbe ottenere un numero massiccio di corrispondenze.
Durante l'indicizzazione, Amazon CloudSearch utilizza il dizionario stopword quando elabora text
e inserisce campi. text-array
Nella maggior parte dei casi, le stopword non sono incluse nell'indice. Il dizionario delle stopword viene anche utilizzato per filtrare le richieste di ricerca.
Un dizionario delle stopword è un array di termini JSON, ad esempio ["a", "an", "the",
"of"]
. Nel dizionario delle stopword deve essere elencata esplicitamente ciascuna parola che desideri ignorare. I caratteri jolly e le espressioni regolari non sono supportati.
Puoi utilizzare la chiave Stopwords
per definire un dizionario delle stopword personalizzato in uno schema di analisi. Poiché passi il dizionario ad Amazon CloudSearch come stringa, devi evitare tutte le virgolette doppie all'interno della stringa. Ad esempio, il seguente schema di analisi configura le stopword a, an e the:
{ "AnalysisSchemeName": "myscheme", "AnalysisSchemeLanguage": "en", "AnalysisOptions": { "Stopwords": "[\"a\",\"an\",\"the\"]" } }
Se non specifichi un dizionario di stopword nel tuo schema di analisi, Amazon CloudSearch utilizza il dizionario di stopword predefinito per la lingua specificata. Le stopword predefinite configurate per ogni lingua funzionano adeguatamente nella maggior parte dei casi d'uso. In generale, è meglio iniziare con il livello predefinito e in seguito apportare delle modifiche per ottimizzare la rilevanza dei risultati di ricerca per il tuo caso d'uso. Per informazioni sulle impostazioni predefinite di ogni lingua, consultare Impostazioni specifiche della lingua.
Sinonimi in Amazon CloudSearch
Puoi configurare i sinonimi dei termini che appaiono nei dati in cui stai eseguendo la ricerca. In questo modo, se un utente ricerca il sinonimo piuttosto che il termine indicizzato, i risultati includeranno i documenti che contengono il termine indicizzate. Ad esempio, potresti definire dei sinonimi personalizzati per eseguire le seguenti operazioni:
-
Mappare gli errori ortografici comuni alla versione corretta
Definire i termini equivalenti, ad esempio
film
emovie
Mappare un termine generale a uno più specifico, ad esempio
fish
ebarracuda
Mappare più parole a una singola parola o viceversa, ad esempio
tool box
etoolbox
Quando definisci un sinonimo, questo viene aggiunto all'indice nel punto in cui appare il token di base. Ad esempio, se definisci fish
come sinonimo di barracuda
, il termine fish
viene aggiunto a ogni documento contenente il termine barracuda
. L'aggiunta di un grande numero di sinonimi può aumentare le dimensioni dell'indice e della latenza delle query (i sinonimi aumentano il numero di corrispondenze, che più aumenta e più lunga diventa l'elaborazione dei risultati).
Il dizionario dei sinonimi viene utilizzato durante l'indicizzazione per configurare le mappature dei termini presenti nei campi di testo. Nelle richieste di ricerca non avviene alcuna elaborazione dei sinonimi. Per impostazione predefinita, Amazon CloudSearch non definisce alcun sinonimo.
Puoi specificare i sinonimi in due modi:
Come gruppo di combinazioni, dove ogni termine nel gruppo è considerato un sinonimo degli altri.
Come alias di un termine specifico. Un alias è considerato un sinonimo del termine specificato, ma il termine non è considerato un sinonimo dell'alias.
Un dizionario dei sinonimi viene specificato come oggetto JSON che definisce gli alias e i gruppi di sinonimi. Il valore di groups
è un insieme di array in cui ogni array secondario è un gruppo di combinazioni. Il valore di aliases
è un oggetto che contiene una raccolta di coppie stringa:valore in cui la stringa specifica un termine e l'array di valori specifica ogni sinonimo di quel termine. L'esempio seguente include entrambi gli alias e i gruppi di combinazioni:
{ "groups": [["1st", "first", "one"], ["2nd", "second", "two"]], "aliases": { "youth": ["child", "kid", "boy", "girl"], "adult": ["men", "women"] } }
Entrambi i gruppi e gli alias supportano i sinonimi composti da più parole. Nell'esempio seguente, i sinonimi composti da più parole sono utilizzati in un gruppo di combinazioni e in un alias:
{ "groups": [["tool box", "toolbox"], ["band saw", "bandsaw"]], "aliases": { "workbench": ["work bench"]} }
Puoi utilizzare la chiave Synonyms
per definire un dizionario dei sinonimi personalizzato in uno schema di analisi. Poiché passi il dizionario ad Amazon CloudSearch come stringa, devi evitare tutte le virgolette doppie all'interno della stringa. Ad esempio, il seguente schema di analisi configura gli alias del termine youth:
{ "AnalysisSchemeName": "myscheme", "AnalysisSchemeLanguage": "en", "AnalysisOptions": { "Synonyms": "{\"aliases\": {\"youth\": [\"child\",\"kid\"]}}" } }
Configurazione degli schemi di analisi utilizzando la console Amazon CloudSearch
Puoi definire schemi di analisi dal riquadro Schemi di analisi nella CloudSearch console Amazon.
Per definire uno schema di analisi
-
Apri la CloudSearch console Amazon a https://console.aws.amazon.com/cloudsearch/casa
. -
Dal riquadro di navigazione a sinistra, scegli Domini.
-
Scegli il nome del tuo dominio per aprirne la configurazione.
-
Vai alla scheda Opzioni di ricerca avanzate.
-
Nel riquadro Schemi di analisi, scegli Aggiungi schema di analisi.
-
Specificate un nome per lo schema di analisi e selezionate una lingua.
-
Scegli Next (Successivo).
-
Nei tre passaggi successivi, configurate le opzioni di testo, stopword, stemming e sinonimo dello schema. Puoi configurare singole stopword, radici e sinonimi oppure modificare direttamente i dizionari visualizzati. I dizionari sono formattati in formato JSON. Le stopword sono specificate come un array di stringhe. Le radici sono specificate come oggetto contenente una o più coppie chiave:valore. Anche gli alias dei sinonimi sono specificati come oggetti JSON on una o più coppie chiave:valore, dove i valori dell'alias sono specificati come un array di stringhe Un gruppo di sinonimi è specificato come array JSON (il dizionario dei sinonimi è un insieme di array).
Se hai selezionato il giapponese come lingua, hai anche la possibilità di specificare un dizionario di tokenizzazione personalizzato che sostituisce la tokenizzazione predefinita di frasi specifiche. Per ulteriori informazioni, consulta Personalizzazione della tokenizzazione del giapponese.
-
Nella pagina di riepilogo, esaminate la configurazione dello schema di analisi e scegliete Salva.
Importante
Per utilizzare uno schema di analisi, devi applicarlo a uno o più campi text
o text-array
e creare nuovamente l'indice. È possibile configurare lo schema di analisi di un campo dalla scheda Opzioni di indicizzazione. Per ricostruire l'indice, scegli Azioni, Esegui indicizzazione.
Configurazione degli schemi di analisi utilizzando AWS CLI
Il aws cloudsearch define-analysis-scheme
comando viene utilizzato per definire le opzioni di elaborazione del testo specifiche della lingua, incluse le opzioni di derivazione, le stopword e i sinonimi. Per informazioni sull'installazione e la configurazione di AWS CLI, consultate la Guida per l'utente.AWS Command Line Interface
Puoi specificare uno schema di analisi come parte della configurazione di ciascun campo text
o text-array
campo. Per ulteriori informazioni, consulta configure indexing options.
Per definire uno schema di analisi
-
Eseguire il comando
aws cloudsearch define-analysis-scheme
e specificare l'opzione--analysis-scheme
e l'oggetto JSON che contiene le opzioni di analisi. Lo schema di analisi deve essere nel formato JSON valido. Le coppie di chiave e valore delle opzioni di analisi devono essere racchiuse tra virgolette e tutte le virgolette nei valori delle opzioni devono essere precedute da una barra rovesciata. Per il formato delle opzioni di analisi, vedere define-analysis-schemenella Guida ai AWS CLI comandi. Per ulteriori informazioni sulla definizione delle opzioni di stemming, stopword e sinonimi, consultare Configurazione degli schemi di analisi.Se come lingua specifichi il giapponese (
ja
), puoi anche specificare un dizionario di tokenizzazione personalizzato che sostituisca la tokenizzazione predefinita di frasi specifiche. Per ulteriori informazioni, consulta Personalizzazione della tokenizzazione del giapponese.Suggerimento
Il modo più semplice per configurare uno schema di analisi con AWS CLI è memorizzare lo schema di analisi in un file di testo e specificare quel file come
--analysis-scheme
valore. In questo modo puoi formattare lo schema per facilitarne la lettura. Ad esempio, lo schema seguente definisce uno schema di analisi in inglese denominatomyscheme
che utilizza lo stemming algoritmico leggero e configura due stopword:{ "AnalysisSchemeName": "myscheme", "AnalysisSchemeLanguage": "en", "AnalysisOptions": { "AlgorithmicStemming": "light", "Stopwords": "[\"a\", \"the\"]" } }
Se salvi questo schema in un file di testo denominato
myscheme.txt
, puoi considerare il file come il valore del parametro--analysis-scheme
:aws cloudsearch define-analysis-scheme --region us-east-1 --domain-name movies --analysis-scheme file://myscheme.txt
Importante
Per utilizzare uno schema di analisi, devi applicarlo a uno o più campi text
o text-array
e creare nuovamente l'indice. Puoi configurare lo schema di analisi di un campo con il comando aws cloudsearch define-index-field
. Per ricreare l'indice, chiama aws cloudsearch index-documents
.
Configurazione di schemi di analisi utilizzando AWS SDKs
AWS SDKs (ad eccezione di Android e iOS SDKs) supporta tutte le CloudSearch azioni Amazon definite nell'API di CloudSearch configurazione di Amazon, tra cuiDefineAnalysisScheme
. Per ulteriori informazioni sull'installazione e l'utilizzo di AWS SDKs, consulta AWS Software Development Kits
Importante
Per utilizzare uno schema di analisi, devi applicarlo a uno o più campi text
o text-array
e creare nuovamente l'indice. Puoi configurare lo schema di analisi di un campo con il metodo di definizione dei campi dell'indice. Per ricreare l'indice, utilizza il metodo di indicizzazione dei documenti.
Indicizzazione dei bigrammi per cinese, giapponese e coreano in Amazon CloudSearch
Poiché cinese, giapponese e coreano non dispongono di limiti delle parole espliciti, la semplice indicizzazione dei singoli caratteri (unigrammi) potrebbe comportare corrispondenze non pertinenti alla query di ricerca. Una soluzione è quella di indicizzare i bigrammi. Un bigramma è ogni sequenza di due caratteri adiacenti in una stringa. Ad esempio, l'esempio seguente mostra bigrammi della stringa 我的氣墊船裝滿了鱔魚 :
我的 的氣 氣墊 墊船 船裝 裝滿 滿了 了鱔 鱔魚
Anche se l'indicizzazione dei bigrammi può migliorare la qualità dei risultati di ricerca, tieni presente che può aumentare notevolmente le dimensioni dell'indice.
Per indicizzare i bigrammi per cinese, giapponese e coreano
Creare uno schema di analisi del testo e impostare la lingua su multilingue (
mul
).Configurare il campo dell'indice che contiene i dati CJK per utilizzare lo schema di analisi multilingue.
Quando assegni uno schema di analisi che imposta la lingua di un campomul
, Amazon genera CloudSearch automaticamente i bigrammi per tutto il testo in cinese, giapponese e coreano all'interno del campo.
Per ulteriori informazioni sulla creazione e l'utilizzo degli schemi di analisi, consultare Configurazione degli schemi di analisi.
Per indicizzare i contenuti in giapponese, potrebbe interessarti anche l'utilizzo di un dizionario di tokenizzazione personalizzato con il processore standard della lingua giapponese. Per ulteriori informazioni, consulta Personalizzazione della tokenizzazione del giapponese.
Personalizzazione della tokenizzazione giapponese in Amazon CloudSearch
Se hai bisogno di un maggiore controllo sul modo in cui Amazon CloudSearch tokenizza il giapponese, puoi aggiungere un dizionario di tokenizzazione giapponese personalizzato al tuo schema di analisi. La configurazione di un dizionario di tokenizzazione personalizzato ti consente di ignorare il modo in cui specifiche voci vengono tokenizzate dal processore standard della lingua giapponese. In questo modo, in alcuni casi, puoi migliorare la precisione dei risultati di ricerca, in particolare quando devi indicizzare e recuperare locuzioni specifiche del dominio.
Un dizionario di tokenizzazione è una raccolta di voci in cui ogni voce specifica un set di caratteri, come devono essere tokenizzati i caratteri, come deve essere pronunciato ogni token (letture) e un tag. part-of-speech Puoi specificare il dizionario come un array e ogni voce del dizionario è un array di stringhe. Le voci hanno la forma seguente:
["<text>","<token 1> ... <token n>","<reading 1> ... <reading n>","<part-of-speech tag>"]
È necessario specificare una lettura per ogni token e il tag per la voce. part-of-speech Per i tag part-of-speech trattati come stopword, consultare Part-of-SpeechTag giapponesi.
Puoi utilizzare la chiave JapaneseTokenizationDictionary
per definire un dizionario di tokenizzazione personalizzato in uno schema di analisi. Poiché passi il dizionario di tokenizzazione ad Amazon CloudSearch come stringa, devi evitare tutte le virgolette doppie all'interno della stringa. Ad esempio, il dizionario nello schema di analisi seguente specifica le sostituzioni della segmentazione per i composti delle scritture kanji e katakana e una lettura personalizzata per un nome proprio:
{ "AnalysisSchemeName": "jascheme", "AnalysisSchemeLanguage": "ja", "AnalysisOptions": { "Stopwords": "[\"a\", \"the\"]", "AlgorithmicStemming": "full", "JapaneseTokenizationDictionary": "[ [\"日本経済新聞\",\"日本 経済 新聞\",\"ニホン ケイザイ シンブン\",\"カスタム名詞\"],[\"トートバッグ\",\"トート バッグ\",\"トート バッグ\",\"かずカナ名詞\"],[\"朝青龍\",\"朝青龍\",\"アサショウリュウ\",\"カスタム人名\"] ]" } }
Quando configuri uno schema di analisi con AWS CLI, puoi memorizzare lo schema di analisi in un file di testo e specificare quel file come valore. --analysis-scheme
In questo modo puoi formattare lo schema per facilitarne la lettura. Ad esempio, se archivi lo schema di analisi jascheme
in un file denominato jascheme.txt
, puoi passare il file quando chiami aws cloudsearch
define-analysis-scheme
:
aws cloudsearch define-analysis-scheme --region us-east-1 --domain-name mydomain --analysis-scheme file://jascheme.txt
Per ulteriori informazioni sulla creazione e l'utilizzo degli schemi di analisi, consultare Configurazione degli schemi di analisi.
Part-of-SpeechTag giapponesi su Amazon CloudSearch
Quando si utilizza un dizionario di tokenizzazione personalizzato per il giapponese, si specifica un part-of-speech tag per ogni voce. Se il part-of-speech tag corrisponde a uno dei tag configurati come tag di arresto, la voce viene considerata una stopword.
La tabella seguente mostra la parte dei tag vocali configurati come tag di interruzione in Amazon CloudSearch.
Tag | Part-of-Speech | Descrizione |
---|---|---|
助動詞 | Auxiliary-verb | Verbo che aggiunge significato funzionale o grammaticale alla proposizione in cui appare. |
接続詞 | Conjunction | Congiunzioni che possono apparire in modo indipendente. |
フィラー | Filler | Aizuchi che appare durante una conversazione o suoni inseriti come riempitivi. |
非言語音 | Non-verbal | Suono non verbale. |
その他-間投 | Other-interjection | Parole difficili da classificare come suffissi di sostantivo o particelle finali di frasi. |
助詞-副詞化 | Particle-adnominalizer | "ni" e "to" che appaiono dopo sostantivi e avverbi. |
助詞-連体化 | Particle-adnominalizer | "no" associato ai sostantivi che modifica le parole non flessive. |
助詞-副助詞 | Particle-adverbial | Avverbio utilizzato per mostrare posizione, direzione del movimento e così via. |
助詞-副助詞/並立助詞/終助詞 | Particella- adverbial/conjunctive/final | Particella "ka" quando non si sa se è avverbiale, congiuntiva o finale di frase. |
助詞-格助詞-連語 | P article-case-compound | Composti di particelle e verbi che si comportano principalmente come particelle di caso. |
助詞-格助詞-一般 | P article-case-misc | Particelle di caso. |
助詞-格助詞-引用 | P article-case-quote | "to" che appare dopo sostantivi, discorso di una persona, virgolette, espressioni di decisioni da riunione, motivi, giudizi, congetture e così via. |
助詞-格助詞 | Particle-case | Particelle di caso in cui la sottoclassificazione non è definita. |
助詞-接続助詞 | Particle-conjunctive | Particelle congiuntive. |
助詞-並立助詞 | Particle-coordinate | Particelle di coordinazione. |
助詞-係助詞 | Particle-dependency | Particelle di dipendenza. |
助詞-終助詞 | Particle-final | Particelle finali. |
助詞-間投助詞 | Particle-interjective | Particelle con ruoli grammaticali di interiezione. |
助詞-特殊 | Particle-special | Particella che non rientra in nessun'altra classificazione. Sono incluse le particelle utilizzate nelle forme liriche Tanka, Haiku e di altro tipo. |
助詞 | Particle | Particelle non classificate. |
記号-括弧閉 | Symbol-close_bracket | Parentesi chiusa: ]. |
記号-読点 | Symbol-comma | Virgola: ,. |
記号-一般 | Symbol-misc | Simbolo generale che non rientra nelle altre categorie. |
記号-括弧開 | Symbol-open_bracket | Parentesi aperta: [. |
記号-句点 | Symbol-period | Periodi e punti. |
記号-空白 | Symbol-space | Spazio vuoto a larghezza intera. |
記号 | Symbol | Simboli non classificati. |