A nyelvi erőforrás összetevőinek ismertetése

A nyelvi erőforrások szóhatárolókból és szótövezőkből állnak, amelyek kiterjesztik az indexépítési és lekérdezési képességeket új nyelvekre és területi beállításokra. Az index létrehozása és lekérdezése során szóhatárolók is használhatók. A stemmereket csak lekérdezéshez használják. A Windows Search nyelvi erőforrás-DLL-eket használ arra, hogy csatlakozzon az IWordBreaker és IStemmer implementációkhoz egy adott nyelvi helyi beállítás számára.

Ez a témakör a következőképpen van rendszerezve:

Tudnivalók a nyelvi erőforrásokról

A Windows Search egy szűrőt (a IFilter felület implementációját) és ILoadFilter használ a dokumentumok natív formátumban való eléréséhez. Az IFilter összetevő kinyeri a szöveg tartalmát, tulajdonságait és formázását a dokumentumból. Az IFilter azonosítja a szűrt dokumentum területi beállítását. Az indexelő összetevő meghívja a területi beállításhoz megfelelő szóhatárolót. Ha egyik sem érhető el, az indexelő összetevő meghívja a semleges szóválasztót. A szóhatároló az IFilteráltal Unicode-karakterekből álló bemeneti adatfolyamot kap, amelyet a szóhatároló elemez, hogy egyéni szavakat és kifejezéseket alkosson. A szóhatároló a dátum- és időformátumokat is normalizálja. Az indexelő normalizálja a szóhatároló által előállított szavakat úgy, hogy a szavakat az összes nagybetűre konvertálja. Az indexelő a nagybetűs szavakat menti a szöveges indexbe, a zajszavak kivételével, amelyeket az adott területhez azonosítottak.

Az alábbi táblázat az "1. ábra a Windows Search nyelvi erőforrásainak szerepét szemlélteti az indexlétrehozási folyamat során" mondat műveleteit és a hozzájuk tartozó eredményeket sorolja fel.

Akció Eredményként kapott szöveg
Eredeti szöveg Az 1. ábra a Windows Search nyelvi erőforrásainak szerepét mutatja be az indexlétrehozási folyamat során.
Szűrés Az 1. ábra a Windows Search nyelvi erőforrásainak szerepét mutatja be az indexlétrehozási folyamat során.
Szótörés 1. ábra szemlélteti a nyelvi erőforrások szerepét a Windows Search számára az index létrehozási folyamat során EOS
Normalizálás 1. ábra szemlélteti a nyelvi erőforrások szerepét a Windows keresés során az index létrehozási folyamatban.
Zajszó eltávolítása ÁBRA, ÁBRA, SZEREPKÖR, NYELV, ERŐFORRÁSOK, WINDOWS, KERESÉS, ALATT, INDEXELÉS, LÉTREHOZÁS, FOLYAMAT
Mentés teljes szöveges indexbe ÁBRA, ÁBRA, SZEREPKÖR, NYELV, ERŐFORRÁSOK, WINDOWS, KERESÉS, ALATT, INDEXELÉS, LÉTREHOZÁS, FOLYAMAT

 

A szóelválasztók és a szótövezők a FREETEXT lekérdezések kibontására szolgálnak a lekérdezés idején. A lekérdezés területi beállítása az alapértelmezett területi beállítás, kivéve, ha a rendszer nem ad át egy nyelvi kódazonosítót (LCID) lekérdezési paraméterként. A lekérdezési összetevő meghívja a megfelelő szóhatárolót a lekérdezés WHERE záradékában felsorolt lekérdezési kifejezésekre. Ha például a lekérdezés WHERE záradéka tartalmazza a "FREETEXT (alma, narancs és körte) szöveget, a megszakító a következő szöveget kapja: "alma, narancs és körte". Ha a WHERE lekérdezési záradék a CONTAINS teljes szöveges predikátumot használja, a szóhatároló szövegkimenete normalizálódik. Ellenkező esetben a lekérdezési összetevő átadja a szóválasztó által azonosított összes szót az adott nyelvhez és területi beállításhoz megfelelő őselemnek. A szótőelemző létrehozza az adott szó alternatív vagy ragozott alakjainak listáját. A lekérdezési összetevő normalizálja a lekérdezési kifejezések kibontott listáját, és eltávolítja a zajszavakat.

Az alábbi táblázat az "alma, narancs és körte" lekérdezés műveleteit és megfelelő eredményeit sorolja fel.

Akció Eredményként kapott szöveg
Eredeti szöveg alma, narancs és körte
Szótörés alma, narancs és körte, EOS
Tőszármaztatás alma, almák, narancs, narancsos, narancsok, és, körte, körték
Normalizálás ALMA, ALMÁK, NARANCS, NARANCSSÁRGA, NARANCSOK, ÉS, KÖRTE, KÖRTÉK
Zajszó eltávolítása ALMA, ALMÁK, NARANCS, NARANCSSÁRGA, NARANCSOK, KÖRTE, KÖRTÉK
A lekérdezési kifejezések bővített listája ALMA, ALMÁK, NARANCS, NARANCSSÁRGA, NARANCSOK, KÖRTE, KÖRTÉK

 

