Ak by sa niekto chcel aktívne zapojiť do projektu, momentálne by sa najviac hodilo, ak by niekto vedel otestovať a dotiahnuť implementáciu na macOS. Žiaľ, nemám k dispozícii zariadenie, na ktorom by som to vedel plnohodnotne otestovať.
Pre dalšie možnosti ako sa zapojiť si prečítajte túto sekciu
Poznámka:
Ak má súbor v názve debug
ide o ladiacu verziu. Momentálne sa to používa len pre windows. Ladiaca verzia otvára aj konzolu z ktorej je možné v prípade chyby odčítať problém.
Najnovšia testovacia verzia: v.0.10.4-beta
Súbor | Stiahnuť |
---|---|
hector-linux-amd64.bin | Download |
hector-windows-amd64-debug.exe | Download |
hector-windows-amd64.exe | Download |
Hector je jednoduchý nástroj pre autorov textov, ktorého cieľom je poskytnúť základnú štylistickú podporu. Je to plne konfigurovateľný nástroj, ktorý automaticky analyzuje a vyhodnocuje text. Cieľom programu nie je poskytnúť zoznam problémov, ktoré má autor určite opraviť, ale len zvýrazniť potenciálne problematické časti. Konečné rozhodnutie je vždy na autorovi.
Momentálny focus projektu sa sústredí na vytvorenie verzie 1.0.0. Táto verzia by mala byť plnohodnotným štylistickým korektorom, ktorý poskytuje základné funkcie dobre, je stabilný a má praktické využitie. Súčasný stav projektu je tomuto cieľu veľmi bizko.
Z dlhodobého hľadiska je cieľom vytvoriť komplexný nástroj určený na písanie a editovanie beletristického textu. K tomuto mǐľniku však vedie ešte dlhá cesta plná výziev.
Hector automaticky zvýrazňuje dlhé vety. Samotná dlhá veta nie je problémom, ale ak ich je veľa pokope, môže byť vhodné prerušiť ich kratšou vetou. Rovnako však môže byť problémom aj to, ak je pokope priveľa krátkych viet bez prerušenia. Hector rozoznáva celkovo tri dĺžky viet:
Dĺžka | Zvýraznenie | Základné nastavenie |
---|---|---|
Krátka veta | Žiadne | Veta, ktorá je kratšia ako 8 slov |
Stredne dlhá veta | Žlté | Veta, ktorá je dlhšia ako 8 slov |
Dlhá veta | Oranźové | Veta, ktorá je dlhšia ako 16 slov |
Nastavenie | Význam | Základná hodnota |
---|---|---|
Zapnuté | Umožňuje zapnúť alebo vypnúť funkcionalitu | Zapnuté |
Nepočítať slová kratšie ako X znakov | Umožňuje určiť dĺžku slov, ktoré sa berú do úvahy v prípade vyhodnotenia dlhých viet. | 3 znaky |
Veta je stredne dlhá, ak obsahuje aspoň X slov | Umožňuje určiť dĺžku stredne dlhej vety | 8 slov |
Veta je veľmi dlhá, ak obsahuje aspoň X slov | Umožňuje určiť dĺžku dlhej vety | 16 slov |
Autor by sa mal snažiť o vhodnú kombináciu dlhých a krátkych viet, aby dosiahol vhodný rytmus textu.
Hector v pravom paneli zobrazuje informáciu o počte výskytu daného slova. Prejdením myšou nad slovom sa v editore zvýrazní. Kliknutím sa editor presunie na ďalší výskyt. Takýmto spôsobom je možné jednoducho hľadať problémové slová.
V prípade, že je v nastaveniach zapnutá voľba "používať základný tvar slova", program v pravom stĺpci zobrazuje základné tvary slov. Napríklad budú všetky slová "ktorý", "ktorá", "ktoré" započítané ako výskyty slova "ktorý".
Nastavenie | Význam | Základná hodnota |
---|---|---|
Zapnuté | Umožňuje zapnúť alebo vypnúť funkcionalitu | Zapnuté |
Porovnávať základný tvar slova | Prísnejšie vyhodnocovanie, ktoré ignoruje skloňovanie a časovanie slova | Vypnuté |
Minimálna dĺžka slova | Umožňuje určiť dĺžku slov, ktoré sa zobrazujú v pravom paneli. | 3 znaky |
Minimálny počet opakovaní | Slovo sa zobrazí v pravom paneli, len ak sa opakuje aspoň toľkokrát | 10 opakovaní |
Ak sa niektoré slovo opakuje výrazne veľakrát, autor môže zvážiť jeho nahradenie synonymami.
Hector v ľavom paneli zobrazuje slová, ktoré sa opakujú „blízko seba“. Na rozdiel od pravého panelu sú v tomto zozname iba slová, ktorých výskyty sú bližšie ako definovaná hodnota (napr. ak sa slovo zopakuje aspoň dvakrát v rozmedzí 100 znakov). Takýmto spôsobom dokáže Hector identifikovať zhluky opakujúcich sa slov. Tieto slová sú zároveň zvýraznené.
Po prejdení myšou nad takéto slovo (buď v editore alebo v ľavom paneli) sa v texte zvýraznia všetky jeho výskyty. Kliknutím sa editor presunie na daný výskyt smerom dopredu. Takýmto spôsobom je možné jednoducho hľadať problémové slová.
V prípade, že je v nastaveniach zapnutá možnosť "porovnávať základný tvar slova", program používa základný tvar a voči nemu aplikuje aj ostatné obmedzenia (napr. základný tvar slova "sú" je "byť". Ak je nastavená minimálna dĺžka slova 3 znaky, program zvýrazní aj kratšie výskyty).
Nastavenie | Význam | Základná hodnota |
---|---|---|
Zapnuté | Umožňuje zapnúť alebo vypnúť funkcionalitu | Zapnuté |
Porovnávať základný tvar slova | Prísnejšie vyhodnocovanie, ktoré ignoruje skloňovanie a časovanie slova | Vypnuté |
Minimálna dĺžka slova | Umožňuje určiť dĺžku slov, ktoré sa zobrazujú v ľavom paneli. | 3 znaky |
Minimálna vzdialenosť slov | Požadovaná medzera medzi jednotlivými výskytmi rovnakého slova | 100 slov |
Minimálny počet opakovaní | Slovo sa zobrazí v ľavom paneli, len ak sa opakuje aspoň toľkokrát (berú sa do úvahy iba jednotlivé zhluky) | 2 opakovania |
Slová spojené spojovníkom sú aktuálne považované za dva tokeny. Napríklad "tik-tak" berie momentálne ako dve rôzne slová. Bude treba v praxi overiť, čo je výhodnejšie.
Viacnásobná medzera je štandardne považovaná za zbytočnú. Hector ju automaticky zvýrazní načerveno.
Nastavenie | Význam | Základná hodnota |
---|---|---|
Zapnuté | Umožňuje zapnúť alebo vypnúť funkcionalitu | Zapnuté |
Odstrániť viacnásobnú medzeru.
Viacnásobná interpunkcia je štandardne považovaná za zbytočnú. Hector ju automaticky zvýrazní načerveno. Výnimkou je bežne používaná kombinácia ?!
Nastavenie | Význam | Základná hodnota |
---|---|---|
Zapnuté | Umožňuje zapnúť alebo vypnúť funkcionalitu | Zapnuté |
Odstrániť viacnásobnú interpunkciu.
Medzery na konci odstavcov sú štandardne považované za zbytočné. Hector ich automaticky zvýrazní načerveno.
Nastavenie | Význam | Základná hodnota |
---|---|---|
Zapnuté | Umožňuje zapnúť alebo vypnúť funkcionalitu | Zapnuté |
Odstrániť medzery na konci odstavcov.
Nastavenie | Význam | Základná hodnota |
---|---|---|
Zapnuté | Umožňuje zapnúť alebo vypnúť funkcionalitu | Zapnuté |
Analyzuje použité úvodzovky a nájdené problémy zvýrazňuje červenou
Nastavenie | Význam | Základná hodnota |
---|---|---|
Zapnuté | Umožňuje zapnúť alebo vypnúť funkcionalitu | Zapnuté |
Všetky problémy by mal autor opraviť, ak na ne nemá špeciálny dôvod.
Hector v spodnom status riadku zobrazuje informačný počet znakov, slov a normostrán.
Ďalšia informácia, ktorá má pomocný charakter, je štylistická zložitosť textu, ktorá sa zobrazuje v spodnom status riadku vedľa informácií o dĺžke dokumentu. Táto hodnota vychádza z výpočtu slovenského jazykovedca Jozefa Mistríka. V jednej zo svojich prác definoval vzorec, ktorým meral mieru zrozumiteľnosti textu na rozsahu (0,50). Hector zobrazuje v aplikácii jej „prevrátenú hodnotu“ (50 - hodnota podľa p. Mistríka).
Nasledujúca tabuľka je odvodená od hodnôt v práci p. Mistríka na odkaze vyššie:
Zložitosť | Popis |
---|---|
0 až 9 | Veľmi ľahké texty. Najmä konverzačné a naratívne texty |
10 až 19 | Priemerné, ľahko zrozumiteľné texty. Čítajú sa plynulo. |
20 až 29 | Náročné, ale zrozumiteľné texty. Ide najmä o výkladové texty |
30 až 39 | Náročnejšie texty určené najmä na štúdium |
40 až 50 | Texty na hranici zrozumiteľnosti |
Samozrejme, aj tieto hodnoty treba brať len veľmi orientačne. Lyrická próza bude mať napríklad prirodzene vyššiu zložitosť ako naratívny príbeh, rovnako ako môže mať na text vplyv aj subjektívny štýl autora či žánru.
Okno má iba informačný charakter.
Nastavenie | Význam | Základná hodnota |
---|---|---|
Optimalizácia výkonu pri drobných zmenách textu | Ak má text aspoň 100 znakov a používateľ zmenil menej než 20 znakov, tak sa Hector snaží optimalizovať výkon tak, že analyzuje iba zmenenú časť textu. V prípade, že by došlo k neočakávaným problém je stále možnosť vynútiť plnú analýzu pomocou Upraviť -> Analyzovať všetko | Zapnuté |
Nastavenie | Význam | Základná hodnota |
---|---|---|
Odsadenie prvého riadku odseku | Veľkosť odsadenia prvého riadku v odseku. Zadaná hodnota je interpretovaná ako milimetre. | 7 |
Medzera za odsekom | Veľkosť odsadenia za odsekom. Zadaná hodnota je interpretovaná ako milimetre. | 0 |
V prípade podporovaných platforiem sú k dispozícii kompletné spustiteľné balíčky vo forme binárnych súborov (napr. exe). Program stačí stiahnuť a skopírovať do vlastného priečinka.
Kód bol testovaný s použitím Python interpretera verzie 3.10.
Nainštalovať balíčky:
sudo apt install -y autoconf libtool gettext autopoint
Nainštalovať balíčky:
brew install automake autoconf libtool
Následne možno pokračovať štandardne:
# STIAHNUTIE ZDROJOVÝCH KÓDOV
git clone https://github.com/MartinHlavna/hector
# PRESUN DO NOVÉHO PRIEČINKA
cd hector
# NAINŠTALOVANIE KNIŽNÍC
pip install -r requirements.txt
# SPUSTENIE PROGRAMU
python3 -m hector.py
Od verzie 0.3.0 Hector pri spustení vytvára v priečinku, odkiaľ sa spúšťa, nasledovné podpriečinky:
data/ -- dáta aplikácie
data/spacy-models/sk -- jazykový model pre spracovanie prirodzeného jazyka
Hector pri prvom štarte automaticky z internetu stiahne jazykový model a uloží ho do priečinka data/spacy-models/sk
.
Pri uložení nastavení aplikácie sa uložia do súboru data/config.json
.
Od verzie 0.5.0 Hector pri prvom štarte automaticky sťahuje slovníky:
data/dictionary/sk-skspell -- slovenský slovník projektu skspell
data/dictionary/sk-libreoffice -- slovenský slovník projektu LibreOffice
Program využíva na identifikáciu slov a viet NLP prístup. Napriek tomu, že by sa dala táto úloha riešiť aj jednoduchšími metódami, zvolil som túto techniku najmä s ohľadom na budúce rozširovanie. Model, ktorý je použitý, je natrénovaný na dátach z projektu Slovak Universal Dependencies (Licencia CC BY-SA 4.0).
Program využíva synonymický slovník z projektu LibreOffice (Licencia GPLv2) a spelling slovník projektu hunspell-sk (Licencia MPLv2).
Program využíva FontAwesome (Licencia SIL OFL 1.1)