Az osztályozási problémákról

Ebben és a következő beosztásokban az ujjakon szeretnék leírni a szöveges dokumentumok egyszerű osztályozói folyamatát, valamint a dokumentumok osztályozásában használt filisztikus nézőpontból néhány atipikus megközelítésről beszélni.







Az osztályozó olyan algoritmus, amely bizonyos bemeneti adatokat egy vagy több osztályba korrelál. A klaszterezési algoritmusokkal ellentétben ezeket az osztályokat előre meg kell határozni.

Talán valaki ezt a definíciót túlságosan általánosnak vagy akadémiainak látja, ezért jobb, ha példákat vesz figyelembe a besorolás problémájával. És több mint elégséges példa.

Mindenütt vannak

Talán az automatikus osztályozás legszembetűnőbb példája a spamszűrés. Minden nap tíz, ha nem több száz spam levél érkezik a dobozomra, amely automatikusan kiszűri a beérkező levelemről.

Az osztályozási problémákról

A modern kereskedelmi rendszerek képesek 99% -ot meghaladó pontossággal szűrni a levélszemetet, a másik pedig meglehetősen tipikus példa az adott szöveg tárgyának automatikus meghatározására. Egyes híroldalók ezt a megközelítést alkalmazzák a gazdasági hírek, a politika, a társadalmi élet stb.

Gyakran előfordul, hogy az osztályozás az alap, amelyen összetettebb problémák megoldására szolgáló algoritmusok épülnek fel. Például a besorolást tanácsadó rendszerek létrehozásakor használják, különösen az együttműködésen alapuló szűrés végrehajtásakor.

Az osztályozási problémákról

A Safari Reader Mode egy másik példa, ahol a besorolási algoritmusokat használják a végső cél eléréséhez. A böngésző ezen módjának lényege, hogy lehetővé teszi, hogy automatikusan eltávolítsa az oldalról az összes lapot, amelyek nem kapcsolódnak az oldal 2 tartalmához.

Az osztályozási problémákról

A besorolást az arcfelismerés és az arcfelismerés problémáiban is használják.

Az osztályozási problémákról

A besorolást számos más feladat megoldására használják:

  • a homonímia eltávolítása a természetes nyelvek feldolgozásában;
  • a keresőmotorokban - korlátozza a keresés hatókörét a pontosság javítása érdekében (vertikális keresés);
  • a szöveg automatikus felismerése;
  • hangelemzés (a szöveg érzelmi színének meghatározása).






Ezt a listát sokáig lehet folytatni. Például az orvostudományban az osztályozási algoritmusokat használják az agy 3D modelljének rekonstruálására a 3. kép MRI sorozatából, valamint az Alzheimer-kórban szenvedő betegek diagnosztizálására.

A hagyományos megközelítések

Szabály szerinti besorolás

Ha a szövegek osztályozásának feladatáról beszélünk, talán a hagyományos megoldás a szabály alapú besorolás. Végrehajtja a dokumentumosztály szövegének definícióját, ha más-más kifejezések (kód a Scala-ban).

Ez a megközelítés jó megoldás, ha olyan kis dokumentumok gyűjteményével dolgozik, amelyekkel fedezheti és gondosan elemezheti. Egyszerűen azért, mert egyértelműen szabályozza azokat a szabályokat, amelyek alapján az osztályozó dönt. De ennek a megközelítésnek nyilvánvaló hátrányai vannak:

  • A besoroláshoz fontos szavak kiválasztásához szakértelemre van szükség a témakörben. Van például olyan megfontolásokkal kapcsolatos megfontolások, amelyek jól megkülönböztethetők a pénzügyi témákkal foglalkozó dokumentumoktól a gazdasági dokumentumoktól? Számomra nagyon homályos;
  • nem mindig jelenti azt a tényt, hogy egyetlen szó jelenléte vagy hiánya döntő tényező a döntéshozatalban.

Hadd mutassam be az utolsó pontot. Ha visszamennek a levélszemét-meghatározás feladathoz, és gondolkodunk egy kicsit arról, hogy milyen szavak a jó osztályozási funkciók, világossá válik, hogy nincs olyan szó, amelynek jelenléte garantálná, hogy az üzenet spam. Talán a szildenafil ipari méretű gyártóján belül a "viagra" szó nem jelzi a levélszemét üzenetét, ki tudja.

Általában ez a lényeg: az ismert spamszavak egy része ritkán fordul elő a mindennapi életben. Ezért a végső döntés a szó jelenlétének vagy hiányának tényén alapulva az elképzelés ellentétes. Bonyolíthatjuk a szabályokat a beágyazott if-k hozzáadásával. De nagyon hamar meg fogod érteni, hogy az emberi képességek az ilyen szabályok kidolgozásában nagyon korlátozottak, mivel a szabályok összetettsége exponenciálisan növekszik a besoroláshoz választott szavak számával.

Tömeg szerinti osztályozás

A másik irányba megyünk. Mindegyik szóhoz egy bizonyos súlyt választhatunk, ami azt jelenti, hogy valószínű, hogy az üzenet ezzel a szóval spam (0 - soha nem spam, 1 - mindig spam).

Ez a táblázat a feltételezett súlyokat tartalmazza négy szó esetén. A sorban szereplő értékek összegének egyenlőnek kell lennie. Ezután a besorolásunk így néz ki:

Mindegyik szót megfogjuk, és a dokumentum teljes súlyát külön-külön a "spam" osztály és a "nem spam" osztályban határozzuk meg. A teljes súly a dokumentum összes ismert szavának súlyából származik. Azok a szavak, amelyeknek nincs súlyunk, kihagyjuk a besorolást. A teljes súly nagyobb volt, mint az osztály, és nyer.

Ez egy ésszerűbb megközelítés, mivel rugalmasabb, és a szöveg minden ismert szaván alapuló döntést hoz. Sokkal könnyebb kísérni, mint a vászon.

Gépi tanulási módszer

És most egy nagyon fontos megjegyzés. Ha van valami módunk arra, hogy automatikusan válasszuk ki a szavak optimális súlyát, akkor ez a megközelítés a gépi tanulás módjának tekinthető. Erősen leegyszerűsített, talán még hypertrophied, de lényegében pontosan a gépi tanulás módszere.

Pontosabban, az általam leírt módszer egy naiv Bayes-osztályozó csíra. De ne hagyja, hogy a név megtéveszti Önt, NBC (Naïve Bayes Classifier), ha nem a leginkább, akkor az egyik leggyakrabban használt osztályozó. Ennek számos oka van:

  • a megvalósítás és a tesztelés egyszerű;
  • A tanulási folyamat igen hatékonyabb, mint más összetettebb osztályozók;
  • a kis dokumentum magok esetében az NBC és más sokkal bonyolultabb osztályozási algoritmusok közötti különbség gyakran elhanyagolható, és néha az NBC pontosabbá válhat 5.

Az alábbi megjegyzésekben részletesebben ismertetem az ilyen osztályozó létrehozásával és tesztelésével kapcsolatos kérdéseket. Iratkozzon fel az RSS-re.

Kapcsolódó hivatkozások




Kapcsolódó cikkek