1 of 27

2

Szövegbányászat és szemantikus reprezentációk

​

2026/27 ősz

Dr. Kőrösi Gábor · Nagy Soma Bálint · Dr. Berta Árpád

2 of 27

A félév íve – négy blokk, tizenkét fejezet

2. fejezet · Szövegbányászat és szemantikus reprezentációk

áttekintés

Blokk

Fejezet

Központi kérdés

I. Reprezentáció – miből lesz elemezhető adat?

0. Az adatelemzéstől az adattudományig

Hogyan lesz egy homályos problémából vizsgálható kérdés és védhető állítás?

​

1. Szövegbányászat és szemantikus reprezentációk

Hogyan lesz a szövegből összehasonlítható adat?

​

2. Magas dimenzió és dimenziócsökkentés

Hogyan látunk át és ábrázolunk sokdimenziós reprezentációkat?

II. Rejtett struktúra – mit tudunk meg a megfigyelések viszonyából?

3. Klaszterezés és szegmentáció

Milyen csoportok vannak az adatban?

​

4. Ajánlórendszerek

Mit rangsoroljunk ennek a konkrét felhasználónak?

​

5. Asszociációs szabályok

Mik fordulnak elő rendszeresen együtt?

​

6. Hálózattudomány

Milyen globális kapcsolati szerkezet alakult ki?

III. Idő – mit tesz hozzá az időbeli sorrend?

7. Idősormodellezés és előrejelzés

Mi várható a múltbeli mintázatok alapján?

​

8. Anomália- és változásdetektálás

Mikor tér el a valóság szokatlanul a várttól?

IV. Felelős következtetés – mit állíthatunk, és hogyan adjuk át?

9. Oksági gondolkodás és kísérletezés

Mikor mondhatjuk, hogy valami okoz valamit?

​

10. Magyarázható és felelős adattudomány

Miért ezt adta a modell, és mikor szabad rá döntést építeni?

​

11. Reprodukálható, integrált Data Science projekt

Hogyan lesz mindebből ellenőrizhető, átadható megoldás?

3 of 27

1

Erre már valaki válaszolt – de hogyan találjuk meg?

Ismerős?

​

Beírod a hibaüzenetet a keresőbe → nulla használható találat.

​

Két nap múlva kiderül: ezerszer megválaszolták, csak más szavakkal.

4 of 27

1

Erre már valaki válaszolt – de hogyan találjuk meg?

2. fejezet · Szövegbányászat és szemantikus reprezentációk

  • Most a másik oldalon ülsz: egy nagy technikai fórum moderátora vagy.
  • A fórum archívumában 480 korábbi bejegyzés van, mind címke nélkül.
  • Nagy részükre a fórumon már van használható válasz – csak más szavakkal.

Melyik kettőt ajánlanád egymáshoz – és miből döntöttél?

1. bejegyzés

doc_id: d342

My original IDE HD is a 42MB Western Digital… And I just got a 213MB IDE HD Maxtor that I wanted to add as a slave drive. I did change the jumper settings…

hossz: 126 token

2. bejegyzés

doc_id: d473

Stupid question from a new IBM PC user: I'm going to be selling my Mac and getting a Gateway 2000. What is the difference between IDE HD and SCSI HD?

hossz: 113 token

3. bejegyzés

doc_id: d245

OK, I'll try one more time. If ANYONE out there has ANY information on MicroScience hard drives and how to set the jumpers for master/slave configurations…

hossz: 75 token

5 of 27

2

Ugyanazok a szavak vagy ugyanaz a jelentés?

2. fejezet · Szövegbányászat és szemantikus reprezentációk

A pár – sok közös szó, más kérdés

„A nyomtató papírelakadást jelez, pedig nincs benne papír.”

„A nyomtató papírméretét mindig A4-esre kell állítanom, mert alapból A5-öt kér.”

B pár – más szavak, ugyanaz a kérdés

„A gép indulás után pár másodperc múlva magától újraindul.”

ugyanaz a probléma

„Bootoláskor a rendszer nem jut el a bejelentkezésig, hanem visszaesik a POST-ra.”

Melyik pár hasonló szavakban? És melyik hasonló jelentésben?

6 of 27

3

Milyen értelemben „hasonló”? – négy szint

