Adatokat szeretne kinyerni a beolvasott dokumentumokból? Próbáld ki Nanonetek™ fejlett AI-alapú OCR szkenner információk kinyerésére és rendszerezésére szkennelt dokumentumokat automatikusan.
Bevezetés
Ahogy a világ a papírokról és a kézírásokról a kényelem kedvéért digitális dokumentumok felé fordult, a képek és a beolvasott dokumentumok értelmes adatokká alakításának jelentősége megnőtt.
Annak érdekében, hogy lépést tartsanak a rendkívül pontos dokumentum-kivonási igényekkel, számos kutatóintézet és vállalat (pl. Google, AWS, Nanonets stb.) mélyen a számítógépes látás és a természetes nyelvi feldolgozás (NLP) területén foglalkozott a technológiákkal.
A mély tanulási technológiák virágzása óriási ugrást biztosított a kinyerhető adatok terén; már nem csak szöveget kell kivonatolnunk, hanem más adatstruktúrákat is, például táblákat és kulcs-érték párokat. Számos megoldás kínál különféle termékeket az egyének és a cégtulajdonosok dokumentum-adatkinyerési igényeinek kielégítésére.
Ez a cikk a beolvasott dokumentumokból történő adatkinyerés jelenlegi technológiájával foglalkozik, majd egy rövid, gyakorlati oktatóanyagot követ a Python nyelven. Megvizsgálunk néhány olyan népszerű megoldást is, amelyek jelenleg a piacon a legjobb ajánlatokat nyújtják ezen a területen.
Mi az adatkinyerés?
Az adatkinyerés az a folyamat, amelynek során a strukturálatlan adatokat a programok értelmezhető információvá alakítják, lehetővé téve az emberek általi további adatfeldolgozást. Itt felsorolunk néhányat a beolvasott dokumentumokból leggyakrabban kinyerhető adatok közül.
Szöveges adatok
A beszkennelt dokumentumokból történő adatkinyerés során a leggyakoribb és legfontosabb feladat a szöveg kinyerése. Ez a folyamat, bár látszólag egyszerűnek tűnik, valójában nagyon nehéz, mivel a beszkennelt dokumentumokat gyakran képek formájában mutatják be. Ezen túlmenően a kinyerési módszerek nagymértékben függenek a szöveg típusától. Míg a szöveg legtöbbször sűrűn nyomtatott formátumban van jelen, ugyanilyen fontos a ritka szöveg kinyerése a kevésbé jól szkennelt dokumentumokból vagy a kézzel írt, drasztikusan eltérő stílusú levelekből. Egy ilyen folyamat lehetővé teszi a programok számára, hogy a képeket gépi kódolású szöveggé alakítsák, ahol strukturálatlan adatokból (bizonyos formázás nélkül) strukturált adatokká rendezhetjük azokat további elemzés céljából.
Asztalok
A táblázatos űrlapok az adattárolás legnépszerűbb módja, mivel a formátum emberi szemmel könnyen értelmezhető. A táblázatok szkennelt dokumentumokból történő kinyerésének folyamata a karakterészlelésen túlmutató technológiát igényel – a vonalakat és egyéb vizuális jellemzőket fel kell ismerni a megfelelő táblázatkivonat végrehajtásához, és ezeket az információkat strukturált adatokká alakítani a további számításokhoz. A számítógépes látásmódszereket (részletesen a következő szakaszokban ismertetjük) széles körben használják a nagy pontosságú táblázatkivonás eléréséhez.
Kulcs-érték párok
Egy alternatív formátum, amelyet gyakran alkalmazunk az adattárolási dokumentumokban, a kulcs-érték párok (KVP).
A KVP-k lényegében két adatelem – egy kulcs és egy érték –, amelyek egyként kapcsolódnak egymáshoz. A kulcs a lekérendő érték egyedi azonosítójaként szolgál. Klasszikus KVP-példa a szótár, ahol a szótárak a kulcsok, és a megfelelő definíciók az értékek. Ezeket a párokat, bár általában nem veszik észre, valójában nagyon gyakran használják a dokumentumokban: a felmérésekben szereplő kérdések, mint például a név, az életkor és a számlákon szereplő tételek ára, mind hallgatólagosan KVP-k.
A táblázatokkal ellentétben azonban a KVP-k gyakran ismeretlen formátumban léteznek, és néha részben kézzel írják őket. Például a kulcsok előre nyomtathatók dobozokba, és az értékeket kézzel írják az űrlap kitöltésekor. Ezért a KVP-kinyerés automatikus végrehajtásához szükséges mögöttes struktúrák megtalálása folyamatos kutatási folyamat még a legfejlettebb létesítmények és laboratóriumok számára is.
ábrák
Végül nagyon fontos az is, hogy kinyerjük ill adatgyűjtés a szkennelt dokumentumon belüli ábrákból. A statisztikai mutatók, például a kördiagramok és az oszlopdiagramok gyakran tartalmaznak fontos információkat a dokumentumokhoz. Egy jó adatkinyerési folyamatnak képesnek kell lennie arra, hogy a jelmagyarázatokból és a számokból arra következtessen, hogy az ábrákból részlegesen kivonja az adatokat további felhasználás céljából.
Adatokat szeretne kinyerni a beolvasott dokumentumokból? Adj Nanoneteket™ egy pörgés a nagyobb pontosság, nagyobb rugalmasság, utófeldolgozás és az integrációk széles skálája érdekében!
Technológiák az adatkinyerés mögött
Az adatkinyerés két fő folyamat körül forog: az optikai karakterfelismerés (OCR) ezt követi a Természetes nyelvi feldolgozás (NLP).
Az OCR-kivonás a szöveges képek gépi kódolású szöveggé alakításának folyamata, míg az utóbbi a szavak elemzése a jelentések kikövetkeztetése céljából. Az OCR-t gyakran kísérik más számítógépes látástechnikák is, például doboz- és vonalérzékelés a fent említett adattípusok kinyerésére, például táblázatok és KVP-k az átfogóbb kinyerés érdekében.
Az adatkinyerési folyamat mögött meghúzódó alapvető fejlesztések szorosan kapcsolódnak a mély tanulás terén elért fejlődéshez, amely nagyban hozzájárult a számítógépes látás és a természetes nyelvi feldolgozás (NLP) területéhez.
Mi a mély tanulás?
A mély tanulás nagy szerepet játszik a mesterséges intelligencia korszakának hírverése mögött, és számos alkalmazásban folyamatosan előtérbe került. A hagyományos mérnöki gyakorlatban egy olyan rendszer/funkció tervezése a célunk, amely egy adott bemenetről kimenetet generál; a mély tanulás viszont a bemenetekre és kimenetekre támaszkodik, hogy megtalálja azt a köztes kapcsolatot, amely kiterjeszthető új, nem látott adatokra az ún. neurális hálózat.
Neurális hálózat, vagy többrétegű perceptron (MLP), egy gépi tanulási architektúra, amelyet az emberi agy tanulási módja ihletett. A hálózat neuronokat tartalmaz, amelyek utánozzák a biológiai neuronokat, és „aktiválódnak”, ha eltérő információkat kapnak. Az idegsejtek halmazai rétegeket alkotnak, és több réteg egymásra halmozódik, hogy hálózatot alkossanak, amely több forma előrejelzési céljait szolgálja (pl. képosztályozások vagy határolódobozok az objektumok észleléséhez).
A számítógépes látás területén erősen alkalmazzák a neurális hálózati variáció egy fajtáját – a konvolúciós neurális hálózatokat. (CNN-ek). A hagyományos rétegek helyett a CNN konvolúciós kerneleket alkalmaz, amelyek tenzorokon (vagy nagy dimenziós vektorokon) csúsznak át a jellemzők kinyerésére. Végül a hagyományos hálózati rétegekkel együtt a CNN-ek nagyon sikeresek a képpel kapcsolatos feladatokban, és tovább képezték az OCR-kivonás és egyéb jellemzők észlelésének alapját.
Másrészt az NLP egy másik hálózatra támaszkodik, amely az idősoros adatokra összpontosít. A képekkel ellentétben, ahol az egyik kép független egymástól, a szöveg előrejelzése nagymértékben előnyös, ha az előtte vagy utána lévő szavakat is figyelembe veszik. Az elmúlt néhány évben a hálózatok családja, nevezetesen a hosszú, rövid távú emlékek (LSTM-ek), amely a korábbi eredményeket bemenetként veszi az aktuális eredmények előrejelzéséhez. A bilaterális LSTM-eket gyakran alkalmazták az előrejelzési teljesítmény javítására, ahol mind az előtti, mind az utáni eredményeket figyelembe vették. Az utóbbi években azonban a figyelemmechanizmust használó transzformátorok koncepciója egyre terjed, mivel nagyobb rugalmassága jobb eredményeket eredményez, mint a szekvenciális idősorokat kezelő hagyományos hálózatok.
Az adatkinyerés alkalmazásai
Az adatkinyerés fő célja az adatok strukturálatlan dokumentumokból strukturált formátumba konvertálása, melyben a szövegek, ábrák és adatstruktúrák rendkívül pontos visszakeresése nagy segítséget jelenthet a numerikus és kontextuális elemzéshez. Ezek az elemzések nagyon hasznosak lehetnek, különösen a vállalkozások számára:
üzleti
Az üzleti vállalatok és a nagy szervezetek naponta több ezer hasonló formátumú papírmunkával foglalkoznak – a nagy bankok számos azonos kérelmet kapnak, a kutatócsoportoknak pedig űrlapok halmát kell elemezniük a statisztikai elemzéshez. Ezért a dokumentumokból az adatok kinyerésének kezdeti lépésének automatizálása jelentősen csökkenti az emberi erőforrások redundanciáját, és lehetővé teszi a dolgozók számára, hogy az adatok beírása helyett az adatok elemzésére és az alkalmazások áttekintésére összpontosítsanak.
- Alkalmazások ellenőrzése — A vállalatok rengeteg pályázatot kapnak, akár kézzel írva, akár csak jelentkezési űrlapokon keresztül. Legtöbbször ezekhez az alkalmazásokhoz személyi azonosítót is mellékelhetnek ellenőrzés céljából. Az igazolványokat tartalmazó beszkennelt dokumentumok, például útlevelek vagy kártyák általában hasonló formátumú kötegekben érkeznek. Ezért egy jól megírt adatkivonó gyorsan képes az adatokat (szövegeket, táblázatokat, ábrákat, KVP-ket) gépileg érthető szövegekké alakítani, ami jelentősen lecsökkentheti az ezekre a feladatokra fordított munkaórákat, és a kinyerés helyett az alkalmazások kiválasztására koncentrálhat.
- Fizetési egyeztetés — A fizetési egyeztetés a banki kivonatok összehasonlításának folyamata a számlák közötti számok egyezésének biztosítása érdekében, amely nagymértékben a dokumentumokból történő adatkinyerés körül forog – ez kihívást jelent egy jelentős méretű és különféle bevételi forrásokkal rendelkező társaságok számára. Az adatkinyerés megkönnyítheti ezt a folyamatot, és lehetővé teszi az alkalmazottak számára, hogy a hibás adatokra összpontosítsanak, és feltárják a pénzforgalommal kapcsolatos lehetséges csaló eseményeket.
- Statisztikai elemzés — A vevőktől vagy kísérleti résztvevőktől kapott visszajelzéseket a vállalatok és szervezetek felhasználják termékeik és szolgáltatásaik fejlesztésére, és a visszajelzések átfogó értékeléséhez általában statisztikai elemzésre van szükség. A felmérési adatok azonban számos formátumban létezhetnek, vagy különböző formátumú szövegek közé rejtve lehetnek. Az adatok kinyerése megkönnyítheti a folyamatot azáltal, hogy a dokumentumokból kötegekben rámutat a nyilvánvaló adatokra, megkönnyítheti a hasznos folyamatok megtalálásának folyamatát, és végső soron növelheti a hatékonyságot.
- Múltbeli rekordok megosztása — Az egészségügytől a banki szolgáltatások átváltásáig a nagy iparágak gyakran olyan új ügyfélinformációkat igényelnek, amelyek másutt már megvoltak. Például egy költözés miatt kórházat váltó betegnek lehetnek már meglévő egészségügyi feljegyzései, amelyek hasznosak lehetnek az új kórház számára. Ilyen esetekben jól jön egy jó adatkinyerő szoftver, hiszen mindössze annyit kell tennie, hogy az egyén egy szkennelt irattörténetet vigyen be az új kórházba, hogy automatikusan kitöltse az összes információt. Ez nemcsak kényelmes lenne, hanem elkerülhető lenne a jelentős betegadatok figyelmen kívül hagyása, különösen az egészségügyi ágazatban.
Adatokat szeretne kinyerni a beolvasott dokumentumokból? Adj Nanoneteket™ egy pörgés a nagyobb pontosság, nagyobb rugalmasság, utófeldolgozás és az integrációk széles skálája érdekében!
oktatóanyagok
Annak érdekében, hogy világosabb képet adjunk az adatkinyerés végrehajtásáról, két módszert mutatunk be a beszkennelt dokumentumokból történő adatkinyerés végrehajtására.
Épület a Scratchból
A PyTesseract motoron keresztül egy egyszerű adatkinyerő OCR motort készíthetünk a következőképpen:
try: from PIL import Image
except ImportError: import Image
import pytesseract # If you don't have tesseract executable in your PATH, include the following:
pytesseract.pytesseract.tesseract_cmd = r'<full_path_to_your_tesseract_executable>'
# Example tesseract_cmd = r'C:Program Files (x86)Tesseract-OCRtesseract' # Simple image to string
print(pytesseract.image_to_string(Image.open('test.png'))) # List of available languages
print(pytesseract.get_languages(config='')) # French text image to string
print(pytesseract.image_to_string(Image.open('test-european.jpg'), lang='fra')) # In order to bypass the image conversions of pytesseract, just use relative or absolute image path
# NOTE: In this case you should provide tesseract supported images or tesseract will return error
print(pytesseract.image_to_string('test.png')) # Batch processing with a single file containing the list of multiple image file paths
print(pytesseract.image_to_string('images.txt')) # Timeout/terminate the tesseract job after a period of time
try: print(pytesseract.image_to_string('test.jpg', timeout=2)) # Timeout after 2 seconds print(pytesseract.image_to_string('test.jpg', timeout=0.5)) # Timeout after half a second
except RuntimeError as timeout_error: # Tesseract processing is terminated pass # Get bounding box estimates
print(pytesseract.image_to_boxes(Image.open('test.png'))) # Get verbose data including boxes, confidences, line and page numbers
print(pytesseract.image_to_data(Image.open('test.png'))) # Get information about orientation and script detection
print(pytesseract.image_to_osd(Image.open('test.png'))) # Get a searchable PDF
pdf = pytesseract.image_to_pdf_or_hocr('test.png', extension='pdf')
with open('test.pdf', 'w+b') as f: f.write(pdf) # pdf type is bytes by default # Get HOCR output
hocr = pytesseract.image_to_pdf_or_hocr('test.png', extension='hocr') # Get ALTO XML output
xml = pytesseract.image_to_alto_xml('test.png')
A kóddal kapcsolatos további információkért keresse fel hivatalosukat dokumentáció.
Egyszerűen fogalmazva, a kód adatokat, például szövegeket és határolókereteket von ki egy adott képből. Bár meglehetősen hasznos, a motor sehol sem olyan erős, mint a fejlett megoldások által biztosítottak, mivel jelentős számítási teljesítményük van az edzéshez.
A Google Document API használata
def async_detect_document(gcs_source_uri, gcs_destination_uri):
"""OCR with PDF/TIFF as source files on GCS""" import json import re from google.cloud import vision from google.cloud import storage # Supported mime_types are: 'application/pdf' and 'image/tiff' mime_type = 'application/pdf' # How many pages should be grouped into each json output file. batch_size = 2 client = vision.ImageAnnotatorClient() feature = vision.Feature( type_=vision.Feature.Type.DOCUMENT_TEXT_DETECTION) gcs_source = vision.GcsSource(uri=gcs_source_uri) input_config = vision.InputConfig( gcs_source=gcs_source, mime_type=mime_type) gcs_destination = vision.GcsDestination(uri=gcs_destination_uri) output_config = vision.OutputConfig( gcs_destination=gcs_destination, batch_size=batch_size) async_request = vision.AsyncAnnotateFileRequest( features=[feature], input_config=input_config, output_config=output_config) operation = client.async_batch_annotate_files( requests=[async_request]) print('Waiting for the operation to finish.') operation.result(timeout=420) # Once the request has completed and the output has been # written to GCS, we can list all the output files. storage_client = storage.Client() match = re.match(r'gs://([^/]+)/(.+)', gcs_destination_uri) bucket_name = match.group(1) prefix = match.group(2) bucket = storage_client.get_bucket(bucket_name) # List objects with the given prefix. blob_list = list(bucket.list_blobs(prefix=prefix)) print('Output files:') for blob in blob_list: print(blob.name) # Process the first output file from GCS. # Since we specified batch_size=2, the first response contains # the first two pages of the input file. output = blob_list[0] json_string = output.download_as_string() response = json.loads(json_string) # The actual response for the first page of the input file. first_page_response = response['responses'][0] annotation = first_page_response['fullTextAnnotation'] # Here we print the full text from the first page. # The response contains more information: # annotation/pages/blocks/paragraphs/words/symbols # including confidence scores and bounding boxes print('Full text:n') print(annotation['text'])
Végső soron a Google dokumentum AI lehetővé teszi, hogy számos információt nagy pontossággal nyerjen ki a dokumentumokból. Ezenkívül a szolgáltatást speciális felhasználási célokra is kínálják, beleértve a szövegkivonást mind a normál, mind a vadon élő képekhez.
Kérjük, olvassa el itt tovább.
Adatkinyerést kínáló jelenlegi megoldások
A dokumentumadatok kinyerésére szolgáló API-kkal rendelkező nagyvállalatok mellett számos olyan megoldás létezik, amelyek rendkívül pontosak PDF OCR szolgáltatások. Bemutatjuk a PDF OCR számos lehetőségét, amelyek különböző szempontokra specializálódtak, valamint néhány újabb kutatási prototípust, amelyek ígéretes eredményeket hoznak*:
*Megjegyzés: Számos OCR-szolgáltatás létezik, amelyek olyan feladatokra irányulnak, mint például a vadon élő képek. Ezeket a szolgáltatásokat kihagytuk, mivel jelenleg csak a PDF dokumentumok olvasására koncentrálunk.
- Google API-k — Az egyik legnagyobb online szolgáltatóként a Google lenyűgöző eredményeket kínál a dokumentumkinyerés terén úttörő számítógépes látástechnológiájával. A szolgáltatásaikat ingyenesen használhatjuk, ha a használat meglehetősen alacsony, de az API hívások növekedésével az ára felhalmozódik.
- Mély olvasó — A Deep Reader egy kutatási munka, amelyet az ACCV Conference 2019-ben tettek közzé. Több korszerű hálózati architektúrát foglal magában olyan feladatok elvégzésére, mint pl. dokumentumegyeztetés, szöveg-visszakeresés és képek zajtalanítása. Vannak további szolgáltatások, mint például a táblák és a kulcs-érték-pár kivonat, amelyek lehetővé teszik az adatok szervezett módon történő lekérését és mentését.
- Nanonets™ — A rendkívül ügyes mélytanulási csapattal a Nanonets™ PDF OCR teljesen sablon- és szabályfüggetlen. Ezért a Nanonets™ nemcsak meghatározott típusú PDF-eken tud dolgozni, hanem bármilyen dokumentumtípusra is alkalmazható szöveg-visszakeresés céljából.
Adatokat szeretne kinyerni a beolvasott dokumentumokból? Adj Nanoneteket™ egy pörgés a nagyobb pontosság, nagyobb rugalmasság, utófeldolgozás és az integrációk széles skálája érdekében!
Következtetés
Összefoglalva, ez a cikk alapos magyarázatot ad a beszkennelt dokumentumokból történő adatkinyerésről, beleértve a mögöttes kihívásokat és a folyamathoz szükséges technológiát.
Bemutatunk két különböző módszertanú oktatóanyagot, és referenciaként bemutatjuk azokat a jelenlegi megoldásokat is, amelyek ezt már a dobozból kínálják.
- 2019
- Rólunk
- Abszolút
- Fiók
- pontos
- Elérése
- mellett
- További
- fejlett
- előlegek
- AI
- algoritmusok
- Minden termék
- már
- alternatív
- elemzés
- elemzés
- Másik
- api
- API-k
- Alkalmazás
- alkalmazások
- megközelítés
- építészet
- körül
- cikkben
- mesterséges
- mesterséges intelligencia
- figyelem
- Automatizálás
- elérhető
- AWS
- háttér
- Bank
- Banks
- alap
- hogy
- BEST
- Túl
- Legnagyobb
- határ
- Doboz
- épít
- üzleti
- vállalkozások
- Kártyák
- esetek
- Készpénz
- pénzforgalom
- bizonyos
- kihívások
- kihívást
- táblázatok
- Megrendelés
- klasszikus
- felhő
- CNN
- kód
- hogyan
- Közös
- Companies
- vállalat
- teljesen
- kitöltésével
- átfogó
- számítás
- számítógép
- koncepció
- Konferencia
- bizalom
- összefüggő
- állandóan
- tartalmaz
- hozzájárultak
- kényelem
- Kényelmes
- konverziók
- Mag
- Corporations
- Megfelelő
- tudott
- kritikus
- Jelenlegi
- Jelenleg
- vevő
- Ügyfelek
- dátum
- adatfeldolgozás
- adattárolás
- üzlet
- leírt
- Design
- részlet
- Érzékelés
- különböző
- nehéz
- digitális
- dokumentumok
- könnyen
- hatékonyság
- alkalmazottak
- Motor
- Mérnöki
- különösen
- lényegében
- becslések
- stb.
- értékelés
- események
- példa
- Kivéve
- kísérlet
- feltárása
- kiterjedt
- kivonatok
- család
- Funkció
- Jellemzők
- Visszacsatolás
- Fields
- megtalálása
- vezetéknév
- Rugalmasság
- áramlási
- Összpontosít
- összpontosított
- koncentrál
- összpontosítás
- következő
- Forefront
- forma
- formátum
- formák
- Ingyenes
- francia
- eleget tesz
- Tele
- további
- cél
- jó
- nagyobb
- nagymértékben
- Kezelés
- hands-on
- fej
- egészségügyi
- egészségügyi ágazat
- hasznos
- itt
- Magas
- <p></p>
- nagyon
- történelem
- kórházak
- Hogyan
- How To
- azonban
- HTTPS
- emberi
- Emberi erőforrások
- Az emberek
- kép
- fontosság
- fontos
- javul
- tartalmaz
- Beleértve
- Jövedelem
- Növelje
- egyéni
- egyének
- iparágak
- ipar
- információ
- bemenet
- inspirálta
- Intelligencia
- kérdés
- IT
- Munka
- Kulcs
- kulcsok
- Labs
- nyelv
- Nyelvek
- nagy
- vezető
- TANUL
- tanulás
- vonal
- Lista
- Hosszú
- gép
- gépi tanulás
- fontos
- Többség
- férfi
- mód
- piacára
- Mérkőzés
- egyező
- orvosi
- mód
- több
- a legtöbb
- Legnepszerubb
- mozgó
- többszörös
- ugyanis
- Természetes
- igények
- hálózat
- hálózatok
- normális
- számok
- számos
- ajánlat
- felajánlott
- felajánlás
- Ajánlat
- Ajánlatok
- hivatalos
- folyamatban lévő
- online
- működés
- Opciók
- érdekében
- szervezetek
- Szervezett
- Más
- tulajdonosok
- résztvevők
- fizetés
- előadó
- időszak
- személyes
- úttörő
- Népszerű
- potenciális
- hatalom
- előre
- előrejelzés
- be
- szép
- előző
- ár
- folyamat
- Folyamatok
- feldolgozás
- Termékek
- Program
- Programok
- biztató
- ad
- amely
- célokra
- gyorsan
- RE
- Olvasó
- Olvasás
- kap
- egyeztetés
- nyilvántartások
- csökkenteni
- tekintettel
- kapcsolat
- kérni
- szükség
- kötelező
- megköveteli,
- kutatás
- Tudástár
- válasz
- Eredmények
- visszatérés
- kockázatok
- letapogatás
- másodperc
- szolgáltatás
- Szolgáltatások
- készlet
- számos
- rövid
- rövid időszak
- hasonló
- Egyszerű
- óta
- Méret
- szoftver
- szilárd
- Megoldások
- néhány
- specializált
- Centrifugálás
- csúcs-
- nyilatkozatok
- statisztikai
- tárolás
- folyam
- erős
- szerkesztett
- lényeges
- sikeres
- Támogatott
- Felmérés
- célzott
- feladatok
- csapat
- technikák
- Technologies
- Technológia
- teszt
- a világ
- ebből adódóan
- ezer
- Keresztül
- idő
- alkalommal
- együtt
- Tónus
- felé
- hagyományos
- Képzések
- oktatóanyagok
- típusok
- megért
- egyedi
- használ
- rendszerint
- érték
- különféle
- Igazolás
- Megnézem
- látomás
- vajon
- míg
- belül
- nélkül
- szavak
- Munka
- dolgozók
- világ
- lenne
- XML
- év