A bővített lekérdezési kifejezések növelik annak valószínűségét, hogy a lekérdezés olyan dokumentumokat talál, amelyek megfelelnek az eredeti lekérdezés szándékának. A lekérdezéskor a szóhatároló vagy szótőelemző által generált szöveg nem kerül tárolásra a lemezen.

Szótörés

A szótörés a szöveg különálló szövegelemekre való elválasztása. Sok nyelv, különösen a római ábécével rendelkező nyelvekben szóelválasztók (például szóközök) és írásjelek tömbje van, amelyek szavak, kifejezések és mondatok megkülönböztetésére szolgálnak. A szóválasztóknak pontos nyelvi heurisztikai adatokra kell támaszkodniuk, hogy megbízható és pontos eredményeket nyújtsanak. A szavak feltörése összetettebb a karakteralapú írási vagy szkriptalapú ábécék esetében, ahol az egyes karakterek jelentését a környezet határozza meg. A szóhatároló implementációját érintő nyelvi megfontolásokról további információt Nyelvi és Unicode-szempontokcímű témakörben talál.

Tőszármaztatás

A Windows Search kizárólag lekérdezési időben alkalmazza a stemmereket, hogy további szóalakokat generáljon a SZABADSZÖVEG- és a tulajdonság alapú lekérdezésekben. A stemmerek morfológiai elemzést végeznek, és nyelvtani szabályokat alkalmaznak a szavak alternatív vagy ragozott alakjainak létrehozására. Az alternatív alakok gyakran ugyanazzal a tövvel vagy alapformával rendelkeznek. Az Indexelő szolgáltatás egy szóhoz tartozó felfújt űrlapok létrehozásával olyan lekérdezési eredményeket ad vissza, amelyek statisztikailag relevánsabbak egy lekérdezéshez. "Például egy teljes szöveges lekérdezés az 'úszóverseny' kifejezésre egyezik meg az 'úszik, úszik, úszik, úszik', 'úszott', 'úszott', 'meet', 'meet', 'meets', 'meeting', 'met' vagy ezeknek a kifejezéseknek a kombinációit tartalmazó dokumentumokkal."

Egyes nyelvek megkövetelik, hogy a ragozott kifejezések mind az indexeléskor, mind a lekérdezéskor létre legyenek hozva mind a standard, mind a variáns inflexiók esetében. Ebben az esetben a szótövezés a szótörő összetevőben történik, miközben a tényleges tövezőben minimális szótövezési munka zajlik. A japán szóelemző például az index létrehozása és a lekérdezés során is végrehajt lemmozást, hogy lehetővé tegye a lekérdezések számára a keresőkifejezések különböző ragozott formáinak megkeresését.

Normalizálás

Az összes nyelv dokumentumai egyetlen indexben vannak tárolva. Bár a szavak és a nyelvi szabályok jelentősen eltérnek egymástól, van néhány szempont, például a számok, a dátumok és az időpontok, amelyeket minden szótörésben következetesen kezelnek. A szóhatároló implementációját érintő normalizálási szempontokról további információt Surface Form Normalizationcímű témakörben talál.

Zajszavak

A zajszavak, más néven szűrőszavak, olyan szavak, amelyek nem jelentenek jelentős tartalommutatót. Az Indexelő szolgáltatás eltávolítja a zajszavakat a lekérdezési kifejezésekből és a teljes szöveges indexben található tartalmakból. Az eltolás egy szó előfordulását jelenti egy dokumentumban vagy a lekérdezési kifejezések listájában. A dokumentumban vagy lekérdezésben lévő zajszavak elhelyezkedése üresként kerül rögzítésre. A zajos szavak eltávolítása a szükségtelen indexnövekedés elkerülésével javítja a lekérdezési teljesítményt. Emellett javítja a lekérdezési eredmények relevanciáját is. A Windows Search úgy konfigurálható, hogy adott nyelvekhez zajszavak listáit használja. Ezeket a listákat akkor használja a rendszer, ha egy szótörőt hív meg az adott nyelvhez. Például az angol nyelvben a "the" olyan gyakran fordul elő, hogy kevés értéket ad meg egyedi kulcsként. A "The" a zajszavak listájában van, nem a tartalomindexbe van írva, és ha lekérdezik, akkor nem ad vissza eredményt.

A zajos szavak helyőrzőként működnek a kifejezés-lekérdezésekben. Egy olyan dokumentum, amely a "wag the dog" szöveget tartalmazza, az indexben úgy van tárolva, hogy a "wag" az 1. előfordulásnál, és a "dog" a 3. előfordulásnál jelenik meg. A "wag dog" kifejezés nem talál egyezést, de a "wag a dog" kifejezés igen, mert az előfordulási adatok megegyeznek. A "wag purple dog" kifejezés nem egyezik, mert a "lila" nem található az indexben a 2. előforduláskor. A "wag the dog" lekérdezés azonban olyan dokumentumokat ad vissza, amelyek tartalmazzák a "wag lila kutyát", mert nem lehet hatékonyan megállapítani, hogy a dokumentum nem volt-e zajmentes szó a "wag" és a "dog" között.

nyelvi erőforrások kibővítése

Word Breaker és Stemmer implementálása

nyelvi és Unicode-szempontok

Nyelvi erőforrások és ajánlott eljárások hibaelhárítása