2. fejezet · Szövegbányászat és szemantikus reprezentációk

Szint

A kérdés

Mivel vizsgálható?

Homályos

„Mely szövegek hasonlók?”

semmivel – nem mondja meg, milyen értelemben és milyen döntéshez

Lexikai

Mely bejegyzésekben vannak hasonlóan súlyozott kifejezések?

szógyakoriság-alapú reprezentáció

Szemantikus

Mely bejegyzések jelentése áll közel a lekérdezéshez?

tanult, sűrű reprezentáció

Döntési

Mely 3 korábbi bejegyzés segít leginkább az új kérdés kezelőjének – és melyiket kell embernek ellenőriznie?

szakmai kimenet + korlát

A fejezet mindhárom vizsgálható szinten végigmegy. A negyediket nem a modell dönti el.

7 of 27

4

Ki dönt, és mit kap a kezébe?

2. fejezet · Szövegbányászat és szemantikus reprezentációk

új bejegyzés

rendszer

pontszám

rangsorolt jelöltlista

relevancia?

moderátor

ellenőrzés

döntés

DÖNTÉSI SZEREPLŐ

a fórum / tudásbázis moderátora

DÖNTÉS

egy új bejegyzéshez mely 3–5 korábbi bejegyzést mutassuk meg?

A rendszer kimenete NEM „a válasz”, hanem rangsorolt jelöltlista:

#

korábbi bejegyzés

miért került ide?

ember nézze át?

1.

​

​

​

2.

​

​

​

3.

​

​

​

Kérdés a teremhez: honnan fogjuk tudni, hogy ez a lista jó?

8 of 27

5

Mi egy dokumentum? – korpuszból elemzési egység

2. fejezet · Szövegbányászat és szemantikus reprezentációk

Korpusz

a bejegyzések összessége

Dokumentum

egy elemzési egység

Token

a szöveg feldarabolt eleme

Egy nyers fórumbejegyzés részei – melyik tartozzon bele?

rész

tartozzon a dokumentumba?

fejléc (feladó, tárgy, hírcsoport)

?

idézett előzmény („> …”)

?

törzsszöveg

?

aláírás, e-mail-cím, elérhetőség

?

Amit beveszünk, azt a hasonlóság látni fogja.

9 of 27

6

Miért nem elég a nyers szöveg?

2. fejezet · Szövegbányászat és szemantikus reprezentációk

A Számítógépes adatelemzésből már tudjuk, hogyan mérünk hasonlóságot vektorok között (koszinusz-hasonlóság).

De mi a szöveg vektora?

nyers szöveg

"A gép indulás után magától újraindul."

?

dokumentumvektor

[ · · · · · · ]

koszinusz-hasonlóság itt már alkalmazható

Nincs szöge, nincs hossza, nincs koordinátája.

Ha hasonlóságot akarunk mérni, előbb el kell döntenünk, mit tekintünk a szöveg dimenzióinak.

10 of 27

Az előfeldolgozás

11 of 27

7

Az előfeldolgozás elemzési döntés

2. fejezet · Szövegbányászat és szemantikus reprezentációk

Ugyanaz a mondat, négy döntés után négy különböző dokumentum:

„Nem indul el a Windows 3.1 a C: partícióról.”

döntés

mi lesz belőle?

mit veszítünk?

kisbetűsítés

windows 3.1

a tulajdonnév és a rövidítés különbsége

tokenizálás

windows, 3.1 vagy 3, 1 ?

a verziószám mint egy egység

stopword-szűrés

a „nem” eltűnik

a TAGADÁS

n-gram

windows vagy windows 3.1 ?

a kifejezés mint egység

Nincs „helyes tisztítás” – csak döntés és következménye.

12 of 27

Szövegből vektor

13 of 27

8

BoW → A legegyszerűbb vektorizáció

2. fejezet · Szövegbányászat és szemantikus reprezentációk

Bag of Words: a dimenziók a szavak; a dokumentum vektora a szógyakoriságok sorozata. A szórend elveszik.

Három rövid bejegyzés, néhány szó:

​

a

probléma

partíció

nyomtató

1. dok.

● ● ●

●

● ●

​

2. dok.

● ●

●

​

●

3. dok.

● ● ● ●

●

​

● ●

