Condividi tramite


Informazioni sui componenti delle risorse linguistiche

Le risorse di linguaggio sono costituite da segmentatori di parole e stemmer che estendono le funzionalità di compilazione e interrogazione degli indici a nuove lingue e locali. I word breaker vengono usati durante la creazione dell'indice e l'esecuzione di query. Gli stemmer vengono usati solo per le interrogazioni. Windows Search utilizza DLL delle risorse linguistiche per associare le implementazioni di IWordBreaker e IStemmer a impostazioni locali specifiche della lingua.

Questo argomento è organizzato come segue:

Informazioni sulle risorse del linguaggio

Windows Search usa un filtro (un'implementazione dell'interfacciaIFilter) e ILoadFilter per accedere a un documento nel formato nativo. Il componenteIFilterestrae contenuto di testo, proprietà e formattazione dal documento. Il IFilter identifica le impostazioni locali del documento che filtra. Il componente di indicizzazione richiama il segmentatore di parole appropriato per quel locale. Se non è disponibile, il componente di indicizzazione richiama il word breaker neutro. Il word breaker riceve, da un IFilter, un flusso di input di caratteri Unicode analizzato dal word breaker per produrre singole parole e frasi. Il word breaker normalizza anche i formati di data e ora. L'indicizzatore normalizza le parole prodotte dal word breaker convertendo le parole in tutte le lettere maiuscole. L'indicizzatore salva le parole maiuscole nell'indice full-text, ad eccezione delle parole non significative identificate per tali impostazioni locali.

La tabella seguente elenca le azioni e i risultati corrispondenti per la frase "Figura 1 illustra il ruolo delle risorse linguistiche per Windows Search durante il processo di creazione dell'indice".

Azione Testo risultante
Testo originale La figura 1 illustra il ruolo delle risorse linguistiche per Windows Search durante il processo di creazione dell'indice.
Filtraggio La figura 1 illustra il ruolo delle risorse linguistiche per Windows Search durante il processo di creazione dell'indice.
Spezzatura delle parole Figura 1 illustra il ruolo delle risorse linguistiche per la ricerca di Windows durante il processo di creazione dell'indice EOS
Normalizzazione FIGURA 1 ILLUSTRA IL RUOLO DELLE RISORSE LINGUISTICHE DI WINDOWS SEARCH DURANTE IL PROCESSO DI CREAZIONE DELL'INDICE
Rimozione di parole non significative La figura illustra il ruolo delle risorse linguistiche di Windows nella ricerca durante il processo di creazione dell'indice.
Salva nell'indice di testo integrale FIGURA, ILLUSTRA, RUOLO, LINGUA, RISORSE, WINDOWS, RICERCA, DURANTE, INDICE, CREAZIONE, PROCESSO

 

Word breaker e stemmer vengono usati per espandere le query FREETEXT al momento dell'esecuzione della query. Le impostazioni locali della query sono le impostazioni locali predefinite, a meno che non venga passato un identificatore di codice di lingua (LCID) come parametro di query. Il componente di query richiama il word breaker appropriato nei termini della query elencati nella clausola WHERE della query. Ad esempio, se la clausola WHERE della query contiene "FREETEXT (mele, arance e pere)", il word breaker riceve il testo "mele, arance e pere". Se la clausola WHERE della query usa il predicato full-text CONTAINS, l'output di testo del word breaker viene normalizzato. In caso contrario, il componente di query passa ogni parola identificata dal word breaker allo stemmer appropriato per quella lingua e per il contesto locale. Lo stemmer genera un elenco di forme alternative o flessive per tale parola. Il componente di query normalizza l'elenco espanso di termini di query e rimuove le parole superflue.

Nella tabella seguente sono elencate le azioni e i risultati corrispondenti per la query "mele, arance e pere".

Azione Testo risultante
Testo originale mele, arance e pere
Suddivisione delle parole mele, arance e pere, EOS
Stemming mela, mele, arancia, orangato, arance, e, pera, pere
Normalizzazione MELA, MELE, ARANCIONE, ARANCIONE, ARANCIONI, E, PERA, PERE, PERE
Rimozione di parole non significative MELA, MELE, ARANCIA, ARANCIATO, ARANCE, PERA, PERE
Elenco ampliato dei termini di ricerca MELA, MELE, ARANCIA, ARANCIATO, ARANCE, PERA, PERE

 

