Mindenkinek van egyedi kézírása, egy jellegzetes hanglejtése. De mi a helyzet a digitális írásképpel? A stilometria, vagyis a stílus mérése, pontosan ezt a kérdést járja körül. Nem a tartalomra, hanem a forma apró, gyakran tudattalan mintázataira fókuszál. Egy MI-generált szöveg, bármennyire is koherens, gyakran elárulja magát a statisztikai egyenletességével – hiányzik belőle az emberi írásra jellemző természetes „zaj” és következetlenség.
Ez a technika a Red Teamer kezében egyfajta digitális grafológia, amellyel megkülönböztethetjük a gépies precizitást az emberi kreativitás szeszélyeitől. Nem arról van szó, hogy egy szöveg „jól hangzik-e”, hanem arról, hogy a mögötte lévő számszerűsíthető adatok milyen eloszlást mutatnak.
A stílus mint ujjlenyomat: Mérhető jellemzők
A stilometriai elemzés során a szöveget diszkrét, mérhető egységekre bontjuk. A leggyakoribb jellemzőcsoportok a következők:
- Lexikai jellemzők: A szókincs gazdagságára és használatára vonatkoznak. Ide tartozik a szavak átlagos hossza, az egyedi szavak aránya (Type-Token Ratio, TTR), vagy a leggyakoribb szavak listája. Az embereknek gyakran vannak kedvenc, ismétlődő szavaik, míg egy alap LLM hajlamos a szinonimák túlzott használatára a változatosság látszatáért.
- Szintaktikai jellemzők: A mondatszerkezet mintázatait vizsgálják. Milyen hosszúak átlagosan a mondatok? Mennyire szóródnak a mondathosszak? Gyakoriak-e a komplex, alárendelt mondatok, vagy inkább az egyszerű, tőmondatok dominálnak? A központozás (vesszők, pontosvesszők, gondolatjelek használata) szintén erős egyéni jelző lehet.
- Karakter-szintű jellemzők: A szöveg legalacsonyabb szintű építőkövei. Bizonyos karakterkombinációk (n-gramok) gyakorisága, vagy akár az írásjelek és szóközök aránya is hordozhat információt.
Esettanulmány: A belső szivárogtató azonosítása
Képzelj el egy helyzetet: egy cégnél belső, bizalmas információkat tartalmazó, de anonim kommentek jelennek meg egy iparági fórumon. A gyanú egy adott, technikailag képzett, de elégedetlen alkalmazottra terelődik. A feladatod Red Teamerként, hogy eldöntsd: a kommenteket valóban ő írta, vagy egy kifinomult MI modell, amely a cég belső zsargonját használja?
Szerencsére rendelkezel egy nagy mennyiségű, igazoltan az alkalmazott által írt szöveggel (e-mailek, belső dokumentációk). Ebből létrehozol egy „emberi” referencia profilt. Ezután elemzed a gyanús kommenteket. Az eredményeket az alábbi táblázat foglalja össze:
| Stilometriai Metrika | Alkalmazott (ismert emberi minta) | Gyanús kommentek (elemzett minta) |
|---|---|---|
| Átlagos mondathossz | 18.4 szó | 19.1 szó |
| Mondathossz szórása | 8.2 szó (magas variancia) | 2.5 szó (alacsony variancia) |
| Type-Token Arány (TTR) | 0.48 (változatos szókincs) | 0.65 (túlzottan változatos, „mesterséges”) |
| Pontosvessző használata (/1000 szó) | 1.7 | 0.1 |
| „Azonban” kötőszó gyakorisága | 0.3% | 1.2% (feltűnően magas) |
A következtetés: Bár az átlagos mondathossz megtévesztően hasonló, a többi metrika egyértelműen egy MI-re utal. A mondathosszak szórásának hiánya egyenletes, „gépies” stílust jelez. A kiugróan magas TTR és a specifikus kötőszavak túlzott használata szintén klasszikus LLM-jellemzők, amelyek a szöveg természetellenes optimalizálására utalnak. Az emberi írásminta sokkal „zajosabb”, inkonzisztensebb, ami itt a gyanúsított mellett szól.
A gyakorlati megvalósítás alapjai
A stilometriai elemzéshez nincs szükség bonyolult eszközökre, az alapelvek egyszerű szkriptekkel is megvalósíthatók. Lássunk egy pszeudokód példát a Type-Token Arány (TTR) kiszámítására, ami a szókincs gazdagságát méri.
# Pszeudokód a Típus-Token Arány (TTR) kiszámítására
függvény szamold_ttr(szoveg):
# 1. Tisztítás: írásjelek eltávolítása és kisbetűsítés
tiszta_szoveg = szoveg.lower().replace([".", ",", "!", "?"], "")
# 2. Tokenizálás: a szöveg szavakra bontása
tokenek = tiszta_szoveg.split(" ")
# 3. Egyedi szavak (típusok) megszámlálása
egyedi_tokenek = set(tokenek)
tipusok_szama = len(egyedi_tokenek)
# 4. Összes szó (token) megszámlálása
tokenek_szama = len(tokenek)
# 5. Arány kiszámítása
if tokenek_szama == 0:
return 0
else:
ttr_ertek = tipusok_szama / tokenek_szama
return ttr_ertek
# Példa használat
emberi_szoveg = "A kutya, a macska és a másik kutya játszottak."
mi_szoveg = "Egy eb és egy cica interakcióba lépett."
print("Emberi TTR:", szamold_ttr(emberi_szoveg)) # Alacsonyabb lesz az ismétlődés miatt
print("MI TTR:", szamold_ttr(mi_szoveg)) # Magasabb lesz, mert minden szó egyedi
Korlátok és a támadói perspektíva
A stilometria nem csodaszer. Egy Red Teamernek tisztában kell lennie a korlátaival is:
- Rövid szövegek: A módszer statisztikai jellegű, így rövid szövegeken (pl. egy-két mondat) nem ad megbízható eredményt. Szignifikáns mennyiségű adatra van szükség.
- Stílusutánzás (Style Transfer): A fejlett MI modellek képesek egy adott szerző stílusát utánozni. Egy „írj ezt a szöveget X.Y. stílusában” prompt komolyan megnehezítheti az elemzést, mivel a modell megpróbálja reprodukálni a célpont stilometriai ujjlenyomatát.
- Kevert források: Mi van, ha egy ember által írt szöveget egy MI szerkeszt át és bővít ki? Az eredmény egy hibrid stílus lesz, amelynek azonosítása rendkívül nehéz.
Éppen ezért a stilometriai elemzés ritkán áll meg önmagában. Sokkal hatékonyabb, ha más technikákkal, például a következő fejezetben tárgyalt szemantikai inkonzisztenciák vizsgálatával kombináljuk. Az eredmény nem egy bináris „ember/gép” ítélet, hanem egy valószínűségi mutató, egy újabb adatpont a szélesebb körű vizsgálatban.