Kérdés: melyik szó mondja meg, hogy miről szól a dokumentum?

„…a probléma a partíció létrehozása, valamint a nyomtató….”

„…..a probléma a nyomtató meghajtójával van……..”

„…..a probléma a lokális nyomtató és a hálózati nyomtató …..”��

14 of 27

9

TF–IDF: két szorzótényező, egy súly

2. fejezet · Szövegbányászat és szemantikus reprezentációk

A BoW megszámolja a szavakat. A TF–IDF megkérdezi: mennyire jellemző ez a szó erre a dokumentumra?

tf-idf(t, d) = tf(t, d) × idf(t)

idf(t) = ln( (1 + N) / (1 + df(t)) ) + 1

N = 480 dokumentum · df(t) = ahány dokumentumban t előfordul

Az idf a ritkaságot jutalmazza

szó

df

idf

thanks

123

2,36

problem

75

2,85

simms

24

3,96

jumper

9

4,87

tcm3105

3

5,79

Ugyanaz a tf – mégis más súly (d342)

szó

tf

df

idf

súly

drive

1

62

3,03

0,071

jumper

1

9

4,87

0,114

maxtor

2

7

5,10

0,238

42mb

2

2

6,08

0,284

A dokumentum vektorát a végén egységhosszúra normáljuk – így a hosszabb bejegyzés nem kap előnyt pusztán azért, mert többet ír.

15 of 27

9b

TF–IDF kézzel: honnan jön a súly?

2. fejezet · Szövegbányászat és szemantikus reprezentációk

Egy mini-korpuszban nézzük meg: a TF dokumentumon belüli számolás, a DF korpusz-szintű számolás.

tf-idf(t, d) = tf(t, d) × idf(t)�idf(t) = ln( (1 + N) / (1 + df(t)) ) + 1�N = 3 dokumentum · df(t) = hány dokumentumban fordul elő t

Mini-korpusz: három rövid dokumentum

dok.

szöveg

d1

kutya kutya macska hörcsög

d2

kutya egér

d3

macska egér

Számolás d1-ben

szó

tf

df

idf

tf×idf

kutya

2

2

1,29

2,58

macska

1

2

1,29

1,29

hörcsög

1

1

1,69

1,69

egér

0

2

1,29

0,00

TF = hányszor szerepel itt · DF = hány dokumentumban fordul elő · IDF = a ritkább szó nagyobb szorzót kap

16 of 27

9c

Egységhosszú vektor: a súlyból irány lesz

A nyers TF–IDF-súlyokat elosztjuk a dokumentumvektor hosszával. Így minden dokumentum hossza 1 lesz.

v̂ = v / ||v|| ||v|| = √(v₁² + v₂² + … + vₙ²)

Szó-sorrend a példában: [kutya, macska, hörcsög, egér]

Nyers TF–IDF-vektorok

dok.

kutya

macska

hörcsög

egér

||v||

d1

2,58

1,29

1,69

0,00

3,34

d2

1,29

0,00

0,00

1,29

1,82

d3

0,00

1,29

0,00

1,29

1,82

Példa: d1 hossza = √(2,58² + 1,29² + 1,69²) = 3,34

Egységhosszú vektorok

dok.

kutya

macska

hörcsög

egér

||v̂||

d1

0,771

0,386

0,507

0,000

1,000

d2

0,707

0,000

0,000

0,707

1,000

d3

0,000

0,707

0,000

0,707

1,000

Minden sort külön normálunk: d2 és d3 hossza is 1 lesz.

A normalizálás után nem a hossz dönt, hanem az irány: milyen arányban vannak jelen a jellemző szavak.

Következmény: egységhosszú vektorokon a koszinusz-hasonlóság egyszerű skalárszorzat.

2. fejezet · Szövegbányászat és szemantikus reprezentációk

17 of 27

Vektorok közötti hasonlóság

28 / 32

18 of 27

10

Koszinusz-hasonlóság: a szög, nem a hossz

2. fejezet · Szövegbányászat és szemantikus reprezentációk

Két dokumentum akkor hasonló, ha a vektoruk ugyanabba az irányba mutat – a hosszuk nem érdekel minket.

jumper

drive

θ = 18°

q – lekérdezés

d1 · θ = 18° → cos = 0,95

