Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a témakör az agglutinatív nyelvek és a Unicode helyettesítő párok alapvető szempontjait ismerteti, valamint azt, hogy a helyettesítő párok használatával kiterjeszthető-e a Unicode karakterkészlet a különböző karakterkészletek elhelyezésére. Ez a témakör azt is ismerteti, hogyan azonosítják a szótörések a szövegben lévő kifejezéseket, és hogyan kezelik a nem törhető szóközöket, és hogyan kezelik a szóhatárolók és az ősök a számokat és dátumokat, az összetett szavakat, az összetett kifejezéseket, a speciális szavakat és karaktereket, a betűszókat és a rövidítéseket, valamint a nagybetűket.
Ez a témakör a következőképpen van rendszerezve:
- kifejezésazonosító
- agglutinatív nyelvek
- számok, időpontok és dátumok
- összetett szavak
- összetett kifejezések
- Speciális karakterek és szavak
- rövidítések és rövidítések
- nagybetűs
- nem törhető szóközök
- helyettesítő párok
Kifejezésazonosítás
A kifejezések olyan szavak vagy szavak egy csoportja, amelyeket egy vagy több más módosít. A kifejezéseket nehéz következetesen azonosítani, mert ugyanaz a módosító több, azonos főnévvel rendelkező kifejezésben is használható. Például: "új ház", "Parlament Háza", "új Parlament".
A Windows Search leggyakrabban lekérdezési időben használ kifejezéseket. A lekérdezési szövegben lévő kifejezések nagyobb súlyt kapnak, mint az egyes szavak. Az előző példában a "Parlament háza" című dokumentumot a dokumentum különböző pontjain a "Ház" és a "Parlament" értéknél magasabbra rangsoroljuk. Azt javasoljuk, hogy a szóhatárolók lekérdezéskor generáljanak egy kifejezést, ha a kifejezés valószínűleg megfelel legalább egy dokumentumnak.
Agglutinatív nyelvek
Az agglutinatív nyelvek kisebb alakváltások kombinációjával alkotnak szavakat összetett ötletek kifejezéséhez. Ezen alakváltások mindegyike általában egy jelentéssel vagy függvénnyel rendelkezik, és a kombinációs folyamat során megőrzi eredeti formáját és jelentését. Az agglutinatív morfológiával rendelkező nyelvek esetében, mint például a török, finn, magyar vagy koreai, több ezer űrlapot lehet létrehozni egy adott gyökérszavakhoz.
Az alábbi táblázat a finn "talo" ("ház") szóhoz tartozó felfújt űrlapok listáját mutatja be.
| Szó | Fordítás |
|---|---|
| Talo | Ház |
| Taloni | Házam |
| Talossa | A házban |
| Talossani | A házamban |
| Taloja | Házak |
| Taloissa | A házakban |
Az inflektált nyelvek, például az angol, a francia és a latin, nagyon kevés lehetséges szóalaktal rendelkeznek egy gyökérszavakhoz. A felfújt nyelvekben a morfoemák befolyásolják egymást kötéskor. A legtöbb inflexiós változás megtalálható a szárban vagy a szóvégződésben. Az agglutinatív nyelvekkel ellentétben a felfújt nyelvek általában különböző függvényekkel rendelkeznek egyetlen alakváltáshoz. Egy alakváltás például meghatározhatja a számot és a kis- és nagybetűt is.
Az agglutinatív nyelvek stemmerjeinek mérlegelniük kell a teljesítmény és a pontosság közötti kompromisszumot, hogy a lehetséges szóalakok számának csak egy részhalmazát generálják.
Számok, időpontok és dátumok
A szavak megszakítóinak a számok, az időpontok és a dátumok közös formátumát kell használniuk a következetes lekérdezés megkönnyítése érdekében.
Amikor létrehoz egy szóválasztót, azt javasoljuk, hogy a szóhatároló normalizálja a számokat a "NNddDcc" mintával, ahol az NN az "NN" literális sorozat, dd a szám egész része, d a "D" szó, és cc a szám törtrésze. A szóhatárolók nem korlátozzák a számjegyek számát sem az egész számra, sem a szám törtrészére. Azt javasoljuk, hogy a szóválasztók felismerjék a pontokkal (.) és a vesszőkkel (,) elválasztott numerikus mintákat. A Windows Search például az "1000.2" és az "1.000,2" értéket is "NN1000D2" értékként jelöli.
Válasszon egy formátumot a szóhatárolóhoz és a szárhoz is. Az egy bájtos arab számokat úgy normalizálja a rendszer, hogy az ilyen űrlapokat tartalmazó lekérdezések megegyeznek a többi űrlap dokumentumaival.
Amikor létrehoz egy szóhatárolót, javasoljuk, hogy a szóhatároló mindig 24 órás ábrázolásként jelenik meg a "TThhmmss" mintával, ahol a TT a "TT" szóelőtag, óó az óra, mm a perc, ss pedig a másodperc. A Windows Search nem egyezik meg a további időegységekkel, például ezredmásodpercekkel. Az A.M. és a P.M. minták elemzése nem kötelező.
Amikor létrehoz egy szóhatárolót, javasoljuk, hogy a szóhatároló "DDyymmddd" formátumban hozzon létre dátumokat, ahol a DD a literális "DD", ééééé az évek, mm a hónapok, a dd a napok. Azt is javasoljuk, hogy a szóválasztók kétjegyű éveket tároljanak huszadik századi és huszonegyedik századi formátumban is. A szóhatárolók például a "2.2.99"-et "DD19990202" és "DD20990202" értékként jelölik. Lekérdezéskor a Windows Search a dátumot a Windows alkalmazásprogramozási felületeinek (API-k) használatával adja meg a kiszolgáló keresztátvételi dátumának meghatározásához a megfelelő formátum megjelenítéséhez, 19XX vagy 20XX.
Összetett szavak
Egyes nyelvekben, például a németben a főnevek egyszerűbb főnevekből állnak. Ezek az összetett főnevek túl specifikusak a lekérdezés ésszerű visszahívásához. A "Versicherung" ("biztosítás") lekérdezése például felbontás nélkül nem egyezik meg a "Lebensversicherungsgesellschaft" ("életbiztosítási értékesítő") kifejezéssel. Ilyen esetekben azt javasoljuk, hogy a szóhatárolók ezeket az összetett szavakat alapösszetevőkre bontják az index létrehozása és a lekérdezés ideje alatt. A német szóválasztó a "Lebensversicherungsgesellschaft" szót a "Leben", a "Versicherung" és a "Gesellschaft" összetevőkre bontja. Ugyanazt a felbontást alkalmazza a lekérdezési időpontban, valamint az egyes eredményül kapott kifejezések esetében választhatóan.
Összetett kifejezések
Egyes nyelvek, például a koreaiak, összetett kifejezéseket tartalmaznak, amelyek számos különböző módon törhetők fel. A koreai kifejezések tartalomszavakból, például főnevekből, névmásokból, igékből és melléknevekből állnak, amelyeket funkcionális szavak. A funkcionális szavak posztpozíciókban és végződésekben találhatók. A posztpozíciók a főnév vagy a névmás funkcionális szerepét jelölik egy mondatban; végződések jelzik az ige vagy melléknév funkcionális szerepét.
Egy kifejezés több elemzéssel is rendelkezhet, és minden elemzés több tartalomszavat is tartalmazhat. A megszakítónak nyelvspecifikus heurisztikusokat kell alkalmaznia annak meghatározásához, hogy kontextusból mennyi súlyt kell adni a különböző elemzéseknek. A szóhatároló az eredményként kapott összetevőszavak száma alapján meghatározhatja, hogy melyik felbontást használja. Egyes szótörések előnyben részesíthetik a hosszabb kifejezések rövid sorozatait, míg más szóválasztók a kisebb szavak hosszú sorozatait is előnyben részesíthetik.
Egy másik szempont, hogy koreai nyelven a főnevek és a névmások a megfelelő funkcionális szavak nélkül tárolhatók az indexben. A koreai egy agglutinatív nyelv, és számos szóvégződést egyesít az igékkel és melléknevekkel, hogy számtalan felfújt formát képezzen. A kifejezésekben azonosított igék és melléknevek az indexben lévő végződésekkel vannak mentve, de a szóválasztó nem hoz létre új űrlapokat.
Speciális karakterek és szavak
A speciális karakterek olyan karakterek, mint a "," "©" és "™". Ezeket a karaktereket ritkán használják a lekérdezésekben. A szóhatárolóknak speciális karaktereket kell levetkőzítenie az index létrehozásakor és a lekérdezési időpontban.
Azt javasoljuk, hogy a szóválasztók felismerjék a speciális szavakat, például a "C++", a "C#", a ".NET" osztályzatokat és a zenei jelöléseket. A szótörések nyelv heurisztikus használatával azonosíthatják a speciális szavak mintáját. A szóhatárolók olyan egyéni szótárat is használhatnak, amely felismert speciális szavakat tartalmaz.
Betűszavak és rövidítések
A szóhatároló implementálásakor figyelembe kell venni a rövidítéseket és a rövidítéseket. Sok nyelven a betűszók egyes betűi pontokkal vannak elválasztva. Időnként a nem felismert rövidítéseket vagy rövidítéseket tartalmazó szavak rövidítése is előfordul. Az "Amerikai Egyesült Államok" rövidítése lehet például "USA" vagy "USA". A Windows Searchben található szóhatárolók általában egybetűs szavakat azonosítanak zajszavakként, és helyőrzőként kezelik ezeket a szavakat a lekérdezési idő alatt. A lekérdezési idő alatt egy olyan szóhatároló, amely nem ismeri a gyakori mozaikszavakat, vagy amelyek nem ismerik fel a rövidítéseket, az "U.S.A." rövidítést "U", "S" és "A" rövidítéssé alakítja. Ez a felbontás nem biztosít elegendő információt a teljes szöveges indexben lévő szavak egyeztetéséhez, mivel a lekérdezési kifejezések zajszavak. Szóhatároló létrehozásakor azt javasoljuk, hogy a szóválasztó távolítsa el azokat a szakaszokat, amelyek elválasztják a betűszók betűit. A példában az "USA" az "USA", a lekérdezési kifejezés pedig az "USA"-t tartalmazza. Ha egy szóhatároló feldolgoz egy rövidítést, a rövidítésben szereplő időszak nem lesz EOS-törésként kezelve. Emiatt előfordulhat, hogy egy szóválasztó nem azonosítja megfelelően az EOS-törést, ha a rövidítés a mondat végén van.
Tőkésítés
A Windows Search jelenleg nem őrzi meg a nagybetűket, amikor szavakat ment a teljes szöveges indexbe. A szóhatárolók és az ősök nem módosíthatják a szavak esetét.
Nem törhető szóközök
Ha szóhatárolót hoz létre, azt javasoljuk, hogy győződjön meg arról, hogy a szóhatároló szóelválasztóként kezeli a nem törhető szóközöket. Azt is javasoljuk, hogy a szóhatároló alternatív formákat hozzon létre a szóból, nem törhető szóközökkel és anélkül. Egyes karakterek, például aláhúzásjelek, speciális karakterek, amelyek nem törhető karakterekként vannak kezelve a szöveg forrásából adódóan. A forráskód vagy fájlnevek például aláhúzásjeleket tartalmazhatnak nem törhető karakterekként.
Helyettesítő párok
A helyettesítő párok olyan karakterábrázolások a forráskódban, amelyek egyetlen karaktert jelölnek, amely két Unicode-érték sorozatából áll. Egy kódolt párban az első érték magas helyettesítő, a második pedig alacsony helyettesítő. A magas helyettesítő karakter az U+D800 és U+DBFF közötti tartomány egyik karaktere. Az alacsony helyettesítő karakter az U+DC00 és U+DFFF közötti tartományban lévő karakter. A helyettesítő párok a Unicode karakteren túlra is kiterjesztik a karakterkészletet. Azt javasoljuk, hogy a helyettesítő párok kezelésekor a szóválasztók a következő szabályokat használják:
- A magas helyettesnek egy alacsony helyettes előtt kell lennie.
- Az alacsony helyettesnek magas helyettest kell követnie.
- A magas vagy alacsony helyettesítő nem megfelelő értéket a másik fele nincs értelme.
A szóválasztóknak figyelembe kell venniük a párokat, és létre kell hozniuk a párokat az indexben. További információ: helyettesítők és kiegészítő karakterek.