Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Taalhulpmiddelen bestaan uit woordonderbrekers en stemmers die de mogelijkheden voor het bouwen en opvragen van indexen uitbreiden naar nieuwe talen en regio's. Woordonderbrekers worden gebruikt tijdens het maken van indexen en het uitvoeren van query's. Stemmers worden alleen gebruikt voor het uitvoeren van query's. Windows Search gebruikt taalresource-DLL's om verbinding te maken met IWordBreaker- en IStemmer-implementaties voor een specifieke taalinstelling.
Dit onderwerp is als volgt ingedeeld:
Over taalbronnen
Windows Search maakt gebruik van een filter (een implementatie van de IFilter interface) en ILoadFilter voor toegang tot een document in de systeemeigen indeling. Het onderdeel IFilter extraheert tekstinhoud, eigenschappen en opmaak uit het document. De IFilter identificeert de landinstelling van het document dat wordt gefilterd. Het indexeringsonderdeel roept de juiste woordonderbreker voor die landinstelling aan. Als er geen beschikbaar is, roept het indexeringsonderdeel de neutrale woordonderbreker aan. De woordonderbreker ontvangt, van een IFilter, een invoerstroom unicode-tekens die de woordonderbreker parseert om afzonderlijke woorden en woordgroepen te produceren. De woordonderbreker normaliseert ook datum- en tijdnotaties. De indexeerfunctie normaliseert de woorden die door de woordonderbreker worden geproduceerd door de woorden te converteren naar alle hoofdletters. De indexeerfunctie slaat de hoofdletters op in de index voor volledige tekst, met uitzondering van ruiswoorden die zijn geïdentificeerd voor die landinstelling.
De volgende tabel bevat de acties en bijbehorende resultaten voor de zin 'Afbeelding 1 illustreert de rol van taalbronnen voor Windows Search tijdens het maken van de index'.
| Actie | Resulterende tekst |
|---|---|
| Oorspronkelijke tekst | Afbeelding 1 illustreert de rol van taalbronnen voor Windows Search tijdens het maken van de index. |
| Filteren | Afbeelding 1 illustreert de rol van taalbronnen voor Windows Search tijdens het maken van de index. |
| Woordafbreking | Afbeelding 1 illustreert de rol van taalbronnen voor Windows Search tijdens het creëren van de index EOS |
| Normalisatie | AFBEELDING, 1, ILLUSTREERT, DE, ROL, VAN, TAAL, RESOURCES, WINDOWS, ZOEKEN, TIJDENS, DE, INDEX, MAKEN, PROCES |
| Ruiswoord verwijderen | AFBEELDING, ILLUSTREERT, DE ROL VAN TAALBRONNEN IN HET WINDOWS-ZOEKPROCES TIJDENS DE INDEXMAAKPROCEDURE. |
| Opslaan in volledige-tekstindex | AFBEELDING, ILLUSTREERT, DE ROL VAN TAALBRONNEN IN HET WINDOWS-ZOEKPROCES TIJDENS DE INDEXMAAKPROCEDURE. |
Woordafbrekers en stemmers worden gebruikt om FREETEXT- query's tijdens het queryproces uit te breiden. De landinstelling van de query is de standaardinstelling, tenzij een taalcode-id (LCID) wordt doorgegeven als een queryparameter. Het queryonderdeel roept de juiste woordonderbreker aan op de querytermen die worden vermeld in de WHERE component van de query. Als de WHERE-component van de query bijvoorbeeld 'FREETEXT (appels, sinaasappels en peren' bevat), ontvangt de woordonderbreker de tekst 'appels, sinaasappels en peren'. Als de query-WHERE-component gebruikmaakt van de CONTAINS predicaat voor volledige tekst, wordt de tekstuitvoer van de woordonderbreker genormaliseerd. Anderzijds geeft het queryonderdeel elk woord dat wordt geïdentificeerd door de woordonderbreker door aan de juiste stemmer voor die taal en plaatsinstelling. De stemmer genereert een lijst met alternatieve of vervoegde vormen voor dat woord. Het queryonderdeel normaliseert de uitgebreide lijst met querytermen en verwijdert ruiswoorden.
De volgende tabel bevat de acties en bijbehorende resultaten voor de query 'appels, sinaasappels en peren'.
| Actie | Resulterende tekst |
|---|---|
| Oorspronkelijke tekst | appels, sinaasappelen en peren |
| Woordafbreking | appels, sinaasappelen en peren, EOS |
| Stemming | appel, appels, sinaasappel, oranjeachtig, sinaasappelen, en, peer, peren |
| Normalisatie | APPEL, APPELS, SINAASAPPEL, ORANJE, SINAASAPPELEN, EN PEREN, PEREN |
| Ruiswoord verwijderen | APPEL, APPELS, SINAASAPPEL, ORANJE, SINAASAPPELS, PEREN, PEREN |
| Uitgebreide lijst met querytermen | APPEL, APPELS, SINAASAPPEL, ORANJE, SINAASAPPELS, PEREN, PEREN |
De uitgebreide querytermen vergroten de kans dat de query documenten vindt die overeenkomen met de intentie van de oorspronkelijke query. Tekst die door de woordonderbreker of stemmer tijdens het uitvoeren van query's wordt gegenereerd, wordt niet opgeslagen op schijf.
Woordafbreking
Woordscheiding is de scheiding van tekst in afzonderlijke teksttokens of woorden. Veel talen, met name die met Romeinse alfabetten, hebben een matrix van woordscheidingstekens (zoals witruimte) en leestekens die worden gebruikt om woorden, woordgroepen en zinnen te onderscheiden. Woordonderbrekers moeten vertrouwen op nauwkeurige taal-heuristieken om betrouwbare en nauwkeurige resultaten te bieden. Woordafbreking is complexer voor op tekens gebaseerde systemen voor schrijven of op scripts gebaseerde alfabetten, waarbij de betekenis van afzonderlijke tekens wordt bepaald op basis van context. Zie Taalkundige en Unicode-overwegingenvoor meer informatie over taalkundige overwegingen die van invloed kunnen zijn op de implementatie van woordenonderbreking.
Stemming
Windows Search past stemmers uitsluitend toe op het moment van de zoekopdracht om extra woordvormen te genereren voor termen in FREETEXT en eigenschapsquery's. Stemmers voeren morfologische analyses uit en passen grammaticale regels toe om een lijst met alternatieve, of geïnflecteerde vormen voor woorden te genereren. Alternatieve vormen hebben vaak dezelfde stam of basisvorm. Door de geïnflecteerde formulieren voor een woord te genereren, retourneert Indexing Service queryresultaten die statistisch relevanter zijn voor een query. Een query in volledige tekst voor 'swim meet' komt bijvoorbeeld overeen met documenten die 'swim, swim's, swims, swims', swimming, swam, swum' of 'meet, meet's, meets, meets', meeting, met' en combinaties van deze termen bevatten.
Voor sommige talen is vereist dat geïnflecteerde termen worden gegenereerd op zowel index- als querytijd voor zowel standaard- en variantinflecties. In dit geval vindt de stemming plaats in het woordbrekercomponent, met minimaal stemwerk in de eigenlijke stemmer. De Japanse woordscheider voert bijvoorbeeld stemming uit tijdens zowel het maken van indexen als het uitvoeren van query's, zodat een query verschillende verbuigingen van de zoektermen kan vinden.
Normalisatie
Documenten van alle talen worden opgeslagen in één index. Hoewel woorden en taalkundige regels aanzienlijk verschillen, zijn er enkele overwegingen, zoals getallen, datums en tijden, die consistent worden verwerkt in alle woordonderbrekers. Zie Surface Form Normalizationvoor meer informatie over overwegingen voor normalisatie die van invloed kunnen zijn op de implementatie van uw woordafbreker.
Ruiswoorden
Ruiswoorden, ook wel stopwoorden genoemd, zijn woorden die geen significante indicatoren voor inhoud zijn. Indexing Service verwijdert ruiswoorden uit querytermen en uit inhoud die is opgenomen in de volledige-tekstindex. Een offset is het optreden van een woord in een document of in een lijst met zoektermen. De verschuiving van ruiswoorden in een document of query wordt als blanco geregistreerd. Het verwijderen van ruiswoorden verbetert de queryprestaties door onnodige indexgroei te voorkomen. Het verbetert ook de relevantie van queryresultaten. U kunt Windows Search configureren voor het gebruik van lijsten met ruiswoorden voor specifieke talen. Deze lijsten worden gebruikt wanneer een woordonderbreker wordt aangeroepen voor die taal. 'the' in de Engelse taal komt bijvoorbeeld zo vaak voor dat het weinig waarde heeft als een unieke sleutel. 'De' staat in de lijst met ruiswoorden, wordt niet aan de inhoudsindex toegevoegd en levert bij opvragen geen resultaten op.
Ruiswoorden fungeren als plaatsaanduidingen in zinsdeelzoekopdrachten. Een document dat de tekst 'wag the dog' bevat, wordt opgeslagen in de index met 'wag' op positie 1 en 'dog' op positie 3. De zinnenzoekopdracht 'wag dog' komt niet overeen, maar de zinnenzoekopdracht 'wag a dog' komt wel overeen, omdat de informatie over het voorkomen overeenkomt. De uitdrukking 'wag purple dog' komt niet overeen omdat 'paars' niet wordt gevonden in de index bij de tweede verschijning. Een query voor 'wag the dog' retourneert echter documenten die 'wag paarse hond' bevatten, omdat er geen manier is om efficiënt te bepalen of het document een niet-ruiswoord heeft tussen 'wag' en 'hond'.
Verwante onderwerpen