d2 · θ = 50° → cos = 0,64

sematikus 2D metszet (a valódi tér 3664 dimenziós) · a nyíl iránya a szóösszetétel, a hossza a dokumentum hossza · a szaggatott ív az egységkör

A képlet

cos θ = (a · b) / (|a| · |b|)

a · b = Σ a_i · b_i

Egységhosszú vektorokon a koszinusz maga a skalárszorzat.

Mit jelentenek a számok? – a mi korpuszunkon

1,00 = azonos irány · 0° — a d093 és a d110 szó szerint ugyanaz a bejegyzés

0,00 = merőleges · 90° — egyetlen közös kifejezés sincs

0,009 = a tipikus dokumentumpár TF–IDF-koszinusza (≈ 89,5°): a tér szinte üres, majdnem minden merőleges mindenre

19 of 27

Egységhosszú TF–IDF-vektorok: mi változott?

A normalizálás után minden dokumentum hossza 1. Így már az irányt hasonlítjuk össze, nem azt, ki írt hosszabbat.

Emlékeztető példa

d1: „kutya kutya macska hörcsög”

d2: „kutya egér”

d3: „macska egér”

A koordináták sorrendje

[kutya, macska, hörcsög, egér]

Minden sor hossza:

|d1| = |d2| = |d3| = 1

dokumentum

kutya

macska

hörcsög

egér

hossz

d1

0,771

0,386

0,507

0,000

1,000

d2

0,707

0,000

0,000

0,707

1,000

d3

0,000

0,707

0,000

0,707

1,000

Most már a koszinusz egyszerűen: két sor megfelelő számait összeszorozzuk, majd összeadjuk.

10a

2. fejezet · Szövegbányászat és szemantikus reprezentációk

20 of 27

Koszinusz kézzel: d1-hez melyik áll közelebb?

Egységhosszú vektorokon a koszinusz = skalárszorzat. Ezért nincs már külön osztás a hosszokkal.

Lekérdezésként vegyük d1-et.

Melyik dokumentum hasonlóbb hozzá?

cos(d1,d2)

= 0,771·0,707 + 0,386·0 + 0,507·0 + 0·0,707

= 0,545 ≈ 0,55

cos(d1,d3)

= 0,771·0 + 0,386·0,707 + 0,507·0 + 0·0,707

= 0,273 ≈ 0,27

Rangsor d1-hez

hely

jelölt

koszinusz

miért?

1.

d2

0,55

erős közös: kutya

2.

d3

0,27

gyengébb közös: macska

Fontos: a „hörcsög” d1-ben erős jel, de ha a másik dokumentumban nincs benne, akkor a skalárszorzathoz 0-val járul hozzá.

10b

2. fejezet · Szövegbányászat és szemantikus reprezentációk

21 of 27

11

Ugyanaz a jelentés, más szavak: az első fal

2. fejezet · Szövegbányászat és szemantikus reprezentációk

LEKÉRDEZÉS

„A gép indulás után pár másodperc múlva magától újraindul.”

1. jelölt

„Bootoláskor a rendszer nem jut el a bejelentkezésig, hanem visszaesik a POST-ra.”

közös szó: szinte nincs · ugyanaz a probléma: igen

2. jelölt

„Az indulás után szeretném, ha a gép magától lefuttatna egy másodpercekig tartó tesztet.”

közös szó: sok · ugyanaz a probléma: nem

TF–IDF rangsor: ?

Fogadás: melyiket rangsorolja előbbre a TF–IDF? És melyik kellene a moderátornak?

22 of 27

STOP — most te dolgozol

1. fejezet · Szövegbányászat és szemantikus reprezentációk

​

20 / 32

Nyisd meg a CooSpace-en a 2. fejezet tananyagát, és dolgozd át.

​

⏱ 20 perc — utána itt folytatjuk közösen.

​

A beépített ellenőrző kérdések kötelezőek — ne lapozd át őket.

​

Ha hamarabb végzel: várd meg a többieket, vagy belekezdhetsz a feladat-notebook elejébe.

​

Ha elakadtál: jelezz — odamegyek.

23 of 27

Embedding

28 / 32

24 of 27

12

Mondatembedding: tanult szemantikai tér

2. fejezet · Szövegbányászat és szemantikus reprezentációk

