Hunpars szintaktikai elemző

A Hunpars egy szintakikai elemző magyar nyelvhez. Bemenetként egy szövegfile-t
kap mondatokkal, kimenetként pedig megadja a mondatok szintaktikai fáját egy
egyszerű zárójelezéses jelölésben és GrahpViz dot nyelvű file-okban (ezekből
könnyen átlátható fa ábrák készíthetőek jpg formátumban).

Szoftver követelmények:
- Python 2.4 vagy újabb
- hunmorph morfológiai elemző
- Graphviz (http://www.graphviz.org)

A program kétféle módon használható:

1. hunmorph morfológiai elemzővel (ajánlott mód):

Ebben az esetben a mondatok szavait a hunmorph segítségével morfológiai elemzésre
kerülnek, és az eredményekből egy szótárfile készül. A Hunpars ezt a szótárt
használja a mondatok szintakikai elemzéséhez. A programok használatának
egyszerűsítésére egy shell script (UNIX rendszerekhez) és batch file-ok készültek
(Windows rendszerekhez)

Használat:

  UNIX:

    ./szhparser_morph.sh HUNMORPH_BIN_FILE SENTENCE_FILE OUTPUT_NAME DEBUG_LEVEL

  Windows:

    Parancssoros használat:
      szhparser_morph.bat HUNMORPH_BIN_FILE SENTENCE_FILE OUTPUT_NAME DEBUG_LEVEL
    
    Az szh_parser_morph_det.bat file minden paraméterhez tartalmaz egy
    alapértelmezett értéket, ezért ezzel egy klikkeléssel is használható a
    program (a file szerkesztésével ezek a paraméterek természetesen
    testreszabhatóak).
    
A parancssori paraméterek leírása:

  A program által használt csak utf-8 karakterkódolású file-okkal működik!
  
  HUNMORPH_BIN_FILE
    A hunmorph (ocamorph) erőforrásfile-jának neve (lásd ocamorph dokumentáció).

  SENTENCE_FILE
    Bemeneti file, minden sorában egy mondattal.
  
  OUTPUT_NAME
    A kimeneti file-ok egy OUTPUT_NAME_output nevű könyvtárba kerülnek.
    Minden mondathoz készül egy vagy több dot file, ezek elnevezése:
      OUTPUT_NAME_sentence_I_sentvar_J_analysis_K.dot
        Ez a file az I-edik mondat K-adik elemzésének (egy mondatnak többféle
        elemzése is lehet) J-edik mondatvariációjának (a mondatvariációk a
        szavak morfológiai többértelműségéből fakadnak) elemzési fáját
        tartalmazza.
    Mindegyik mondathoz készül egy naplófile az elemzésről (ennek részletessége
    a DEBUG_LEVEL paraméterrel állítható):
      OUTPUT_NAME_sentence_I.log
    Ha szótár valamely sorának beolvasása sikertelen volt, akkor ez a
    OUTPUT_NAME_dict_read.log file-ban naplózásra kerül.
    OUTPUT_NAME_results.txt file-ba kerül az összes elemzés eredménye szöveges
    formátumban
  
  DEBUG_LEVEL
    Lehetséges értékek: ERROR, WARNING, INFO, DEBUG.
  
Az erőforrásfile-ok leírása:

  verblist
    Igelista szövegfile, az elemző igekötők és igekötők párosításához használja.  
  
  argstore.xml
    Melléknevek és névutók vonzatkeretét tartalmazó xml file.

Elemzési fa ábrák generálása:

  A Graphviz program segítségével készíthet képfile-okat a dot file-okból. A
  mellékelt dot2jpg.py python scripttel egyszerűsítheti ezt a feladatot: a
  script az aktuális könyvtárban lévő összes dot file-ból jpg képet generál.
  
2. Használat szótárfile-al:

  Ha számítógépén nem elérhető a hunmorph morfológiai elemző, akkor egy
  szótárfile-t kell készítenie az Hunpars futtatásához. A szótárfile-nak
  tartalmaznia kell a mondatok összes szóalakjának elemzését.
  
Használat

  UNIX:
  
    ./szhparser_dict.sh SENTENCE_FILE DICT_FILE OUTPUT_NAME DEBUG_LEVEL
    
  Windows:

    Parancssoros használat:
      szhparser_dict.bat SENTENCE_FILE DICT_FILE OUTPUT_NAME DEBUG_LEVEL
    
    Az szh_parser_morph_det.bat file minden paraméterhez tartalmaz egy
    alapértelmezett értéket, ezért ezzel egy klikkeléssel is használható a
    program (a file szerkesztésével ezek a paraméterek természetesen
    testreszabhatóak).
  
A parancssori paraméterek leírása:
  
   A paraméterek megegyeznek a fentiekkel, továbbá:
  
  DICT_FILE
    Szótárfile, minden sorában egy szóalakkal és a hozzá tartozó - KR
    jelölésrendszerben megadott - morfológiai elemzéssel.
    
Tipp: ha egy másik gépen hozzá tud férni a hunmorph programhoz, akkor a
createKRDic.py script segítségével elkészítheti a szükséges szótárfile-t.
