A StemMatch egy magyar és angol nyelvű szövegelemző rendszer, amely nagy mennyiségű szövegben keresi azokat a mondatpárokat, amelyekben legalább két azonos tő (stem) található. A rendszer képes ragozott és képzett szavakból töveket képezni, mondatokat összehasonlítani, és az eredményeket áttekinthető, színkódolt formában megjeleníteni.
Az elemző felület itt érhető el:
👉 StemMatch elemző felület megnyitása
👉 StemMatch elemző felület V2
👉 StemMatch elemző felület V4
📁 Fájlok és szerepük
1. index.html – Projektleírás
A projekt dokumentációs oldala. Innen érhető el az interaktív elemző felület
(stemmatch.html), valamint a diagnosztikai és megjelenítő eszközök.
2. stemmatch.html – Elemző UI
A felhasználói felület, ahol:
- beilleszthető a vizsgálandó szöveg, vagy
- automatikusan a
txt/elemzes.txtkerül elemzésre - AJAX‑al indul az elemzés
- színkódolt kiemeléssel jelennek meg a közös tövek
- interaktív grafikon mutatja a leggyakoribb töveket
- kapcsolható sötét/világos mód
3. stemmatch.js – Kliensoldali logika
A felület működéséért felel:
- AJAX kommunikáció az
analyze.phpfelé - mondatok és tövek színkódolt kiemelése
- grafikon generálása D3 segítségével
- abortálható kérések
- light/full mód támogatása
- külső modulból tölti be a raglistát (
stemmer.js+suffix.json)
4. stemmer.js – Moduláris stemmer
A magyar és angol ragok, képzők és toldalékok eltávolítását végzi.
A raglista külön fájlban található (suffix.json), így könnyen bővíthető.
5. suffix.json – Bővíthető raglista
A stemmer által használt magyar és angol toldalékok listája. A rendszer automatikusan betölti, így a bővítéshez nem kell kódot módosítani.
6. analyze.php – A szövegelemző motor
A szerveroldali feldolgozó egység:
- streaming módon olvassa a nagy fájlokat
- mondatokra bont
- tokenizál és tövösít
- összehasonlítja a mondatokat
- legalább két közös tő esetén párokat képez
- light/full mód támogatása
- JSON választ küld
7. stemmatch.css – Stíluslap
Tartalmazza:
- színkódolt tövek megjelenítését
- grafikon stílusokat
- sötét/világos módot
- reszponzív elrendezést
8. d3.v7.min.js – Vizualizációs könyvtár
A leggyakoribb tövek grafikonját jeleníti meg.
9. /tools/view.html – Eredménymegjelenítő
A output.json tartalmát jeleníti meg felhasználóbarát formában.
10. /tools/list.php – Fájllista
A projekt fontosabb fájljait listázza ki mérettel és módosítási idővel.
11. /tools/view.php – JSON megjelenítő
Egy tetszőleges JSON fájl tartalmát jeleníti meg formázva.
12. Projekt elérhetőségei
- 🌐 Élő projekt: https://www.margitszigetijoga.hu/dev/stemmatch/
- 📦 ZIP generálása: create_zip.php
- ⬇️ Letölthető csomag: stemmatch.zip