TF–IDF

a dimenziók = szavak · ritka

3664 dimenzió

értelmezhető

Mondatembedding

a dimenziók = tanult jelentésbeli irányok · sűrű

384 dimenzió

nem értelmezhető egyenként

Egy előre tanított modell dokumentumonként egyetlen vektort ad. A hasonlóság ugyanaz a koszinusz – csak más térben.

Amit ígér

a hasonló jelentésű, más szavakkal megfogalmazott szövegek közelebb kerülhetnek

Amit NEM ígér

  • hogy „megérti” a szöveget
  • hogy igaz, biztonságos vagy naprakész, amit talál
  • hogy a te doménedben és nyelveden ugyanúgy működik

Kérdés: mikor lehet ez rosszabb, mint a TF–IDF?

25 of 27

13

Mit jelent, hogy „tanult” reprezentáció?

2. fejezet · Szövegbányászat és szemantikus reprezentációk

A TF–IDF-et mi írtuk fel. Az embeddinget egy modell tanulta – nézzük meg, mi történik egyetlen bejegyzéssel.

nyers szöveg

a bejegyzés törzse

wordpiece tokenek

szódarabokra bontás

transformer

6 réteg, kontextus

mean pooling

tokenek átlaga

384 szám

egységhosszúra normálva

Mit tanult meg a modell?

Nem szótárat és nem szabályokat. Az all-MiniLM-L6-v2 nagyságrendileg egymilliárd mondatpáron azt tanulta meg, hogy az összetartozó mondatok vektorai kis szöget zárjanak be egymással.

A 384 dimenzió egyikének sincs neve – nem lehet megmondani, hogy a 137. koordináta „mit jelent”.

Mit nyerünk és mit veszítünk?

TF–IDF: 3664 dimenzió, a mátrix 1,05%-a nem nulla – dokumentumonként átlag 38 kifejezés, és mindegyik megnevezhető.

A modell 256 wordpiece után elvágja a szöveget – a korpuszunkban ez 66 bejegyzést érint.

A vektorok egységhosszúak, ezért a hasonlóság itt is ugyanaz a koszinusz – csak a tér más. A kód ezért írhat egyszerű skalárszorzatot.

26 of 27

14

A találati lista nem eredmény: jelöltlista

2. fejezet · Szövegbányászat és szemantikus reprezentációk

Öt ok, amiért egy találat rossz okból került a lista élére:

#

jelenség

mit lát a rendszer?

mi a valóság?

1.

önmagára találás

a lekérdezés a korpusz része

a legjobb találat saját maga

2.

közel duplikátum

idézett vagy újraküldött szöveg

nem ad új segítséget

3.

metaadat-szivárgás

fejléc, aláírás, idézet

nem a témát mértük

4.

túláltalánosítás

„általában hasonló”

a döntéshez irreleváns

5.

címke ≠ relevancia

azonos kategória

nem ugyanarra a kérdésre válaszol

Ezért: „a Top 5-ből hány volt tényleg hasznos?” – ez a mérték a döntési céltól függ. (A szakirodalomban: Precision@K.)

És a legfontosabb: a hasonlóság nem igazság. A szemantikailag közeli válasz lehet téves, elavult vagy káros.

27 of 27

Precision@K: a találati lista döntési értékelése

A hasonlóság rangsort ad. A Precision@K azt kérdezi: a Top K találatból hány volt tényleg hasznos?

Képlet

Precision@K = releváns találatok száma a Top K-ban / K

A döntési cél most legyen: „kutyás” bejegyzések ajánlása.

Az ember jelöli meg, hogy a találat tényleg releváns-e.

hely

jelölt

koszinusz

emberi ítélet

1.

d2

0,55

releváns ✓

2.

d3

0,27

nem releváns ✕

P@1 = 1 / 1 = 1,00

P@2 = 1 / 2 = 0,50

Ugyanez Top 5-nél

✓ ✕ ✓ ✕ ✓

P@5 = 3 / 5 = 0,60

Tanulság: a Precision@K nem azt méri, hogy a modell „igazat mondott”, hanem azt, hogy a rangsor eleje mennyire használható az adott emberi döntéshez.

2. fejezet · Szövegbányászat és szemantikus reprezentációk

14a