I termini di query espansi aumentano la probabilità che la query trovi i documenti che corrispondono alla finalità della query originale. Il testo generato dal word breaker o dallo stemmer in fase di query non viene archiviato su disco.

Divisione delle parole

Word breaking è la separazione del testo in singoli token di testo o parole. Molte lingue, in particolare quelle con alfabeti romani, hanno una matrice di separatori di parole (ad esempio spazi vuoti) e punteggiatura usati per distinguere parole, frasi e frasi. Gli analizzatori di parole devono basarsi su euristiche linguistiche accurate per fornire risultati affidabili e accurati. L'interruzione delle parole è più complessa per i sistemi basati su caratteri di scrittura o alfabeti basati su script, in cui il significato dei singoli caratteri viene determinato dal contesto. Per altre informazioni sulle considerazioni linguistiche che possono influire sull'implementazione del word breaker, vedere Considerazioni linguistiche e Unicode.

Stemmatizzazione

Windows Search applica stemmer esclusivamente in fase di query per generare moduli di parole aggiuntivi per termini in query freeTEXT e proprietà. Gli algoritmi di stemming eseguono l'analisi morfologica e applicano regole grammaticali per generare un elenco di forme alternative o flesse per le parole. Le forme alternative hanno spesso lo stesso stelo o forma di base. Generando le forme flesse per una parola, il servizio di indicizzazione restituisce risultati statisticamente più rilevanti per la query. Ad esempio, una query full-text per "competizione di nuoto" corrisponde ai documenti che contengono "nuoto, nuotata, nuotate, nuotando, nuotato" o "incontro, incontro's, incontri, incontri', riunione, incontrato" e combinazioni di questi termini.

Alcune lingue richiedono che i termini flessi vengano generati sia in fase di indicizzazione che in fase di ricerca per le flessioni standard e varianti. In questo caso, lo stemming avviene nel componente word breaker, con un lavoro minimo di stemming nello stemmer effettivo. Ad esempio, il word breaker giapponese esegue lo stemming durante la creazione dell'indice e l'esecuzione di query per consentire a una query di individuare forme flesse diverse dei termini di ricerca.

Normalizzazione

I documenti di tutte le lingue vengono archiviati in un singolo indice. Anche se le parole e le regole linguistiche differiscono notevolmente, esistono alcune considerazioni, ad esempio numeri, date e ore, gestite in modo coerente in tutti i word breaker. Per ulteriori informazioni sulle considerazioni riguardanti la normalizzazione che potrebbero influire sull'implementazione del "word breaker", consulta la sezione Normalizzazione della Forma Superficiale.

Parole non significative

Le parole non significative, note anche come parole stop, sono parole che non sono indicatori significativi per il contenuto. Il servizio di indicizzazione elimina le parole di disturbo dai termini di query e dal contenuto incluso nell'indice a testo completo. Un offset è l'occorrenza di una parola in un documento o in un elenco di elementi di ricerca. L'offset delle parole non significative in un documento o in una query viene registrato come spazio vuoto. La rimozione delle parole non significative migliora le prestazioni delle query evitando la crescita dell'indice non necessaria. Migliora anche la pertinenza dei risultati delle query. È possibile configurare Windows Search per utilizzare elenchi di parole rumore per lingue specifiche. Questi elenchi vengono utilizzati quando viene attivato un word breaker per quella lingua. Ad esempio, "the" nella lingua inglese si verifica così spesso che ha un valore minimo come chiave univoca. "The" si trova nell'elenco di parole irrilevanti, non viene scritto nell'indice del contenuto e, se sottoposto a query, non restituisce alcun risultato.

Le parole non significative agiscono come segnaposto nelle ricerche frasali. Un documento che contiene il testo "wag the dog" viene archiviato nell'indice con "wag" all'occorrenza 1 e "dog" all'occorrenza 3. La query "wag dog" non corrisponde, mentre la query "wag a dog" sì, perché le informazioni sull'occorrenza corrispondono. La frase "cane viola" non corrisponde perché "viola" non viene trovato nell'indice all'occorrenza 2. Tuttavia, una query per "wag the dog" restituisce documenti che contengono "cane viola" perché non esiste alcun modo per determinare in modo efficiente se il documento aveva una parola non rumorosa tra "wag" e "cane".

L'estensione delle risorse della lingua

Implementazione di word breaker e stemmer

Considerazioni Linguistiche e Unicode

risoluzione dei problemi relativi alle risorse linguistiche e alle migliori pratiche