Dokončenie GraphRAG evaluácie
This commit is contained in:
parent
348be522bd
commit
90abe1558b
33
README.md
33
README.md
@ -15,8 +15,9 @@ FTS5/BM25 + embeddingy + RRF. Nad týmto baseline sa vo vetve GraphRAG
|
||||
dopĺňa knowledge graph uložený v Neo4j. Aktuálne je implementovaná
|
||||
grafová infraštruktúra, deterministický builder, vizualizácia grafu a
|
||||
samostatné grafové vyhľadávanie. Grafová vrstva má zdrojovo overený benchmark a zmrazenú opravenú
|
||||
verziu v3. Ďalším krokom je zapojenie do OpenWebUI a širšie nezávislé
|
||||
vyhodnotenie na nových otázkach/dátach.
|
||||
verziu v4 s 320 novými TEST otázkami a samostatným overením generovania
|
||||
odpovedí cez OpenWebUI API. Ďalším krokom je natívne zapojenie grafového
|
||||
nástroja a hlavného agenta do OpenWebUI.
|
||||
|
||||
## Implementované
|
||||
|
||||
@ -844,12 +845,18 @@ grafové vyhľadávanie je implementované v `tools/graphrag/graph_search.py`.
|
||||
GraphRAG zatiaľ nezasahuje do stabilného klasického `/rag` toku; ďalšia
|
||||
etapa spojí grafové výsledky s klasickým RAG a OpenWebUI nástrojom.
|
||||
|
||||
Aktuálna opravená evaluácia GraphRAG v3: DEV/regresia **589/589**,
|
||||
doplnkový TEST **13/13**, bez runtime chýb. Posledný TEST je malý a
|
||||
pokrýva iba dva nové profily; neznamená všeobecnú 100 % správnosť.
|
||||
Širší nezávislý TEST v2 pred finálnymi opravami zostáva zaznamenaný ako
|
||||
**67/80**. Pôvodných 137 nesúladov má zdrojové opravy a nepravdivé
|
||||
predpoklady sa hodnotia cez skutočné no-answer správanie.
|
||||
Aktuálna evaluácia GraphRAG v4: DEV/regresia **722/722**, širší TEST
|
||||
**320/320**, bez runtime chýb. TEST pokrýva desať kategórií, 288 kladných
|
||||
a 32 záporných otázok. Nové otázky a kombinácie faktov sú oddelené od DEV;
|
||||
zdrojových 72 profilov aj rodiny formulácií sú známe. Nejde o záruku
|
||||
100 % správnosti na ľubovoľných otázkach. Historické v2 **67/80** a v3
|
||||
**13/13** ostávajú zachované. Pôvodných 137 nesúladov má zdrojové opravy;
|
||||
v4 dopĺňa kontrolu názvov oproti pôvodnému Markdownu. Generovanie odpovedí
|
||||
cez OpenWebUI API sa meria zvlášť od grafového retrievalu a od natívneho
|
||||
výberu nástrojov agentom.
|
||||
Finálny nový TEST generovaných odpovedí cez OpenWebUI API: **281/300 (93,67 %)**.
|
||||
Doplnkový audit všetkých grafových kontextových faktov: **319/320 (99,69 %)**;
|
||||
strict retrieval 320/320 meria splnenie požadovaných očakávaní.
|
||||
Podrobné výsledky, obmedzenia a reprodukcia sú v
|
||||
[GraphRAG evaluácii](tools/graphrag/evaluation/README.md).
|
||||
|
||||
@ -1074,11 +1081,11 @@ spoľahlivého zdroja.
|
||||
|
||||
### 2. GraphRAG evaluácia
|
||||
|
||||
V3 je opravená, zmrazená a vyhodnotená. [Finálna správa](tools/graphrag/evaluation/results/final_v3_2026-10-25/REPORT.md)
|
||||
obsahuje aj históriu v1/v2 a obmedzenia posledného malého holdoutu.
|
||||
Pred formálnym porovnaním s klasickým RAG treba širšie nezávislé
|
||||
otázky/dáta a spoločnú metodiku. Vystavené TEST otázky sú pri ďalšom
|
||||
ladení iba regresiou.
|
||||
V4 má zmrazený benchmark a širší TEST **320/320**. [Finálna správa](tools/graphrag/evaluation/results/final_v4_2026-10-25/REPORT.md)
|
||||
oddeľuje výsledky grafového retrievalu a generovania odpovedí modelom.
|
||||
Historické v1–v3 sa nemenia. Pred formálnym porovnaním s klasickým RAG
|
||||
potrebujeme spoločnú metodiku a ideálne otázky anotované nezávislým človekom.
|
||||
Vystavené TEST otázky sú pri ďalšom ladení iba regresiou.
|
||||
|
||||
### 3. OpenWebUI nástroje
|
||||
|
||||
|
||||
71
docs/graphrag_v4_2026-10-25_worklog.md
Normal file
71
docs/graphrag_v4_2026-10-25_worklog.md
Normal file
@ -0,0 +1,71 @@
|
||||
# Dokončenie širšej GraphRAG evaluácie v4
|
||||
|
||||
Zdrojové meranie a obmedzenia: [správa v4](../tools/graphrag/evaluation/results/final_v4_2026-10-25/REPORT.md).
|
||||
|
||||
## Rozsah a záloha
|
||||
|
||||
Pracovalo sa na grafovej vrstve a jej evaluácii. Stabilný klasický RAG, indexové JSON, baseline aj historické merania v1–v3 ostali zachované. Aktuálny default `jp170na/zpwiki:master` bol porovnaný s lokálnym checkoutom. Archív projektu a samostatný snapshot spravovaného Neo4j grafu sú v `/tmp/zp-agent-graphrag-v4-backup-20261025T013116Z/`. Konfiguračné kľúče sa do výsledkov ani Gitu nekopírujú.
|
||||
|
||||
## Zmeny
|
||||
|
||||
1. `benchmark_v4.py`: 320 nových zdrojových TEST otázok v 10 kategóriách; 722 DEV otázok zvlášť. Kvóty a seed sú určené bez výsledkov vyhľadávania. Žiadna otázka sa nevyraďuje podľa neúspechu.
|
||||
2. Normalizované logické skupiny bránia tomu, aby sa parafráza rovnakého zadania tvárila ako nezávislý TEST. Freeze deklaruje, že 72 známych profilov sa prekrýva; nezamieňa to za profilovo nezávislé v2/v3 meranie.
|
||||
3. Zdrojový oracle a grafový builder rozlišujú názvy, návrhy názvov, témy, organizačné poznámky, súvisiace práce a odkazy. Explicitný názov má prednosť. Linkovaný názov tímového projektu sa extrahuje ako názov, nie URL. Vyhľadávanie na názov nevracia bezmenný akademický záznam ako pozitívnu odpoveď.
|
||||
4. Explicitný akademický rozsah `2022/23` sa nesmie prepísať nesúvisiacou kategóriou `vp2021`. Graf bol bezpečne znovu zostavený z rovnakých JSON vstupov.
|
||||
5. Audit overuje všetky očakávania oproti raw Markdownu. Priama kontrola má 616 dôkazových záznamov, bez chyby. Doplnené sú zdrojové adjudikácie, mapovanie ID a vzorka kontroly pôvodných riadkov.
|
||||
6. Osobitný `tools/answer_evaluation/` hodnotí skutočné odpovede školského modelu cez OpenWebUI API po dodaní grafového kontextu. Nejde o prehliadač ani nainštalovaný nástroj. Prvých 20 externých otázok je DEV; zostávajúcich 300 je TEST generovania. Kód a prompt majú vlastné odtlačky a presné ID. Pôvodný slabší diagnostický výsledok zostal uložený.
|
||||
7. Nové regresné testy cielia neplatné zdrojové názvy, rok, únik logických skupín, chybné tvrdenia, null hodnoty a zámenu diplomovej/dizertačnej práce. Kompletná sada: 448 passed, 4 skipped.
|
||||
|
||||
## Použité príkazy
|
||||
|
||||
```bash
|
||||
# Kontrola stavu a aktuálneho zdroja:
|
||||
git status --short
|
||||
git -C ../zpwiki ls-remote --symref origin HEAD
|
||||
|
||||
# Benchmark sa vytvára len do nových ciest:
|
||||
.venv/bin/python -m tools.graphrag.evaluation.benchmark_v4
|
||||
|
||||
# Po načítaní .env, bez vypísania jeho hodnôt:
|
||||
.venv/bin/python -m tools.graphrag.build_graphrag
|
||||
RUN_NEO4J_TESTS=1 HF_HUB_OFFLINE=1 TRANSFORMERS_OFFLINE=1 \
|
||||
.venv/bin/python -m pytest -q -p no:cacheprovider
|
||||
|
||||
.venv/bin/python -m tools.graphrag.evaluation.evaluate_graphrag \
|
||||
--split dev --audit tools/graphrag/evaluation/results/v4_preparation/source_audit.json \
|
||||
--output-dir tools/graphrag/evaluation/results/final_v4_2026-10-25
|
||||
.venv/bin/python -m tools.graphrag.evaluation.freeze_graphrag \
|
||||
--dev-results tools/graphrag/evaluation/results/final_v4_2026-10-25/graphrag_dev.json \
|
||||
--audit tools/graphrag/evaluation/results/v4_preparation/source_audit.json \
|
||||
--output tools/graphrag/evaluation/frozen_v4.json
|
||||
.venv/bin/python -m tools.graphrag.evaluation.evaluate_graphrag \
|
||||
--split test --audit tools/graphrag/evaluation/results/v4_preparation/source_audit.json \
|
||||
--freeze-manifest tools/graphrag/evaluation/frozen_v4.json \
|
||||
--output-dir tools/graphrag/evaluation/results/final_v4_2026-10-25
|
||||
|
||||
# Pôvodná diagnostika, potom nový prompt na DEV a nový TEST generovania:
|
||||
.venv/bin/python -m tools.graphrag.evaluation.check_openwebui \
|
||||
--freeze-manifest tools/graphrag/evaluation/frozen_v4.json \
|
||||
--audit tools/graphrag/evaluation/results/v4_preparation/source_audit.json \
|
||||
--output tools/graphrag/evaluation/results/final_v4_2026-10-25/openwebui_sample.json
|
||||
.venv/bin/python -m tools.answer_evaluation.evaluate_graph_answers \
|
||||
--split dev --output-dir tools/graphrag/evaluation/results/answers_v4_dev_2026-10-25
|
||||
.venv/bin/python -m tools.answer_evaluation.evaluate_graph_answers \
|
||||
--split test --output-dir tools/graphrag/evaluation/results/answers_v4_test_2026-10-25
|
||||
```
|
||||
|
||||
Medzi DEV behmi sa opravovali zdrojové anotácie a kód. Po finálnom grafovom TESTe sa grafový kód ani dataset nemenili. Po spustení 300-otázkového LLM TESTu sa nemenil prompt, kontextový adaptér ani hodnotenie. Reprodukcia vyžaduje nové výstupné adresáre a pôvodné odtlačky; nie je novým nezávislým meraním.
|
||||
|
||||
## Finálny výsledok
|
||||
|
||||
Grafový strict TEST 320/320 (100 %); zdrojový audit všetkých kontextových faktov 319/320 (99,69 %). Externý TEST odpovedí 281/300 (93,67 %), vrátane 19 zlyhaní, z toho 7 chýb spracovania JSON. Cieľ ≥92 % splnený v prvom finálnom behu oboch experimentov. Úplné JSON/CSV, zdrojové audity, súhrn a rozpis chýb sú uložené. Natívny výber nástrojov hlavným agentom zostáva bodom 4.
|
||||
|
||||
Docker obraz bol znovu zostavený a existujúci API kontajner obnovený bez reštartu Neo4j. Obsahové odtlačky grafového kódu, otázok, JSON vstupov a raw wiki v kontajneri zodpovedajú frozen_v4. Overený bol grafový dotaz aj `/health`.
|
||||
|
||||
```bash
|
||||
docker compose build zp-agent-api
|
||||
docker compose up -d --no-deps zp-agent-api
|
||||
git diff --check
|
||||
git commit -m "Dokončenie GraphRAG evaluácie"
|
||||
git push --atomic origin graphrag-v1 graphrag-v4-frozen
|
||||
```
|
||||
34
test/test_graph_answer_evaluation.py
Normal file
34
test/test_graph_answer_evaluation.py
Normal file
@ -0,0 +1,34 @@
|
||||
from tools.answer_evaluation.evaluate_graph_answers import grade_answer, graph_context
|
||||
|
||||
|
||||
def test_context_does_not_present_profile_title_or_kind_as_an_academic_fact():
|
||||
result = {'status': 'ok', 'reason': None, 'aggregation': None,
|
||||
'constraints': {'mentions_title': False, 'mentions_academic_year': False, 'years': [], 'mentions_start_year': False},
|
||||
'facts': [{'fact_type': 'person_category', 'person': 'Eva Nová', 'category': 'dp2026',
|
||||
'category_year': 2026, 'category_type': 'diploma_thesis'}],
|
||||
'documents': [{'document_path': 'p.md', 'source_url': 'https://example.org/p', 'title': 'Eva Nová', 'person_kind': 'student'}]}
|
||||
context = graph_context(result)
|
||||
assert context['facts'] == [{'person': 'Eva Nová', 'category': 'dp2026'}]
|
||||
assert context['sources'] == [{'document_path': 'p.md', 'source_url': 'https://example.org/p'}]
|
||||
|
||||
|
||||
def test_null_is_not_a_false_positive_assertion_but_wrong_year_is():
|
||||
oracle = {'people': {'Eva Nová': {'start_year': 2020, 'academics': [{'year': 2026, 'title': 'Vyhľadávanie informácií'}]}}}
|
||||
case = {'expected_answer_contains': ['Eva Nová', '2026'], 'graph': {
|
||||
'expected_bindings': [{'person': 'Eva Nová', 'year': 2026}], 'expected_evidence_documents': []}}
|
||||
answer = {'answer': 'Eva Nová má prácu z roku 2026.', 'status': 'ok', 'source_urls': [],
|
||||
'claims': [{'person': 'Eva Nová', 'year': 2026, 'start_year': None, 'title': None}]}
|
||||
assert grade_answer(case, answer, oracle)['strict']
|
||||
answer['claims'][0]['year'] = 2025
|
||||
assert not grade_answer(case, answer, oracle)['strict']
|
||||
|
||||
|
||||
def test_correct_structured_category_does_not_excuse_a_wrong_prose_explanation():
|
||||
oracle = {'people': {'Eva Nová': {'documents': ['p.md']}},
|
||||
'documents': {'p.md': {'tags': [], 'categories': ['dp2026'], 'author': None}}}
|
||||
case = {'expected_answer_contains': ['Eva Nová', 'dp2026'], 'graph': {
|
||||
'expected_bindings': [{'person': 'Eva Nová', 'category': 'dp2026'}], 'expected_evidence_documents': []}}
|
||||
answer = {'answer': 'Eva Nová má dp2026, čo je dizertačná práca.', 'status': 'ok', 'source_urls': [],
|
||||
'claims': [{'person': 'Eva Nová', 'category': 'dp2026'}]}
|
||||
grade = grade_answer(case, answer, oracle)
|
||||
assert not grade['strict'] and grade['contradictory_thesis_label']
|
||||
38
tools/answer_evaluation/README.md
Normal file
38
tools/answer_evaluation/README.md
Normal file
@ -0,0 +1,38 @@
|
||||
# Generovanie odpovedí nad zmrazeným grafom
|
||||
|
||||
Tento experiment meria OpenWebUI chat API po dodaní skutočného grafového
|
||||
kontextu lokálnym skriptom. Neoveruje prehliadač ani automatický výber
|
||||
nainštalovaných nástrojov hlavným agentom. Klasický RAG sa nemení.
|
||||
|
||||
Pôvodná diagnostika použila 20 otázok. Všetkých 20 sa stalo DEV; zostávajúcich
|
||||
300 otázok zo zmrazeného grafového benchmarku tvorí nový TEST generovania.
|
||||
Predchádzajúce interné grafové meranie neposkytlo výstupy jazykového modelu.
|
||||
Žiadne očakávania, zdrojový oracle ani výsledky evaluatora sa modelu neposielajú.
|
||||
|
||||
`graph_answer_prompt.txt` určuje výstup. Kontext obsahuje iba skutočné relevantné
|
||||
fakty a zdroje, bez mien profilov vydávaných za názov akademickej práce či typu
|
||||
osoby zamieňaného za taxonomickú kategóriu. Štruktúrované tvrdenia musia spájať
|
||||
správne fakty pri tej istej osobe/práci/dokumente. Kontrolujú sa aj zdrojové
|
||||
odkazy, množiny, počty a povinné hodnoty v prirodzenom texte. Nepovinné `null`
|
||||
znamená neprítomnosť tvrdenia. Označenie diplomovej práce za dizertačnú sa odmieta.
|
||||
|
||||
Ide o prísne, ale stále pravidlové hodnotenie. Nejde o úplnú sémantickú kontrolu
|
||||
každej možnej vety. Zdrojový oracle je nezávislý od grafového buildera, nie od
|
||||
človeka, ktorý by nezávisle anotoval celý test. Osoby, korpus a šablóny sú známe.
|
||||
|
||||
Každý nový výstupný adresár obsahuje deklaráciu pred meraním, SHA kódu/promptu,
|
||||
presné DEV/TEST ID a výsledky všetkých otázok. Odpovede sa ukladajú priebežne;
|
||||
chyba ani prerušený beh sa nesmie zatajiť či premenovať na nezávislý nový TEST.
|
||||
Po odhalení TEST výsledkov patria tieto otázky pri ladení do DEV.
|
||||
|
||||
```bash
|
||||
set -a
|
||||
source .env
|
||||
set +a
|
||||
# Reprodukcia používa vždy nový adresár; nejde o nový nezávislý TEST.
|
||||
python -m tools.answer_evaluation.evaluate_graph_answers \
|
||||
--split test --output-dir /tmp/graphrag-answers-reproduction
|
||||
```
|
||||
|
||||
Model je `model120-fast`; presný názov modelu vrátený serverom, tokeny a pôvodné
|
||||
odpovede sú uložené vo výsledkoch. Prístupový kľúč zostáva iba v prostredí.
|
||||
1
tools/answer_evaluation/__init__.py
Normal file
1
tools/answer_evaluation/__init__.py
Normal file
@ -0,0 +1 @@
|
||||
"""Answer-generation evaluation kept separate from the frozen graph retriever."""
|
||||
168
tools/answer_evaluation/evaluate_graph_answers.py
Normal file
168
tools/answer_evaluation/evaluate_graph_answers.py
Normal file
@ -0,0 +1,168 @@
|
||||
"""Evaluate 300 fresh LLM outputs after 20 exposed development outputs.
|
||||
|
||||
The 320-query graph benchmark stays frozen. This separate experiment supplies
|
||||
the retriever's context to OpenWebUI; it does not test native tool routing.
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import concurrent.futures
|
||||
import hashlib
|
||||
import json
|
||||
import os
|
||||
import time
|
||||
from collections import Counter
|
||||
from pathlib import Path
|
||||
|
||||
from tools.graphrag.graph_db import create_neo4j_driver, get_neo4j_settings
|
||||
from tools.graphrag.graph_search import search_graph_with_session
|
||||
from tools.graphrag.evaluation.benchmark_v2 import BASE
|
||||
from tools.graphrag.evaluation.check_openwebui import grade_claims
|
||||
from tools.graphrag.evaluation.reproducibility import graph_fingerprint, run_metadata, sha256_file, verify_freeze
|
||||
from tools.graphrag.evaluation.source_oracle import load_source_oracle, norm
|
||||
from tools.rag.evaluation.rag_runner import DEFAULT_MODEL, OPENWEBUI_URL, request_json
|
||||
|
||||
HERE = Path(__file__).resolve().parent
|
||||
|
||||
|
||||
def graph_context(result: dict) -> dict:
|
||||
"""Remove storage/profile metadata that cannot answer the actual question.
|
||||
|
||||
Uses only actual retrieval output and query intent, never gold annotations.
|
||||
Values/subjects/source paths are copied without inventing or rewriting facts.
|
||||
"""
|
||||
facts = []; intent = result['constraints']
|
||||
for row in result['facts']:
|
||||
kind = row.get('fact_type', '')
|
||||
if kind.startswith('shared_'):
|
||||
field = {'shared_keyword': 'keyword', 'shared_category': 'category',
|
||||
'shared_document_author': 'document_author'}.get(kind)
|
||||
if field:
|
||||
for side in ['left', 'right']:
|
||||
facts.append({'person': row[f'{side}_person'], field: row[field],
|
||||
'document_path': row.get(f'{side}_document_path'),
|
||||
'source_url': row.get(f'{side}_source_url')})
|
||||
continue
|
||||
if not row.get('person'):
|
||||
continue
|
||||
allowed = {'person', 'document_path', 'source_url', 'keyword', 'category', 'document_author'}
|
||||
if intent['mentions_title']:
|
||||
allowed.add('title')
|
||||
if intent['mentions_academic_year'] or intent['years']:
|
||||
allowed.add('year')
|
||||
if intent['mentions_start_year']:
|
||||
allowed.add('start_year')
|
||||
fact = {k: v for k, v in row.items() if k in allowed and v is not None}
|
||||
if fact not in facts:
|
||||
facts.append(fact)
|
||||
return {'status': result['status'], 'reason': result['reason'], 'facts': facts,
|
||||
'sources': [{k: d[k] for k in ['document_path', 'source_url'] if d.get(k)}
|
||||
for d in result['documents']], 'aggregation': result['aggregation']}
|
||||
|
||||
|
||||
def grade_answer(case: dict, answer: dict, oracle: dict) -> dict:
|
||||
# JSON null is absence, not a positive factual assertion. The same rule is
|
||||
# applicable to all rounds, including the archived initial sample.
|
||||
normalized = dict(answer)
|
||||
if isinstance(answer.get('claims'), list):
|
||||
normalized['claims'] = [{k: v for k, v in claim.items() if v is not None}
|
||||
if isinstance(claim, dict) else claim for claim in answer['claims']]
|
||||
grade = grade_claims(case, normalized, oracle)
|
||||
text = norm(answer.get('answer', ''))
|
||||
missing = [v for v in case.get('expected_answer_contains', []) if norm(v) not in text]
|
||||
# The initial sample exposed a real contradiction in otherwise correct
|
||||
# category claims. Check it explicitly rather than silently accepting prose.
|
||||
wrong_thesis_label = 'dizertac' in text and any(str(b.get('category', '')).startswith('dp')
|
||||
for b in case['graph']['expected_bindings']) and not any(
|
||||
str(b.get('category', '')).startswith('phd') for b in case['graph']['expected_bindings'])
|
||||
grade.update(text_values_ok=not missing, missing_text_values=missing,
|
||||
contradictory_thesis_label=wrong_thesis_label)
|
||||
grade['strict'] = bool(grade['strict'] and not missing and not wrong_thesis_label)
|
||||
return grade
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description=__doc__)
|
||||
parser.add_argument('--output-dir', type=Path, required=True)
|
||||
parser.add_argument('--sample', type=Path, default=BASE / 'results/final_v4_2026-10-25/openwebui_sample.json')
|
||||
parser.add_argument('--workers', type=int, default=3)
|
||||
parser.add_argument('--model', default=DEFAULT_MODEL)
|
||||
parser.add_argument('--split', choices=['dev', 'test'], default='test')
|
||||
args = parser.parse_args()
|
||||
if args.output_dir.exists():
|
||||
parser.error('Refusing to overwrite an answer-level TEST.')
|
||||
if not os.getenv('OPENWEBUI_API_KEY'):
|
||||
parser.error('OPENWEBUI_API_KEY missing.')
|
||||
dataset = BASE / 'graphrag_questions_v4.json'; audit = BASE / 'results/v4_preparation/source_audit.json'
|
||||
frozen = BASE / 'frozen_v4.json'; manifest = json.loads(frozen.read_text())
|
||||
questions = json.loads(dataset.read_text()); oracle = load_source_oracle()
|
||||
sample = json.loads(args.sample.read_text()); exposed = set(sample['selected_ids'])
|
||||
test = [q for q in questions if q['split'] == 'test' and q['id'] not in exposed]
|
||||
assert len(exposed) == 20 and len(test) == 300
|
||||
selected = test if args.split == 'test' else [q for q in questions if q['id'] in exposed]
|
||||
prompt_path = HERE / 'graph_answer_prompt.txt'; prompt = prompt_path.read_text()
|
||||
args.output_dir.mkdir(parents=True)
|
||||
metadata = run_metadata(dataset); settings = get_neo4j_settings(); contexts = {}
|
||||
with create_neo4j_driver(settings) as driver, driver.session(database=settings.database) as session:
|
||||
verify_freeze(manifest, metadata, graph_fingerprint(session), audit=audit, **manifest['parameters'])
|
||||
# Generate every context before making any external request.
|
||||
for case in selected:
|
||||
contexts[case['id']] = graph_context(search_graph_with_session(session, case['question'], **manifest['parameters']))
|
||||
code_files = [Path(__file__), prompt_path, Path('tools/rag/evaluation/rag_runner.py')]
|
||||
hashes = {str(p): sha256_file(p) for p in code_files}
|
||||
declaration = {'method': 'Fresh LLM-generation holdout over previously measured, frozen graph queries.',
|
||||
'graph_freeze_sha256': sha256_file(frozen), 'audit_sha256': sha256_file(audit),
|
||||
'generation_files': hashes, 'model': args.model, 'temperature': 0, 'workers': args.workers,
|
||||
'dev_ids': sorted(exposed), 'test_ids': [q['id'] for q in test],
|
||||
'dev_count': 20, 'test_count': 300, 'target_accuracy': 0.92,
|
||||
'selected_split': args.split, 'selected_ids': [q['id'] for q in selected],
|
||||
'policy': 'Evaluate all 300; retain every failure; do not tune on this TEST.',
|
||||
'test_categories': dict(Counter(q['category'] for q in test)),
|
||||
'limitations': ['Known corpus/profiles and templates; model outputs for these 300 questions were not previously observed.',
|
||||
'Harness supplies graph context; native OpenWebUI tool choice and browser UI are outside this experiment.',
|
||||
'Checks structured factual claims, their source support/citations and required prose values; not a general semantic judge of arbitrary prose.']}
|
||||
(args.output_dir / 'frozen_answers.json').write_text(json.dumps(declaration, ensure_ascii=False, indent=2) + '\n')
|
||||
results = {}
|
||||
def run(case):
|
||||
started = time.perf_counter(); context = contexts[case['id']]
|
||||
row = {'id': case['id'], 'category': case['category'], 'question': case['question'],
|
||||
'graph_context': context, 'strict': False}
|
||||
try:
|
||||
response = request_json(OPENWEBUI_URL, method='POST', timeout=90, max_attempts=2,
|
||||
headers={'Authorization': f'Bearer {os.environ["OPENWEBUI_API_KEY"]}', 'Content-Type': 'application/json'},
|
||||
payload={'model': args.model, 'temperature': 0, 'stream': False,
|
||||
'response_format': {'type': 'json_object'}, 'messages': [
|
||||
{'role': 'system', 'content': prompt}, {'role': 'user', 'content': json.dumps(
|
||||
{'question': case['question'], 'graph_context': context}, ensure_ascii=False)}]})
|
||||
row['response'] = response
|
||||
text = response['choices'][0]['message']['content'].strip()
|
||||
if text.startswith('```'):
|
||||
text = text.split('\n', 1)[1].rsplit('```', 1)[0]
|
||||
answer = json.loads(text); row['answer'] = answer; row.update(grade_answer(case, answer, oracle))
|
||||
except Exception as error:
|
||||
row['error'] = f'{type(error).__name__}: {str(error)[:500]}'
|
||||
row['latency_seconds'] = time.perf_counter() - started
|
||||
return row
|
||||
output = {'configuration': declaration, 'run_metadata': metadata, 'questions': []}
|
||||
with concurrent.futures.ThreadPoolExecutor(max_workers=args.workers) as executor:
|
||||
futures = [executor.submit(run, case) for case in selected]
|
||||
for future in concurrent.futures.as_completed(futures):
|
||||
row = future.result(); results[row['id']] = row
|
||||
output['questions'] = [results[q['id']] for q in selected if q['id'] in results]
|
||||
output['summary'] = {'questions': len(results), 'correct': sum(r['strict'] for r in results.values()),
|
||||
'accuracy': sum(r['strict'] for r in results.values()) / len(results),
|
||||
'errors': sum(bool(r.get('error')) for r in results.values())}
|
||||
(args.output_dir / f'answers_{args.split}.json').write_text(json.dumps(output, ensure_ascii=False, indent=2) + '\n')
|
||||
print(f'{len(results)}/{len(selected)} {row["id"]}: {"OK" if row["strict"] else "FAIL"} {row["latency_seconds"]:.1f}s', flush=True)
|
||||
with create_neo4j_driver(settings) as driver, driver.session(database=settings.database) as session:
|
||||
verify_freeze(manifest, run_metadata(dataset), graph_fingerprint(session), audit=audit, **manifest['parameters'])
|
||||
assert hashes == {str(p): sha256_file(p) for p in code_files}, 'Generation code changed during TEST.'
|
||||
output['by_category'] = {category: {'questions': len(rows), 'correct': sum(r['strict'] for r in rows),
|
||||
'accuracy': sum(r['strict'] for r in rows) / len(rows)} for category in sorted({q['category'] for q in selected})
|
||||
for rows in [[r for r in output['questions'] if r['category'] == category]]}
|
||||
(args.output_dir / f'answers_{args.split}.json').write_text(json.dumps(output, ensure_ascii=False, indent=2) + '\n')
|
||||
print(json.dumps(output['summary']))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
9
tools/answer_evaluation/graph_answer_prompt.txt
Normal file
9
tools/answer_evaluation/graph_answer_prompt.txt
Normal file
@ -0,0 +1,9 @@
|
||||
Odpovedaj po slovensky iba z dodaných overených grafových faktov. Žiadne ďalšie vedomosti.
|
||||
Vráť JSON: {"answer": "stručná prirodzená odpoveď so zdrojmi", "status": "ok alebo no_answer", "claims": [], "source_urls": [], "count": null}.
|
||||
Každá claim obsahuje person a iba relevantné pravdivé polia: title, year, start_year, keyword, category, document_author. Nepovinné polia vynechaj; nevypĺňaj ich null ani odhadom.
|
||||
Claims musia pokryť všetky požadované fakty. Podmienky patria tej istej osobe a názov aj rok tej istej práci. Metadata category a document_author spájaj len pri rovnakom document_path.
|
||||
Presne zachovaj mená, názvy, tagy a kódy kategórií. Mená uvádzaj v pôvodnom tvare aj v texte answer. V answer uveď všetky požadované hodnoty; nezamieňaj začiatok štúdia s rokom práce.
|
||||
Title znamená výhradne názov akademickej práce alebo projektu; meno profilu nikdy nie je názov práce. Category je iba skutočný kód taxonomy.category, napríklad dp2026. Študent nie je kategória. Typ akademickej práce nie je kategória. Kódy kategórií nerozpisuj ani z nich neodhaduj rok práce. bp = bakalárska práca, dp = diplomová práca, phd = dizertačná práca; diplomová práca nie je dizertačná.
|
||||
Pri výbere kandidátov a počte uvádzaj len zodpovedajúcich kandidátov. Použi vypočítaný count, nikdy počet uvedených zdrojov. Pri porovnaní ľudí daj každému samostatnú claim.
|
||||
Source_urls musí obsahovať konkrétne relevantné URL zo zdrojov; neodhaduj ich a neupravuj. Cituj ich aj v answer. Uveď všetky zdroje potrebné na doloženie uvedených faktov.
|
||||
Ak status kontextu je no_answer, oznám, že požadované údaje sa nenašli, status no_answer, claims prázdne. Nevymýšľaj žiadny názov ani pozitívny fakt.
|
||||
@ -1,17 +1,21 @@
|
||||
# GraphRAG evaluácia
|
||||
|
||||
Aktuálna opravená verzia je **v3**. [Finálna správa](results/final_v3_2026-10-25/REPORT.md) uvádza výsledky aj ich obmedzenia.
|
||||
Aktuálna zmrazená verzia je **v4**. [Finálna správa](results/final_v4_2026-10-25/REPORT.md) obsahuje protokol, výsledky a obmedzenia.
|
||||
|
||||
- DEV/regresia: **589/589**.
|
||||
- Posledný doplnkový TEST: **13/13**, iba dva úplne nové profily a obmedzené kategórie.
|
||||
- Širší nezávislý TEST v2 pred finálnymi opravami: **67/80**. Je archivovaný a jeho otázky sa po odhalení chýb stali DEV.
|
||||
- Celá testovacia sada: **430 passed, 4 skipped**.
|
||||
| Meranie grafového vyhľadávania | Správne | Úspešnosť |
|
||||
|---|---:|---:|
|
||||
| DEV/regresia v4 | 722/722 | 100,00 % |
|
||||
| Širší TEST v4 | 320/320 | 100,00 % |
|
||||
|
||||
Tieto čísla neznamenajú 100 % všeobecnú správnosť kódu. Vyhľadávanie sa hodnotí bez generovania odpovede LLM.
|
||||
Cieľ ≥92 % grafového vyhľadávania bol splnený v prvom finálnom behu. TEST má desať kategórií, 288 kladných a 32 záporných otázok, bez runtime chýb. Osoby aj korpus sú známe; nové sú otázky a kombinácie faktov. Logické skupiny ani normalizované otázky sa medzi DEV a TEST neprekrývajú. Výsledok neznamená všeobecnú 100 % správnosť na ľubovoľnom vstupe.
|
||||
|
||||
## Reprodukcia aktuálnej zmrazenej verzie
|
||||
Generovanie odpovedí dosiahlo **281/300 (93,67 %)** na novom externom TESTe; 20 DEV otázok malo 19/20. Všetkých 19 zlyhaní vrátane 7 neplatných JSON odpovedí ostáva započítaných. Doplnkový audit všetkých vrátených grafových kontextových faktov má **319/320 (99,69 %)**; strict 320/320 neznamená pravdivosť každej nadbytočnej hodnoty. Najslabšia LLM kategória je názov + tag (21/30).
|
||||
|
||||
Použi zodpovedajúci kód, rovnaké pôvodné wiki súbory, vstupné JSON a obsah Neo4j podľa manifestu. Súkromné kľúče ostávajú v `.env`.
|
||||
Samostatne sa hodnotí generovanie odpovedí cez školské OpenWebUI API po dodaní skutočného grafového kontextu. [Protokol generovania](../../answer_evaluation/README.md) oddeľuje 20 DEV a 300 nových LLM TEST výstupov. Natívny výber nástrojov hlavným agentom je ďalší blok projektu.
|
||||
|
||||
## Reprodukcia zmrazeného grafu
|
||||
|
||||
Použi zodpovedajúci kód, rovnakú pôvodnú wiki, JSON vstupy a obsah Neo4j podľa manifestu. Súkromné kľúče ostávajú v `.env`.
|
||||
|
||||
```bash
|
||||
set -a
|
||||
@ -19,43 +23,42 @@ source .env
|
||||
set +a
|
||||
python -m tools.graphrag.evaluation.evaluate_graphrag \
|
||||
--split test \
|
||||
--audit tools/graphrag/evaluation/results/v3_preparation/source_audit.json \
|
||||
--freeze-manifest tools/graphrag/evaluation/frozen_v3.json \
|
||||
--output-dir /tmp/graphrag-v3-reproduction
|
||||
--audit tools/graphrag/evaluation/results/v4_preparation/source_audit.json \
|
||||
--freeze-manifest tools/graphrag/evaluation/frozen_v4.json \
|
||||
--output-dir /tmp/graphrag-v4-reproduction
|
||||
```
|
||||
|
||||
V1 a v2 sú zachované v pôvodných adresároch s manifestmi a Git tagmi `graphrag-v1-frozen` a `graphrag-v2-frozen`. Na ich reprodukciu treba zodpovedajúcu verziu kódu a grafu; aktuálny upravený kód úmyselne neprejde kontrolou starého manifestu. Originálny klasický RAG ostáva samostatným referenčným experimentom.
|
||||
Existujúce finálne výstupy a manifesty sa neprepisujú. Opakované spustenie rovnakého TESTu je reprodukcia, nie nové nezávislé overenie. Ak sa podľa odhalených TEST chýb ladí ďalšia verzia, tieto otázky sú od tej chvíle DEV.
|
||||
|
||||
## Referenčné údaje a ďalší vývoj
|
||||
## Zdrojový benchmark a história
|
||||
|
||||
`graphrag_questions.json` je pôvodných 500 otázok. V2 opravila 137 nesúladov: 128 nepravdivých predpokladov o tagoch a 9 množín kategórií. Pravidlá a každá zmena majú zdrojový záznam v `results/v2_preparation/legacy_corrections.json`.
|
||||
- `graphrag_questions.json`: pôvodných 500 otázok. V2 opravila 137 nesúladov (128 tagových predpokladov a 9 neúplných množín kategórií). Zmeny sú v `results/v2_preparation/legacy_corrections.json`.
|
||||
- V2: 509 DEV a 80 profilovo oddelených TEST otázok; finálny TEST 67/80 (83,75 %). Po odhalení sa stal regresiou.
|
||||
- V3: 589 DEV a 13 **nových** doplnkových otázok vytvorených z pôvodných dokumentov posledných dvoch neodhalených profilov. Nešlo o výber trinástich z pôvodných 500. Meranie prebehlo interným skriptom nad Neo4j bez OpenWebUI či LLM. DEV 589/589, malý TEST 13/13; obmedzené pokrytie neumožňovalo tvrdiť všeobecnú 100 % presnosť.
|
||||
- V4: 722 DEV (602 historických + 120 nových), 320 nových TEST skupín nad všetkými známymi profilmi. `source_oracle.py` číta raw Markdown oddelene od buildera. `benchmark_v4.py` nepoužíva výsledky vyhľadávania pri tvorbe očakávaní ani výbere otázok. Kontrola surových zdrojov doplnila 45 zmien/rozšírení historických väzieb názvov; záznamy a mapovanie ID sú v `results/v4_preparation/`.
|
||||
|
||||
`source_oracle.py` číta pôvodný Markdown nezávisle od grafového buildera. `benchmark_v2.py` vytvára opravenú regresiu a pôvodný profilovo oddelený v2 holdout. `benchmark_v3.py` presúva všetky vystavené v2 prípady do DEV, opravuje projekt/práca anotácie a rezervuje posledné nepoužité profily. Nový vývoj musí mať novú verziu, nové výstupy a primerane nezávislý holdout. Archivované datasety neregeneruj na mieste.
|
||||
V1–v3 ostávajú v pôvodných adresároch s manifestmi a tagmi `graphrag-v1-frozen`, `graphrag-v2-frozen`, `graphrag-v3-frozen`. Na reprodukciu treba ich pôvodný kód a graf. Percentá rôznych verzií nie sú kontrolovaným porovnaním identických otázok. Klasický RAG a jeho referenčné experimenty ostávajú samostatné.
|
||||
|
||||
## Strict a zmrazenie
|
||||
|
||||
Správne hodnoty patria tej istej osobe/práci a majú prepojené typované dôkazy. Overuje sa význam roku, názov a typ práce, relácie, kategória a autor toho istého dokumentu, zdrojové alternatívy a URL, presné množiny a počet, explicitné no-answer a neorezaný výsledok. Rozpoznaná hodnota z otázky sama nie je dôkazom. Schema3 overuje strojové vzory ciest, nie iba textový zoznam očakávaných trás.
|
||||
|
||||
Freeze vyžaduje kompletný DEV, nulové runtime chyby, platný zdrojový audit a odtlačky kódu, otázok, pôvodných súborov, JSON vstupov, grafu a parametrov. V4 explicitne deklaruje prekryv 72 profilov a nulový prekryv logických skupín. Starší režim profilovo oddeleného holdoutu zostáva zachovaný.
|
||||
|
||||
Oracle aj evaluator sú pravidlové. Priama kontrola pôvodných riadkov a stratifikovaná kontrola anotácií nie sú náhradou nezávislej ľudskej anotácie celého datasetu.
|
||||
|
||||
## Vývoj ďalšej verzie
|
||||
|
||||
Generátory historických v1–v4 neregeneruj na pôvodných miestach. Nové dáta, manifesty a merania potrebujú nové cesty/verziu. `benchmark_v4 --extra-exposed` vie vyradiť ďalšie odhalené skupiny, ale množstvo nových zdrojových prípadov je konečné a kvóty sa nesmú meniť podľa úspechu vyhľadávania.
|
||||
|
||||
```bash
|
||||
# Príklad vývoja na existujúcom datasete do nového adresára:
|
||||
python -m tools.graphrag.evaluation.evaluate_graphrag \
|
||||
--split dev --audit tools/graphrag/evaluation/results/v3_preparation/source_audit.json \
|
||||
--split dev --audit tools/graphrag/evaluation/results/v4_preparation/source_audit.json \
|
||||
--output-dir /tmp/graphrag-next
|
||||
|
||||
python -m tools.graphrag.evaluation.freeze_graphrag \
|
||||
--dev-results /tmp/graphrag-next/graphrag_dev.json \
|
||||
--audit tools/graphrag/evaluation/results/v3_preparation/source_audit.json \
|
||||
--audit tools/graphrag/evaluation/results/v4_preparation/source_audit.json \
|
||||
--output /tmp/graphrag-next/frozen.json
|
||||
```
|
||||
|
||||
Samotné ďalšie spustenie toho istého TESTu je reprodukcia, nie nové nezávislé vyhodnotenie. Existujúce freeze manifesty a finálne výstupy sa neprepisujú.
|
||||
|
||||
## Čo hodnotí strict
|
||||
|
||||
Správne hodnoty musia patriť tej istej osobe/práci a mať prepojené typované dôkazy. Overuje sa význam roku, názov a typ práce, relácie, zdrojové alternatívy a URL, presné množiny a počet, explicitné no-answer/ambiguous a neorezaný výsledok. Rozpoznaná hodnota z otázky sama nie je dôkazom. Schema3 používa strojovo overované väzby a vzory ciest; textové `expected_paths` pôvodnej schema2 sú historické anotácie.
|
||||
|
||||
## Testy
|
||||
|
||||
```bash
|
||||
pytest -q
|
||||
# Po načítaní .env:
|
||||
RUN_NEO4J_TESTS=1 pytest -q
|
||||
```
|
||||
|
||||
Neo4j integračné testy používajú izolovaný scope a rollback. Výsledky obsahujú JSON aj CSV, kategórie, obtiažnosti, priemer/medián/p95, Git revízie, Python a obsahové odtlačky.
|
||||
Záverečná kompletná automatizovaná sada: **448 passed, 4 skipped** (vrátane nových testov generovania). Neo4j integračné testy používajú izolovaný scope a rollback. Výsledky obsahujú úplné JSON/CSV a odtlačky pre reprodukciu.
|
||||
|
||||
@ -389,9 +389,14 @@ def validate_case(case: dict, oracle: dict) -> list[str]:
|
||||
matching = []
|
||||
for name in names:
|
||||
valid = not constraints.get('keyword') or has_tag(oracle, name, constraints['keyword'])
|
||||
if any(key in constraints for key in ['year', 'title', 'academic_kind']):
|
||||
valid = valid and bool(academics(oracle, name, year=constraints.get('year'),
|
||||
title=constraints.get('title'), kind=constraints.get('academic_kind')))
|
||||
if any(key in constraints for key in ['year', 'title', 'academic_kind', 'title_required']):
|
||||
records = academics(oracle, name, year=constraints.get('year'),
|
||||
title=constraints.get('title'), kind=constraints.get('academic_kind'))
|
||||
if constraints.get('academic_type'):
|
||||
records = [r for r in records if r['academic_type'] == constraints['academic_type']]
|
||||
if constraints.get('title_required'):
|
||||
records = [r for r in records if r.get('title')]
|
||||
valid = valid and bool(records)
|
||||
if valid:
|
||||
matching.append(name)
|
||||
if matching:
|
||||
|
||||
217
tools/graphrag/evaluation/benchmark_v4.py
Normal file
217
tools/graphrag/evaluation/benchmark_v4.py
Normal file
@ -0,0 +1,217 @@
|
||||
"""Predeclare a broad source-grounded holdout, without reading retrieval outputs.
|
||||
|
||||
All profiles have already been exposed in v1-v3. This is a NEW QUERY-GROUP
|
||||
holdout over the same corpus, explicitly not an unseen-person experiment.
|
||||
Historic cases remain DEV; paraphrases of the same logical task stay together.
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import copy
|
||||
import json
|
||||
import random
|
||||
import re
|
||||
from collections import Counter
|
||||
from pathlib import Path
|
||||
|
||||
from .benchmark_v2 import BASE, academic_binding, academics, audit_dataset, fingerprint, independent_pool, make_case, validate_case, write_json
|
||||
from .source_oracle import load_source_oracle, norm
|
||||
|
||||
SEED = 20261025
|
||||
QUOTAS = {
|
||||
'shared_keyword_pair': 40, 'same_academic_year_pair': 40,
|
||||
'same_start_year_pair': 32, 'person_title_year': 24,
|
||||
'person_keyword_title': 32, 'document_author_category_multi_hop': 24,
|
||||
'person_multiple_categories': 24, 'candidate_set_aggregation': 32,
|
||||
'conjunctive_disambiguation': 40, 'negative_lookup': 32,
|
||||
}
|
||||
|
||||
|
||||
def logical_group(case: dict) -> str:
|
||||
"""Normalize task/subjects/constraints; never make paraphrases independent."""
|
||||
graph = case['graph']; category = case['category']
|
||||
names = sorted(norm(row['value']) for row in graph['start_entities'] if row['type'] == 'person')
|
||||
bindings = graph.get('expected_bindings', [])
|
||||
keywords = sorted({norm(row['keyword']) for row in bindings if row.get('keyword')})
|
||||
years = sorted({int(value) for value in re.findall(r'\b20\d{2}\b', case['question'])})
|
||||
# A shared-year query has no requested year; its complete answer is derived.
|
||||
selectors = {'keywords': keywords, 'requested_years': years}
|
||||
if category == 'document_author_category_multi_hop':
|
||||
selectors['categories'] = sorted({norm(row['category']) for row in bindings if row.get('category')})
|
||||
if graph.get('expected_no_answer'):
|
||||
selectors['negative_constraints'] = {
|
||||
key: norm(value) if isinstance(value, str) else value
|
||||
for key, value in graph.get('negative_constraints', {}).items()}
|
||||
return fingerprint({'category': category, 'subjects': names, 'selectors': selectors})
|
||||
|
||||
|
||||
def paraphrase(case: dict, variant: int) -> str:
|
||||
names = [e['value'] for e in case['graph']['start_entities']]
|
||||
category = case['category']; rows = case['graph']['expected_bindings']
|
||||
year = next(iter(re.findall(r'\b20\d{2}\b', case['question'])), '')
|
||||
tag = next((r['keyword'] for r in rows if r.get('keyword')), '')
|
||||
if variant == 0 or category == 'negative_lookup':
|
||||
return case['question']
|
||||
if category == 'shared_keyword_pair':
|
||||
return (f'Majú osoby {names[0]} a {names[1]} spoločné kľúčové slovo {tag}?'
|
||||
if variant == 1 else f'Pre osoby {names[0]} a {names[1]} over rovnaké kľúčové slovo {tag}.')
|
||||
if category == 'same_academic_year_pair':
|
||||
return (f'Ktoré spoločné roky prác majú osoby {names[0]} a {names[1]}?'
|
||||
if variant == 1 else f'Porovnaj rovnaké roky práce pri osobách {names[0]} a {names[1]}.')
|
||||
if category == 'same_start_year_pair':
|
||||
return f'Aký spoločný rok začiatku štúdia majú osoby {names[0]} a {names[1]}?'
|
||||
if category == 'person_multiple_categories':
|
||||
return f'Aké všetky kategórie majú dokumenty osoby {names[0]}?'
|
||||
if category == 'document_author_category_multi_hop':
|
||||
return f'Ktorý autor dokumentu je pri osobe {names[0]} spojený s kategóriou {rows[0]["category"]}?'
|
||||
if category == 'person_title_year':
|
||||
# Preserve an explicit project selector, if present in the source query.
|
||||
label = 'diplomového projektu' if 'diplomoveho projektu' in norm(case['question']) else 'práce'
|
||||
return f'Uveď názov {label} osoby {names[0]} a rok práce pre rok {year}.'
|
||||
if category == 'person_keyword_title':
|
||||
return f'Uveď názov práce osoby {names[0]} v roku {year} s kľúčovým slovom {tag}.'
|
||||
if category == 'candidate_set_aggregation':
|
||||
return f'Z kandidátov {", ".join(names)} vyber osoby s prácou v roku {year}. Aký je ich počet?'
|
||||
if category == 'conjunctive_disambiguation':
|
||||
return f'Ktorá z osôb {names[0]} a {names[1]} spĺňa kľúčové slovo {tag} a rok práce {year}?'
|
||||
return case['question']
|
||||
|
||||
|
||||
def build_pool(oracle: dict) -> dict[str, list[dict]]:
|
||||
names = sorted(oracle['people'], key=norm)
|
||||
pool = independent_pool(oracle, names)
|
||||
negatives = []
|
||||
# Realistic absent combinations as well as unknown entities. Positive cases
|
||||
# make up 90% of TEST; no easy-negative inflation of the headline score.
|
||||
for index, name in enumerate(names):
|
||||
other_tags = sorted({tag for p in oracle['people'].values() for tag in p['tags']
|
||||
if norm(tag) not in {norm(t) for t in oracle['people'][name]['tags']}}, key=norm)
|
||||
if other_tags:
|
||||
tag = other_tags[index % len(other_tags)]
|
||||
negatives.append(make_case('', 'test', 'negative_lookup',
|
||||
f'Aký názov práce má osoba {name} s kľúčovým slovom {tag}?', [name], oracle, [],
|
||||
no_answer=True, reason='Requested literal tag is absent from this source document family.',
|
||||
negative_constraints={'keyword': tag}))
|
||||
observed = {r['year'] for r in academics(oracle, name)}
|
||||
absent_year = next(y for y in range(2018, 2027) if y not in observed)
|
||||
negatives.append(make_case('', 'test', 'negative_lookup',
|
||||
f'Aký názov práce má osoba {name} v roku {absent_year}?', [name], oracle, [],
|
||||
no_answer=True, reason='Requested academic year is absent from the original profile.',
|
||||
negative_constraints={'year': absent_year}))
|
||||
for first, last in [('Jozef', 'Neznámy Overovací'), ('Petra', 'Neznáma Overovacia'),
|
||||
('Juraj', 'Nevyskytujúci Skúšobný'), ('Lucia', 'Chýbajúca Vzorová'),
|
||||
('Adam', 'Nedostupný Kontrolný'), ('Eva', 'Neprítomná Kontrolná')]:
|
||||
name = f'{first} {last}'
|
||||
negatives.append(make_case('', 'test', 'negative_lookup', f'Aký názov práce má osoba {name}?',
|
||||
[name], oracle, [], no_answer=True, reason='Full name absent from all original profiles.',
|
||||
negative_constraints={'unknown_person': name}))
|
||||
pool['negative_lookup'] = negatives
|
||||
return pool
|
||||
|
||||
|
||||
def refresh_titles(case: dict, oracle: dict) -> dict:
|
||||
"""Adjudicate title gold from raw sources before looking at TEST predictions."""
|
||||
if case['category'] not in {'person_title_year', 'person_keyword_title'} or not case['should_answer']:
|
||||
return copy.deepcopy(case)
|
||||
name = case['graph']['start_entities'][0]['value']
|
||||
years = [int(v) for v in re.findall(r'\b20\d{2}\b', case['question'])]
|
||||
tag = next((b.get('keyword') for b in case['graph']['expected_bindings'] if b.get('keyword')), None)
|
||||
text = norm(case['question'])
|
||||
kind = next((kind for phrase, kind in [('diplomoveho projektu', 'diploma_project'),
|
||||
('diplomovej prace', 'diploma_thesis'), ('bakalarskej prace', 'bachelor_thesis')]
|
||||
if phrase in text), None)
|
||||
records = [r for r in academics(oracle, name) if r.get('title')
|
||||
and (not years or r['year'] in years) and (kind is None or r['academic_type'] == kind)]
|
||||
bindings = [academic_binding(name, r, title=True, keyword=tag) for r in records]
|
||||
return make_case(case['id'], case['split'], case['category'], case['question'], [name], oracle, bindings,
|
||||
no_answer=not bindings, reason='No explicit title for the requested academic record in original Markdown.',
|
||||
negative_constraints={'title_required': True, **({'year': years[-1]} if years else {}),
|
||||
**({'keyword': tag} if tag else {}), **({'academic_type': kind} if kind else {})})
|
||||
|
||||
|
||||
def main() -> None:
|
||||
parser = argparse.ArgumentParser(description=__doc__)
|
||||
parser.add_argument('--output', type=Path, default=BASE / 'graphrag_questions_v4.json')
|
||||
parser.add_argument('--artifacts', type=Path, default=BASE / 'results/v4_preparation')
|
||||
parser.add_argument('--seed', type=int, default=SEED)
|
||||
parser.add_argument('--extra-exposed', type=Path, action='append', default=[])
|
||||
args = parser.parse_args()
|
||||
if args.output.exists() or args.artifacts.exists():
|
||||
parser.error('Refusing to overwrite a declared benchmark or its preparation artifacts.')
|
||||
oracle = load_source_oracle()
|
||||
historic = json.loads((BASE / 'graphrag_questions_v3.json').read_text())
|
||||
for path in args.extra_exposed:
|
||||
historic.extend(json.loads(path.read_text()))
|
||||
old_questions = {norm(q['question']) for q in historic}
|
||||
exposed = {logical_group(q) for q in historic}
|
||||
adjudications = []
|
||||
for index, original in enumerate(historic):
|
||||
corrected = refresh_titles(original, oracle)
|
||||
if corrected['graph']['expected_bindings'] != original['graph']['expected_bindings']:
|
||||
adjudications.append({'id': original['id'], 'split': 'dev',
|
||||
'old_bindings': original['graph']['expected_bindings'], 'new_bindings': corrected['graph']['expected_bindings'],
|
||||
'source_evidence': corrected['source_evidence']})
|
||||
historic[index] = corrected
|
||||
exposed.update(logical_group(q) for q in historic)
|
||||
dev = []
|
||||
for index, original in enumerate(historic):
|
||||
case = copy.deepcopy(original); case['split'] = 'dev'
|
||||
case['id'] = f'regression-{index + 1:04d}'
|
||||
case['graph']['partition_group'] = logical_group(case)
|
||||
dev.append(case)
|
||||
rng = random.Random(args.seed); holdout = []; capacities = {}
|
||||
for category, cases in build_pool(oracle).items():
|
||||
unique = {logical_group(c): c for c in cases
|
||||
if logical_group(c) not in exposed and norm(c['question']) not in old_questions}
|
||||
candidates = sorted(unique.values(), key=lambda q: logical_group(q)); rng.shuffle(candidates)
|
||||
quota = QUOTAS[category]; capacities[category] = len(candidates)
|
||||
if len(candidates) < quota:
|
||||
raise RuntimeError(f'Insufficient unseen logical groups for {category}: {len(candidates)} < {quota}')
|
||||
# Random selection is committed before running either split. Never
|
||||
# select or remove a TEST question based on a retrieval outcome.
|
||||
for index, case in enumerate(candidates[:quota]):
|
||||
case = refresh_titles(case, oracle); case['split'] = 'test'
|
||||
case['id'] = f'wide-{len(holdout) + 1:03d}'
|
||||
case['question'] = paraphrase(case, index % 3)
|
||||
case['graph']['partition_group'] = logical_group(case)
|
||||
holdout.append(case)
|
||||
for index, case in enumerate(candidates[quota:quota + min(12, max(0, len(candidates) - quota))]):
|
||||
case = refresh_titles(case, oracle); case['split'] = 'dev'
|
||||
case['id'] = f'wide-dev-{len(dev) + 1:04d}'
|
||||
case['question'] = paraphrase(case, index % 3)
|
||||
case['graph']['partition_group'] = logical_group(case)
|
||||
dev.append(case)
|
||||
questions = dev + holdout
|
||||
problems = {q['id']: validate_case(q, oracle) for q in questions if validate_case(q, oracle)}
|
||||
if problems:
|
||||
raise RuntimeError(f'Source oracle rejected cases: {problems}')
|
||||
groups = {split: {q['graph']['partition_group'] for q in questions if q['split'] == split}
|
||||
for split in ['dev', 'test']}
|
||||
assert not groups['dev'] & groups['test']
|
||||
assert not {norm(q['question']) for q in dev} & {norm(q['question']) for q in holdout}
|
||||
write_json(args.output, questions)
|
||||
audit = audit_dataset(questions, oracle, args.output)
|
||||
audit['partition_policy'] = {'method': 'disjoint logical query groups',
|
||||
'shared_source_profiles': True, 'group_function': 'benchmark_v4.logical_group',
|
||||
'seed': args.seed, 'previously_exposed_groups': sorted(exposed),
|
||||
'limitations': ['Known source corpus, persons, vocabulary and template families.',
|
||||
'Fresh questions/fact combinations; not an unseen-person or LLM-answer benchmark.']}
|
||||
write_json(args.artifacts / 'source_audit.json', audit)
|
||||
write_json(args.artifacts / 'source_adjudications.json', {
|
||||
'reason': 'Raw-source review before any new TEST predictions; preserve historic datasets unchanged.',
|
||||
'questions': adjudications})
|
||||
write_json(args.artifacts / 'partition.json', {
|
||||
**audit['partition_policy'], 'dataset_sha256': audit['dataset_sha256'],
|
||||
'dev_count': len(dev), 'test_count': len(holdout), 'available_unseen_groups': capacities,
|
||||
'test_categories': dict(Counter(q['category'] for q in holdout)),
|
||||
'test_positive_count': sum(q['should_answer'] for q in holdout),
|
||||
'test_negative_count': sum(not q['should_answer'] for q in holdout),
|
||||
'dev_groups': sorted(groups['dev']), 'test_groups': sorted(groups['test']),
|
||||
'test_profile_count': len({p for q in holdout for p in q['graph']['source_profiles']}),
|
||||
'source_corpus': oracle['source_corpus']})
|
||||
print(json.dumps({'dev': len(dev), 'test': len(holdout), 'source_issues': 0,
|
||||
'available_unseen_groups': capacities}, ensure_ascii=False, indent=2))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
138
tools/graphrag/evaluation/check_openwebui.py
Normal file
138
tools/graphrag/evaluation/check_openwebui.py
Normal file
@ -0,0 +1,138 @@
|
||||
"""Supplementary LLM check with graph context supplied by the local harness.
|
||||
|
||||
This exercises the school's OpenWebUI chat API and generated claims, NOT the
|
||||
WebUI browser, installed tools, or autonomous routing. Gold never enters a
|
||||
request. The primary experiment remains the complete frozen retrieval TEST.
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import json
|
||||
import os
|
||||
import time
|
||||
from collections import defaultdict
|
||||
from pathlib import Path
|
||||
|
||||
from tools.rag.evaluation.rag_runner import DEFAULT_MODEL, OPENWEBUI_URL, request_json
|
||||
from ..graph_db import create_neo4j_driver, get_neo4j_settings
|
||||
from ..graph_search import search_graph_with_session
|
||||
from .benchmark_v2 import BASE, academics, supporting_documents
|
||||
from .reproducibility import graph_fingerprint, run_metadata, verify_freeze
|
||||
from .source_oracle import load_source_oracle, norm
|
||||
|
||||
SYSTEM = '''Odpovedaj po slovensky výhradne podľa dodaného výsledku grafového vyhľadávania.
|
||||
Nedoplňuj vedomosti ani údaje z otázky bez potvrdenia v kontexte. Pri no_answer oznám,
|
||||
že údaj nebol nájdený; nevymýšľaj názov. Zachovaj presné znenie mien, názvov, tagov a kategórií.
|
||||
Rozlišuj rok práce (year) od začiatku štúdia (start_year), autora dokumentu od študenta.
|
||||
Vráť JSON objekt s poľami answer (stručný prirodzený text), status (ok/no_answer/ambiguous),
|
||||
claims (zoznam objektov s person a len relevantnými faktami: title, year, start_year,
|
||||
keyword, category, document_author), source_urls (zoznam citovaných URL), count (číslo alebo null).
|
||||
Každá claim musí patriť jednej osobe; nespoj podmienky z rôznych osôb. Pri porovnaní
|
||||
uveď samostatné claims pre každú osobu; pri počte iba zodpovedajúcich kandidátov.
|
||||
Pri otázke na názov uveď aj rok, ak je známy. Pri no_answer vráť prázdne claims.
|
||||
V odpovedi aj source_urls cituj skutočné relevantné zdroje z kontextu.'''
|
||||
|
||||
|
||||
def grade_claims(case: dict, answer: dict, oracle: dict) -> dict:
|
||||
graph = case['graph']; claims = answer.get('claims', [])
|
||||
if not isinstance(claims, list) or any(not isinstance(c, dict) for c in claims):
|
||||
return {'strict': False, 'reason': 'invalid_claim_schema'}
|
||||
fields = ['person', 'title', 'year', 'start_year', 'keyword', 'category', 'document_author']
|
||||
def matches(binding, claim):
|
||||
return all(norm(claim.get(k, '')) == norm(binding[k]) for k in fields if k in binding)
|
||||
covered = all(any(matches(b, c) for c in claims) for b in graph['expected_bindings'])
|
||||
names = {norm(name): name for name in oracle['people']}
|
||||
unsupported = []
|
||||
for claim in claims:
|
||||
person = names.get(norm(claim.get('person')))
|
||||
valid = person is not None
|
||||
if valid and 'start_year' in claim:
|
||||
valid = norm(claim['start_year']) == norm(oracle['people'][person]['start_year'])
|
||||
metadata = {k: claim[k] for k in ['keyword', 'category', 'document_author'] if claim.get(k) is not None}
|
||||
if valid and metadata:
|
||||
valid = all(supporting_documents(oracle, person, **{k: v}) for k, v in metadata.items())
|
||||
if 'category' in metadata and 'document_author' in metadata:
|
||||
valid = valid and bool(supporting_documents(oracle, person, **metadata))
|
||||
if valid and any(claim.get(k) is not None for k in ['title', 'year']):
|
||||
records = academics(oracle, person)
|
||||
valid = any(all(norm(r.get(k)) == norm(claim[k]) for k in ['title', 'year']
|
||||
if claim.get(k) is not None) for r in records)
|
||||
if not valid:
|
||||
unsupported.append(claim)
|
||||
urls = answer.get('source_urls', [])
|
||||
sources_ok = isinstance(urls, list) and all(any(a['source_url'] in urls for a in proof['any_of'])
|
||||
for proof in graph.get('expected_evidence_documents', []))
|
||||
negative = graph.get('expected_no_answer', False)
|
||||
status_ok = (answer.get('status') == 'no_answer' and not claims) if negative else answer.get('status') == 'ok'
|
||||
count_ok = 'expected_count' not in graph or answer.get('count') == graph['expected_count']
|
||||
set_ok = True
|
||||
if graph.get('expected_entity_set') is not None:
|
||||
field = graph['entity_set_field']
|
||||
actual = {norm(c[field]) for c in claims if c.get(field) is not None}
|
||||
set_ok = actual == {norm(v) for v in graph['expected_entity_set']}
|
||||
return {'strict': bool(covered and not unsupported and sources_ok and status_ok and count_ok and set_ok),
|
||||
'bindings_ok': covered, 'unsupported_claims': unsupported, 'sources_ok': sources_ok,
|
||||
'status_ok': status_ok, 'count_ok': count_ok, 'set_ok': set_ok}
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description=__doc__)
|
||||
parser.add_argument('--questions', type=Path, default=BASE / 'graphrag_questions_v4.json')
|
||||
parser.add_argument('--freeze-manifest', type=Path, required=True)
|
||||
parser.add_argument('--audit', type=Path, required=True)
|
||||
parser.add_argument('--output', type=Path, required=True)
|
||||
parser.add_argument('--per-category', type=int, default=2)
|
||||
parser.add_argument('--model', default=DEFAULT_MODEL)
|
||||
args = parser.parse_args()
|
||||
if args.output.exists():
|
||||
parser.error('Refusing to overwrite a previous external measurement.')
|
||||
if not os.getenv('OPENWEBUI_API_KEY'):
|
||||
parser.error('OPENWEBUI_API_KEY is not configured.')
|
||||
questions = json.loads(args.questions.read_text()); selected = []; counts = defaultdict(int)
|
||||
for case in questions:
|
||||
if case['split'] == 'test' and counts[case['category']] < args.per_category:
|
||||
selected.append(case); counts[case['category']] += 1
|
||||
oracle = load_source_oracle(); manifest = json.loads(args.freeze_manifest.read_text())
|
||||
settings = get_neo4j_settings(); rows = []
|
||||
payload = {'method': 'OpenWebUI API generation with locally supplied GraphRAG context; no autonomous tool routing.',
|
||||
'model': args.model, 'selected_ids': [q['id'] for q in selected], 'system_prompt': SYSTEM,
|
||||
'limitations': ['Small stratified supplementary sample; not the primary 320-case accuracy.',
|
||||
'Structured claims, source citations and binding checks; free prose requires separate review.'],
|
||||
'questions': rows}
|
||||
args.output.parent.mkdir(parents=True, exist_ok=True)
|
||||
with create_neo4j_driver(settings) as driver, driver.session(database=settings.database) as session:
|
||||
metadata = run_metadata(args.questions)
|
||||
verify_freeze(manifest, metadata, graph_fingerprint(session), audit=args.audit, **manifest['parameters'])
|
||||
payload['run_metadata'] = metadata
|
||||
for case in selected:
|
||||
started = time.perf_counter()
|
||||
result = search_graph_with_session(session, case['question'], **manifest['parameters'])
|
||||
context = {k: result[k] for k in ['status', 'reason', 'facts', 'documents', 'aggregation']}
|
||||
row = {'id': case['id'], 'category': case['category'], 'question': case['question'],
|
||||
'graph_context': context, 'strict': False}
|
||||
try:
|
||||
response = request_json(OPENWEBUI_URL, method='POST', timeout=90, max_attempts=1,
|
||||
headers={'Authorization': f'Bearer {os.environ["OPENWEBUI_API_KEY"]}', 'Content-Type': 'application/json'},
|
||||
payload={'model': args.model, 'stream': False, 'response_format': {'type': 'json_object'},
|
||||
'messages': [{'role': 'system', 'content': SYSTEM},
|
||||
{'role': 'user', 'content': json.dumps({'question': case['question'], 'graph_context': context}, ensure_ascii=False)}]})
|
||||
row['response'] = response
|
||||
text = response['choices'][0]['message']['content'].strip()
|
||||
if text.startswith('```'):
|
||||
text = text.split('\n', 1)[1].rsplit('```', 1)[0]
|
||||
answer = json.loads(text)
|
||||
row['answer'] = answer; row.update(grade_claims(case, answer, oracle))
|
||||
except Exception as error:
|
||||
row['error'] = f'{type(error).__name__}: {str(error)[:500]}'
|
||||
row['latency_seconds'] = time.perf_counter() - started
|
||||
rows.append(row)
|
||||
payload['summary'] = {'questions': len(rows), 'correct': sum(r['strict'] for r in rows),
|
||||
'accuracy': sum(r['strict'] for r in rows) / len(rows)}
|
||||
args.output.write_text(json.dumps(payload, ensure_ascii=False, indent=2) + '\n')
|
||||
print(f'{case["id"]}: {"OK" if row["strict"] else "FAIL"} ({row["latency_seconds"]:.1f}s)', flush=True)
|
||||
verify_freeze(manifest, run_metadata(args.questions), graph_fingerprint(session), audit=args.audit, **manifest['parameters'])
|
||||
print(json.dumps(payload['summary']))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@ -33,7 +33,7 @@ EVALUATION_DIR = Path(
|
||||
|
||||
QUESTIONS_PATH = (
|
||||
EVALUATION_DIR
|
||||
/ "graphrag_questions_v3.json"
|
||||
/ "graphrag_questions_v4.json"
|
||||
)
|
||||
|
||||
RESULTS_DIR = (
|
||||
@ -59,7 +59,7 @@ def parse_args() -> argparse.Namespace:
|
||||
parser.add_argument(
|
||||
"--output-dir",
|
||||
type=Path,
|
||||
default=RESULTS_DIR / 'development_v3',
|
||||
default=RESULTS_DIR / 'development_v4',
|
||||
)
|
||||
|
||||
parser.add_argument(
|
||||
|
||||
@ -32,10 +32,36 @@ def make_freeze(dev: dict, questions: list[dict], fingerprints: dict, audit: dic
|
||||
profiles = {split: {profile for question in questions if question['split'] == split
|
||||
for profile in question.get('graph', {}).get('source_profiles', [])}
|
||||
for split in ('dev', 'test')}
|
||||
if profiles['dev'] & profiles['test']:
|
||||
policy = audit.get('partition_policy', {})
|
||||
if policy.get('method') == 'disjoint logical query groups':
|
||||
# This mode explicitly reports known profiles. It must never be
|
||||
# presented as the stronger, historic unseen-profile experiment.
|
||||
from .benchmark_v4 import logical_group
|
||||
from .source_oracle import norm
|
||||
groups = {split: {logical_group(q) for q in questions if q['split'] == split}
|
||||
for split in ('dev', 'test')}
|
||||
if any(q['graph'].get('partition_group') != logical_group(q) for q in questions):
|
||||
raise RuntimeError('Declared logical group does not match the question constraints.')
|
||||
if not groups['dev'] or not groups['test'] or groups['dev'] & groups['test']:
|
||||
raise RuntimeError('DEV/TEST logical groups overlap or are missing.')
|
||||
exposed = set(policy.get('previously_exposed_groups', []))
|
||||
if not exposed or groups['test'] & exposed:
|
||||
raise RuntimeError('TEST contains previously exposed logical groups.')
|
||||
texts = {split: {norm(q['question']) for q in questions if q['split'] == split}
|
||||
for split in ('dev', 'test')}
|
||||
if texts['dev'] & texts['test']:
|
||||
raise RuntimeError('DEV/TEST question texts overlap.')
|
||||
partition = {'method': policy['method'], 'logical_group_overlap': 0,
|
||||
'previously_exposed_test_groups': 0,
|
||||
'dev_group_count': len(groups['dev']), 'test_group_count': len(groups['test']),
|
||||
'dev_profile_count': len(profiles['dev']), 'test_profile_count': len(profiles['test']),
|
||||
'source_profile_overlap': len(profiles['dev'] & profiles['test']),
|
||||
'limitations': policy['limitations']}
|
||||
elif profiles['dev'] & profiles['test']:
|
||||
raise RuntimeError('DEV/TEST source profiles overlap; independent holdout refused.')
|
||||
if not profiles['dev'] or not profiles['test']:
|
||||
raise RuntimeError('Primary v2 freeze requires declared DEV and TEST source profiles.')
|
||||
if partition is None:
|
||||
partition = {'method': 'disjoint source profiles',
|
||||
'dev_profile_count': len(profiles['dev']),
|
||||
'test_profile_count': len(profiles['test']), 'overlap': 0}
|
||||
@ -50,7 +76,7 @@ def make_freeze(dev: dict, questions: list[dict], fingerprints: dict, audit: dic
|
||||
def main() -> None:
|
||||
parser = argparse.ArgumentParser(description=__doc__)
|
||||
parser.add_argument('--dev-results', type=Path, required=True)
|
||||
parser.add_argument('--questions', type=Path, default=Path(__file__).parent / 'graphrag_questions_v3.json')
|
||||
parser.add_argument('--questions', type=Path, default=Path(__file__).parent / 'graphrag_questions_v4.json')
|
||||
parser.add_argument('--audit', type=Path, required=True)
|
||||
parser.add_argument('--output', type=Path, required=True)
|
||||
args = parser.parse_args()
|
||||
|
||||
223
tools/graphrag/evaluation/frozen_v4.json
Normal file
223
tools/graphrag/evaluation/frozen_v4.json
Normal file
@ -0,0 +1,223 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"partition": {
|
||||
"method": "disjoint logical query groups",
|
||||
"logical_group_overlap": 0,
|
||||
"previously_exposed_test_groups": 0,
|
||||
"dev_group_count": 577,
|
||||
"test_group_count": 320,
|
||||
"dev_profile_count": 72,
|
||||
"test_profile_count": 72,
|
||||
"source_profile_overlap": 72,
|
||||
"limitations": [
|
||||
"Known source corpus, persons, vocabulary and template families.",
|
||||
"Fresh questions/fact combinations; not an unseen-person or LLM-answer benchmark."
|
||||
]
|
||||
},
|
||||
"frozen_at_utc": "2026-10-25T01:43:37.727824+00:00",
|
||||
"fingerprints": {
|
||||
"implementation": {
|
||||
"tools/graphrag/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"tools/graphrag/build_graphrag.py": "81f6e9f5c9e71b588f8bed1968c1e900e29e484ba81d23b6a3a68e7220ad75a5",
|
||||
"tools/graphrag/evaluation/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"tools/graphrag/evaluation/audit_benchmark.py": "6619c818a52fc284e87ed6c48a503a54a3c9dd95447463ed78f075b7c58bad80",
|
||||
"tools/graphrag/evaluation/benchmark_v2.py": "129dd774faa414f06733e1ee6333e7b411b1c75b5601b895c405778df478a563",
|
||||
"tools/graphrag/evaluation/benchmark_v3.py": "30bae6c605ed26f4b49973acec799087c4e2b97a883ccedcafb965dd909c4c4d",
|
||||
"tools/graphrag/evaluation/benchmark_v4.py": "70a8b08f7c2b2cb3e2bdc77be9efedd23ea24ac564ec1c1eb224a9f6388b3a67",
|
||||
"tools/graphrag/evaluation/check_openwebui.py": "585490c89b8d178d3e5723336f4ac02bd3f6c2a0bec51acf2b7483a742847f16",
|
||||
"tools/graphrag/evaluation/evaluate_graphrag.py": "2d336cf9bdd8072e6f4d4ad3e58fc51cbcd81124b6e6ef703e6d1fb282128fbc",
|
||||
"tools/graphrag/evaluation/evidence_contract.py": "78e24264c176e163e1782fef1634b6c45c7f31bd4692726d02a30ab45a06648e",
|
||||
"tools/graphrag/evaluation/freeze_graphrag.py": "9a11a3cae83b3660d53d8fb51eff8f83ca5cb45858e327f394b2efdc35d6189d",
|
||||
"tools/graphrag/evaluation/graphrag_evaluator.py": "3afe014e126b6ad90c8e408284d2c1979f54d6cf5dd19fd67f9249708fbed2d3",
|
||||
"tools/graphrag/evaluation/reproducibility.py": "b707d4c410cbf7d6769a6afdadfe79ef3bbd699a0323f0e0d2ab180ef7498680",
|
||||
"tools/graphrag/evaluation/source_oracle.py": "8bac1ef0fd2ebe826a1b0686012c9fea3108d1c827ced46d977c9518fe55d67c",
|
||||
"tools/graphrag/graph_db.py": "a6fce68000065d328139829c5ca894623f6ed5828c74a869663366c2ad7b5ea2",
|
||||
"tools/graphrag/graph_search.py": "5ee39051073caea09f2bdc446359404dbd3a79bce9b80002788bfe250ffc87a0",
|
||||
"tools/graphrag/graphrag.py": "31e0f87fa973abc16a8aff2735a99e8a4dd9c76d0b889674a7204210c90d8b1d",
|
||||
"tools/graphrag/neo4j_smoke.py": "fb5244c72c29ef2acf96d1e7f54335ff168eed4119db1692025eb1b99194b7bb",
|
||||
"tools/graphrag/tests/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"tools/graphrag/tests/test_evaluation_pipeline_v2.py": "63d1b3e80ae3c7b563374fd7ab4aa5ffad3c614eafbd15142c577abd7f756bf9",
|
||||
"tools/graphrag/tests/test_evaluation_wide.py": "1b28bb74fd6b9457c869186b88606f1f7863d573aa3ab5226162e878f236d99e",
|
||||
"tools/graphrag/tests/test_evaluator_connected_v2.py": "29d7c9838ed1ff37ea3276df6feb1b6142158c43a0525712f490b648181882de",
|
||||
"tools/graphrag/tests/test_graph_search.py": "d5c95b5de2a0962857331929522764aa46a1222e550a3eb1aaca2148f9d58748",
|
||||
"tools/graphrag/tests/test_graph_search_entity_v2.py": "0ef1a8ebd513c5a4507eb38fcf5ae6137c69e9901b5a2975ba513be5902ac693",
|
||||
"tools/graphrag/tests/test_graph_search_neo4j.py": "fec2bf72de8f752f17c9164fee5754bdb2e153828855e47efbf0000dbe82cf3b",
|
||||
"tools/graphrag/tests/test_graph_search_regressions.py": "9db7779aeb8ed9e8c0f92c1657011a81080aff3c928649e811358e3009a18c48",
|
||||
"tools/graphrag/tests/test_graphrag.py": "6379335110f05668beca87ca7e486442071b2f666dbd651408d5f3a8d5723f0e",
|
||||
"tools/graphrag/tests/test_graphrag_evaluator.py": "1c6d08aeec9ae56ac4123239a5aed12a0081d66cc3f34b2047d95764579d7298",
|
||||
"tools/graphrag/tests/test_graphrag_freeze.py": "c4b760baf4c7ebf13b16bd4cd3c51874f5512eef3b4c61470dc4d428b0303d9f",
|
||||
"tools/graphrag/tests/test_graphrag_research_v2.py": "711008a91ab8a58ae0854e7f90329bcd42e5189fde2e2001589e97b0c22c5198",
|
||||
"tools/graphrag/tests/test_graphrag_root_title.py": "085651fe6e6081521a5dde9554abfee93456250108cf15978df25378d886a46c",
|
||||
"tools/graphrag/tests/test_source_oracle_v2.py": "0afdbe235e185ffe9f38aa667f90f5a6c20504fe29e9ac572642b39a8eb7faca",
|
||||
"requirements.txt": "26a6d097727eba03c1b6c71cd02b06373ef01ce03e567dd2bc4357ae330e5a1a"
|
||||
},
|
||||
"dataset_sha256": "9a3b873882bbf29b905d79c9448c3c287fda30323f93a6533b88dbd59b19f558",
|
||||
"inputs": {
|
||||
"data/documents.json": "0542af2a373771cf7c4a95f93d14f4f687f6a0187846892c959aa6efc4bade52",
|
||||
"data/chunks.json": "437dde589be46e0c30842dd330de22d96a0173d2dbaff9c5f129568cb2bca4c9"
|
||||
},
|
||||
"source_corpus": {
|
||||
"sha256": "440da12a7a991824e923f70cada7c616c3fb3b0f12767ec7d75039a6a3231b10",
|
||||
"document_count": 114,
|
||||
"documents": {
|
||||
"pages/interns/bogdan_paul_chis/README.md": "3b4b946eb3c10e9f9a4092e6cffa01c5080e7579aded2f6ed3120c41ed62b647",
|
||||
"pages/interns/cesar_gutierrez/README.md": "b0be60576eed28d4b1920e9acf198684519373dfc13171567247c853b3ed699e",
|
||||
"pages/interns/oliver_pejic/README.md": "0470f3c8465be8f02204b08e4c75ef47f68c7e4ad1038faa5641cdf1811f33d5",
|
||||
"pages/interns/sevval_bulburu/README.md": "ff2a9d66253802f1af0fdfd74832e40fae41b6df23c5e61dc266f6cd0cc16c4d",
|
||||
"pages/interns/yussef_ressaissi/README.md": "f997a65699da0db3222ef7a3c37652d05dfc3419ad4ec74683bafc2c897bb987",
|
||||
"pages/students/2016/darius_lindvai/README.md": "fcaa47bb9708a6439eec5c4b7f7b4ed6c7359e423e1d940e1aed9f44957e6d62",
|
||||
"pages/students/2016/darius_lindvai/dp2021/README.md": "be3d0fea2a6d592b225eecabd9b19445c2fce62b8289c07ab6af93835db12970",
|
||||
"pages/students/2016/darius_lindvai/timovy_projekt/resers/README.md": "352162de1b1e192228fa5d26506c028ac47e567e90df53b1bbaa6ad736ec4766",
|
||||
"pages/students/2016/darius_lindvai/timovy_projekt/tutorial/README.md": "b4a81ff457624b089d618e4479afb1e3d748f6724f72104ef5518e535ae02fe5",
|
||||
"pages/students/2016/dominik_nagy/README.md": "1c4037a158d84c45fa705a0c38e47142a9d46e226f0c138bc2d56d7c38f6d74d",
|
||||
"pages/students/2016/dominik_nagy/timovy_projekt/README.md": "b81a4dab7316f7b846dcf36515f6aa9d44035c86f46f0e07b7a43308bcd31458",
|
||||
"pages/students/2016/ediz_morochovic/README.md": "045e5eb9a3df2b84140808fbca0c3163266ad0efa144bc42d9d5c597881c6ac6",
|
||||
"pages/students/2016/jakub_maruniak/README.md": "6734c41a95b9d0c1e3d226b393ad109ee4a7b82ebfffa73df2d7e0a743fefa14",
|
||||
"pages/students/2016/jakub_maruniak/dp2021/README.md": "9cd884aec70705cdb2aaa0f514b513f16de263c37b749ced7f92916cd2f91c39",
|
||||
"pages/students/2016/jakub_maruniak/dp2021/annotation/README.md": "debae0c50aea1accef0840912b9b1f37b2138f856002bb50e91d7ea2dbbe7963",
|
||||
"pages/students/2016/jakub_maruniak/dp2021/train_experiments/README.md": "01dff38b37043414fa1db204394ddbe7aade00e14d02d495572b65c85d09b194",
|
||||
"pages/students/2016/jakub_maruniak/timovy_projekt/README.md": "04114b1f3d84664aad5bdba5a0b614c5a6f23392be3c31fd9123d63db1be0a35",
|
||||
"pages/students/2016/jan_holp/README.md": "80d6a8492766e5bfa61673a372e5f059d30c8e335de39842866c51485960e4d3",
|
||||
"pages/students/2016/jan_holp/dp2021/README.md": "a62acb74009376766c7e2f9856ee01d21f84593eb9b3ce85cf2e6032aa412476",
|
||||
"pages/students/2016/jan_holp/dp2021/zdrojove_subory/README.md": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"pages/students/2016/jan_holp/timovy_projekt/README.md": "79eebdfd3af7e8d5c279077e285a580731b1cf8cc9b4454f6596796e9915f70c",
|
||||
"pages/students/2016/lukas_pokryvka/README.md": "f279456c5c277ff1ee0dd89a3464ed9f9f67b44bc185a5da9811ef5cfb675002",
|
||||
"pages/students/2016/lukas_pokryvka/dp2021/README.md": "39b61376ce108e4a930f926ab2d6a997207457121bccfcf617129a3b210a15cf",
|
||||
"pages/students/2016/lukas_pokryvka/timovy_projekt/README.md": "4de4b6c8cfed17b6c60090f82df1d55a66be70a79d3013850689b2baebdd801b",
|
||||
"pages/students/2016/mark_feher/README.md": "bec37c0319fe0869a0377d771db23d090dbda93c27328f5697cdaeb3bbccfe9b",
|
||||
"pages/students/2016/maros_harahus/README.md": "0da150e91918632c9e8cd1443f04da403595a372517e254928ce9f76c9d5033d",
|
||||
"pages/students/2016/maros_harahus/timovy_projekt/README.md": "75af19f7c68f4b646fa1dbae75f3f3dfc52633a9f9da1400d21808bb20be0d83",
|
||||
"pages/students/2016/patrik_pavlisin/README.md": "dc1c648d7cd9b0f0e021c57f9b98189e37c100871439e7e304390715913f2763",
|
||||
"pages/students/2016/patrik_pavlisin/dp21/README.md": "ac1eb0fd0360ad34aa21b7c8da5bb010a6edf10be5721f28dedc3986cd1d8c54",
|
||||
"pages/students/2016/patrik_pavlisin/dp22/README.md": "f2a8c619a812b99abab618ae388eb672407950e1f33fb8d7da7a528c4de81d50",
|
||||
"pages/students/2016/patrik_pavlisin/tp20/README.md": "ae9c771f27e7e093bc29c6888c8d0b27ed61fb41519fd0d7e7f4f6cbb4626edc",
|
||||
"pages/students/2016/tomas_kucharik/README.md": "6a1a215433eb1857660177b4cb2ecec03c6a86743d3a04cd6d5c9d9682c9e63b",
|
||||
"pages/students/2017/dmytro_ushatenko/README.md": "65f4ac177d492162b08ca5da3d9eb048bd088a3c117a28a662113b7e4bc3a4ec",
|
||||
"pages/students/2017/martin_jancura/README.md": "6a0a18d5095dcfb12abfdd72c9cfd8025d714fb5e29a7858cd2b285e4cb986b9",
|
||||
"pages/students/2017/stanislav_matsunych/README.md": "90ffa11eff4a4360b0252dbc53a116c3a5777b3d5dd86ce5c89c02bdd2051c73",
|
||||
"pages/students/2017/than_trung_thanh/README.md": "2150519b8580e7337520db4de64d2d1c82d2634380537d019f41c506dbf2979d",
|
||||
"pages/students/2018/NaN1name_buday/README.md": "23c8c58090bdc954347e36f141bea91f43c8d5b1d777e346864a2ebe84c0bcce",
|
||||
"pages/students/2018/adrian_remias/README.md": "e5bfe1d5d4e626beaa636a02d34ec58cf2cff9b0e57833905af35b80bf1465a2",
|
||||
"pages/students/2018/david_ilas/README.md": "96c45ff9c5a821ddcb1a2fc86d487bd8f4729d1b76887914b0f5fbf99af45af0",
|
||||
"pages/students/2018/david_omasta/README.md": "4164051870e1e1cf8949ed18a74196e9ea789dfbe4fee24bdeb736ca42848327",
|
||||
"pages/students/2018/martin_wencel/README.md": "0e6a7a981689f22304f8baa5de97d4315c0695c94c9277de7851943eb012253b",
|
||||
"pages/students/2018/oleh_bilykh/README.md": "4072c62dd8ee753a0c8fa43fdfbbdf566e394c2df13e6a79d08a302e332710b1",
|
||||
"pages/students/2018/ondrej_megela/README.md": "969ff2e1a436b8f957e7168cf5eb678196b99aeda17701c502b016441f644065",
|
||||
"pages/students/2018/samuel_sirotnik/README.md": "cc230ede67b6e8632511c92a5ed6d1e9deb42e70819280222bdfd369ee77fc70",
|
||||
"pages/students/2019/alina_vitko/README.md": "9b071fe2aff470c275ae027be236fe836f741f774cabb9cbbb55304a8d5102cd",
|
||||
"pages/students/2019/artem_yatsenko/README.md": "328b101e46c51c959e792cf7ca226942f81d2ab8fe9648ad6d0ecd07016429e2",
|
||||
"pages/students/2019/david_stromp/README.md": "e46ca8691d5ec894128f6f6f2ed33e2c7bd141f80719bb0449b20f10f30cca09",
|
||||
"pages/students/2019/dmytro_mural/README.md": "e881a47d847c3ef8d680844113fdbfbb87553b28982bf9eef4936f6d30923e93",
|
||||
"pages/students/2019/filip_tomas/README.md": "75a1fe7b921e4bff0fdf9e2a957b4adad4b4a57aa7ebdffbb73dd82c02123f94",
|
||||
"pages/students/2019/kristian_sopkovic/README.md": "3286960fb30f584df35455f9b6dfae81ca4827a1d711d2bcd6e48c3f150c9279",
|
||||
"pages/students/2019/michal_stromko/README.md": "3ae1dd9b6638a6a249a94be3f3846286555666aefa225bb3a2c7288b35900ce7",
|
||||
"pages/students/2019/michal_stromko/vp2021/README.md": "feb2e093fdd6461239e79b1e1f96e65a1c8cd96e8a2b70535ae556a9c198046a",
|
||||
"pages/students/2019/michal_stromko/vp2021/tutorials/README.md": "40e3fa448c7329ef863e705435e23fe6b4788de440710f066fe0eed92d132bad",
|
||||
"pages/students/2019/michal_stromko/vp2021/tutorials/img/README.md": "e8d3ac160b17dfdee2c3e996bf6a03af7a6f16f9140bf5cf7ee343a82dd1865f",
|
||||
"pages/students/2019/patrik_pokrivcak/README.md": "3e3957ad0f7aca59d6eb64c38a3f5e21d8fd953200825d0d0e5cacabfbc35a7d",
|
||||
"pages/students/2019/samuel_horani/README.md": "86e6959ccc612b069687b57996fa3f61660075d6a0d65bfec64f423d39a0a999",
|
||||
"pages/students/2020/david_kostilnik/README.md": "2927524b75da59a64120fc364a0fc374986fa4d364d54e52c36800762c203264",
|
||||
"pages/students/2020/jakub_kristian_lukas/README.md": "f139d9b1ebf5a3f45612f3df5703ecdd935b90701763c27c7c529044c0b0455a",
|
||||
"pages/students/2020/kamil_tomcufcik/README.md": "9d865adf538bc6d7992ee4f4882713447da5c936fca17c43ca0f576072537048",
|
||||
"pages/students/2020/matej_kobylan/README.md": "3d7b289e17b8f25678a07e9ee0e6741688485a0ccb1e50940a6a6acc6312a547",
|
||||
"pages/students/2020/matus_suchanic/README.md": "770ca49538cca22df35f8e7ba736ee97483e4fe5788c221496553592b4e78dc6",
|
||||
"pages/students/2020/pavol_hudak/README.md": "33d06fccc6451e5f19b27b0cad001a34e81635b4ea294a01dec7771c823abc40",
|
||||
"pages/students/2020/vladyslav_krupko/README.md": "4c28e6d38651bb2cafcbf4a18e35210cd369aef2caff6c5b0aa52fac38f0fe7d",
|
||||
"pages/students/2021/artur_hyrenko/README.md": "0568261f4ade4de5472edcfeb1ffed9abae18dc67e4050f4ce2ad088839a2bb3",
|
||||
"pages/students/2021/eduard_matovka/README.md": "de2a7ae38ec87110e347956b37d0605a298ed2847f972961cc9b977da8221d43",
|
||||
"pages/students/2021/manohar_gowdru_shridharu/README.md": "c00ceb620ed7087ead5d9448d476bbb98d273d1d9e7bf1bc4355c367b26c7a6b",
|
||||
"pages/students/2021/martin_sarissky/README.md": "8e97b45a253745faa55f63c844e0b5dfe680aeaf6eb01fb8f9d06ac6e8ee8bcf",
|
||||
"pages/students/2021/matej_novotny/README.md": "b083a7cadde532e3428dc9a57bc61456fcc5905bda91e011b96033d42bf5d9cb",
|
||||
"pages/students/2021/matej_scislak/README.md": "b9a32cce8605e044a4f2828ff2d91a2995a62ef3a841e62f0a225c97221f0cc8",
|
||||
"pages/students/2021/nikita_bodnar/README.md": "2016c0dd923c0f8e561d5cea42ac81da3610fdcc54a4527f56d078e34e53ce90",
|
||||
"pages/students/2021/oleksandr_hryshchenko/README.md": "4b073992b715b6c75b79fd2c8f850a69f940966e3a61a82c625c32c945a93036",
|
||||
"pages/students/2021/vladimir_ferko/README.md": "68e7d311896eda2171e5eec1ec3a8da90d326ed91acaace8058f68664a50d271",
|
||||
"pages/students/2022/andrii_pervashov/README.md": "319dcaa1cc2e29dd7e3a710bab26cb3ac6944ab71b0b97e1de076b1199122334",
|
||||
"pages/students/2022/daniil_huzenko/README.md": "390782fbff6220a9462060ce1a62959f2a2b88f42d06e2c51d1f406b75d73f2c",
|
||||
"pages/students/2022/jakub_schwarc/README.md": "f541a8852c2b0f6f9d7182e01a34c4e3beee9bfa55427a06b331638b11eb8be6",
|
||||
"pages/students/2022/jan_malinovsky/README.md": "8af021bfb131fa005a7aec3e2f2f12fc17fa5dc14e2675311adbbfc445a4bcab",
|
||||
"pages/students/2022/jan_ptak/README.md": "131cf053764fd5423541ebe672c3b4f5da875cfb8e4b821f1335ddb967282282",
|
||||
"pages/students/2022/oleh_poiasnik/README.md": "c2f7dc3f61f8b4a5b43ded1e3ae4c7d3e7f874439ee6b17dd9c8d45dabc25bc8",
|
||||
"pages/students/2022/samuel_vasil/README.md": "67c807049147aacd04f3050f4ff0233a8b3f0a239ab173b430e13dfe113ad0a5",
|
||||
"pages/students/2022/serhii_yemets/README.md": "ffbeac893947acafe855d576322a8826f9d4f87ac344cb31f8ceeefa244b9133",
|
||||
"pages/students/2022/tetiana_mohorian/README.md": "c9efdc632bf1ca89a0bfde0dc00be7aaac8a85da3d92e2ce8506236c73e93cfb",
|
||||
"pages/students/2022/valerii_kutsenko/README.md": "dc764c609ad3c1df59cfea997d4db82a591b1b1e0764453e319d841115507e4f",
|
||||
"pages/students/2022/vladyslav_yanchenko/README.md": "4d1ce216e3b526ee437ddbc658e51d7bb83530087e43628c096a569a3854a47f",
|
||||
"pages/students/2022/yevhenii_leonov/README.md": "b90e41db0cec2451027020a9102d32a24d777e8a38b604ccca87b36cd6b3a292",
|
||||
"pages/students/2023/denis_le_thanh/README.md": "2cb83f942d86a02712b0c58778e46dc2211346d1a6eba606471dfa832245db61",
|
||||
"pages/students/2023/maksym_zatirka/README.md": "7a7d2cbe276c352dacfbc6ba6de5f15303d30ecf34845ff8da8d085f3d67c3dd",
|
||||
"pages/students/2023/oleksandr_dorybohov/README.md": "c24d6f941de0dafb4459cea8259cf147821cafc86ba65be5b528f419f734bc18",
|
||||
"pages/students/2023/ronald_zalacko/README.md": "724b0f8e6e641236dba9bddbd77f4546e09514076c7dfb151807aaf4b882c96f",
|
||||
"pages/students/2023/rostyslav_rodzhuk/README.md": "de356dd7427c8a0716c165a0f88ae47b691a86ee7a388f60e2d2e9306298415c",
|
||||
"pages/students/2023/samuel_dzurina/README.md": "4818191d044b91219c796a35010c95da5cf2093e050d494f30b219b91e13fa0e",
|
||||
"pages/students/2023/simona_bobrovcanova/README.md": "e473a1911dae10ab40e2cf6696a8be616a58c22aaf09af5953fbac475791a35e",
|
||||
"pages/students/2023/yevhenii_medushivskyi/README.md": "5710ebf91c893a12fe6d19f5372311938d1e7c7bbdf203f2dc8ed2fe7c4f5a24",
|
||||
"pages/topics/akopisat/README.md": "c7245e1fbfa4160618502c0baf8cc6bc47cd9a82b8a85bc1c645314829a7b76a",
|
||||
"pages/topics/bert/README.md": "35e507f7ec2ad1d3526e2a15f94ea085ee25f680a02daf6df62fd429bd9c25c9",
|
||||
"pages/topics/chatbot/README.md": "6f2f83ffb80109be47f9750cca9d3036ec3645abef9f2b590bd6825780c7c48a",
|
||||
"pages/topics/faq/README.md": "15cfbd9c2a1649c80a7a58922e2b66dadab5c86a5ef33ef16c82bebd4d2dbf06",
|
||||
"pages/topics/hatespeech/README.md": "364df94e70dd740c63544e2586ba7b957780f714fc0c941d1b04b02233e6cbc5",
|
||||
"pages/topics/legal/README.md": "003bb9bfe1e0ca21652091c2d11496312eb04e0689fe459e14c2d5a738e8eeea",
|
||||
"pages/topics/morphology/README.md": "e242cc5ff1a4cc98e227566c0ead999bbc95937b7c20be62cb2afb773d0d35c0",
|
||||
"pages/topics/named-entity/README.md": "66b2e25f70211d432d596e377d552b3b8f0c525b14c31e3bc9c956c3aeadca84",
|
||||
"pages/topics/named-entity/navod/README.md": "1ff87079a98411de0414754c60241e08d2214ddcd63ddf974e4340cce2ce5b02",
|
||||
"pages/topics/nlp/README.md": "6f90abf9dc3f0ff33475283c13b4a08561abf631425ec2daacb076155a9e02c2",
|
||||
"pages/topics/otvorene/README.md": "cd5544925553fe3840c0ea6f8ef60ab756e26ab6757bf810025c948d8d4f98fc",
|
||||
"pages/topics/prodigy/README.md": "5e4f691f2754c2ec4afbaab2f41e6db77feb5b322dd9344465eb40c35f116499",
|
||||
"pages/topics/python/README.md": "2ef073adba672142c39e9a59fa2e00a98ab52bda54233d46fbe6940ee23f9fcc",
|
||||
"pages/topics/question/README.md": "408078a2a67cea2699e12359e85ab641136231e6104c2afdf874a705879525df",
|
||||
"pages/topics/question/navod/README.md": "061e737c69184b2bd244316ca7ba841f7186fe01ee80ee993742a733dcad3ecd",
|
||||
"pages/topics/question/nezodpovedatelne/README.md": "b6703d9690f4599b973efb27595ce157773ae0fc0d55cf2c0a09d9f50e8e4c92",
|
||||
"pages/topics/question/validacie/README.md": "3216a7127abdfc6da50ed116f44ff2d6785e7da4af70d23aceda774e745ad562",
|
||||
"pages/topics/resources/README.md": "09405397387f00cbcc5680f7d655f2d861e4d92e5df792a62d9dfd04f3534f48",
|
||||
"pages/topics/seq2seq/README.md": "969d15c03a63a3f8d5edc9017fe5a0fb7311fdf4de4a3473a08266241f92c1e2",
|
||||
"pages/topics/spacy/README.md": "f504e5db77cb8694f08a57fb8636e522d59a0e669216f4bc8273bc3c5f375f87",
|
||||
"pages/topics/steel/README.md": "b4068cef2ed197711467ac47630d5b2064fdc8828f898f7af99664e94d833330",
|
||||
"pages/topics/translation/README.md": "a7d4289e72199b307dc5ad8fc69cda39c1a33c27a6c7447af70aa9c3cc6b8635"
|
||||
}
|
||||
}
|
||||
},
|
||||
"graph": {
|
||||
"sha256": "2aede9d603e7f09b5fa0e52abbf0de29a8b24f814bb17119aa44e1673c47b206",
|
||||
"nodes": 447,
|
||||
"relationships": 879
|
||||
},
|
||||
"parameters": {
|
||||
"limit": 40,
|
||||
"max_entities": 8
|
||||
},
|
||||
"dev_summary": {
|
||||
"questions": 722,
|
||||
"strict_count": 722,
|
||||
"strict_accuracy": 1.0,
|
||||
"error_count": 0,
|
||||
"value_score": 1.0,
|
||||
"entity_score": 1.0,
|
||||
"relation_score": 1.0,
|
||||
"property_score": 1.0,
|
||||
"relation_choice_score": 1.0,
|
||||
"document_recall": 1.0,
|
||||
"source_recall": 1.0,
|
||||
"binding_score": 1.0,
|
||||
"path_score": 1.0,
|
||||
"answerability_accuracy": 1.0,
|
||||
"latency_mean_seconds": 0.042119,
|
||||
"latency_median_seconds": 0.040648,
|
||||
"latency_p95_seconds": 0.054136
|
||||
},
|
||||
"source_audit_summary": {
|
||||
"dev": {
|
||||
"questions": 722,
|
||||
"source_consistent": 722,
|
||||
"issues": {}
|
||||
},
|
||||
"test": {
|
||||
"questions": 320,
|
||||
"source_consistent": 320,
|
||||
"issues": {}
|
||||
}
|
||||
},
|
||||
"policy": "Report all questions including negatives. No exclusions or holdout tuning.",
|
||||
"dev_results_sha256": "d89a76998ce7360906ea0daa2e865853a92aa8796e0f5bb7030f16e6459b29e9",
|
||||
"audit_sha256": "220fd00ab08cceee6d5141ca5c1a02ec2877d1eee83b36ea707c6a076ba69e15"
|
||||
}
|
||||
133691
tools/graphrag/evaluation/graphrag_questions_v4.json
Normal file
133691
tools/graphrag/evaluation/graphrag_questions_v4.json
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,381 @@
|
||||
{
|
||||
"method": "Fresh LLM-generation holdout over previously measured, frozen graph queries.",
|
||||
"graph_freeze_sha256": "07867eb5300498b5862b1e4a607d9f5b050b9fdeab19b1fb6129810e28313a62",
|
||||
"audit_sha256": "220fd00ab08cceee6d5141ca5c1a02ec2877d1eee83b36ea707c6a076ba69e15",
|
||||
"generation_files": {
|
||||
"/home/janko/DP/zp-agent/tools/answer_evaluation/evaluate_graph_answers.py": "d34f324c0c490a02111eed31c45864c068b2b856040bea0201f731ab4ac527f5",
|
||||
"/home/janko/DP/zp-agent/tools/answer_evaluation/graph_answer_prompt.txt": "1900178f4ae805e258726a2df853ab2d0766033cf2ed956d28ea8e0caa7c653f",
|
||||
"tools/rag/evaluation/rag_runner.py": "a011b29e2b6aa47df9350e74fc358f05780a355170a819dbb1cfd16d2971493b"
|
||||
},
|
||||
"model": "model120-fast",
|
||||
"temperature": 0,
|
||||
"workers": 3,
|
||||
"dev_ids": [
|
||||
"wide-001",
|
||||
"wide-002",
|
||||
"wide-041",
|
||||
"wide-042",
|
||||
"wide-081",
|
||||
"wide-082",
|
||||
"wide-113",
|
||||
"wide-114",
|
||||
"wide-137",
|
||||
"wide-138",
|
||||
"wide-169",
|
||||
"wide-170",
|
||||
"wide-193",
|
||||
"wide-194",
|
||||
"wide-217",
|
||||
"wide-218",
|
||||
"wide-249",
|
||||
"wide-250",
|
||||
"wide-289",
|
||||
"wide-290"
|
||||
],
|
||||
"test_ids": [
|
||||
"wide-003",
|
||||
"wide-004",
|
||||
"wide-005",
|
||||
"wide-006",
|
||||
"wide-007",
|
||||
"wide-008",
|
||||
"wide-009",
|
||||
"wide-010",
|
||||
"wide-011",
|
||||
"wide-012",
|
||||
"wide-013",
|
||||
"wide-014",
|
||||
"wide-015",
|
||||
"wide-016",
|
||||
"wide-017",
|
||||
"wide-018",
|
||||
"wide-019",
|
||||
"wide-020",
|
||||
"wide-021",
|
||||
"wide-022",
|
||||
"wide-023",
|
||||
"wide-024",
|
||||
"wide-025",
|
||||
"wide-026",
|
||||
"wide-027",
|
||||
"wide-028",
|
||||
"wide-029",
|
||||
"wide-030",
|
||||
"wide-031",
|
||||
"wide-032",
|
||||
"wide-033",
|
||||
"wide-034",
|
||||
"wide-035",
|
||||
"wide-036",
|
||||
"wide-037",
|
||||
"wide-038",
|
||||
"wide-039",
|
||||
"wide-040",
|
||||
"wide-043",
|
||||
"wide-044",
|
||||
"wide-045",
|
||||
"wide-046",
|
||||
"wide-047",
|
||||
"wide-048",
|
||||
"wide-049",
|
||||
"wide-050",
|
||||
"wide-051",
|
||||
"wide-052",
|
||||
"wide-053",
|
||||
"wide-054",
|
||||
"wide-055",
|
||||
"wide-056",
|
||||
"wide-057",
|
||||
"wide-058",
|
||||
"wide-059",
|
||||
"wide-060",
|
||||
"wide-061",
|
||||
"wide-062",
|
||||
"wide-063",
|
||||
"wide-064",
|
||||
"wide-065",
|
||||
"wide-066",
|
||||
"wide-067",
|
||||
"wide-068",
|
||||
"wide-069",
|
||||
"wide-070",
|
||||
"wide-071",
|
||||
"wide-072",
|
||||
"wide-073",
|
||||
"wide-074",
|
||||
"wide-075",
|
||||
"wide-076",
|
||||
"wide-077",
|
||||
"wide-078",
|
||||
"wide-079",
|
||||
"wide-080",
|
||||
"wide-083",
|
||||
"wide-084",
|
||||
"wide-085",
|
||||
"wide-086",
|
||||
"wide-087",
|
||||
"wide-088",
|
||||
"wide-089",
|
||||
"wide-090",
|
||||
"wide-091",
|
||||
"wide-092",
|
||||
"wide-093",
|
||||
"wide-094",
|
||||
"wide-095",
|
||||
"wide-096",
|
||||
"wide-097",
|
||||
"wide-098",
|
||||
"wide-099",
|
||||
"wide-100",
|
||||
"wide-101",
|
||||
"wide-102",
|
||||
"wide-103",
|
||||
"wide-104",
|
||||
"wide-105",
|
||||
"wide-106",
|
||||
"wide-107",
|
||||
"wide-108",
|
||||
"wide-109",
|
||||
"wide-110",
|
||||
"wide-111",
|
||||
"wide-112",
|
||||
"wide-115",
|
||||
"wide-116",
|
||||
"wide-117",
|
||||
"wide-118",
|
||||
"wide-119",
|
||||
"wide-120",
|
||||
"wide-121",
|
||||
"wide-122",
|
||||
"wide-123",
|
||||
"wide-124",
|
||||
"wide-125",
|
||||
"wide-126",
|
||||
"wide-127",
|
||||
"wide-128",
|
||||
"wide-129",
|
||||
"wide-130",
|
||||
"wide-131",
|
||||
"wide-132",
|
||||
"wide-133",
|
||||
"wide-134",
|
||||
"wide-135",
|
||||
"wide-136",
|
||||
"wide-139",
|
||||
"wide-140",
|
||||
"wide-141",
|
||||
"wide-142",
|
||||
"wide-143",
|
||||
"wide-144",
|
||||
"wide-145",
|
||||
"wide-146",
|
||||
"wide-147",
|
||||
"wide-148",
|
||||
"wide-149",
|
||||
"wide-150",
|
||||
"wide-151",
|
||||
"wide-152",
|
||||
"wide-153",
|
||||
"wide-154",
|
||||
"wide-155",
|
||||
"wide-156",
|
||||
"wide-157",
|
||||
"wide-158",
|
||||
"wide-159",
|
||||
"wide-160",
|
||||
"wide-161",
|
||||
"wide-162",
|
||||
"wide-163",
|
||||
"wide-164",
|
||||
"wide-165",
|
||||
"wide-166",
|
||||
"wide-167",
|
||||
"wide-168",
|
||||
"wide-171",
|
||||
"wide-172",
|
||||
"wide-173",
|
||||
"wide-174",
|
||||
"wide-175",
|
||||
"wide-176",
|
||||
"wide-177",
|
||||
"wide-178",
|
||||
"wide-179",
|
||||
"wide-180",
|
||||
"wide-181",
|
||||
"wide-182",
|
||||
"wide-183",
|
||||
"wide-184",
|
||||
"wide-185",
|
||||
"wide-186",
|
||||
"wide-187",
|
||||
"wide-188",
|
||||
"wide-189",
|
||||
"wide-190",
|
||||
"wide-191",
|
||||
"wide-192",
|
||||
"wide-195",
|
||||
"wide-196",
|
||||
"wide-197",
|
||||
"wide-198",
|
||||
"wide-199",
|
||||
"wide-200",
|
||||
"wide-201",
|
||||
"wide-202",
|
||||
"wide-203",
|
||||
"wide-204",
|
||||
"wide-205",
|
||||
"wide-206",
|
||||
"wide-207",
|
||||
"wide-208",
|
||||
"wide-209",
|
||||
"wide-210",
|
||||
"wide-211",
|
||||
"wide-212",
|
||||
"wide-213",
|
||||
"wide-214",
|
||||
"wide-215",
|
||||
"wide-216",
|
||||
"wide-219",
|
||||
"wide-220",
|
||||
"wide-221",
|
||||
"wide-222",
|
||||
"wide-223",
|
||||
"wide-224",
|
||||
"wide-225",
|
||||
"wide-226",
|
||||
"wide-227",
|
||||
"wide-228",
|
||||
"wide-229",
|
||||
"wide-230",
|
||||
"wide-231",
|
||||
"wide-232",
|
||||
"wide-233",
|
||||
"wide-234",
|
||||
"wide-235",
|
||||
"wide-236",
|
||||
"wide-237",
|
||||
"wide-238",
|
||||
"wide-239",
|
||||
"wide-240",
|
||||
"wide-241",
|
||||
"wide-242",
|
||||
"wide-243",
|
||||
"wide-244",
|
||||
"wide-245",
|
||||
"wide-246",
|
||||
"wide-247",
|
||||
"wide-248",
|
||||
"wide-251",
|
||||
"wide-252",
|
||||
"wide-253",
|
||||
"wide-254",
|
||||
"wide-255",
|
||||
"wide-256",
|
||||
"wide-257",
|
||||
"wide-258",
|
||||
"wide-259",
|
||||
"wide-260",
|
||||
"wide-261",
|
||||
"wide-262",
|
||||
"wide-263",
|
||||
"wide-264",
|
||||
"wide-265",
|
||||
"wide-266",
|
||||
"wide-267",
|
||||
"wide-268",
|
||||
"wide-269",
|
||||
"wide-270",
|
||||
"wide-271",
|
||||
"wide-272",
|
||||
"wide-273",
|
||||
"wide-274",
|
||||
"wide-275",
|
||||
"wide-276",
|
||||
"wide-277",
|
||||
"wide-278",
|
||||
"wide-279",
|
||||
"wide-280",
|
||||
"wide-281",
|
||||
"wide-282",
|
||||
"wide-283",
|
||||
"wide-284",
|
||||
"wide-285",
|
||||
"wide-286",
|
||||
"wide-287",
|
||||
"wide-288",
|
||||
"wide-291",
|
||||
"wide-292",
|
||||
"wide-293",
|
||||
"wide-294",
|
||||
"wide-295",
|
||||
"wide-296",
|
||||
"wide-297",
|
||||
"wide-298",
|
||||
"wide-299",
|
||||
"wide-300",
|
||||
"wide-301",
|
||||
"wide-302",
|
||||
"wide-303",
|
||||
"wide-304",
|
||||
"wide-305",
|
||||
"wide-306",
|
||||
"wide-307",
|
||||
"wide-308",
|
||||
"wide-309",
|
||||
"wide-310",
|
||||
"wide-311",
|
||||
"wide-312",
|
||||
"wide-313",
|
||||
"wide-314",
|
||||
"wide-315",
|
||||
"wide-316",
|
||||
"wide-317",
|
||||
"wide-318",
|
||||
"wide-319",
|
||||
"wide-320"
|
||||
],
|
||||
"dev_count": 20,
|
||||
"test_count": 300,
|
||||
"target_accuracy": 0.92,
|
||||
"selected_split": "dev",
|
||||
"selected_ids": [
|
||||
"wide-001",
|
||||
"wide-002",
|
||||
"wide-041",
|
||||
"wide-042",
|
||||
"wide-081",
|
||||
"wide-082",
|
||||
"wide-113",
|
||||
"wide-114",
|
||||
"wide-137",
|
||||
"wide-138",
|
||||
"wide-169",
|
||||
"wide-170",
|
||||
"wide-193",
|
||||
"wide-194",
|
||||
"wide-217",
|
||||
"wide-218",
|
||||
"wide-249",
|
||||
"wide-250",
|
||||
"wide-289",
|
||||
"wide-290"
|
||||
],
|
||||
"policy": "Evaluate all 300; retain every failure; do not tune on this TEST.",
|
||||
"test_categories": {
|
||||
"shared_keyword_pair": 38,
|
||||
"same_academic_year_pair": 38,
|
||||
"same_start_year_pair": 30,
|
||||
"person_title_year": 22,
|
||||
"person_keyword_title": 30,
|
||||
"document_author_category_multi_hop": 22,
|
||||
"person_multiple_categories": 22,
|
||||
"candidate_set_aggregation": 30,
|
||||
"conjunctive_disambiguation": 38,
|
||||
"negative_lookup": 30
|
||||
},
|
||||
"limitations": [
|
||||
"Known corpus/profiles and templates; model outputs for these 300 questions were not previously observed.",
|
||||
"Harness supplies graph context; native OpenWebUI tool choice and browser UI are outside this experiment.",
|
||||
"Checks structured factual claims, their source support/citations and required prose values; not a general semantic judge of arbitrary prose."
|
||||
]
|
||||
}
|
||||
@ -0,0 +1,301 @@
|
||||
id,category,strict,error,latency_seconds,bindings_ok,sources_ok,status_ok,count_ok,set_ok,text_values_ok,question,answer
|
||||
wide-003,shared_keyword_pair,True,,6.699744368997926,True,True,True,True,True,True,Pre osoby Manohar Gowdru Shridhara a Nikita Bodnar over rovnaké kľúčové slovo nlp.,"{""answer"": ""Áno, obe osoby Manohar Gowdru Shridhara a Nikita Bodnar majú ako kľúčové slovo NLP. Zdroje: https://zp.kemt.fei.tuke.sk/students/2021/manohar_gowdru_shridharu, https://zp.kemt.fei.tuke.sk/students/2021/nikita_bodnar"", ""status"": ""ok"", ""claims"": [{""person"": ""Manohar Gowdru Shridhara"", ""keyword"": ""NLP""}, {""person"": ""Nikita Bodnar"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/manohar_gowdru_shridharu"", ""https://zp.kemt.fei.tuke.sk/students/2021/nikita_bodnar""], ""count"": 2}"
|
||||
wide-004,shared_keyword_pair,True,,5.666554606999853,True,True,True,True,True,True,Over spoločné kľúčové slovo nlp pri osobách Jakub Maruniak a Nikita Bodnar.,"{""answer"": ""Spoločné kľúčové slovo NLP majú Jakub Maruniak a Nikita Bodnar. Zdroje: https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak, https://zp.kemt.fei.tuke.sk/students/2021/nikita_bodnar"", ""status"": ""ok"", ""claims"": [{""person"": ""Jakub Maruniak"", ""keyword"": ""NLP""}, {""person"": ""Nikita Bodnar"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak"", ""https://zp.kemt.fei.tuke.sk/students/2021/nikita_bodnar""], ""count"": 2}"
|
||||
wide-005,shared_keyword_pair,True,,11.765499916000408,True,True,True,True,True,True,Majú osoby Denis Le Thanh a Samuel Vasiľ spoločné kľúčové slovo nlp?,"{""answer"": ""Áno, osoby Denis Le Thanh a Samuel Vasiľ majú spoločné kľúčové slovo NLP. Samuel Vasiľ má kľúčové slovo NLP podľa zdroja https://zp.kemt.fei.tuke.sk/students/2022/samuel_vasil a Denis Le Thanh má kľúčové slovo NLP podľa zdroja https://zp.kemt.fei.tuke.sk/students/2023/denis_le_thanh."", ""status"": ""ok"", ""claims"": [{""person"": ""Samuel Vasiľ"", ""keyword"": ""NLP""}, {""person"": ""Denis Le Thanh"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/samuel_vasil"", ""https://zp.kemt.fei.tuke.sk/students/2023/denis_le_thanh""], ""count"": 2}"
|
||||
wide-006,shared_keyword_pair,True,,9.003742946995771,True,True,True,True,True,True,Pre osoby Lukáš Pokrývka a Stanislav Matsunych over rovnaké kľúčové slovo nlp.,"{""answer"": ""Áno, obe osoby Lukáš Pokrývka a Stanislav Matsunych majú kľúčové slovo NLP. Lukáš Pokrývka má toto kľúčové slovo v dokumente pages/students/2016/lukas_pokryvka/timovy_projekt/README.md (zdroj: https://zp.kemt.fei.tuke.sk/students/2016/lukas_pokryvka/timovy_projekt). Stanislav Matsunych má kľúčové slovo NLP v dokumente pages/students/2017/stanislav_matsunych/README.md (zdroj: https://zp.kemt.fei.tuke.sk/students/2017/stanislav_matsunych)."", ""status"": ""ok"", ""claims"": [{""person"": ""Lukáš Pokrývka"", ""keyword"": ""NLP""}, {""person"": ""Stanislav Matsunych"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/lukas_pokryvka/timovy_projekt"", ""https://zp.kemt.fei.tuke.sk/students/2017/stanislav_matsunych""], ""count"": 2}"
|
||||
wide-007,shared_keyword_pair,True,,10.538517578002939,True,True,True,True,True,True,Over spoločné kľúčové slovo nlp pri osobách Oleksandr Dorybohov a Youssef Ressaissi.,"{""answer"": ""Spoločné kľúčové slovo NLP majú Oleksandr Dorybohov a Youssef Ressaissi. Zdroje: https://zp.kemt.fei.tuke.sk/students/2023/oleksandr_dorybohov, https://zp.kemt.fei.tuke.sk/interns/yussef_ressaissi"", ""status"": ""ok"", ""claims"": [{""person"": ""Youssef Ressaissi"", ""keyword"": ""NLP""}, {""person"": ""Oleksandr Dorybohov"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/interns/yussef_ressaissi"", ""https://zp.kemt.fei.tuke.sk/students/2023/oleksandr_dorybohov""], ""count"": 2}"
|
||||
wide-008,shared_keyword_pair,True,,8.536271106997447,True,True,True,True,True,True,Majú osoby Denis Le Thanh a Tomáš Kuchárik spoločné kľúčové slovo nlp?,"{""answer"": ""Áno, obe osoby, Denis Le Thanh a Tomáš Kuchárik, majú spoločné kľúčové slovo NLP. Tieto údaje sú potvrdené v ich profiloch na stránkach https://zp.kemt.fei.tuke.sk/students/2023/denis_le_thanh a https://zp.kemt.fei.tuke.sk/students/2016/tomas_kucharik."", ""status"": ""ok"", ""claims"": [{""person"": ""Tomáš Kuchárik"", ""keyword"": ""NLP""}, {""person"": ""Denis Le Thanh"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/tomas_kucharik"", ""https://zp.kemt.fei.tuke.sk/students/2023/denis_le_thanh""], ""count"": 2}"
|
||||
wide-009,shared_keyword_pair,True,,9.359552573005203,True,True,True,True,True,True,Pre osoby Dávid Iľaš a Maroš Harahus over rovnaké kľúčové slovo nlp.,"{""answer"": ""Áno, obe osoby Dávid Iľaš a Maroš Harahus majú rovnaké kľúčové slovo NLP. Dávid Iľaš má kľúčové slovo NLP podľa zdroja https://zp.kemt.fei.tuke.sk/students/2018/david_ilas a Maroš Harahus má kľúčové slovo NLP podľa zdroja https://zp.kemt.fei.tuke.sk/students/2016/maros_harahus."", ""status"": ""ok"", ""claims"": [{""person"": ""Dávid Iľaš"", ""keyword"": ""NLP""}, {""person"": ""Maroš Harahus"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/david_ilas"", ""https://zp.kemt.fei.tuke.sk/students/2016/maros_harahus""], ""count"": 2}"
|
||||
wide-010,shared_keyword_pair,True,,9.009257842997613,True,True,True,True,True,True,Over spoločné kľúčové slovo nlp pri osobách Nikita Bodnar a Oleksandr Dorybohov.,"{""answer"": ""Spoločným kľúčovým slovom pre Nikitu Bodnara a Oleksandra Dorybohova je NLP. Tieto údaje sú potvrdené v zdrojoch: https://zp.kemt.fei.tuke.sk/students/2021/nikita_bodnar a https://zp.kemt.fei.tuke.sk/students/2023/oleksandr_dorybohov."", ""status"": ""ok"", ""claims"": [{""person"": ""Nikita Bodnar"", ""keyword"": ""NLP""}, {""person"": ""Oleksandr Dorybohov"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/nikita_bodnar"", ""https://zp.kemt.fei.tuke.sk/students/2023/oleksandr_dorybohov""], ""count"": 2}"
|
||||
wide-011,shared_keyword_pair,True,,10.274840045000019,True,True,True,True,True,True,Majú osoby Lukáš Pokrývka a Martin NaN1 spoločné kľúčové slovo nlp?,"{""answer"": ""Áno, obe osoby Lukáš Pokrývka a Martin NaN1 majú spoločné kľúčové slovo NLP. Lukáš Pokrývka má toto kľúčové slovo v dokumente na stránke https://zp.kemt.fei.tuke.sk/students/2016/lukas_pokryvka/timovy_projekt a Martin NaN1 v dokumente na stránke https://zp.kemt.fei.tuke.sk/students/2018/NaN1name_buday."", ""status"": ""ok"", ""claims"": [{""person"": ""Lukáš Pokrývka"", ""keyword"": ""NLP""}, {""person"": ""Martin NaN1"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/lukas_pokryvka/timovy_projekt"", ""https://zp.kemt.fei.tuke.sk/students/2018/NaN1name_buday""], ""count"": 2}"
|
||||
wide-012,shared_keyword_pair,True,,8.777758887998061,True,True,True,True,True,True,Pre osoby Martin Šarišský a Yevhenii Leonov over rovnaké kľúčové slovo nlp.,"{""answer"": ""Osoba Martin Šarišský má kľúčové slovo NLP (zdroj: https://zp.kemt.fei.tuke.sk/students/2021/martin_sarissky). Osoba Yevhenii Leonov má kľúčové slovo NLP (zdroj: https://zp.kemt.fei.tuke.sk/students/2022/yevhenii_leonov)."", ""status"": ""ok"", ""claims"": [{""person"": ""Martin Šarišský"", ""keyword"": ""NLP""}, {""person"": ""Yevhenii Leonov"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/martin_sarissky"", ""https://zp.kemt.fei.tuke.sk/students/2022/yevhenii_leonov""], ""count"": 2}"
|
||||
wide-013,shared_keyword_pair,True,,13.491731257003266,True,True,True,True,True,True,Over spoločné kľúčové slovo nlp pri osobách Maksym Zatirka a Patrik Pavlišin.,"{""answer"": ""Spoločné kľúčové slovo NLP majú osoby Patrik Pavlišin a Maksym Zatirka. Patrik Pavlišin má kľúčové slovo NLP v dokumente pages/students/2016/patrik_pavlisin/README.md (zdroj: https://zp.kemt.fei.tuke.sk/students/2016/patrik_pavlisin). Maksym Zatirka má kľúčové slovo NLP v dokumente pages/students/2023/maksym_zatirka/README.md (zdroj: https://zp.kemt.fei.tuke.sk/students/2023/maksym_zatirka)."", ""status"": ""ok"", ""claims"": [{""person"": ""Patrik Pavlišin"", ""keyword"": ""NLP""}, {""person"": ""Maksym Zatirka"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/patrik_pavlisin"", ""https://zp.kemt.fei.tuke.sk/students/2023/maksym_zatirka""], ""count"": 2}"
|
||||
wide-014,shared_keyword_pair,True,,8.736353909996978,True,True,True,True,True,True,Majú osoby Artem Yatsenko a Matej Novotný spoločné kľúčové slovo nlp?,"{""answer"": ""Áno, obe osoby Artem Yatsenko a Matej Novotný majú spoločné kľúčové slovo NLP. Artem Yatsenko má toto kľúčové slovo uvedené v dokumente pages/students/2019/artem_yatsenko/README.md (zdroj: https://zp.kemt.fei.tuke.sk/students/2019/artem_yatsenko) a Matej Novotný v dokumente pages/students/2021/matej_novotny/README.md (zdroj: https://zp.kemt.fei.tuke.sk/students/2021/matej_novotny)."", ""status"": ""ok"", ""claims"": [{""person"": ""Artem Yatsenko"", ""keyword"": ""NLP""}, {""person"": ""Matej Novotný"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/artem_yatsenko"", ""https://zp.kemt.fei.tuke.sk/students/2021/matej_novotny""], ""count"": 2}"
|
||||
wide-015,shared_keyword_pair,True,,15.575955378000799,True,True,True,True,True,True,Pre osoby Kristián Sopkovič a Yevhenii Medushivskyi over rovnaké kľúčové slovo nlp.,"{""answer"": ""Áno, obe osoby, Kristián Sopkovič a Yevhenii Medushivskyi, majú rovnaké kľúčové slovo NLP. Kristián Sopkovič má toto kľúčové slovo v dokumente z roku 2019 (https://zp.kemt.fei.tuke.sk/students/2019/kristian_sopkovic) a Yevhenii Medushivskyi v dokumente z roku 2023 (https://zp.kemt.fei.tuke.sk/students/2023/yevhenii_medushivskyi)."", ""status"": ""ok"", ""claims"": [{""person"": ""Kristián Sopkovič"", ""keyword"": ""NLP""}, {""person"": ""Yevhenii Medushivskyi"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/kristian_sopkovic"", ""https://zp.kemt.fei.tuke.sk/students/2023/yevhenii_medushivskyi""], ""count"": 2}"
|
||||
wide-016,shared_keyword_pair,True,,7.991483903999324,True,True,True,True,True,True,Over spoločné kľúčové slovo nlp pri osobách Alina Vitko a Manohar Gowdru Shridhara.,"{""answer"": ""Spoločné kľúčové slovo NLP majú Alina Vitko a Manohar Gowdru Shridhara. Alina Vitko má kľúčové slovo NLP v dokumente na stránke https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko. Manohar Gowdru Shridhara má kľúčové slovo NLP v dokumente na stránke https://zp.kemt.fei.tuke.sk/students/2021/manohar_gowdru_shridharu."", ""status"": ""ok"", ""claims"": [{""person"": ""Alina Vitko"", ""keyword"": ""NLP""}, {""person"": ""Manohar Gowdru Shridhara"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko"", ""https://zp.kemt.fei.tuke.sk/students/2021/manohar_gowdru_shridharu""], ""count"": 2}"
|
||||
wide-017,shared_keyword_pair,True,,15.949837186002696,True,True,True,True,True,True,Majú osoby Andrii Pervashov a Valerii Kutsenko spoločné kľúčové slovo nlp?,"{""answer"": ""Áno, osoby Andrii Pervashov a Valerii Kutsenko majú spoločné kľúčové slovo NLP. Andrii Pervashov má kľúčové slovo NLP podľa zdroja https://zp.kemt.fei.tuke.sk/students/2022/andrii_pervashov a Valerii Kutsenko má kľúčové slovo NLP podľa zdroja https://zp.kemt.fei.tuke.sk/students/2022/valerii_kutsenko."", ""status"": ""ok"", ""claims"": [{""person"": ""Andrii Pervashov"", ""keyword"": ""NLP""}, {""person"": ""Valerii Kutsenko"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/andrii_pervashov"", ""https://zp.kemt.fei.tuke.sk/students/2022/valerii_kutsenko""], ""count"": 2}"
|
||||
wide-018,shared_keyword_pair,True,,6.7982784530031495,True,True,True,True,True,True,Pre osoby Jakub Maruniak a Yevhenii Medushivskyi over rovnaké kľúčové slovo nlp.,"{""answer"": ""Obe osoby, Yevhenii Medushivskyi a Jakub Maruniak, majú ako kľúčové slovo NLP. Yevhenii Medushivskyi je uvedený v zdroji https://zp.kemt.fei.tuke.sk/students/2023/yevhenii_medushivskyi a Jakub Maruniak v zdroji https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak."", ""status"": ""ok"", ""claims"": [{""person"": ""Yevhenii Medushivskyi"", ""keyword"": ""NLP""}, {""person"": ""Jakub Maruniak"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2023/yevhenii_medushivskyi"", ""https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak""], ""count"": 2}"
|
||||
wide-019,shared_keyword_pair,True,,12.657017598998209,True,True,True,True,True,True,Over spoločné kľúčové slovo nlp pri osobách Adrián Remiáš a Bogdan Paul Chiș.,"{""answer"": ""Spoločné kľúčové slovo NLP majú Adrián Remiáš a Bogdan Paul Chiș. Adrián Remiáš má kľúčové slovo NLP v dokumente pages/students/2018/adrian_remias/README.md (https://zp.kemt.fei.tuke.sk/students/2018/adrian_remias). Bogdan Paul Chiș má kľúčové slovo NLP v dokumente pages/interns/bogdan_paul_chis/README.md (https://zp.kemt.fei.tuke.sk/interns/bogdan_paul_chis)."", ""status"": ""ok"", ""claims"": [{""person"": ""Adrián Remiáš"", ""keyword"": ""NLP""}, {""person"": ""Bogdan Paul Chiș"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/adrian_remias"", ""https://zp.kemt.fei.tuke.sk/interns/bogdan_paul_chis""], ""count"": 2}"
|
||||
wide-020,shared_keyword_pair,True,,6.938394573000551,True,True,True,True,True,True,Majú osoby Oleh Bilykh a Ondrej Megela spoločné kľúčové slovo question-answer?,"{""answer"": ""Áno, osoby Oleh Bilykh a Ondrej Megela majú spoločné kľúčové slovo question-answer. Tento fakt je potvrdený pre Olega Bilykha na stránke https://zp.kemt.fei.tuke.sk/students/2018/oleh_bilykh a pre Ondreja Megelu na stránke https://zp.kemt.fei.tuke.sk/students/2018/ondrej_megela."", ""status"": ""ok"", ""claims"": [{""person"": ""Oleh Bilykh"", ""keyword"": ""question-answer""}, {""person"": ""Ondrej Megela"", ""keyword"": ""question-answer""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/oleh_bilykh"", ""https://zp.kemt.fei.tuke.sk/students/2018/ondrej_megela""], ""count"": 2}"
|
||||
wide-021,shared_keyword_pair,True,,10.601334623002913,True,True,True,True,True,True,Pre osoby Bogdan Paul Chiș a Samuel Džurina over rovnaké kľúčové slovo nlp.,"{""answer"": ""Áno, obe osoby, Bogdan Paul Chiș a Samuel Džurina, majú rovnaké kľúčové slovo NLP. Zdroje: https://zp.kemt.fei.tuke.sk/interns/bogdan_paul_chis, https://zp.kemt.fei.tuke.sk/students/2023/samuel_dzurina"", ""status"": ""ok"", ""claims"": [{""person"": ""Bogdan Paul Chiș"", ""keyword"": ""NLP""}, {""person"": ""Samuel Džurina"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/interns/bogdan_paul_chis"", ""https://zp.kemt.fei.tuke.sk/students/2023/samuel_dzurina""], ""count"": 2}"
|
||||
wide-022,shared_keyword_pair,True,,10.63887820099626,True,True,True,True,True,True,Over spoločné kľúčové slovo nlp pri osobách Dárius Lindvai a Dominik Nagy.,"{""answer"": ""Spoločné kľúčové slovo NLP majú Dárius Lindvai a Dominik Nagy. Zdroje: https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai, https://zp.kemt.fei.tuke.sk/students/2016/dominik_nagy"", ""status"": ""ok"", ""claims"": [{""person"": ""Dárius Lindvai"", ""keyword"": ""NLP""}, {""person"": ""Dominik Nagy"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai"", ""https://zp.kemt.fei.tuke.sk/students/2016/dominik_nagy""], ""count"": 2}"
|
||||
wide-023,shared_keyword_pair,True,,7.379739687996334,True,True,True,True,True,True,Majú osoby Artem Yatsenko a Maksym Zatirka spoločné kľúčové slovo nlp?,"{""answer"": ""Áno, obe osoby Artem Yatsenko a Maksym Zatirka majú spoločné kľúčové slovo NLP. Artem Yatsenko má toto kľúčové slovo uvedené v dokumente pages/students/2019/artem_yatsenko/README.md (zdroj: https://zp.kemt.fei.tuke.sk/students/2019/artem_yatsenko) a Maksym Zatirka v dokumente pages/students/2023/maksym_zatirka/README.md (zdroj: https://zp.kemt.fei.tuke.sk/students/2023/maksym_zatirka)."", ""status"": ""ok"", ""claims"": [{""person"": ""Artem Yatsenko"", ""keyword"": ""NLP""}, {""person"": ""Maksym Zatirka"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/artem_yatsenko"", ""https://zp.kemt.fei.tuke.sk/students/2023/maksym_zatirka""], ""count"": 2}"
|
||||
wide-024,shared_keyword_pair,True,,8.829382572002942,True,True,True,True,True,True,Pre osoby Denis Le Thanh a Oleksandr Dorybohov over rovnaké kľúčové slovo lm.,"{""answer"": ""Áno, obe osoby Denis Le Thanh a Oleksandr Dorybohov majú rovnaké kľúčové slovo LM. Tieto údaje sú potvrdené v zdrojoch: https://zp.kemt.fei.tuke.sk/students/2023/denis_le_thanh a https://zp.kemt.fei.tuke.sk/students/2023/oleksandr_dorybohov."", ""status"": ""ok"", ""claims"": [{""person"": ""Denis Le Thanh"", ""keyword"": ""LM""}, {""person"": ""Oleksandr Dorybohov"", ""keyword"": ""LM""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2023/denis_le_thanh"", ""https://zp.kemt.fei.tuke.sk/students/2023/oleksandr_dorybohov""], ""count"": 2}"
|
||||
wide-025,shared_keyword_pair,True,,9.64496994500223,True,True,True,True,True,True,Over spoločné kľúčové slovo nlp pri osobách Artur Hyrenko a Than Trung Thanh.,"{""answer"": ""Spoločné kľúčové slovo NLP majú Artur Hyrenko a Than Trung Thanh. Zdroje: https://zp.kemt.fei.tuke.sk/students/2017/than_trung_thanh, https://zp.kemt.fei.tuke.sk/students/2021/artur_hyrenko."", ""status"": ""ok"", ""claims"": [{""person"": ""Than Trung Thanh"", ""keyword"": ""NLP""}, {""person"": ""Artur Hyrenko"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2017/than_trung_thanh"", ""https://zp.kemt.fei.tuke.sk/students/2021/artur_hyrenko""], ""count"": 2}"
|
||||
wide-026,shared_keyword_pair,True,,10.304747886999394,True,True,True,True,True,True,Majú osoby Lukáš Pokrývka a Than Trung Thanh spoločné kľúčové slovo nlp?,"{""answer"": ""Áno, obe osoby Lukáš Pokrývka a Than Trung Thanh majú spoločné kľúčové slovo NLP. Lukáš Pokrývka má toto kľúčové slovo uvedené v dokumente týkajúcom sa tímového projektu (https://zp.kemt.fei.tuke.sk/students/2016/lukas_pokryvka/timovy_projekt) a Than Trung Thanh ho má v hlavnom dokumente svojho profilu (https://zp.kemt.fei.tuke.sk/students/2017/than_trung_thanh)."", ""status"": ""ok"", ""claims"": [{""person"": ""Lukáš Pokrývka"", ""keyword"": ""NLP""}, {""person"": ""Than Trung Thanh"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/lukas_pokryvka/timovy_projekt"", ""https://zp.kemt.fei.tuke.sk/students/2017/than_trung_thanh""], ""count"": 2}"
|
||||
wide-027,shared_keyword_pair,True,,9.40718223300064,True,True,True,True,True,True,Pre osoby Artur Hyrenko a Rostyslav Rodzhuk over rovnaké kľúčové slovo nlp.,"{""answer"": ""Áno, obe osoby Artur Hyrenko a Rostyslav Rodzhuk majú ako kľúčové slovo NLP. Zdroje: https://zp.kemt.fei.tuke.sk/students/2021/artur_hyrenko a https://zp.kemt.fei.tuke.sk/students/2023/rostyslav_rodzhuk."", ""status"": ""ok"", ""claims"": [{""person"": ""Artur Hyrenko"", ""keyword"": ""NLP""}, {""person"": ""Rostyslav Rodzhuk"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/artur_hyrenko"", ""https://zp.kemt.fei.tuke.sk/students/2023/rostyslav_rodzhuk""], ""count"": 2}"
|
||||
wide-028,shared_keyword_pair,True,,10.532162452000193,True,True,True,True,True,True,Over spoločné kľúčové slovo nlp pri osobách Denis Le Thanh a Ján Holp.,"{""answer"": ""Spoločné kľúčové slovo NLP majú Denis Le Thanh a Ján Holp. Zdroje: https://zp.kemt.fei.tuke.sk/students/2016/jan_holp, https://zp.kemt.fei.tuke.sk/students/2023/denis_le_thanh"", ""status"": ""ok"", ""claims"": [{""person"": ""Ján Holp"", ""keyword"": ""NLP""}, {""person"": ""Denis Le Thanh"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/jan_holp"", ""https://zp.kemt.fei.tuke.sk/students/2023/denis_le_thanh""], ""count"": 2}"
|
||||
wide-029,shared_keyword_pair,True,,9.789691318001132,True,True,True,True,True,True,Majú osoby Dávid Stromp a Ediz Morochovič spoločné kľúčové slovo nlp?,"{""answer"": ""Áno, obe osoby Dávid Stromp a Ediz Morochovič majú spoločné kľúčové slovo NLP. Dávid Stromp má toto kľúčové slovo uvedené v dokumente pages/students/2019/david_stromp/README.md (zdroj: https://zp.kemt.fei.tuke.sk/students/2019/david_stromp) a Ediz Morochovič v dokumente pages/students/2016/ediz_morochovic/README.md (zdroj: https://zp.kemt.fei.tuke.sk/students/2016/ediz_morochovic)."", ""status"": ""ok"", ""claims"": [{""person"": ""Dávid Stromp"", ""keyword"": ""NLP""}, {""person"": ""Ediz Morochovič"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/david_stromp"", ""https://zp.kemt.fei.tuke.sk/students/2016/ediz_morochovic""], ""count"": 2}"
|
||||
wide-030,shared_keyword_pair,True,,11.241516061993025,True,True,True,True,True,True,Pre osoby Kristián Sopkovič a Martin Wencel over rovnaké kľúčové slovo spacy.,"{""answer"": ""Áno, obe osoby, Martin Wencel a Kristián Sopkovič, majú v grafoch uvedené kľúčové slovo Spacy. Martin Wencel je uvedený na stránke https://zp.kemt.fei.tuke.sk/students/2018/martin_wencel a Kristián Sopkovič na stránke https://zp.kemt.fei.tuke.sk/students/2019/kristian_sopkovic."", ""status"": ""ok"", ""claims"": [{""person"": ""Martin Wencel"", ""keyword"": ""Spacy""}, {""person"": ""Kristián Sopkovič"", ""keyword"": ""Spacy""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/martin_wencel"", ""https://zp.kemt.fei.tuke.sk/students/2019/kristian_sopkovic""], ""count"": 2}"
|
||||
wide-031,shared_keyword_pair,True,,10.634745764997206,True,True,True,True,True,True,Over spoločné kľúčové slovo nlp pri osobách Jakub Schwarc a Ján Holp.,"{""answer"": ""Spoločné kľúčové slovo NLP majú Jakub Schwarc a Ján Holp. Ján Holp má toto kľúčové slovo v dokumente z roku 2016 (https://zp.kemt.fei.tuke.sk/students/2016/jan_holp) a Jakub Schwarc v dokumente z roku 2022 (https://zp.kemt.fei.tuke.sk/students/2022/jakub_schwarc)."", ""status"": ""ok"", ""claims"": [{""person"": ""Ján Holp"", ""keyword"": ""NLP""}, {""person"": ""Jakub Schwarc"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/jan_holp"", ""https://zp.kemt.fei.tuke.sk/students/2022/jakub_schwarc""], ""count"": 2}"
|
||||
wide-032,shared_keyword_pair,True,,11.027207719998842,True,True,True,True,True,True,Majú osoby Dávid Stromp a Márk Fehér spoločné kľúčové slovo nlp?,"{""answer"": ""Áno, obe osoby Dávid Stromp a Márk Fehér majú spoločné kľúčové slovo NLP. Dávid Stromp má toto kľúčové slovo v dokumente pages/students/2019/david_stromp/README.md (zdroj: https://zp.kemt.fei.tuke.sk/students/2019/david_stromp) a Márk Fehér v dokumente pages/students/2016/mark_feher/README.md (zdroj: https://zp.kemt.fei.tuke.sk/students/2016/mark_feher)."", ""status"": ""ok"", ""claims"": [{""person"": ""Dávid Stromp"", ""keyword"": ""NLP""}, {""person"": ""Márk Fehér"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/david_stromp"", ""https://zp.kemt.fei.tuke.sk/students/2016/mark_feher""], ""count"": 2}"
|
||||
wide-033,shared_keyword_pair,True,,9.521409880995634,True,True,True,True,True,True,Pre osoby Stanislav Matsunych a Youssef Ressaissi over rovnaké kľúčové slovo nlp.,"{""answer"": ""Áno, obe osoby Stanislav Matsunych a Youssef Ressaissi majú rovnaké kľúčové slovo NLP. Zdroje: https://zp.kemt.fei.tuke.sk/students/2017/stanislav_matsunych, https://zp.kemt.fei.tuke.sk/interns/yussef_ressaissi"", ""status"": ""ok"", ""claims"": [{""person"": ""Stanislav Matsunych"", ""keyword"": ""NLP""}, {""person"": ""Youssef Ressaissi"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2017/stanislav_matsunych"", ""https://zp.kemt.fei.tuke.sk/interns/yussef_ressaissi""], ""count"": 2}"
|
||||
wide-034,shared_keyword_pair,True,,10.085962933000701,True,True,True,True,True,True,Over spoločné kľúčové slovo nlp pri osobách Ján Malinovský a Lukáš Pokrývka.,"{""answer"": ""Spoločné kľúčové slovo NLP majú Ján Malinovský a Lukáš Pokrývka. Lukáš Pokrývka má toto kľúčové slovo v dokumente na stránke https://zp.kemt.fei.tuke.sk/students/2016/lukas_pokryvka/timovy_projekt a Ján Malinovský na stránke https://zp.kemt.fei.tuke.sk/students/2022/jan_malinovsky."", ""status"": ""ok"", ""claims"": [{""person"": ""Lukáš Pokrývka"", ""keyword"": ""NLP""}, {""person"": ""Ján Malinovský"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/lukas_pokryvka/timovy_projekt"", ""https://zp.kemt.fei.tuke.sk/students/2022/jan_malinovsky""], ""count"": 2}"
|
||||
wide-035,shared_keyword_pair,True,,9.319875779998256,True,True,True,True,True,True,Majú osoby Ján Holp a Sevval Bulburu spoločné kľúčové slovo nlp?,"{""answer"": ""Áno, obe osoby Ján Holp a Sevval Bulburu majú spoločné kľúčové slovo NLP. Ján Holp má toto kľúčové slovo uvedené v dokumente pages/students/2016/jan_holp/README.md (zdroj: https://zp.kemt.fei.tuke.sk/students/2016/jan_holp) a Sevval Bulburu v dokumente pages/interns/sevval_bulburu/README.md (zdroj: https://zp.kemt.fei.tuke.sk/interns/sevval_bulburu)."", ""status"": ""ok"", ""claims"": [{""person"": ""Ján Holp"", ""keyword"": ""NLP""}, {""person"": ""Sevval Bulburu"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/jan_holp"", ""https://zp.kemt.fei.tuke.sk/interns/sevval_bulburu""], ""count"": 2}"
|
||||
wide-036,shared_keyword_pair,True,,9.90310135600157,True,True,True,True,True,True,Pre osoby Oleh Bilykh a Ondrej Megela over rovnaké kľúčové slovo qa.,"{""answer"": ""Áno, obe osoby, Oleh Bilykh a Ondrej Megela, majú rovnaké kľúčové slovo QA. Zdroje: https://zp.kemt.fei.tuke.sk/students/2018/oleh_bilykh, https://zp.kemt.fei.tuke.sk/students/2018/ondrej_megela"", ""status"": ""ok"", ""claims"": [{""person"": ""Oleh Bilykh"", ""keyword"": ""QA""}, {""person"": ""Ondrej Megela"", ""keyword"": ""QA""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/oleh_bilykh"", ""https://zp.kemt.fei.tuke.sk/students/2018/ondrej_megela""], ""count"": 2}"
|
||||
wide-037,shared_keyword_pair,True,,9.461803379999765,True,True,True,True,True,True,Over spoločné kľúčové slovo nlp pri osobách Andrii Pervashov a Oleh Bilykh.,"{""answer"": ""Spoločné kľúčové slovo NLP majú osoby Oleh Bilykh a Andrii Pervashov. Zdroje: https://zp.kemt.fei.tuke.sk/students/2018/oleh_bilykh, https://zp.kemt.fei.tuke.sk/students/2022/andrii_pervashov."", ""status"": ""ok"", ""claims"": [{""person"": ""Oleh Bilykh"", ""keyword"": ""NLP""}, {""person"": ""Andrii Pervashov"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/oleh_bilykh"", ""https://zp.kemt.fei.tuke.sk/students/2022/andrii_pervashov""], ""count"": 2}"
|
||||
wide-038,shared_keyword_pair,True,,8.896227124998404,True,True,True,True,True,True,Majú osoby Tetiana Mohorian a Valerii Kutsenko spoločné kľúčové slovo rag?,"{""answer"": ""Áno, osoby Tetiana Mohorian a Valerii Kutsenko majú spoločné kľúčové slovo RAG. Toto je potvrdené v ich profiloch na stránkach https://zp.kemt.fei.tuke.sk/students/2022/tetiana_mohorian a https://zp.kemt.fei.tuke.sk/students/2022/valerii_kutsenko."", ""status"": ""ok"", ""claims"": [{""person"": ""Tetiana Mohorian"", ""keyword"": ""RAG""}, {""person"": ""Valerii Kutsenko"", ""keyword"": ""RAG""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/tetiana_mohorian"", ""https://zp.kemt.fei.tuke.sk/students/2022/valerii_kutsenko""], ""count"": 2}"
|
||||
wide-039,shared_keyword_pair,True,,9.704090511993854,True,True,True,True,True,True,Pre osoby Alina Vitko a Matej Kobyľan over rovnaké kľúčové slovo ir.,"{""answer"": ""Áno, obe osoby, Alina Vitko a Matej Kobyľan, majú priradené kľúčové slovo \""ir\"". Alina Vitko je uvedená na stránke https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko a Matej Kobyľan na stránke https://zp.kemt.fei.tuke.sk/students/2020/matej_kobylan."", ""status"": ""ok"", ""claims"": [{""person"": ""Alina Vitko"", ""keyword"": ""ir""}, {""person"": ""Matej Kobyľan"", ""keyword"": ""ir""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko"", ""https://zp.kemt.fei.tuke.sk/students/2020/matej_kobylan""], ""count"": 2}"
|
||||
wide-040,shared_keyword_pair,True,,8.09319808800501,True,True,True,True,True,True,Over spoločné kľúčové slovo nlp pri osobách Oleksandr Hryshchenko a Serhii Yemets.,"{""answer"": ""Spoločné kľúčové slovo NLP majú Oleksandr Hryshchenko a Serhii Yemets. Zdroje: https://zp.kemt.fei.tuke.sk/students/2021/oleksandr_hryshchenko, https://zp.kemt.fei.tuke.sk/students/2022/serhii_yemets"", ""status"": ""ok"", ""claims"": [{""person"": ""Oleksandr Hryshchenko"", ""keyword"": ""NLP""}, {""person"": ""Serhii Yemets"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/oleksandr_hryshchenko"", ""https://zp.kemt.fei.tuke.sk/students/2022/serhii_yemets""], ""count"": 2}"
|
||||
wide-043,same_academic_year_pair,True,,12.992187249998096,True,True,True,True,True,True,Porovnaj rovnaké roky práce pri osobách Alina Vitko a Artem Yatsenko.,"{""answer"": ""Alina Vitko a Artem Yatsenko majú spoločné roky práce 2021 a 2022. Obe osoby pracovali v roku 2021 a 2022, čo je potvrdené zdrojmi: https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko a https://zp.kemt.fei.tuke.sk/students/2019/artem_yatsenko."", ""status"": ""ok"", ""claims"": [{""person"": ""Alina Vitko"", ""year"": 2021}, {""person"": ""Alina Vitko"", ""year"": 2022}, {""person"": ""Artem Yatsenko"", ""year"": 2021}, {""person"": ""Artem Yatsenko"", ""year"": 2022}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko"", ""https://zp.kemt.fei.tuke.sk/students/2019/artem_yatsenko""], ""count"": 2}"
|
||||
wide-044,same_academic_year_pair,True,,7.993425487999048,True,True,True,True,True,True,Aké spoločné roky práce spájajú osoby Patrik Pavlišin a Samuel Širotník?,"{""answer"": ""Spoločným rokom práce pre Patrika Pavlišina a Samuela Širotníka je 2020. Patrik Pavlišin pracoval v roku 2020 (zdroj: https://zp.kemt.fei.tuke.sk/students/2016/patrik_pavlisin) a Samuel Širotník tiež v roku 2020 (zdroj: https://zp.kemt.fei.tuke.sk/students/2018/samuel_sirotnik)."", ""status"": ""ok"", ""claims"": [{""person"": ""Patrik Pavlišin"", ""year"": 2020}, {""person"": ""Samuel Širotník"", ""year"": 2020}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/patrik_pavlisin"", ""https://zp.kemt.fei.tuke.sk/students/2018/samuel_sirotnik""], ""count"": 1}"
|
||||
wide-045,same_academic_year_pair,True,,11.783585913006391,True,True,True,True,True,True,Ktoré spoločné roky prác majú osoby Lukáš Pokrývka a Márk Fehér?,"{""answer"": ""Lukáš Pokrývka a Márk Fehér majú spoločný rok prác 2021. Zdroje: https://zp.kemt.fei.tuke.sk/students/2016/lukas_pokryvka, https://zp.kemt.fei.tuke.sk/students/2016/mark_feher"", ""status"": ""ok"", ""claims"": [{""person"": ""Lukáš Pokrývka"", ""year"": 2021}, {""person"": ""Márk Fehér"", ""year"": 2021}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/lukas_pokryvka"", ""https://zp.kemt.fei.tuke.sk/students/2016/mark_feher""], ""count"": 1}"
|
||||
wide-046,same_academic_year_pair,True,,8.095852152000589,True,True,True,True,True,True,Porovnaj rovnaké roky práce pri osobách Kristián Sopkovič a Ondrej Megela.,"{""answer"": ""Kristián Sopkovič a Ondrej Megela majú rovnaký rok práce 2022. Zdroje: https://zp.kemt.fei.tuke.sk/students/2019/kristian_sopkovic, https://zp.kemt.fei.tuke.sk/students/2018/ondrej_megela"", ""status"": ""ok"", ""claims"": [{""person"": ""Kristián Sopkovič"", ""year"": 2022}, {""person"": ""Ondrej Megela"", ""year"": 2022}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/kristian_sopkovic"", ""https://zp.kemt.fei.tuke.sk/students/2018/ondrej_megela""], ""count"": 2}"
|
||||
wide-047,same_academic_year_pair,True,,14.414462206004828,True,True,True,True,True,True,Aké spoločné roky práce spájajú osoby Martin Šarišský a Matej Ščišľak?,"{""answer"": ""Martin Šarišský a Matej Ščišľak majú spoločné roky práce 2024, 2025 a 2026. Tieto údaje sú potvrdené v zdrojoch: https://zp.kemt.fei.tuke.sk/students/2021/martin_sarissky a https://zp.kemt.fei.tuke.sk/students/2021/matej_scislak."", ""status"": ""ok"", ""claims"": [{""person"": ""Martin Šarišský"", ""year"": 2024}, {""person"": ""Martin Šarišský"", ""year"": 2025}, {""person"": ""Martin Šarišský"", ""year"": 2026}, {""person"": ""Matej Ščišľak"", ""year"": 2024}, {""person"": ""Matej Ščišľak"", ""year"": 2025}, {""person"": ""Matej Ščišľak"", ""year"": 2026}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/martin_sarissky"", ""https://zp.kemt.fei.tuke.sk/students/2021/matej_scislak""], ""count"": 3}"
|
||||
wide-048,same_academic_year_pair,True,,7.2015859890016145,True,True,True,True,True,True,Ktoré spoločné roky prác majú osoby Márk Fehér a Ondrej Megela?,"{""answer"": ""Márk Fehér a Ondrej Megela majú spoločný rok prác 2022. Zdroje: https://zp.kemt.fei.tuke.sk/students/2016/mark_feher, https://zp.kemt.fei.tuke.sk/students/2018/ondrej_megela"", ""status"": ""ok"", ""claims"": [{""person"": ""Márk Fehér"", ""year"": 2022}, {""person"": ""Ondrej Megela"", ""year"": 2022}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/mark_feher"", ""https://zp.kemt.fei.tuke.sk/students/2018/ondrej_megela""], ""count"": 1}"
|
||||
wide-049,same_academic_year_pair,True,,11.857852802997513,True,True,True,True,True,True,Porovnaj rovnaké roky práce pri osobách Daniil Huzenko a Vladyslav Yanchenko.,"{""answer"": ""Daniil Huzenko a Vladyslav Yanchenko majú rovnaký rok práce 2025. Zdroje: https://zp.kemt.fei.tuke.sk/students/2022/daniil_huzenko, https://zp.kemt.fei.tuke.sk/students/2022/vladyslav_yanchenko."", ""status"": ""ok"", ""claims"": [{""person"": ""Daniil Huzenko"", ""year"": 2025}, {""person"": ""Vladyslav Yanchenko"", ""year"": 2025}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/daniil_huzenko"", ""https://zp.kemt.fei.tuke.sk/students/2022/vladyslav_yanchenko""], ""count"": 2}"
|
||||
wide-050,same_academic_year_pair,True,,9.958301602004212,True,True,True,True,True,True,Aké spoločné roky práce spájajú osoby Matúš Suchanič a Ondrej Megela?,"{""answer"": ""Matúš Suchanič a Ondrej Megela majú spoločné roky práce 2022 a 2023. Tieto údaje sú potvrdené zdrojmi: https://zp.kemt.fei.tuke.sk/students/2020/matus_suchanic a https://zp.kemt.fei.tuke.sk/students/2018/ondrej_megela."", ""status"": ""ok"", ""claims"": [{""person"": ""Matúš Suchanič"", ""year"": 2022}, {""person"": ""Matúš Suchanič"", ""year"": 2023}, {""person"": ""Ondrej Megela"", ""year"": 2022}, {""person"": ""Ondrej Megela"", ""year"": 2023}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2020/matus_suchanic"", ""https://zp.kemt.fei.tuke.sk/students/2018/ondrej_megela""], ""count"": 2}"
|
||||
wide-051,same_academic_year_pair,True,,10.470878234002157,True,True,True,True,True,True,Ktoré spoločné roky prác majú osoby Artur Hyrenko a Maksym Zatirka?,"{""answer"": ""Osoby Artur Hyrenko a Maksym Zatirka majú spoločný rok práce 2026. Zdroje: https://zp.kemt.fei.tuke.sk/students/2021/artur_hyrenko, https://zp.kemt.fei.tuke.sk/students/2023/maksym_zatirka"", ""status"": ""ok"", ""claims"": [{""person"": ""Artur Hyrenko"", ""year"": 2026}, {""person"": ""Maksym Zatirka"", ""year"": 2026}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/artur_hyrenko"", ""https://zp.kemt.fei.tuke.sk/students/2023/maksym_zatirka""], ""count"": 1}"
|
||||
wide-052,same_academic_year_pair,True,,8.66265292999742,True,True,True,True,True,True,Porovnaj rovnaké roky práce pri osobách Matúš Suchanič a Vladyslav Krupko.,"{""answer"": ""Matúš Suchanič a Vladyslav Krupko majú rovnaký rok práce 2023. Zdroje: https://zp.kemt.fei.tuke.sk/students/2020/matus_suchanic, https://zp.kemt.fei.tuke.sk/students/2020/vladyslav_krupko"", ""status"": ""ok"", ""claims"": [{""person"": ""Matúš Suchanič"", ""year"": 2023}, {""person"": ""Vladyslav Krupko"", ""year"": 2023}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2020/matus_suchanic"", ""https://zp.kemt.fei.tuke.sk/students/2020/vladyslav_krupko""], ""count"": 2}"
|
||||
wide-053,same_academic_year_pair,True,,8.393673475999094,True,True,True,True,True,True,Aké spoločné roky práce spájajú osoby Jakub Maruniak a Samuel Širotník?,"{""answer"": ""Spoločným rokom práce pre Jakuba Maruniaka a Samuela Širotníka je 2020. Zdroje: https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak, https://zp.kemt.fei.tuke.sk/students/2018/samuel_sirotnik"", ""status"": ""ok"", ""claims"": [{""person"": ""Jakub Maruniak"", ""year"": 2020}, {""person"": ""Samuel Širotník"", ""year"": 2020}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak"", ""https://zp.kemt.fei.tuke.sk/students/2018/samuel_sirotnik""], ""count"": 1}"
|
||||
wide-054,same_academic_year_pair,True,,8.700021895005193,True,True,True,True,True,True,Ktoré spoločné roky prác majú osoby Dmytro Ushatenko a Maroš Harahus?,"{""answer"": ""Osoby Dmytro Ushatenko a Maroš Harahus majú spoločný rok práce 2020. Dmytro Ushatenko pracoval v roku 2020 (zdroj: https://zp.kemt.fei.tuke.sk/students/2017/dmytro_ushatenko) a Maroš Harahus tiež v roku 2020 (zdroj: https://zp.kemt.fei.tuke.sk/students/2016/maros_harahus)."", ""status"": ""ok"", ""claims"": [{""person"": ""Dmytro Ushatenko"", ""year"": 2020}, {""person"": ""Maroš Harahus"", ""year"": 2020}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2017/dmytro_ushatenko"", ""https://zp.kemt.fei.tuke.sk/students/2016/maros_harahus""], ""count"": 1}"
|
||||
wide-055,same_academic_year_pair,True,,9.511775334001868,True,True,True,True,True,True,Porovnaj rovnaké roky práce pri osobách Jakub Schwarc a Martin Šarišský.,"{""answer"": ""Jakub Schwarc a Martin Šarišský majú rovnaký rok práce 2026. Zdroje: https://zp.kemt.fei.tuke.sk/students/2021/martin_sarissky, https://zp.kemt.fei.tuke.sk/students/2022/jakub_schwarc."", ""status"": ""ok"", ""claims"": [{""person"": ""Martin Šarišský"", ""year"": 2026}, {""person"": ""Jakub Schwarc"", ""year"": 2026}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/martin_sarissky"", ""https://zp.kemt.fei.tuke.sk/students/2022/jakub_schwarc""], ""count"": 2}"
|
||||
wide-056,same_academic_year_pair,True,,10.811054402998707,True,True,True,True,True,True,Aké spoločné roky práce spájajú osoby Márk Fehér a Patrik Pavlišin?,"{""answer"": ""Spoločné roky práce pre Márka Fehéra a Patrika Pavlišina sú 2021 a 2022. Tieto údaje sú potvrdené zdrojmi: https://zp.kemt.fei.tuke.sk/students/2016/mark_feher a https://zp.kemt.fei.tuke.sk/students/2016/patrik_pavlisin."", ""status"": ""ok"", ""claims"": [{""person"": ""Márk Fehér"", ""year"": 2021}, {""person"": ""Márk Fehér"", ""year"": 2022}, {""person"": ""Patrik Pavlišin"", ""year"": 2021}, {""person"": ""Patrik Pavlišin"", ""year"": 2022}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/mark_feher"", ""https://zp.kemt.fei.tuke.sk/students/2016/patrik_pavlisin""], ""count"": 2}"
|
||||
wide-057,same_academic_year_pair,True,,9.067882338000345,True,True,True,True,True,True,Ktoré spoločné roky prác majú osoby Denis Le Thanh a Ján Pták?,"{""answer"": ""Osoby Denis Le Thanh a Ján Pták majú spoločný rok práce 2026. Zdroje: https://zp.kemt.fei.tuke.sk/students/2023/denis_le_thanh, https://zp.kemt.fei.tuke.sk/students/2022/jan_ptak"", ""status"": ""ok"", ""claims"": [{""person"": ""Denis Le Thanh"", ""year"": 2026}, {""person"": ""Ján Pták"", ""year"": 2026}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2023/denis_le_thanh"", ""https://zp.kemt.fei.tuke.sk/students/2022/jan_ptak""], ""count"": 1}"
|
||||
wide-058,same_academic_year_pair,True,,9.767850545002148,True,True,True,True,True,True,Porovnaj rovnaké roky práce pri osobách Artur Hyrenko a Rostyslav Rodzhuk.,"{""answer"": ""Artur Hyrenko a Rostyslav Rodzhuk majú rovnaký rok práce 2026. Zdroje: https://zp.kemt.fei.tuke.sk/students/2021/artur_hyrenko, https://zp.kemt.fei.tuke.sk/students/2023/rostyslav_rodzhuk"", ""status"": ""ok"", ""claims"": [{""person"": ""Artur Hyrenko"", ""year"": 2026}, {""person"": ""Rostyslav Rodzhuk"", ""year"": 2026}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/artur_hyrenko"", ""https://zp.kemt.fei.tuke.sk/students/2023/rostyslav_rodzhuk""], ""count"": 2}"
|
||||
wide-059,same_academic_year_pair,True,,8.003912930995284,True,True,True,True,True,True,Aké spoločné roky práce spájajú osoby Dávid Kostilník a Vladyslav Yanchenko?,"{""answer"": ""Osoby Dávid Kostilník a Vladyslav Yanchenko majú spoločný rok práce 2025. Dávid Kostilník je uvedený v roku 2025 (zdroj: https://zp.kemt.fei.tuke.sk/students/2020/david_kostilnik) a Vladyslav Yanchenko je tiež uvedený v roku 2025 (zdroj: https://zp.kemt.fei.tuke.sk/students/2022/vladyslav_yanchenko)."", ""status"": ""ok"", ""claims"": [{""person"": ""Dávid Kostilník"", ""year"": 2025}, {""person"": ""Vladyslav Yanchenko"", ""year"": 2025}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2020/david_kostilnik"", ""https://zp.kemt.fei.tuke.sk/students/2022/vladyslav_yanchenko""], ""count"": 1}"
|
||||
wide-060,same_academic_year_pair,True,,10.589566226000898,True,True,True,True,True,True,Ktoré spoločné roky prác majú osoby Alina Vitko a Jakub Maruniak?,"{""answer"": ""Osoby Alina Vitko a Jakub Maruniak majú spoločný rok prác 2021. Zdroje: https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak, https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko"", ""status"": ""ok"", ""claims"": [{""person"": ""Jakub Maruniak"", ""year"": 2021}, {""person"": ""Alina Vitko"", ""year"": 2021}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak"", ""https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko""], ""count"": 1}"
|
||||
wide-061,same_academic_year_pair,True,,8.728929495002376,True,True,True,True,True,True,Porovnaj rovnaké roky práce pri osobách Dávid Stromp a Matúš Suchanič.,"{""answer"": ""Dávid Stromp a Matúš Suchanič majú rovnaký rok práce 2022. Zdroje: https://zp.kemt.fei.tuke.sk/students/2019/david_stromp, https://zp.kemt.fei.tuke.sk/students/2020/matus_suchanic"", ""status"": ""ok"", ""claims"": [{""person"": ""Dávid Stromp"", ""year"": 2022}, {""person"": ""Matúš Suchanič"", ""year"": 2022}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/david_stromp"", ""https://zp.kemt.fei.tuke.sk/students/2020/matus_suchanic""], ""count"": 2}"
|
||||
wide-062,same_academic_year_pair,True,,9.624930268000753,True,True,True,True,True,True,Aké spoločné roky práce spájajú osoby Filip Tomáš a Valerii Kutsenko?,"{""answer"": ""Osoby Filip Tomáš a Valerii Kutsenko majú spoločný rok práce 2025. Zdroje: https://zp.kemt.fei.tuke.sk/students/2019/filip_tomas, https://zp.kemt.fei.tuke.sk/students/2022/valerii_kutsenko"", ""status"": ""ok"", ""claims"": [{""person"": ""Filip Tomáš"", ""year"": 2025}, {""person"": ""Valerii Kutsenko"", ""year"": 2025}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/filip_tomas"", ""https://zp.kemt.fei.tuke.sk/students/2022/valerii_kutsenko""], ""count"": 1}"
|
||||
wide-063,same_academic_year_pair,True,,7.708646625003894,True,True,True,True,True,True,Ktoré spoločné roky prác majú osoby Jakub Maruniak a Tomáš Kuchárik?,"{""answer"": ""Osoby Jakub Maruniak a Tomáš Kuchárik majú spoločný rok prác 2021. Zdroje: https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak, https://zp.kemt.fei.tuke.sk/students/2016/tomas_kucharik"", ""status"": ""ok"", ""claims"": [{""person"": ""Jakub Maruniak"", ""year"": 2021}, {""person"": ""Tomáš Kuchárik"", ""year"": 2021}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak"", ""https://zp.kemt.fei.tuke.sk/students/2016/tomas_kucharik""], ""count"": 1}"
|
||||
wide-064,same_academic_year_pair,True,,9.076152639994689,True,True,True,True,True,True,Porovnaj rovnaké roky práce pri osobách Oleh Bilykh a Samuel Horáni.,"{""answer"": ""Oleh Bilykh a Samuel Horáni majú rovnaký rok práce 2021. Zdroje: https://zp.kemt.fei.tuke.sk/students/2018/oleh_bilykh, https://zp.kemt.fei.tuke.sk/students/2019/samuel_horani"", ""status"": ""ok"", ""claims"": [{""person"": ""Oleh Bilykh"", ""year"": 2021}, {""person"": ""Samuel Horáni"", ""year"": 2021}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/oleh_bilykh"", ""https://zp.kemt.fei.tuke.sk/students/2019/samuel_horani""], ""count"": 2}"
|
||||
wide-065,same_academic_year_pair,True,,8.600696289999178,True,True,True,True,True,True,Aké spoločné roky práce spájajú osoby Dmytro Ushatenko a Patrik Pavlišin?,"{""answer"": ""Spoločným rokom práce pre Dmytra Ushatenka a Patrika Pavlišina je 2020. Dmytro Ushatenko pracoval v roku 2020 (zdroj: https://zp.kemt.fei.tuke.sk/students/2017/dmytro_ushatenko) a Patrik Pavlišin pracoval v roku 2020 (zdroj: https://zp.kemt.fei.tuke.sk/students/2016/patrik_pavlisin)."", ""status"": ""ok"", ""claims"": [{""person"": ""Dmytro Ushatenko"", ""year"": 2020}, {""person"": ""Patrik Pavlišin"", ""year"": 2020}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2017/dmytro_ushatenko"", ""https://zp.kemt.fei.tuke.sk/students/2016/patrik_pavlisin""], ""count"": 1}"
|
||||
wide-066,same_academic_year_pair,True,,9.30446918799862,True,True,True,True,True,True,Ktoré spoločné roky prác majú osoby Jakub Maruniak a Ondrej Megela?,"{""answer"": ""Osoby Jakub Maruniak a Ondrej Megela majú spoločný rok práce 2020. Zdroje: https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak, https://zp.kemt.fei.tuke.sk/students/2018/ondrej_megela"", ""status"": ""ok"", ""claims"": [{""person"": ""Ondrej Megela"", ""year"": 2020}, {""person"": ""Jakub Maruniak"", ""year"": 2020}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak"", ""https://zp.kemt.fei.tuke.sk/students/2018/ondrej_megela""], ""count"": 1}"
|
||||
wide-067,same_academic_year_pair,True,,10.539549341003294,True,True,True,True,True,True,Porovnaj rovnaké roky práce pri osobách Alina Vitko a Dmytro Mural.,"{""answer"": ""Alina Vitko a Dmytro Mural majú rovnaké roky práce 2021 a 2022. Zdroje: https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko, https://zp.kemt.fei.tuke.sk/students/2019/dmytro_mural."", ""status"": ""ok"", ""claims"": [{""person"": ""Alina Vitko"", ""year"": 2021}, {""person"": ""Alina Vitko"", ""year"": 2022}, {""person"": ""Dmytro Mural"", ""year"": 2021}, {""person"": ""Dmytro Mural"", ""year"": 2022}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko"", ""https://zp.kemt.fei.tuke.sk/students/2019/dmytro_mural""], ""count"": 2}"
|
||||
wide-068,same_academic_year_pair,True,,8.96055851499841,True,True,True,True,True,True,Aké spoločné roky práce spájajú osoby Tetiana Mohorian a Yevhenii Leonov?,"{""answer"": ""Spoločným rokom práce, ktorý spája Tetiana Mohorian a Yevhenii Leonov, je rok 2025. Tieto údaje sú potvrdené v zdrojoch: https://zp.kemt.fei.tuke.sk/students/2022/tetiana_mohorian a https://zp.kemt.fei.tuke.sk/students/2022/yevhenii_leonov."", ""status"": ""ok"", ""claims"": [{""person"": ""Tetiana Mohorian"", ""year"": 2025}, {""person"": ""Yevhenii Leonov"", ""year"": 2025}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/tetiana_mohorian"", ""https://zp.kemt.fei.tuke.sk/students/2022/yevhenii_leonov""], ""count"": 1}"
|
||||
wide-069,same_academic_year_pair,True,,10.708338853000896,True,True,True,True,True,True,Ktoré spoločné roky prác majú osoby Oleksandr Hryshchenko a Ronald Zalacko?,"{""answer"": ""Oleksandr Hryshchenko a Ronald Zalacko majú spoločný rok práce 2026. Zdroje: https://zp.kemt.fei.tuke.sk/students/2021/oleksandr_hryshchenko, https://zp.kemt.fei.tuke.sk/students/2023/ronald_zalacko"", ""status"": ""ok"", ""claims"": [{""person"": ""Oleksandr Hryshchenko"", ""year"": 2026}, {""person"": ""Ronald Zalacko"", ""year"": 2026}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/oleksandr_hryshchenko"", ""https://zp.kemt.fei.tuke.sk/students/2023/ronald_zalacko""], ""count"": 1}"
|
||||
wide-070,same_academic_year_pair,True,,7.392514177001431,True,True,True,True,True,True,Porovnaj rovnaké roky práce pri osobách Adrián Remiáš a Pavol Hudák.,"{""answer"": ""Adrián Remiáš a Pavol Hudák majú rovnaký rok práce 2024. Zdroje: https://zp.kemt.fei.tuke.sk/students/2018/adrian_remias, https://zp.kemt.fei.tuke.sk/students/2020/pavol_hudak."", ""status"": ""ok"", ""claims"": [{""person"": ""Adrián Remiáš"", ""year"": 2024}, {""person"": ""Pavol Hudák"", ""year"": 2024}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/adrian_remias"", ""https://zp.kemt.fei.tuke.sk/students/2020/pavol_hudak""], ""count"": 2}"
|
||||
wide-071,same_academic_year_pair,True,,13.657042221995653,True,True,True,True,True,True,Aké spoločné roky práce spájajú osoby Nikita Bodnar a Patrik Pokrivčák?,"{""answer"": ""Spoločnými rokmi práce osôb Nikita Bodnar a Patrik Pokrivčák sú roky 2024 a 2025. Obe osoby majú zaznamenané roky 2024 a 2025 v zdrojoch: https://zp.kemt.fei.tuke.sk/students/2021/nikita_bodnar a https://zp.kemt.fei.tuke.sk/students/2019/patrik_pokrivcak."", ""status"": ""ok"", ""claims"": [{""person"": ""Nikita Bodnar"", ""year"": 2024}, {""person"": ""Nikita Bodnar"", ""year"": 2025}, {""person"": ""Patrik Pokrivčák"", ""year"": 2024}, {""person"": ""Patrik Pokrivčák"", ""year"": 2025}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/nikita_bodnar"", ""https://zp.kemt.fei.tuke.sk/students/2019/patrik_pokrivcak""], ""count"": 2}"
|
||||
wide-072,same_academic_year_pair,True,,6.338669182994636,True,True,True,True,True,True,Ktoré spoločné roky prác majú osoby Ján Malinovský a Simona Bobrovčanová?,"{""answer"": ""Osoby Ján Malinovský a Simona Bobrovčanová majú spoločný rok práce 2026. Zdroje: https://zp.kemt.fei.tuke.sk/students/2022/jan_malinovsky, https://zp.kemt.fei.tuke.sk/students/2023/simona_bobrovcanova"", ""status"": ""ok"", ""claims"": [{""person"": ""Ján Malinovský"", ""year"": 2026}, {""person"": ""Simona Bobrovčanová"", ""year"": 2026}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/jan_malinovsky"", ""https://zp.kemt.fei.tuke.sk/students/2023/simona_bobrovcanova""], ""count"": 1}"
|
||||
wide-073,same_academic_year_pair,True,,11.086802947000251,True,True,True,True,True,True,Porovnaj rovnaké roky práce pri osobách Jakub Maruniak a Márk Fehér.,"{""answer"": ""Jakub Maruniak a Márk Fehér majú rovnaký rok práce 2021. Zdroje: https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak, https://zp.kemt.fei.tuke.sk/students/2016/mark_feher."", ""status"": ""ok"", ""claims"": [{""person"": ""Jakub Maruniak"", ""year"": 2021}, {""person"": ""Márk Fehér"", ""year"": 2021}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak"", ""https://zp.kemt.fei.tuke.sk/students/2016/mark_feher""], ""count"": 2}"
|
||||
wide-074,same_academic_year_pair,True,,8.229125010002463,True,True,True,True,True,True,Aké spoločné roky práce spájajú osoby Kamil Tomčufčík a Valerii Kutsenko?,"{""answer"": ""Osoby Kamil Tomčufčík a Valerii Kutsenko majú spoločný rok práce 2025. Zdroje: https://zp.kemt.fei.tuke.sk/students/2020/kamil_tomcufcik, https://zp.kemt.fei.tuke.sk/students/2022/valerii_kutsenko"", ""status"": ""ok"", ""claims"": [{""person"": ""Kamil Tomčufčík"", ""year"": 2025}, {""person"": ""Valerii Kutsenko"", ""year"": 2025}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2020/kamil_tomcufcik"", ""https://zp.kemt.fei.tuke.sk/students/2022/valerii_kutsenko""], ""count"": 1}"
|
||||
wide-075,same_academic_year_pair,True,,9.072914823002066,True,True,True,True,True,True,Ktoré spoločné roky prác majú osoby Serhii Yemets a Tetiana Mohorian?,"{""answer"": ""Osoby Serhii Yemets a Tetiana Mohorian majú spoločný rok prác 2025. Zdroje: https://zp.kemt.fei.tuke.sk/students/2022/serhii_yemets, https://zp.kemt.fei.tuke.sk/students/2022/tetiana_mohorian"", ""status"": ""ok"", ""claims"": [{""person"": ""Serhii Yemets"", ""year"": 2025}, {""person"": ""Tetiana Mohorian"", ""year"": 2025}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/serhii_yemets"", ""https://zp.kemt.fei.tuke.sk/students/2022/tetiana_mohorian""], ""count"": 1}"
|
||||
wide-076,same_academic_year_pair,True,,7.277860586000315,True,True,True,True,True,True,Porovnaj rovnaké roky práce pri osobách Martin Šarišský a Serhii Yemets.,"{""answer"": ""Martin Šarišský a Serhii Yemets majú rovnaký rok práce 2025. Zdroje: https://zp.kemt.fei.tuke.sk/students/2021/martin_sarissky, https://zp.kemt.fei.tuke.sk/students/2022/serhii_yemets"", ""status"": ""ok"", ""claims"": [{""person"": ""Martin Šarišský"", ""year"": 2025}, {""person"": ""Serhii Yemets"", ""year"": 2025}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/martin_sarissky"", ""https://zp.kemt.fei.tuke.sk/students/2022/serhii_yemets""], ""count"": 2}"
|
||||
wide-077,same_academic_year_pair,True,,8.747992983000586,True,True,True,True,True,True,Aké spoločné roky práce spájajú osoby Matej Kobyľan a Nikita Bodnar?,"{""answer"": ""Spoločným rokom práce pre Mateja Kobyľana a Nikitu Bodnara je 2024. Zdroje: https://zp.kemt.fei.tuke.sk/students/2020/matej_kobylan, https://zp.kemt.fei.tuke.sk/students/2021/nikita_bodnar"", ""status"": ""ok"", ""claims"": [{""person"": ""Matej Kobyľan"", ""year"": 2024}, {""person"": ""Nikita Bodnar"", ""year"": 2024}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2020/matej_kobylan"", ""https://zp.kemt.fei.tuke.sk/students/2021/nikita_bodnar""], ""count"": 1}"
|
||||
wide-078,same_academic_year_pair,True,,7.9442629190016305,True,True,True,True,True,True,Ktoré spoločné roky prác majú osoby Dárius Lindvai a Martin NaN1?,"{""answer"": ""Osoby Dárius Lindvai a Martin NaN1 majú spoločný rok práce 2020. Dárius Lindvai má prácu z roku 2020 (zdroj: https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai) a Martin NaN1 má prácu z roku 2020 (zdroj: https://zp.kemt.fei.tuke.sk/students/2018/NaN1name_buday)."", ""status"": ""ok"", ""claims"": [{""person"": ""Dárius Lindvai"", ""year"": 2020}, {""person"": ""Martin NaN1"", ""year"": 2020}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai"", ""https://zp.kemt.fei.tuke.sk/students/2018/NaN1name_buday""], ""count"": 1}"
|
||||
wide-079,same_academic_year_pair,True,,8.828723204998823,True,True,True,True,True,True,Porovnaj rovnaké roky práce pri osobách Artur Hyrenko a Samuel Džurina.,"{""answer"": ""Artur Hyrenko a Samuel Džurina majú rovnaký rok práce 2026. Zdroje: https://zp.kemt.fei.tuke.sk/students/2021/artur_hyrenko, https://zp.kemt.fei.tuke.sk/students/2023/samuel_dzurina"", ""status"": ""ok"", ""claims"": [{""person"": ""Artur Hyrenko"", ""year"": 2026}, {""person"": ""Samuel Džurina"", ""year"": 2026}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/artur_hyrenko"", ""https://zp.kemt.fei.tuke.sk/students/2023/samuel_dzurina""], ""count"": 2}"
|
||||
wide-080,same_academic_year_pair,False,,10.36691496399726,True,True,True,True,True,True,Aké spoločné roky práce spájajú osoby Dávid Stromp a Dominik Nagy?,"{""answer"": ""Spoločné roky práce pre Dávida Strompa a Dominika Nagya sú 2021 a 2022. Tieto údaje sú potvrdené zdrojmi: https://zp.kemt.fei.tuke.sk/students/2016/dominik_nagy a https://zp.kemt.fei.tuke.sk/students/2019/david_stromp."", ""status"": ""ok"", ""claims"": [{""person"": ""Dominik Nagy"", ""year"": 2021}, {""person"": ""Dominik Nagy"", ""year"": 2022}, {""person"": ""Dávid Stromp"", ""year"": 2021}, {""person"": ""Dávid Stromp"", ""year"": 2022}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/dominik_nagy"", ""https://zp.kemt.fei.tuke.sk/students/2019/david_stromp""], ""count"": 2}"
|
||||
wide-083,same_start_year_pair,True,,8.719621158001246,True,True,True,True,True,True,Aký spoločný rok začiatku štúdia majú osoby Lukáš Pokrývka a Maroš Harahus?,"{""answer"": ""Lukáš Pokrývka a Maroš Harahus majú spoločný rok začiatku štúdia 2016. Zdroje: https://zp.kemt.fei.tuke.sk/students/2016/lukas_pokryvka, https://zp.kemt.fei.tuke.sk/students/2016/maros_harahus"", ""status"": ""ok"", ""claims"": [{""person"": ""Lukáš Pokrývka"", ""start_year"": 2016}, {""person"": ""Maroš Harahus"", ""start_year"": 2016}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/lukas_pokryvka"", ""https://zp.kemt.fei.tuke.sk/students/2016/maros_harahus""], ""count"": 2}"
|
||||
wide-084,same_start_year_pair,True,,12.174287679998088,True,True,True,True,True,True,Porovnaj rovnaký rok začiatku štúdia osôb Dávid Kostilník a Jakub Kristián Lukas.,"{""answer"": ""Dávid Kostilník a Jakub Kristián Lukas začali štúdium v rovnakom roku 2020. Zdroje: https://zp.kemt.fei.tuke.sk/students/2020/david_kostilnik, https://zp.kemt.fei.tuke.sk/students/2020/jakub_kristian_lukas"", ""status"": ""ok"", ""claims"": [{""person"": ""Dávid Kostilník"", ""start_year"": 2020}, {""person"": ""Jakub Kristián Lukas"", ""start_year"": 2020}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2020/david_kostilnik"", ""https://zp.kemt.fei.tuke.sk/students/2020/jakub_kristian_lukas""], ""count"": 2}"
|
||||
wide-085,same_start_year_pair,True,,5.55311806199461,True,True,True,True,True,True,Aký spoločný rok začiatku štúdia majú osoby Dominik Nagy a Jakub Maruniak?,"{""answer"": ""Dominik Nagy a Jakub Maruniak majú spoločný rok začiatku štúdia 2016. Zdroje: https://zp.kemt.fei.tuke.sk/students/2016/dominik_nagy, https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak"", ""status"": ""ok"", ""claims"": [{""person"": ""Dominik Nagy"", ""start_year"": 2016}, {""person"": ""Jakub Maruniak"", ""start_year"": 2016}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/dominik_nagy"", ""https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak""], ""count"": 2}"
|
||||
wide-086,same_start_year_pair,True,,10.080774428999575,True,True,True,True,True,True,Aký spoločný rok začiatku štúdia majú osoby Artem Yatsenko a Samuel Horáni?,"{""answer"": ""Artem Yatsenko a Samuel Horáni majú spoločný rok začiatku štúdia 2019. Zdroje: https://zp.kemt.fei.tuke.sk/students/2019/artem_yatsenko, https://zp.kemt.fei.tuke.sk/students/2019/samuel_horani"", ""status"": ""ok"", ""claims"": [{""person"": ""Artem Yatsenko"", ""start_year"": 2019}, {""person"": ""Samuel Horáni"", ""start_year"": 2019}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/artem_yatsenko"", ""https://zp.kemt.fei.tuke.sk/students/2019/samuel_horani""], ""count"": 2}"
|
||||
wide-087,same_start_year_pair,True,,7.166185222995409,True,True,True,True,True,True,Porovnaj rovnaký rok začiatku štúdia osôb Dmytro Mural a Samuel Horáni.,"{""answer"": ""Dmytro Mural a Samuel Horáni začali štúdium v rovnakom roku 2019. Zdroje: https://zp.kemt.fei.tuke.sk/students/2019/dmytro_mural, https://zp.kemt.fei.tuke.sk/students/2019/samuel_horani"", ""status"": ""ok"", ""claims"": [{""person"": ""Dmytro Mural"", ""start_year"": 2019}, {""person"": ""Samuel Horáni"", ""start_year"": 2019}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/dmytro_mural"", ""https://zp.kemt.fei.tuke.sk/students/2019/samuel_horani""], ""count"": 2}"
|
||||
wide-088,same_start_year_pair,True,,9.089845142996637,True,True,True,True,True,True,Aký spoločný rok začiatku štúdia majú osoby Ján Holp a Maroš Harahus?,"{""answer"": ""Osoby Ján Holp a Maroš Harahus majú spoločný rok začiatku štúdia 2016. Zdroje: https://zp.kemt.fei.tuke.sk/students/2016/jan_holp, https://zp.kemt.fei.tuke.sk/students/2016/maros_harahus"", ""status"": ""ok"", ""claims"": [{""person"": ""Ján Holp"", ""start_year"": 2016}, {""person"": ""Maroš Harahus"", ""start_year"": 2016}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/jan_holp"", ""https://zp.kemt.fei.tuke.sk/students/2016/maros_harahus""], ""count"": 2}"
|
||||
wide-089,same_start_year_pair,True,,7.242540999999619,True,True,True,True,True,True,Aký spoločný rok začiatku štúdia majú osoby Dávid Kostilník a Vladyslav Krupko?,"{""answer"": ""Dávid Kostilník a Vladyslav Krupko majú spoločný rok začiatku štúdia 2020. Zdroje: https://zp.kemt.fei.tuke.sk/students/2020/david_kostilnik, https://zp.kemt.fei.tuke.sk/students/2020/vladyslav_krupko"", ""status"": ""ok"", ""claims"": [{""person"": ""Dávid Kostilník"", ""start_year"": 2020}, {""person"": ""Vladyslav Krupko"", ""start_year"": 2020}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2020/david_kostilnik"", ""https://zp.kemt.fei.tuke.sk/students/2020/vladyslav_krupko""], ""count"": 2}"
|
||||
wide-090,same_start_year_pair,True,,9.571305277997453,True,True,True,True,True,True,Porovnaj rovnaký rok začiatku štúdia osôb Martin Jancura a Stanislav Matsunych.,"{""answer"": ""Martin Jancura a Stanislav Matsunych začali štúdium v rovnakom roku 2017. Zdroje: https://zp.kemt.fei.tuke.sk/students/2017/martin_jancura, https://zp.kemt.fei.tuke.sk/students/2017/stanislav_matsunych"", ""status"": ""ok"", ""claims"": [{""person"": ""Martin Jancura"", ""start_year"": 2017}, {""person"": ""Stanislav Matsunych"", ""start_year"": 2017}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2017/martin_jancura"", ""https://zp.kemt.fei.tuke.sk/students/2017/stanislav_matsunych""], ""count"": 2}"
|
||||
wide-091,same_start_year_pair,True,,7.682041077001486,True,True,True,True,True,True,Aký spoločný rok začiatku štúdia majú osoby Matej Novotný a Nikita Bodnar?,"{""answer"": ""Matej Novotný a Nikita Bodnar majú spoločný rok začiatku štúdia 2021. Zdroje: https://zp.kemt.fei.tuke.sk/students/2021/matej_novotny, https://zp.kemt.fei.tuke.sk/students/2021/nikita_bodnar"", ""status"": ""ok"", ""claims"": [{""person"": ""Matej Novotný"", ""start_year"": 2021}, {""person"": ""Nikita Bodnar"", ""start_year"": 2021}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/matej_novotny"", ""https://zp.kemt.fei.tuke.sk/students/2021/nikita_bodnar""], ""count"": 2}"
|
||||
wide-092,same_start_year_pair,True,,9.652925777001656,True,True,True,True,True,True,Aký spoločný rok začiatku štúdia majú osoby Dávid Omasta a Martin Wencel?,"{""answer"": ""Dávid Omasta a Martin Wencel majú spoločný rok začiatku štúdia 2018. Zdroje: https://zp.kemt.fei.tuke.sk/students/2018/david_omasta, https://zp.kemt.fei.tuke.sk/students/2018/martin_wencel"", ""status"": ""ok"", ""claims"": [{""person"": ""Dávid Omasta"", ""start_year"": 2018}, {""person"": ""Martin Wencel"", ""start_year"": 2018}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/david_omasta"", ""https://zp.kemt.fei.tuke.sk/students/2018/martin_wencel""], ""count"": 2}"
|
||||
wide-093,same_start_year_pair,True,,7.145516338998277,True,True,True,True,True,True,Porovnaj rovnaký rok začiatku štúdia osôb Samuel Vasiľ a Valerii Kutsenko.,"{""answer"": ""Samuel Vasiľ a Valerii Kutsenko začali štúdium v rovnakom roku 2022. Zdroje: https://zp.kemt.fei.tuke.sk/students/2022/samuel_vasil, https://zp.kemt.fei.tuke.sk/students/2022/valerii_kutsenko"", ""status"": ""ok"", ""claims"": [{""person"": ""Samuel Vasiľ"", ""start_year"": 2022}, {""person"": ""Valerii Kutsenko"", ""start_year"": 2022}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/samuel_vasil"", ""https://zp.kemt.fei.tuke.sk/students/2022/valerii_kutsenko""], ""count"": 2}"
|
||||
wide-094,same_start_year_pair,True,,9.363720138004282,True,True,True,True,True,True,Aký spoločný rok začiatku štúdia majú osoby Dmytro Mural a Kristián Sopkovič?,"{""answer"": ""Dmytro Mural a Kristián Sopkovič majú spoločný rok začiatku štúdia 2019. Zdroje: https://zp.kemt.fei.tuke.sk/students/2019/dmytro_mural, https://zp.kemt.fei.tuke.sk/students/2019/kristian_sopkovic"", ""status"": ""ok"", ""claims"": [{""person"": ""Dmytro Mural"", ""start_year"": 2019}, {""person"": ""Kristián Sopkovič"", ""start_year"": 2019}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/dmytro_mural"", ""https://zp.kemt.fei.tuke.sk/students/2019/kristian_sopkovic""], ""count"": 2}"
|
||||
wide-095,same_start_year_pair,True,,7.0345262230039225,True,True,True,True,True,True,Aký spoločný rok začiatku štúdia majú osoby Oleksandr Dorybohov a Samuel Džurina?,"{""answer"": ""Oleksandr Dorybohov a Samuel Džurina majú spoločný rok začiatku štúdia 2023. Zdroje: https://zp.kemt.fei.tuke.sk/students/2023/oleksandr_dorybohov, https://zp.kemt.fei.tuke.sk/students/2023/samuel_dzurina"", ""status"": ""ok"", ""claims"": [{""person"": ""Oleksandr Dorybohov"", ""start_year"": 2023}, {""person"": ""Samuel Džurina"", ""start_year"": 2023}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2023/oleksandr_dorybohov"", ""https://zp.kemt.fei.tuke.sk/students/2023/samuel_dzurina""], ""count"": 2}"
|
||||
wide-096,same_start_year_pair,True,,9.334781532001216,True,True,True,True,True,True,Porovnaj rovnaký rok začiatku štúdia osôb Michal Stromko a Patrik Pokrivčák.,"{""answer"": ""Michal Stromko a Patrik Pokrivčák začali štúdium v rovnakom roku 2019. Zdroje: https://zp.kemt.fei.tuke.sk/students/2019/michal_stromko, https://zp.kemt.fei.tuke.sk/students/2019/patrik_pokrivcak"", ""status"": ""ok"", ""claims"": [{""person"": ""Michal Stromko"", ""start_year"": 2019}, {""person"": ""Patrik Pokrivčák"", ""start_year"": 2019}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/michal_stromko"", ""https://zp.kemt.fei.tuke.sk/students/2019/patrik_pokrivcak""], ""count"": 2}"
|
||||
wide-097,same_start_year_pair,True,,7.029824302000634,True,True,True,True,True,True,Aký spoločný rok začiatku štúdia majú osoby Martin Šarišský a Matej Ščišľak?,"{""answer"": ""Martin Šarišský a Matej Ščišľak majú spoločný rok začiatku štúdia 2021. Zdroje: https://zp.kemt.fei.tuke.sk/students/2021/martin_sarissky, https://zp.kemt.fei.tuke.sk/students/2021/matej_scislak"", ""status"": ""ok"", ""claims"": [{""person"": ""Martin Šarišský"", ""start_year"": 2021}, {""person"": ""Matej Ščišľak"", ""start_year"": 2021}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/martin_sarissky"", ""https://zp.kemt.fei.tuke.sk/students/2021/matej_scislak""], ""count"": 2}"
|
||||
wide-098,same_start_year_pair,True,,9.2781991909942,True,True,True,True,True,True,Aký spoločný rok začiatku štúdia majú osoby Matej Kobyľan a Pavol Hudák?,"{""answer"": ""Spoločný rok začiatku štúdia pre Mateja Kobyľana a Pavola Hudáka je 2020. Zdroje: https://zp.kemt.fei.tuke.sk/students/2020/matej_kobylan, https://zp.kemt.fei.tuke.sk/students/2020/pavol_hudak"", ""status"": ""ok"", ""claims"": [{""person"": ""Matej Kobyľan"", ""start_year"": 2020}, {""person"": ""Pavol Hudák"", ""start_year"": 2020}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2020/matej_kobylan"", ""https://zp.kemt.fei.tuke.sk/students/2020/pavol_hudak""], ""count"": 2}"
|
||||
wide-099,same_start_year_pair,True,,6.882240877996082,True,True,True,True,True,True,Porovnaj rovnaký rok začiatku štúdia osôb Alina Vitko a Dávid Stromp.,"{""answer"": ""Alina Vitko a Dávid Stromp začali štúdium v rovnakom roku 2019. Zdroje: https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko, https://zp.kemt.fei.tuke.sk/students/2019/david_stromp"", ""status"": ""ok"", ""claims"": [{""person"": ""Alina Vitko"", ""start_year"": 2019}, {""person"": ""Dávid Stromp"", ""start_year"": 2019}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko"", ""https://zp.kemt.fei.tuke.sk/students/2019/david_stromp""], ""count"": 2}"
|
||||
wide-100,same_start_year_pair,True,,9.426582434993179,True,True,True,True,True,True,Aký spoločný rok začiatku štúdia majú osoby Ronald Zalacko a Simona Bobrovčanová?,"{""answer"": ""Ronald Zalacko a Simona Bobrovčanová majú spoločný rok začiatku štúdia 2023. Zdroje: https://zp.kemt.fei.tuke.sk/students/2023/ronald_zalacko, https://zp.kemt.fei.tuke.sk/students/2023/simona_bobrovcanova"", ""status"": ""ok"", ""claims"": [{""person"": ""Ronald Zalacko"", ""start_year"": 2023}, {""person"": ""Simona Bobrovčanová"", ""start_year"": 2023}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2023/ronald_zalacko"", ""https://zp.kemt.fei.tuke.sk/students/2023/simona_bobrovcanova""], ""count"": 2}"
|
||||
wide-101,same_start_year_pair,True,,6.825582851000945,True,True,True,True,True,True,Aký spoločný rok začiatku štúdia majú osoby Jakub Schwarc a Valerii Kutsenko?,"{""answer"": ""Osoby Jakub Schwarc a Valerii Kutsenko majú spoločný rok začiatku štúdia 2022. Zdroje: https://zp.kemt.fei.tuke.sk/students/2022/jakub_schwarc, https://zp.kemt.fei.tuke.sk/students/2022/valerii_kutsenko"", ""status"": ""ok"", ""claims"": [{""person"": ""Jakub Schwarc"", ""start_year"": 2022}, {""person"": ""Valerii Kutsenko"", ""start_year"": 2022}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/jakub_schwarc"", ""https://zp.kemt.fei.tuke.sk/students/2022/valerii_kutsenko""], ""count"": 2}"
|
||||
wide-102,same_start_year_pair,True,,9.520078122004634,True,True,True,True,True,True,Porovnaj rovnaký rok začiatku štúdia osôb Ján Malinovský a Tetiana Mohorian.,"{""answer"": ""Ján Malinovský a Tetiana Mohorian začali štúdium v rovnakom roku 2022. Zdroje: https://zp.kemt.fei.tuke.sk/students/2022/jan_malinovsky, https://zp.kemt.fei.tuke.sk/students/2022/tetiana_mohorian"", ""status"": ""ok"", ""claims"": [{""person"": ""Ján Malinovský"", ""start_year"": 2022}, {""person"": ""Tetiana Mohorian"", ""start_year"": 2022}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/jan_malinovsky"", ""https://zp.kemt.fei.tuke.sk/students/2022/tetiana_mohorian""], ""count"": 2}"
|
||||
wide-103,same_start_year_pair,True,,6.680194066000695,True,True,True,True,True,True,Aký spoločný rok začiatku štúdia majú osoby Martin Šarišský a Vladimír Ferko?,"{""answer"": ""Martin Šarišský a Vladimír Ferko majú spoločný rok začiatku štúdia 2021. Zdroje: https://zp.kemt.fei.tuke.sk/students/2021/martin_sarissky, https://zp.kemt.fei.tuke.sk/students/2021/vladimir_ferko"", ""status"": ""ok"", ""claims"": [{""person"": ""Martin Šarišský"", ""start_year"": 2021}, {""person"": ""Vladimír Ferko"", ""start_year"": 2021}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/martin_sarissky"", ""https://zp.kemt.fei.tuke.sk/students/2021/vladimir_ferko""], ""count"": 2}"
|
||||
wide-104,same_start_year_pair,False,,9.48697051199997,True,True,True,True,True,False,Aký spoločný rok začiatku štúdia majú osoby Adrián Remiáš a Martin NaN1?,"{""answer"": ""Spoločný rok začiatku štúdia pre Adriána Remiáša a Martina NaN1 je 2018. Zdroje: https://zp.kemt.fei.tuke.sk/students/2018/adrian_remias, https://zp.kemt.fei.tuke.sk/students/2018/NaN1name_buday"", ""status"": ""ok"", ""claims"": [{""person"": ""Adrián Remiáš"", ""start_year"": 2018}, {""person"": ""Martin NaN1"", ""start_year"": 2018}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/adrian_remias"", ""https://zp.kemt.fei.tuke.sk/students/2018/NaN1name_buday""], ""count"": 1}"
|
||||
wide-105,same_start_year_pair,True,,6.5554323559990735,True,True,True,True,True,True,Porovnaj rovnaký rok začiatku štúdia osôb Dominik Nagy a Maroš Harahus.,"{""answer"": ""Dominik Nagy a Maroš Harahus začali štúdium v rovnakom roku 2016. Zdroje: https://zp.kemt.fei.tuke.sk/students/2016/dominik_nagy, https://zp.kemt.fei.tuke.sk/students/2016/maros_harahus"", ""status"": ""ok"", ""claims"": [{""person"": ""Dominik Nagy"", ""start_year"": 2016}, {""person"": ""Maroš Harahus"", ""start_year"": 2016}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/dominik_nagy"", ""https://zp.kemt.fei.tuke.sk/students/2016/maros_harahus""], ""count"": 2}"
|
||||
wide-106,same_start_year_pair,True,,9.503550268003892,True,True,True,True,True,True,Aký spoločný rok začiatku štúdia majú osoby Kamil Tomčufčík a Matúš Suchanič?,"{""answer"": ""Spoločný rok začiatku štúdia pre Kamil Tomčufčík a Matúš Suchanič je 2020. Zdroje: https://zp.kemt.fei.tuke.sk/students/2020/kamil_tomcufcik, https://zp.kemt.fei.tuke.sk/students/2020/matus_suchanic"", ""status"": ""ok"", ""claims"": [{""person"": ""Kamil Tomčufčík"", ""start_year"": 2020}, {""person"": ""Matúš Suchanič"", ""start_year"": 2020}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2020/kamil_tomcufcik"", ""https://zp.kemt.fei.tuke.sk/students/2020/matus_suchanic""], ""count"": 2}"
|
||||
wide-107,same_start_year_pair,True,,6.221047974002431,True,True,True,True,True,True,Aký spoločný rok začiatku štúdia majú osoby Dominik Nagy a Márk Fehér?,"{""answer"": ""Dominik Nagy a Márk Fehér majú spoločný rok začiatku štúdia 2016. Zdroje: https://zp.kemt.fei.tuke.sk/students/2016/dominik_nagy, https://zp.kemt.fei.tuke.sk/students/2016/mark_feher"", ""status"": ""ok"", ""claims"": [{""person"": ""Dominik Nagy"", ""start_year"": 2016}, {""person"": ""Márk Fehér"", ""start_year"": 2016}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/dominik_nagy"", ""https://zp.kemt.fei.tuke.sk/students/2016/mark_feher""], ""count"": 2}"
|
||||
wide-108,same_start_year_pair,True,,11.524189818002924,True,True,True,True,True,True,Porovnaj rovnaký rok začiatku štúdia osôb Artur Hyrenko a Manohar Gowdru Shridhara.,"{""answer"": ""Artur Hyrenko a Manohar Gowdru Shridhara začali štúdium v rovnakom roku 2021. Zdroje: https://zp.kemt.fei.tuke.sk/students/2021/artur_hyrenko, https://zp.kemt.fei.tuke.sk/students/2021/manohar_gowdru_shridharu"", ""status"": ""ok"", ""claims"": [{""person"": ""Artur Hyrenko"", ""start_year"": 2021}, {""person"": ""Manohar Gowdru Shridhara"", ""start_year"": 2021}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/artur_hyrenko"", ""https://zp.kemt.fei.tuke.sk/students/2021/manohar_gowdru_shridharu""], ""count"": 2}"
|
||||
wide-109,same_start_year_pair,True,,5.475857990000804,True,True,True,True,True,True,Aký spoločný rok začiatku štúdia majú osoby Adrián Remiáš a Dávid Iľaš?,"{""answer"": ""Adrián Remiáš a Dávid Iľaš majú spoločný rok začiatku štúdia 2018. Zdroje: https://zp.kemt.fei.tuke.sk/students/2018/adrian_remias, https://zp.kemt.fei.tuke.sk/students/2018/david_ilas"", ""status"": ""ok"", ""claims"": [{""person"": ""Adrián Remiáš"", ""start_year"": 2018}, {""person"": ""Dávid Iľaš"", ""start_year"": 2018}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/adrian_remias"", ""https://zp.kemt.fei.tuke.sk/students/2018/david_ilas""], ""count"": 2}"
|
||||
wide-110,same_start_year_pair,True,,10.211346320000303,True,True,True,True,True,True,Aký spoločný rok začiatku štúdia majú osoby Filip Tomáš a Samuel Horáni?,"{""answer"": ""Osoby Filip Tomáš a Samuel Horáni majú spoločný rok začiatku štúdia 2019. Zdroje: https://zp.kemt.fei.tuke.sk/students/2019/filip_tomas, https://zp.kemt.fei.tuke.sk/students/2019/samuel_horani"", ""status"": ""ok"", ""claims"": [{""person"": ""Filip Tomáš"", ""start_year"": 2019}, {""person"": ""Samuel Horáni"", ""start_year"": 2019}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/filip_tomas"", ""https://zp.kemt.fei.tuke.sk/students/2019/samuel_horani""], ""count"": 2}"
|
||||
wide-111,same_start_year_pair,True,,8.28008010499616,True,True,True,True,True,True,Porovnaj rovnaký rok začiatku štúdia osôb Dominik Nagy a Tomáš Kuchárik.,"{""answer"": ""Dominik Nagy a Tomáš Kuchárik začali štúdium v rovnakom roku 2016 (zdroje: https://zp.kemt.fei.tuke.sk/students/2016/dominik_nagy, https://zp.kemt.fei.tuke.sk/students/2016/tomas_kucharik)."", ""status"": ""ok"", ""claims"": [{""person"": ""Dominik Nagy"", ""start_year"": 2016}, {""person"": ""Tomáš Kuchárik"", ""start_year"": 2016}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/dominik_nagy"", ""https://zp.kemt.fei.tuke.sk/students/2016/tomas_kucharik""], ""count"": 2}"
|
||||
wide-112,same_start_year_pair,True,,9.384743433998665,True,True,True,True,True,True,Aký spoločný rok začiatku štúdia majú osoby Jakub Maruniak a Tomáš Kuchárik?,"{""answer"": ""Jakub Maruniak a Tomáš Kuchárik majú spoločný rok začiatku štúdia 2016. Zdroje: https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak, https://zp.kemt.fei.tuke.sk/students/2016/tomas_kucharik"", ""status"": ""ok"", ""claims"": [{""person"": ""Jakub Maruniak"", ""start_year"": 2016}, {""person"": ""Tomáš Kuchárik"", ""start_year"": 2016}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak"", ""https://zp.kemt.fei.tuke.sk/students/2016/tomas_kucharik""], ""count"": 1}"
|
||||
wide-115,person_title_year,True,,7.64530175300024,True,True,True,True,True,True,Uveď názov práce osoby Dárius Lindvai a rok práce pre rok 2021.,"{""answer"": ""Osoba Dárius Lindvai má v roku 2021 prácu s názvom \""Obnovenie interpunkcie pomocou hlbokých neurónových sietí\"". Zdroj: https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai"", ""status"": ""ok"", ""claims"": [{""person"": ""Dárius Lindvai"", ""title"": ""Obnovenie interpunkcie pomocou hlbokých neurónových sietí"", ""year"": 2021}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai""], ""count"": 1}"
|
||||
wide-116,person_title_year,True,,6.991201303004345,True,True,True,True,True,True,Aký názov práce a rok práce sú pri osobe Jakub Maruniak uvedené pre rok 2019?,"{""answer"": ""Pre rok 2019 je pri osobe Jakub Maruniak uvedený názov práce \""Rešerš\"" a rok 2019. Zdroj: https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak"", ""status"": ""ok"", ""claims"": [{""person"": ""Jakub Maruniak"", ""title"": ""Rešerš"", ""year"": 2019}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak""], ""count"": 1}"
|
||||
wide-117,person_title_year,True,,7.595171244000085,True,True,True,True,True,True,Uveď názov práce osoby Andrii Pervashov a rok práce pre rok 2027.,"{""answer"": ""Osoba Andrii Pervashov má v roku 2027 prácu s názvom \""Prepis reči pre tvorbu štruktúrovaného zdravotného záznamu\"" (zdroj: https://zp.kemt.fei.tuke.sk/students/2022/andrii_pervashov)."", ""status"": ""ok"", ""claims"": [{""person"": ""Andrii Pervashov"", ""title"": ""Prepis reči pre tvorbu štruktúrovaného zdravotného záznamu"", ""year"": 2027}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/andrii_pervashov""], ""count"": 1}"
|
||||
wide-118,person_title_year,True,,6.700285118997272,True,True,True,True,True,True,Uveď názov práce osoby Andrii Pervashov a rok práce pre rok 2025.,"{""answer"": ""Osoba Andrii Pervashov má v roku 2025 prácu s názvom \""Korekcia textu pomocou neurónových sietí\"". Zdroj: https://zp.kemt.fei.tuke.sk/students/2022/andrii_pervashov"", ""status"": ""ok"", ""claims"": [{""person"": ""Andrii Pervashov"", ""title"": ""Korekcia textu pomocou neurónových sietí"", ""year"": 2025}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/andrii_pervashov""], ""count"": 1}"
|
||||
wide-119,person_title_year,False,"JSONDecodeError: Expecting ',' delimiter: line 1 column 135 (char 134)",7.856277612998383,,,,,,,Aký názov diplomového projektu a rok práce sú pri osobe Ján Malinovský uvedené pre rok 2026?,null
|
||||
wide-120,person_title_year,True,,5.406756443000631,True,True,True,True,True,True,Uveď názov práce osoby Dávid Kostilník a rok práce pre rok 2025.,"{""answer"": ""Dávid Kostilník má v roku 2025 prácu s názvom \""Sémantické vyhľadávanie pomocou veľkých modelov\"". Zdroj: https://zp.kemt.fei.tuke.sk/students/2020/david_kostilnik"", ""status"": ""ok"", ""claims"": [{""person"": ""Dávid Kostilník"", ""title"": ""Sémantické vyhľadávanie pomocou veľkých modelov"", ""year"": 2025}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2020/david_kostilnik""], ""count"": 1}"
|
||||
wide-121,person_title_year,True,,7.843929166003363,True,True,True,True,True,True,Uveď názov práce osoby Martin NaN1 a rok práce pre rok 2020.,"{""answer"": ""Osoba Martin NaN1 má v roku 2020 prácu s názvom \""Využitie najnovších nástrojov v rámci prirodzeného spracovania reči\"" (zdroj: https://zp.kemt.fei.tuke.sk/students/2018/NaN1name_buday)."", ""status"": ""ok"", ""claims"": [{""person"": ""Martin NaN1"", ""title"": ""Využitie najnovších nástrojov v rámci prirodzeného spracovania reči"", ""year"": 2020}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/NaN1name_buday""], ""count"": 1}"
|
||||
wide-122,person_title_year,True,,5.50400585099851,True,True,True,True,True,True,Aký názov práce a rok práce sú pri osobe Oleksandr Dorybohov uvedené pre rok 2026?,"{""answer"": ""Pre osobu Oleksandr Dorybohov je v roku 2026 uvedená práca s názvom \""Automatické odpovede na otázky v právnej oblasti\"". Zdroj: https://zp.kemt.fei.tuke.sk/students/2023/oleksandr_dorybohov"", ""status"": ""ok"", ""claims"": [{""person"": ""Oleksandr Dorybohov"", ""title"": ""Automatické odpovede na otázky v právnej oblasti"", ""year"": 2026}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2023/oleksandr_dorybohov""], ""count"": 1}"
|
||||
wide-123,person_title_year,True,,7.8118334250029875,True,True,True,True,True,True,Uveď názov práce osoby Martin Šarišský a rok práce pre rok 2026.,"{""answer"": ""Martin Šarišský má v roku 2026 prácu s názvom \""Agentové systémy pomocou veľkého jazykového modelu\"" (zdroj: https://zp.kemt.fei.tuke.sk/students/2021/martin_sarissky)."", ""status"": ""ok"", ""claims"": [{""person"": ""Martin Šarišský"", ""title"": ""Agentové systémy pomocou veľkého jazykového modelu"", ""year"": 2026}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/martin_sarissky""], ""count"": 1}"
|
||||
wide-124,person_title_year,True,,5.611420686000201,True,True,True,True,True,True,Uveď názov práce osoby Daniil Huzenko a rok práce pre rok 2025.,"{""answer"": ""Daniil Huzenko má v roku 2025 prácu s názvom \""Testovanie hybridného klaudu s využiťím kombinácie verejného a privátneho riešenia\"". Zdroj: https://zp.kemt.fei.tuke.sk/students/2022/daniil_huzenko"", ""status"": ""ok"", ""claims"": [{""person"": ""Daniil Huzenko"", ""title"": ""Testovanie hybridného klaudu s využiťím kombinácie verejného a privátneho riešenia"", ""year"": 2025}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/daniil_huzenko""], ""count"": 1}"
|
||||
wide-125,person_title_year,True,,7.626659750996623,True,True,True,True,True,True,Aký názov práce a rok práce sú pri osobe Márk Fehér uvedené pre rok 2022?,"{""answer"": ""Pre osobu Márk Fehér je v roku 2022 uvedená práca s názvom \""Klasifikácia textu metódami strojového učenia\"" (zdroj: https://zp.kemt.fei.tuke.sk/students/2016/mark_feher)."", ""status"": ""ok"", ""claims"": [{""person"": ""Márk Fehér"", ""title"": ""Klasifikácia textu metódami strojového učenia"", ""year"": 2022}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/mark_feher""], ""count"": 1}"
|
||||
wide-126,person_title_year,True,,5.4480505640021875,True,True,True,True,True,True,Uveď názov práce osoby Michal Stromko a rok práce pre rok 2022.,"{""answer"": ""Michal Stromko v roku 2022 vydal prácu s názvom \""Indexovanie slovenského textu pomocou Elasticsearch\"". Zdroj: https://zp.kemt.fei.tuke.sk/students/2019/michal_stromko"", ""status"": ""ok"", ""claims"": [{""person"": ""Michal Stromko"", ""title"": ""Indexovanie slovenského textu pomocou Elasticsearch"", ""year"": 2022}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/michal_stromko""], ""count"": 1}"
|
||||
wide-127,person_title_year,True,,7.319815613998799,True,True,True,True,True,True,Uveď názov práce osoby Samuel Džurina a rok práce pre rok 2026.,"{""answer"": ""Samuel Džurina má v roku 2026 prácu s názvom \""Dialógový systém pre podporu firemných procesov\"" (zdroj: https://zp.kemt.fei.tuke.sk/students/2023/samuel_dzurina)."", ""status"": ""ok"", ""claims"": [{""person"": ""Samuel Džurina"", ""title"": ""Dialógový systém pre podporu firemných procesov"", ""year"": 2026}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2023/samuel_dzurina""], ""count"": 1}"
|
||||
wide-128,person_title_year,True,,5.924834024001029,True,True,True,True,True,True,Aký názov práce a rok práce sú pri osobe Kristián Sopkovič uvedené pre rok 2022?,"{""answer"": ""Pre rok 2022 je pri osobe Kristián Sopkovič uvedená práca s názvom \""Model Spacy pre spracovanie prirodzeného jazyka v slovenčine\"". Zdroj: https://zp.kemt.fei.tuke.sk/students/2019/kristian_sopkovic"", ""status"": ""ok"", ""claims"": [{""person"": ""Kristián Sopkovič"", ""title"": ""Model Spacy pre spracovanie prirodzeného jazyka v slovenčine"", ""year"": 2022}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/kristian_sopkovic""], ""count"": 1}"
|
||||
wide-129,person_title_year,True,,8.256344303001242,True,True,True,True,True,True,Uveď názov diplomového projektu osoby Maroš Harahus a rok práce pre rok 2020.,"{""answer"": ""Maroš Harahus v roku 2020 vypracoval diplomový projekt s názvom „Doplnenie podpory morfologického značkovania slovenského jazyka do nlp frameworku (spacy alebo flair)\"". Zdroj: https://zp.kemt.fei.tuke.sk/students/2016/maros_harahus"", ""status"": ""ok"", ""claims"": [{""person"": ""Maroš Harahus"", ""title"": ""Doplnenie podpory morfologického značkovania slovenského jazyka do nlp frameworku (spacy alebo flair)"", ""year"": 2020}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/maros_harahus""], ""count"": 1}"
|
||||
wide-130,person_title_year,True,,5.6732517479977105,True,True,True,True,True,True,Uveď názov práce osoby Matej Kobyľan a rok práce pre rok 2023.,"{""answer"": ""Matej Kobyľan v roku 2023 vydal prácu s názvom \""Systém pre monitoring médií\"" (zdroj: https://zp.kemt.fei.tuke.sk/students/2020/matej_kobylan)."", ""status"": ""ok"", ""claims"": [{""person"": ""Matej Kobyľan"", ""title"": ""Systém pre monitoring médií"", ""year"": 2023}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2020/matej_kobylan""], ""count"": 1}"
|
||||
wide-131,person_title_year,True,,8.2095386889996,True,True,True,True,True,True,Aký názov práce a rok práce sú pri osobe Eduard Matovka uvedené pre rok 2024?,"{""answer"": ""Pre Eduarda Matovku je v roku 2024 uvedená práca s názvom \""Slovenská konverzačná umelá inteligencia\"" (zdroj: https://zp.kemt.fei.tuke.sk/students/2021/eduard_matovka)."", ""status"": ""ok"", ""claims"": [{""person"": ""Eduard Matovka"", ""title"": ""Slovenská konverzačná umelá inteligencia"", ""year"": 2024}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/eduard_matovka""], ""count"": 1}"
|
||||
wide-132,person_title_year,True,,4.313341328997922,True,True,True,True,True,True,Uveď názov práce osoby Patrik Pavlišin a rok práce pre rok 2022.,"{""answer"": ""Patrik Pavlišin v roku 2022 vydal prácu s názvom „Neurónový strojový preklad“ (zdroj: https://zp.kemt.fei.tuke.sk/students/2016/patrik_pavlisin)."", ""status"": ""ok"", ""claims"": [{""person"": ""Patrik Pavlišin"", ""title"": ""Neurónový strojový preklad"", ""year"": 2022}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/patrik_pavlisin""], ""count"": 1}"
|
||||
wide-133,person_title_year,True,,8.382512608994148,True,True,True,True,True,True,Uveď názov práce osoby Matej Ščišľak a rok práce pre rok 2024.,"{""answer"": ""Matej Ščišľak v roku 2024 vypracoval prácu s názvom \""Dialógový systém pre potreby samosprávy\"". Zdroj: https://zp.kemt.fei.tuke.sk/students/2021/matej_scislak"", ""status"": ""ok"", ""claims"": [{""person"": ""Matej Ščišľak"", ""title"": ""Dialógový systém pre potreby samosprávy"", ""year"": 2024}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/matej_scislak""], ""count"": 1}"
|
||||
wide-134,person_title_year,True,,4.108209114005149,True,True,True,True,True,True,Aký názov práce a rok práce sú pri osobe Matúš Suchanič uvedené pre rok 2023?,"{""answer"": ""Pre rok 2023 je pri osobe Matúš Suchanič uvedená práca s názvom \""Automatická kategorizácia slovenského textu\"" (zdroj: https://zp.kemt.fei.tuke.sk/students/2020/matus_suchanic)."", ""status"": ""ok"", ""claims"": [{""person"": ""Matúš Suchanič"", ""title"": ""Automatická kategorizácia slovenského textu"", ""year"": 2023}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2020/matus_suchanic""], ""count"": 1}"
|
||||
wide-135,person_title_year,True,,7.9910924850046285,True,True,True,True,True,True,Uveď názov práce osoby Alina Vitko a rok práce pre rok 2021.,"{""answer"": ""Osoba Alina Vitko má v roku 2021 prácu s názvom \""Vytovrenie prehľadu existujúcich systémov QA.\"" (zdroj: https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko)."", ""status"": ""ok"", ""claims"": [{""person"": ""Alina Vitko"", ""title"": ""Vytovrenie prehľadu existujúcich systémov QA."", ""year"": 2021}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko""], ""count"": 1}"
|
||||
wide-136,person_title_year,True,,5.380558614997426,True,True,True,True,True,True,Uveď názov diplomového projektu osoby Lukáš Pokrývka a rok práce pre rok 2020.,"{""answer"": ""Lukáš Pokrývka v roku 2020 vypracoval diplomový projekt s názvom \""Paralelné trénovanie neurónových sietí pomocou knižnice Pytorch.\"" (zdroj: https://zp.kemt.fei.tuke.sk/students/2016/lukas_pokryvka)"", ""status"": ""ok"", ""claims"": [{""person"": ""Lukáš Pokrývka"", ""title"": ""Paralelné trénovanie neurónových sietí pomocou knižnice Pytorch."", ""year"": 2020}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/lukas_pokryvka""], ""count"": 1}"
|
||||
wide-139,person_keyword_title,False,JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 119 (char 118),8.51874773700547,,,,,,,Uveď názov práce osoby Dominik Nagy v roku 2022 s kľúčovým slovom nlp.,null
|
||||
wide-140,person_keyword_title,True,,5.7996268090064405,True,True,True,True,True,True,Aký názov práce osoby Michal Stromko v roku 2022 súvisí s kľúčovým slovom nlp?,"{""answer"": ""Michal Stromko v roku 2022 vypracoval prácu s názvom \""Indexovanie slovenského textu pomocou Elasticsearch\"", ktorá súvisí s kľúčovým slovom NLP. Zdroj: https://zp.kemt.fei.tuke.sk/students/2019/michal_stromko"", ""status"": ""ok"", ""claims"": [{""person"": ""Michal Stromko"", ""title"": ""Indexovanie slovenského textu pomocou Elasticsearch"", ""year"": 2022, ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/michal_stromko""], ""count"": 1}"
|
||||
wide-141,person_keyword_title,False,JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 113 (char 112),8.499829861000762,,,,,,,Uveď názov práce osoby Martin Šarišský v roku 2026 s kľúčovým slovom rasa.,null
|
||||
wide-142,person_keyword_title,False,,8.239055701000325,False,True,False,True,True,True,Uveď názov práce osoby Dárius Lindvai v roku 2019 s kľúčovým slovom lstm.,"{""answer"": ""Na základe dodaných grafových faktov nie je možné určiť názov práce osoby Dárius Lindvai z roku 2019 s kľúčovým slovom lstm, pretože v grafe chýba záznam, ktorý by spájal rok 2019, kľúčové slovo lstm a názov práce tej istej osoby. Zdroj https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai uvádza pre rok 2019 prácu s názvom 'rešerš', ale neobsahuje kľúčové slovo lstm. Zdroj https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai/timovy_projekt/tutorial uvádza kľúčové slovo lstm, ale neuvádza rok 2019 ani názov práce."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai"", ""https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai/timovy_projekt/tutorial""], ""count"": 0}"
|
||||
wide-143,person_keyword_title,False,,9.427794609000557,False,True,True,True,True,True,Aký názov práce osoby Dominik Nagy v roku 2022 súvisí s kľúčovým slovom seq2seq?,"{""answer"": ""V roku 2022 má Dominik Nagy prácu s názvom „Neurónový strojový preklad pomocou knižnice Fairseq“ [1], ktorá súvisí s kľúčovým slovom „seq2seq“ [2]."", ""status"": ""ok"", ""claims"": [{""person"": ""Dominik Nagy"", ""title"": ""Neurónový strojový preklad pomocou knižnice Fairseq"", ""year"": 2022}, {""person"": ""Dominik Nagy"", ""keyword"": ""seq2seq""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/dominik_nagy"", ""https://zp.kemt.fei.tuke.sk/students/2016/dominik_nagy/timovy_projekt""], ""count"": 1}"
|
||||
wide-144,person_keyword_title,True,,9.193312716000946,True,True,True,True,True,True,Uveď názov práce osoby Dárius Lindvai v roku 2021 s kľúčovým slovom interpunction.,"{""answer"": ""Dárius Lindvai v roku 2021 vypracoval prácu s názvom „Obnovenie interpunkcie pomocou hlbokých neurónových sietí“, ktorá má kľúčové slovo interpunction. Zdroj: https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai"", ""status"": ""ok"", ""claims"": [{""person"": ""Dárius Lindvai"", ""title"": ""Obnovenie interpunkcie pomocou hlbokých neurónových sietí"", ""year"": 2021, ""keyword"": ""interpunction""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai""], ""count"": 1}"
|
||||
wide-145,person_keyword_title,False,,10.574943351995898,False,True,False,True,True,True,Uveď názov práce osoby Dárius Lindvai v roku 2019 s kľúčovým slovom python.,"{""answer"": ""Na základe dodaných grafových faktov neexistuje práca osoby Dárius Lindvai z roku 2019, ktorá by mala kľúčové slovo python. Osoba Dárius Lindvai má v roku 2019 prácu s názvom \""rešerš\"" (zdroj: https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai), ale táto práca nemá priradené kľúčové slovo python. Kľúčové slovo python je priradené k dokumentu v ceste pages/students/2016/darius_lindvai/timovy_projekt/tutorial/README.md (zdroj: https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai/timovy_projekt/tutorial), ale pre tento dokument nie je v grafe uvedený rok 2019 ani názov práce."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai"", ""https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai/timovy_projekt/tutorial""], ""count"": 0}"
|
||||
wide-146,person_keyword_title,True,,7.7894158019989845,True,True,True,True,True,True,Aký názov práce osoby Simona Bobrovčanová v roku 2026 súvisí s kľúčovým slovom lm?,"{""answer"": ""Názov práce osoby Simona Bobrovčanová v roku 2026 súvisiacej s kľúčovým slovom LM je \""Automatická sumarizácia slovenského textu\"". Zdroj: https://zp.kemt.fei.tuke.sk/students/2023/simona_bobrovcanova"", ""status"": ""ok"", ""claims"": [{""person"": ""Simona Bobrovčanová"", ""title"": ""Automatická sumarizácia slovenského textu"", ""year"": 2026, ""keyword"": ""LM""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2023/simona_bobrovcanova""], ""count"": 1}"
|
||||
wide-147,person_keyword_title,True,,10.804093170001579,True,True,True,True,True,True,Uveď názov práce osoby Martin NaN1 v roku 2020 s kľúčovým slovom gpt.,"{""answer"": ""Martin NaN1 v roku 2020 vydal prácu s názvom \""Využitie najnovších nástrojov v rámci prirodzeného spracovania reči\"", ktorá obsahuje kľúčové slovo gpt. Zdroj: https://zp.kemt.fei.tuke.sk/students/2018/NaN1name_buday"", ""status"": ""ok"", ""claims"": [{""person"": ""Martin NaN1"", ""title"": ""Využitie najnovších nástrojov v rámci prirodzeného spracovania reči"", ""year"": 2020, ""keyword"": ""gpt""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/NaN1name_buday""], ""count"": 1}"
|
||||
wide-148,person_keyword_title,True,,4.910634503998153,True,True,True,True,True,True,Uveď názov práce osoby Patrik Pavlišin v roku 2020 s kľúčovým slovom translation.,"{""answer"": ""Patrik Pavlišin v roku 2020 vydal prácu s názvom \""Metódy automatického prekladu\"", ktorá má kľúčové slovo translation. Zdroj: https://zp.kemt.fei.tuke.sk/students/2016/patrik_pavlisin"", ""status"": ""ok"", ""claims"": [{""person"": ""Patrik Pavlišin"", ""title"": ""Metódy automatického prekladu"", ""year"": 2020, ""keyword"": ""translation""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/patrik_pavlisin""], ""count"": 1}"
|
||||
wide-149,person_keyword_title,True,,8.948702435998712,True,True,True,True,True,True,Aký názov práce osoby Michal Stromko v roku 2022 súvisí s kľúčovým slovom ir?,"{""answer"": ""Michal Stromko v roku 2022 vypracoval prácu s názvom \""Indexovanie slovenského textu pomocou Elasticsearch\"", ktorá súvisí s kľúčovým slovom ir. Zdroj: https://zp.kemt.fei.tuke.sk/students/2019/michal_stromko"", ""status"": ""ok"", ""claims"": [{""person"": ""Michal Stromko"", ""title"": ""Indexovanie slovenského textu pomocou Elasticsearch"", ""year"": 2022, ""keyword"": ""ir""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/michal_stromko""], ""count"": 1}"
|
||||
wide-150,person_keyword_title,True,,6.8871356439995,True,True,True,True,True,True,Uveď názov práce osoby Samuel Vasiľ v roku 2026 s kľúčovým slovom nlp.,"{""answer"": ""Samuel Vasiľ má v roku 2026 prácu s názvom \""Orchestrácia veľkých jazykových modelov pomocou model context protokolu s využitím OpenWebUI\"" s kľúčovým slovom NLP. Zdroj: https://zp.kemt.fei.tuke.sk/students/2022/samuel_vasil"", ""status"": ""ok"", ""claims"": [{""person"": ""Samuel Vasiľ"", ""title"": ""Orchestrácia veľkých jazykových modelov pomocou model context protokolu s využitím OpenWebUI"", ""year"": 2026, ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/samuel_vasil""], ""count"": 1}"
|
||||
wide-151,person_keyword_title,True,,7.582760322999093,True,True,True,True,True,True,Uveď názov práce osoby Michal Stromko v roku 2022 s kľúčovým slovom demo.,"{""answer"": ""Michal Stromko v roku 2022 vypracoval prácu s názvom \""Indexovanie slovenského textu pomocou Elasticsearch\"", ktorá obsahuje kľúčové slovo demo. Zdroj: https://zp.kemt.fei.tuke.sk/students/2019/michal_stromko"", ""status"": ""ok"", ""claims"": [{""person"": ""Michal Stromko"", ""title"": ""Indexovanie slovenského textu pomocou Elasticsearch"", ""year"": 2022, ""keyword"": ""demo""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/michal_stromko""], ""count"": 1}"
|
||||
wide-152,person_keyword_title,True,,7.1138568820024375,True,True,True,True,True,True,Aký názov práce osoby Dávid Iľaš v roku 2023 súvisí s kľúčovým slovom nlp?,"{""answer"": ""Osoba Dávid Iľaš má v roku 2023 prácu s názvom \""Rozpoznávanie emócií z textu.\"", ktorá súvisí s kľúčovým slovom NLP. Zdroj: https://zp.kemt.fei.tuke.sk/students/2018/david_ilas"", ""status"": ""ok"", ""claims"": [{""person"": ""Dávid Iľaš"", ""title"": ""Rozpoznávanie emócií z textu."", ""year"": 2023, ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/david_ilas""], ""count"": 1}"
|
||||
wide-153,person_keyword_title,True,,7.93297110900312,True,True,True,True,True,True,Uveď názov práce osoby Michal Stromko v roku 2024 s kľúčovým slovom cloud.,"{""answer"": ""Michal Stromko v roku 2024 vypracoval prácu s názvom \""Sémantické vyhľadávanie v slovenskom texte\"", ktorá obsahuje kľúčové slovo cloud. Zdroj: https://zp.kemt.fei.tuke.sk/students/2019/michal_stromko"", ""status"": ""ok"", ""claims"": [{""person"": ""Michal Stromko"", ""title"": ""Sémantické vyhľadávanie v slovenskom texte"", ""year"": 2024, ""keyword"": ""cloud""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/michal_stromko""], ""count"": 1}"
|
||||
wide-154,person_keyword_title,True,,7.315907237993088,True,True,True,True,True,True,Uveď názov práce osoby Lukáš Pokrývka v roku 2019 s kľúčovým slovom cloud.,"{""answer"": ""Názov práce Lukáša Pokrývku z roku 2019 s kľúčovým slovom cloud je Paralelné spracovanie prirodzeného jazyka. Zdroj: https://zp.kemt.fei.tuke.sk/students/2016/lukas_pokryvka"", ""status"": ""ok"", ""claims"": [{""person"": ""Lukáš Pokrývka"", ""title"": ""Paralelné spracovanie prirodzeného jazyka"", ""year"": 2019, ""keyword"": ""cloud""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/lukas_pokryvka""], ""count"": 1}"
|
||||
wide-155,person_keyword_title,False,,8.323158056002285,True,True,True,True,True,False,Aký názov práce osoby Matej Ščišľak v roku 2026 súvisí s kľúčovým slovom chatbot?,"{""answer"": ""Osoba Matej Ščišľak má v roku 2026 prácu s názvom \""Znalostné grafy pre zlepšenie vyhľadávania právnych informáci.\"", ktorá súvisí s kľúčovým slovom chatbot. Zdroj: https://zp.kemt.fei.tuke.sk/students/2021/matej_scislak"", ""status"": ""ok"", ""claims"": [{""person"": ""Matej Ščišľak"", ""title"": ""Znalostné grafy pre zlepšenie vyhľadávania právnych informácií."", ""year"": 2026, ""keyword"": ""chatbot""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/matej_scislak""], ""count"": 1}"
|
||||
wide-156,person_keyword_title,True,,6.521070124996186,True,True,True,True,True,True,Uveď názov práce osoby Oleh Poiasnik v roku 2027 s kľúčovým slovom rag.,"{""answer"": ""Oleh Poiasnik má v roku 2027 prácu s názvom „Expertný agentový systém na podporu rozhodovania v lekárni“ s kľúčovým slovom RAG. Zdroj: https://zp.kemt.fei.tuke.sk/students/2022/oleh_poiasnik"", ""status"": ""ok"", ""claims"": [{""person"": ""Oleh Poiasnik"", ""title"": ""Expertný agentový systém na podporu rozhodovania v lekárni"", ""year"": 2027, ""keyword"": ""RAG""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/oleh_poiasnik""], ""count"": 1}"
|
||||
wide-157,person_keyword_title,True,,8.291034098998352,True,True,True,True,True,True,Uveď názov práce osoby Ondrej Megela v roku 2023 s kľúčovým slovom lm.,"{""answer"": ""Ondrej Megela v roku 2023 vypracoval prácu s názvom \""Automatické generovanie otázok v slovenskom jazyku\"", ktorá obsahuje kľúčové slovo LM. Zdroj: https://zp.kemt.fei.tuke.sk/students/2018/ondrej_megela"", ""status"": ""ok"", ""claims"": [{""person"": ""Ondrej Megela"", ""title"": ""Automatické generovanie otázok v slovenskom jazyku"", ""year"": 2023, ""keyword"": ""LM""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/ondrej_megela""], ""count"": 1}"
|
||||
wide-158,person_keyword_title,True,,6.099724388004688,True,True,True,True,True,True,Aký názov práce osoby Ján Malinovský v roku 2026 súvisí s kľúčovým slovom nlp?,"{""answer"": ""Názov práce Ján Malinovský z roku 2026 súvisiaci s kľúčovým slovom NLP je „Grafové vyhľadávanie pre podporu vzdelávania“ (zdroj: https://zp.kemt.fei.tuke.sk/students/2022/jan_malinovsky)."", ""status"": ""ok"", ""claims"": [{""person"": ""Ján Malinovský"", ""title"": ""Grafové vyhľadávanie pre podporu vzdelávania"", ""year"": 2026, ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/jan_malinovsky""], ""count"": 1}"
|
||||
wide-159,person_keyword_title,False,,9.068388027997571,False,True,True,True,True,True,Uveď názov práce osoby Than Trung Thanh v roku 2020 s kľúčovým slovom anotation.,"{""answer"": ""Osoba Than Trung Thanh v roku 2020 vypracovala prácu s názvom \""Rozpoznávanie pomenovaných entít v slovenskom jazyku pomocou nástrojov Spacy a Prodigy\"", ktorá obsahuje kľúčové slovo anotation. Zdroj: https://zp.kemt.fei.tuke.sk/students/2017/than_trung_thanh"", ""status"": ""ok"", ""claims"": [{""person"": ""Than Trung Thanh"", ""title"": ""Rozpoznávanie pomenovaných entít v slovenskom jazyku pomocou nástrojov Spacy a Prodigy"", ""year"": 2020}, {""person"": ""Than Trung Thanh"", ""keyword"": ""anotation""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2017/than_trung_thanh""], ""count"": 1}"
|
||||
wide-160,person_keyword_title,True,,6.224928866002301,True,True,True,True,True,True,Uveď názov práce osoby Andrii Pervashov v roku 2025 s kľúčovým slovom nlp.,"{""answer"": ""Andrii Pervashov má v roku 2025 prácu s názvom \""Korekcia textu pomocou neurónových sietí\"" a kľúčovým slovom NLP. Zdroj: https://zp.kemt.fei.tuke.sk/students/2022/andrii_pervashov"", ""status"": ""ok"", ""claims"": [{""person"": ""Andrii Pervashov"", ""title"": ""Korekcia textu pomocou neurónových sietí"", ""year"": 2025, ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/andrii_pervashov""], ""count"": 1}"
|
||||
wide-161,person_keyword_title,False,,9.423955840997223,True,True,True,True,True,False,Aký názov práce osoby Kristián Sopkovič v roku 2024 súvisí s kľúčovým slovom spacy?,"{""answer"": ""Kristián Sopkovič v roku 2024 vypracoval prácu s názvom „Neurónové vyhľadávanie na základe sémantickej podobnosti vektorov."", ""status"": ""ok"", ""claims"": [{""person"": ""Kristián Sopkovič"", ""title"": ""Neurónové vyhľadávanie na základe sémantickej podobnosti vektorov."", ""year"": 2024, ""keyword"": ""Spacy""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/kristian_sopkovic""], ""count"": 1}"
|
||||
wide-162,person_keyword_title,True,,6.191365853002935,True,True,True,True,True,True,Uveď názov práce osoby Simona Bobrovčanová v roku 2026 s kľúčovým slovom nlp.,"{""answer"": ""Osoba Simona Bobrovčanová má v roku 2026 prácu s názvom \""Automatická sumarizácia slovenského textu\"" a kľúčovým slovom NLP. Zdroj: https://zp.kemt.fei.tuke.sk/students/2023/simona_bobrovcanova"", ""status"": ""ok"", ""claims"": [{""person"": ""Simona Bobrovčanová"", ""title"": ""Automatická sumarizácia slovenského textu"", ""year"": 2026, ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2023/simona_bobrovcanova""], ""count"": 1}"
|
||||
wide-163,person_keyword_title,False,,10.652335631006281,False,True,True,True,True,True,Uveď názov práce osoby Rostyslav Rodzhuk v roku 2025 s kľúčovým slovom nlp.,"{""answer"": ""Osoba Rostyslav Rodzhuk má v roku 2025 prácu s názvom \""Veľký jazykový model ako inteligentný agent\"" a kľúčovým slovom NLP. Zdroj: https://zp.kemt.fei.tuke.sk/students/2023/rostyslav_rodzhuk"", ""status"": ""ok"", ""claims"": [{""person"": ""Rostyslav Rodzhuk"", ""title"": ""Veľký jazykový model ako inteligentný agent"", ""year"": 2025}, {""person"": ""Rostyslav Rodzhuk"", ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2023/rostyslav_rodzhuk""], ""count"": 1}"
|
||||
wide-164,person_keyword_title,True,,6.74385710900242,True,True,True,True,True,True,Aký názov práce osoby Patrik Pokrivčák v roku 2025 súvisí s kľúčovým slovom hate?,"{""answer"": ""Osoba Patrik Pokrivčák má v roku 2025 prácu s názvom \""Rozpoznávanie nenávistnej reči pomocou veľkých jazykových modelov\"", ktorá súvisí s kľúčovým slovom hate. Zdroj: https://zp.kemt.fei.tuke.sk/students/2019/patrik_pokrivcak"", ""status"": ""ok"", ""claims"": [{""person"": ""Patrik Pokrivčák"", ""title"": ""Rozpoznávanie nenávistnej reči pomocou veľkých jazykových modelov"", ""year"": 2025, ""keyword"": ""hate""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/patrik_pokrivcak""], ""count"": 1}"
|
||||
wide-165,person_keyword_title,True,,9.475837231002515,True,True,True,True,True,True,Uveď názov práce osoby Dárius Lindvai v roku 2019 s kľúčovým slovom nn.,"{""answer"": ""Osoba Dárius Lindvai má v roku 2019 prácu s názvom \""rešerš\"" a kľúčovým slovom \""nn\"". Zdroj: https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai"", ""status"": ""ok"", ""claims"": [{""person"": ""Dárius Lindvai"", ""title"": ""rešerš"", ""year"": 2019, ""keyword"": ""nn""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai""], ""count"": 1}"
|
||||
wide-166,person_keyword_title,True,,5.933394573999976,True,True,True,True,True,True,Uveď názov práce osoby Oleksandr Dorybohov v roku 2026 s kľúčovým slovom nlp.,"{""answer"": ""Oleksandr Dorybohov má v roku 2026 prácu s názvom \""Automatické odpovede na otázky v právnej oblasti\"" s kľúčovým slovom NLP. Zdroj: https://zp.kemt.fei.tuke.sk/students/2023/oleksandr_dorybohov"", ""status"": ""ok"", ""claims"": [{""person"": ""Oleksandr Dorybohov"", ""title"": ""Automatické odpovede na otázky v právnej oblasti"", ""year"": 2026, ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2023/oleksandr_dorybohov""], ""count"": 1}"
|
||||
wide-167,person_keyword_title,True,,8.969329906001803,True,True,True,True,True,True,Aký názov práce osoby Lukáš Pokrývka v roku 2020 súvisí s kľúčovým slovom gpu?,"{""answer"": ""Názov práce Lukáša Pokrývku z roku 2020 súvisiacej s kľúčovým slovom GPU je \""Paralelné trénovanie neurónových sietí pomocou knižnice Pytorch.\"" (zdroj: https://zp.kemt.fei.tuke.sk/students/2016/lukas_pokryvka)"", ""status"": ""ok"", ""claims"": [{""person"": ""Lukáš Pokrývka"", ""title"": ""Paralelné trénovanie neurónových sietí pomocou knižnice Pytorch."", ""year"": 2020, ""keyword"": ""GPU""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/lukas_pokryvka""], ""count"": 1}"
|
||||
wide-168,person_keyword_title,True,,6.5191473989980295,True,True,True,True,True,True,Uveď názov práce osoby Matej Ščišľak v roku 2024 s kľúčovým slovom nlp.,"{""answer"": ""Matej Ščišľak v roku 2024 vytvoril prácu s názvom \""Dialógový systém pre potreby samosprávy\"", ktorá má kľúčové slovo NLP. Zdroj: https://zp.kemt.fei.tuke.sk/students/2021/matej_scislak"", ""status"": ""ok"", ""claims"": [{""person"": ""Matej Ščišľak"", ""title"": ""Dialógový systém pre potreby samosprávy"", ""year"": 2024, ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/matej_scislak""], ""count"": 1}"
|
||||
wide-171,document_author_category_multi_hop,True,,7.691536218000692,True,True,True,True,True,True,Ktorý autor dokumentu je pri osobe Dávid Omasta spojený s kategóriou dp2023?,"{""answer"": ""Pri osobe Dávid Omasta a kategórii dp2023 je ako autor dokumentu uvedený Daniel Hladek. Zdroj: https://zp.kemt.fei.tuke.sk/students/2018/david_omasta"", ""status"": ""ok"", ""claims"": [{""person"": ""Dávid Omasta"", ""category"": ""dp2023"", ""document_author"": ""Daniel Hladek""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/david_omasta""], ""count"": 1}"
|
||||
wide-172,document_author_category_multi_hop,True,,5.241324082999199,True,True,True,True,True,True,"Kto je autor dokumentu osoby Matúš Suchanič, ktorý patrí do kategórie vp2022?","{""answer"": ""Autorom dokumentu osoby Matúš Suchanič v kategórii vp2022 je Daniel Hladek. Zdroj: https://zp.kemt.fei.tuke.sk/students/2020/matus_suchanic"", ""status"": ""ok"", ""claims"": [{""person"": ""Matúš Suchanič"", ""document_author"": ""Daniel Hladek"", ""category"": ""vp2022""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2020/matus_suchanic""], ""count"": 1}"
|
||||
wide-173,document_author_category_multi_hop,True,,6.954509536997648,True,True,True,True,True,True,Ktorý autor dokumentu je pri osobe Kamil Tomčufčík spojený s kategóriou dp2025?,"{""answer"": ""Autorom dokumentu spojeným s osobou Kamil Tomčufčík a kategóriou dp2025 je Daniel Hladek. Zdroj: https://zp.kemt.fei.tuke.sk/students/2020/kamil_tomcufcik"", ""status"": ""ok"", ""claims"": [{""person"": ""Kamil Tomčufčík"", ""category"": ""dp2025"", ""document_author"": ""Daniel Hladek""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2020/kamil_tomcufcik""], ""count"": 1}"
|
||||
wide-174,document_author_category_multi_hop,True,,5.2895403880029335,True,True,True,True,True,True,Ktorý autor dokumentu je pri osobe Artur Hyrenko spojený s kategóriou dp2026?,"{""answer"": ""Autorom dokumentu spojeným s osobou Artur Hyrenko a kategóriou dp2026 je Daniel Hladek. Zdroj: https://zp.kemt.fei.tuke.sk/students/2021/artur_hyrenko"", ""status"": ""ok"", ""claims"": [{""person"": ""Artur Hyrenko"", ""category"": ""dp2026"", ""document_author"": ""Daniel Hladek""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/artur_hyrenko""], ""count"": 1}"
|
||||
wide-175,document_author_category_multi_hop,True,,7.420917933995952,True,True,True,True,True,True,"Kto je autor dokumentu osoby Serhii Yemets, ktorý patrí do kategórie bp2025?","{""answer"": ""Autorom dokumentu osoby Serhii Yemets v kategórii bp2025 je Daniel Hladek. Zdroj: https://zp.kemt.fei.tuke.sk/students/2022/serhii_yemets"", ""status"": ""ok"", ""claims"": [{""person"": ""Serhii Yemets"", ""document_author"": ""Daniel Hladek"", ""category"": ""bp2025""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/serhii_yemets""], ""count"": 1}"
|
||||
wide-176,document_author_category_multi_hop,True,,7.267075166004361,True,True,True,True,True,True,Ktorý autor dokumentu je pri osobe Dárius Lindvai spojený s kategóriou tp2020?,"{""answer"": ""Pri osobe Dárius Lindvai spojená s kategóriou tp2020 je dokumentový autor Dárius Lindvai, čo je potvrdené v zdrojoch: https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai/timovy_projekt/resers a https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai/timovy_projekt/tutorial."", ""status"": ""ok"", ""claims"": [{""person"": ""Dárius Lindvai"", ""category"": ""tp2020"", ""document_author"": ""Dárius Lindvai""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai/timovy_projekt/resers"", ""https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai/timovy_projekt/tutorial""], ""count"": 1}"
|
||||
wide-177,document_author_category_multi_hop,True,,7.992678946000524,True,True,True,True,True,True,Ktorý autor dokumentu je pri osobe Maroš Harahus spojený s kategóriou tp2020?,"{""answer"": ""Autorom dokumentu spojeným s osobou Maroš Harahus a kategóriou tp2020 je Maroš Harahus. Zdroj: https://zp.kemt.fei.tuke.sk/students/2016/maros_harahus/timovy_projekt"", ""status"": ""ok"", ""claims"": [{""person"": ""Maroš Harahus"", ""document_author"": ""Maroš Harahus"", ""category"": ""tp2020""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/maros_harahus/timovy_projekt""], ""count"": 1}"
|
||||
wide-178,document_author_category_multi_hop,False,,7.213448406997486,False,True,True,True,True,True,"Kto je autor dokumentu osoby Patrik Pokrivčák, ktorý patrí do kategórie dp2025?","{""answer"": ""Autorom dokumentu osoby Patrik Pokrivčák v kategórii dp2025 je Daniel Hladek. Zdroj: https://zp.kemt.fei.tuke.sk/students/2019/patrik_pokrivcak"", ""status"": ""ok"", ""claims"": [{""person"": ""Daniel Hladek"", ""document_author"": ""Daniel Hladek"", ""category"": ""dp2025""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/patrik_pokrivcak""], ""count"": 1}"
|
||||
wide-179,document_author_category_multi_hop,True,,5.843621088999498,True,True,True,True,True,True,Ktorý autor dokumentu je pri osobe Dávid Stromp spojený s kategóriou bp2022?,"{""answer"": ""Autorom dokumentu spojeným s osobou Dávid Stromp a kategóriou bp2022 je Maroš Harahus. Zdroj: https://zp.kemt.fei.tuke.sk/students/2019/david_stromp"", ""status"": ""ok"", ""claims"": [{""person"": ""Dávid Stromp"", ""category"": ""bp2022"", ""document_author"": ""Maroš Harahus""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/david_stromp""], ""count"": 1}"
|
||||
wide-180,document_author_category_multi_hop,True,,6.530649876003736,True,True,True,True,True,True,Ktorý autor dokumentu je pri osobe Dávid Iľaš spojený s kategóriou dp2023?,"{""answer"": ""Pri osobe Dávid Iľaš je s kategóriou dp2023 spojený dokumentový autor Daniel Hladek. Zdroj: https://zp.kemt.fei.tuke.sk/students/2018/david_ilas"", ""status"": ""ok"", ""claims"": [{""person"": ""Dávid Iľaš"", ""document_author"": ""Daniel Hladek"", ""category"": ""dp2023""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/david_ilas""], ""count"": 1}"
|
||||
wide-181,document_author_category_multi_hop,False,,5.399389828002313,False,True,True,True,True,True,"Kto je autor dokumentu osoby Jakub Maruniak, ktorý patrí do kategórie dp2021?","{""answer"": ""Autorom dokumentu osoby Jakub Maruniak v kategórii dp2021 je Daniel Hladek. Zdroj: https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak"", ""status"": ""ok"", ""claims"": [{""person"": ""Daniel Hladek"", ""document_author"": ""Daniel Hladek"", ""category"": ""dp2021""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak""], ""count"": 1}"
|
||||
wide-182,document_author_category_multi_hop,True,,6.547648766005295,True,True,True,True,True,True,Ktorý autor dokumentu je pri osobe Valerii Kutsenko spojený s kategóriou dp2027?,"{""answer"": ""Autorom dokumentu spojeným s osobou Valerii Kutsenko a kategóriou dp2027 je Daniel Hladek. Zdroj: https://zp.kemt.fei.tuke.sk/students/2022/valerii_kutsenko"", ""status"": ""ok"", ""claims"": [{""person"": ""Valerii Kutsenko"", ""document_author"": ""Daniel Hladek"", ""category"": ""dp2027""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/valerii_kutsenko""], ""count"": 1}"
|
||||
wide-183,document_author_category_multi_hop,True,,5.38755500499974,True,True,True,True,True,True,Ktorý autor dokumentu je pri osobe Martin Jancura spojený s kategóriou bp2021?,"{""answer"": ""Autorom dokumentu spojeným s osobou Martin Jancura a kategóriou bp2021 je Daniel Hladek. Zdroj: https://zp.kemt.fei.tuke.sk/students/2017/martin_jancura"", ""status"": ""ok"", ""claims"": [{""person"": ""Martin Jancura"", ""document_author"": ""Daniel Hladek"", ""category"": ""bp2021""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2017/martin_jancura""], ""count"": 1}"
|
||||
wide-184,document_author_category_multi_hop,True,,6.554086822005047,True,True,True,True,True,True,"Kto je autor dokumentu osoby Nikita Bodnar, ktorý patrí do kategórie vp2023?","{""answer"": ""Autorom dokumentu osoby Nikita Bodnar v kategórii vp2023 je Daniel Hladek. Zdroj: https://zp.kemt.fei.tuke.sk/students/2021/nikita_bodnar"", ""status"": ""ok"", ""claims"": [{""person"": ""Nikita Bodnar"", ""document_author"": ""Daniel Hladek"", ""category"": ""vp2023""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/nikita_bodnar""], ""count"": 1}"
|
||||
wide-185,document_author_category_multi_hop,True,,5.499499361001654,True,True,True,True,True,True,Ktorý autor dokumentu je pri osobe Matej Ščišľak spojený s kategóriou dp2026?,"{""answer"": ""Pri osobe Matej Ščišľak je s kategóriou dp2026 spojený dokumentový autor Daniel Hladek. Zdroj: https://zp.kemt.fei.tuke.sk/students/2021/matej_scislak"", ""status"": ""ok"", ""claims"": [{""person"": ""Matej Ščišľak"", ""category"": ""dp2026"", ""document_author"": ""Daniel Hladek""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/matej_scislak""], ""count"": 1}"
|
||||
wide-186,document_author_category_multi_hop,True,,7.084702929998457,True,True,True,True,True,True,Ktorý autor dokumentu je pri osobe Lukáš Pokrývka spojený s kategóriou tp2020?,"{""answer"": ""Autorom dokumentu spojeným s osobou Lukáš Pokrývka a kategóriou tp2020 je Lukáš Pokrývka (zdroj: https://zp.kemt.fei.tuke.sk/students/2016/lukas_pokryvka/timovy_projekt)."", ""status"": ""ok"", ""claims"": [{""person"": ""Lukáš Pokrývka"", ""document_author"": ""Lukáš Pokrývka"", ""category"": ""tp2020""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/lukas_pokryvka/timovy_projekt""], ""count"": 1}"
|
||||
wide-187,document_author_category_multi_hop,True,,5.604316528995696,True,True,True,True,True,True,"Kto je autor dokumentu osoby Andrii Pervashov, ktorý patrí do kategórie dp2027?","{""answer"": ""Autorom dokumentu osoby Andrii Pervashov v kategórii dp2027 je Daniel Hladek. Zdroj: https://zp.kemt.fei.tuke.sk/students/2022/andrii_pervashov"", ""status"": ""ok"", ""claims"": [{""person"": ""Andrii Pervashov"", ""document_author"": ""Daniel Hladek"", ""category"": ""dp2027""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/andrii_pervashov""], ""count"": 1}"
|
||||
wide-188,document_author_category_multi_hop,True,,6.835225114999048,True,True,True,True,True,True,Ktorý autor dokumentu je pri osobe Samuel Horáni spojený s kategóriou vp2021?,"{""answer"": ""Autorom dokumentu spojeným s osobou Samuel Horáni a kategóriou vp2021 je Daniel Hladek. Zdroj: https://zp.kemt.fei.tuke.sk/students/2019/samuel_horani"", ""status"": ""ok"", ""claims"": [{""person"": ""Samuel Horáni"", ""document_author"": ""Daniel Hladek"", ""category"": ""vp2021""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/samuel_horani""], ""count"": 1}"
|
||||
wide-189,document_author_category_multi_hop,True,,5.236019719995966,True,True,True,True,True,True,Ktorý autor dokumentu je pri osobe Yevhenii Leonov spojený s kategóriou vp2024?,"{""answer"": ""Autorom dokumentu spojeným s osobou Yevhenii Leonov a kategóriou vp2024 je Daniel Hladek. Zdroj: https://zp.kemt.fei.tuke.sk/students/2022/yevhenii_leonov"", ""status"": ""ok"", ""claims"": [{""person"": ""Yevhenii Leonov"", ""category"": ""vp2024"", ""document_author"": ""Daniel Hladek""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/yevhenii_leonov""], ""count"": 1}"
|
||||
wide-190,document_author_category_multi_hop,True,,6.673279062000802,True,True,True,True,True,True,"Kto je autor dokumentu osoby Oleh Bilykh, ktorý patrí do kategórie bp2021?","{""answer"": ""Autorom dokumentu osoby Oleh Bilykh v kategórii bp2021 je Daniel Hladek. Zdroj: https://zp.kemt.fei.tuke.sk/students/2018/oleh_bilykh"", ""status"": ""ok"", ""claims"": [{""person"": ""Oleh Bilykh"", ""document_author"": ""Daniel Hladek"", ""category"": ""bp2021""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/oleh_bilykh""], ""count"": 1}"
|
||||
wide-191,document_author_category_multi_hop,True,,4.902594167993811,True,True,True,True,True,True,Ktorý autor dokumentu je pri osobe Ján Holp spojený s kategóriou tp2020?,"{""answer"": ""Autorom dokumentu spojeným s osobou Ján Holp a kategóriou tp2020 je Ján Holp [1]."", ""status"": ""ok"", ""claims"": [{""person"": ""Ján Holp"", ""document_author"": ""Ján Holp"", ""category"": ""tp2020""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/jan_holp/timovy_projekt""], ""count"": 1}"
|
||||
wide-192,document_author_category_multi_hop,True,,7.23534662900056,True,True,True,True,True,True,Ktorý autor dokumentu je pri osobe Oleksandr Hryshchenko spojený s kategóriou dp2026?,"{""answer"": ""Autorom dokumentu spojeným s osobou Oleksandr Hryshchenko a kategóriou dp2026 je Daniel Hladek. Zdroj: https://zp.kemt.fei.tuke.sk/students/2021/oleksandr_hryshchenko"", ""status"": ""ok"", ""claims"": [{""person"": ""Oleksandr Hryshchenko"", ""category"": ""dp2026"", ""document_author"": ""Daniel Hladek""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/oleksandr_hryshchenko""], ""count"": 1}"
|
||||
wide-195,person_multiple_categories,True,,4.123462159004703,True,True,True,True,True,True,Aké všetky kategórie majú dokumenty osoby Samuel Džurina?,"{""answer"": ""Samuel Džurina má dokumenty v kategórii bp2026 (zdroj: https://zp.kemt.fei.tuke.sk/students/2023/samuel_dzurina)."", ""status"": ""ok"", ""claims"": [{""person"": ""Samuel Džurina"", ""category"": ""bp2026""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2023/samuel_dzurina""], ""count"": 1}"
|
||||
wide-196,person_multiple_categories,True,,6.55695073500101,True,True,True,True,True,True,Vypíš všetky kategórie dokumentov osoby Daniil Huzenko.,"{""answer"": ""Osoba Daniil Huzenko má dokument v kategórii bp2025 (zdroj: https://zp.kemt.fei.tuke.sk/students/2022/daniil_huzenko)."", ""status"": ""ok"", ""claims"": [{""person"": ""Daniil Huzenko"", ""category"": ""bp2025""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/daniil_huzenko""], ""count"": 1}"
|
||||
wide-197,person_multiple_categories,True,,3.839980998003739,True,True,True,True,True,True,Aké všetky kategórie majú dokumenty osoby Than Trung Thanh?,"{""answer"": ""Osoba Than Trung Thanh má dokumenty v kategórii bp2021. Zdroj: https://zp.kemt.fei.tuke.sk/students/2017/than_trung_thanh"", ""status"": ""ok"", ""claims"": [{""person"": ""Than Trung Thanh"", ""category"": ""bp2021""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2017/than_trung_thanh""], ""count"": 1}"
|
||||
wide-198,person_multiple_categories,True,,5.812021667996305,True,True,True,True,True,True,Aké všetky kategórie majú dokumenty osoby Vladimír Ferko?,"{""answer"": ""Vladimír Ferko má dokumenty v kategórii bp2024 [1]."", ""status"": ""ok"", ""claims"": [{""person"": ""Vladimír Ferko"", ""category"": ""bp2024""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/vladimir_ferko""], ""count"": 1}"
|
||||
wide-199,person_multiple_categories,True,,4.070570078998571,True,True,True,True,True,True,Vypíš všetky kategórie dokumentov osoby Dmytro Ushatenko.,"{""answer"": ""Osoba Dmytro Ushatenko má dokument v kategórii bp2020 (zdroj: https://zp.kemt.fei.tuke.sk/students/2017/dmytro_ushatenko)."", ""status"": ""ok"", ""claims"": [{""person"": ""Dmytro Ushatenko"", ""category"": ""bp2020""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2017/dmytro_ushatenko""], ""count"": 1}"
|
||||
wide-200,person_multiple_categories,True,,5.895577477996994,True,True,True,True,True,True,Aké všetky kategórie majú dokumenty osoby Martin Wencel?,"{""answer"": ""Martin Wencel má dokumenty v kategórii bp2021 (zdroj: https://zp.kemt.fei.tuke.sk/students/2018/martin_wencel)."", ""status"": ""ok"", ""claims"": [{""person"": ""Martin Wencel"", ""category"": ""bp2021""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/martin_wencel""], ""count"": 1}"
|
||||
wide-201,person_multiple_categories,True,,4.787276399998518,True,True,True,True,True,True,Aké všetky kategórie majú dokumenty osoby Serhii Yemets?,"{""answer"": ""Osoba Serhii Yemets má dokumenty v kategórii bp2025 (zdroj: https://zp.kemt.fei.tuke.sk/students/2022/serhii_yemets)."", ""status"": ""ok"", ""claims"": [{""person"": ""Serhii Yemets"", ""category"": ""bp2025""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/serhii_yemets""], ""count"": 1}"
|
||||
wide-202,person_multiple_categories,True,,4.874617752000631,True,True,True,True,True,True,Vypíš všetky kategórie dokumentov osoby Oliver Pejic.,"{""answer"": ""Osoba Oliver Pejic má dokumenty v kategórii iaeste [1]."", ""status"": ""ok"", ""claims"": [{""person"": ""Oliver Pejic"", ""category"": ""iaeste""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/interns/oliver_pejic""], ""count"": 1}"
|
||||
wide-203,person_multiple_categories,True,,4.45105388200318,True,True,True,True,True,True,Aké všetky kategórie majú dokumenty osoby Maksym Zatirka?,"{""answer"": ""Osoba Maksym Zatirka má dokumenty v kategórii bp2026 [1]."", ""status"": ""ok"", ""claims"": [{""person"": ""Maksym Zatirka"", ""category"": ""bp2026""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2023/maksym_zatirka""], ""count"": 1}"
|
||||
wide-204,person_multiple_categories,True,,4.655141262002871,True,True,True,True,True,True,Aké všetky kategórie majú dokumenty osoby Martin Jancura?,"{""answer"": ""Martin Jancura má dokumenty v kategóriách bp2021 a dp2023 [1]."", ""status"": ""ok"", ""claims"": [{""person"": ""Martin Jancura"", ""category"": ""bp2021""}, {""person"": ""Martin Jancura"", ""category"": ""dp2023""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2017/martin_jancura""], ""count"": 2}"
|
||||
wide-205,person_multiple_categories,True,,5.410459575999994,True,True,True,True,True,True,Vypíš všetky kategórie dokumentov osoby Oleksandr Hryshchenko.,"{""answer"": ""Oleksandr Hryshchenko má dokument v kategórii dp2026 (zdroj: https://zp.kemt.fei.tuke.sk/students/2021/oleksandr_hryshchenko)."", ""status"": ""ok"", ""claims"": [{""person"": ""Oleksandr Hryshchenko"", ""category"": ""dp2026""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/oleksandr_hryshchenko""], ""count"": 1}"
|
||||
wide-206,person_multiple_categories,True,,4.934618246996251,True,True,True,True,True,True,Aké všetky kategórie majú dokumenty osoby Márk Fehér?,"{""answer"": ""Osoba Márk Fehér má dokumenty v kategórii dp2022 (zdroj: https://zp.kemt.fei.tuke.sk/students/2016/mark_feher)."", ""status"": ""ok"", ""claims"": [{""person"": ""Márk Fehér"", ""category"": ""dp2022""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/mark_feher""], ""count"": 1}"
|
||||
wide-207,person_multiple_categories,True,,5.351602836002712,True,True,True,True,True,True,Aké všetky kategórie majú dokumenty osoby Oleh Bilykh?,"{""answer"": ""Oleh Bilykh má dokumenty v kategórii bp2021 (zdroj: https://zp.kemt.fei.tuke.sk/students/2018/oleh_bilykh)."", ""status"": ""ok"", ""claims"": [{""person"": ""Oleh Bilykh"", ""category"": ""bp2021""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/oleh_bilykh""], ""count"": 1}"
|
||||
wide-208,person_multiple_categories,True,,4.647810752998339,True,True,True,True,True,True,Vypíš všetky kategórie dokumentov osoby Ján Pták.,"{""answer"": ""Osoba Ján Pták má dokument v kategórii dp2027 (zdroj: https://zp.kemt.fei.tuke.sk/students/2022/jan_ptak)."", ""status"": ""ok"", ""claims"": [{""person"": ""Ján Pták"", ""category"": ""dp2027""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/jan_ptak""], ""count"": 1}"
|
||||
wide-209,person_multiple_categories,False,JSONDecodeError: Expecting value: line 1 column 1 (char 0),8.321756921002816,,,,,,,Aké všetky kategórie majú dokumenty osoby Yevhenii Medushivskyi?,null
|
||||
wide-210,person_multiple_categories,True,,4.485325813999225,True,True,True,True,True,True,Aké všetky kategórie majú dokumenty osoby Ediz Morochovič?,"{""answer"": ""Osoba Ediz Morochovič má dokumenty v kategórii bp2019 (zdroj: https://zp.kemt.fei.tuke.sk/students/2016/ediz_morochovic)."", ""status"": ""ok"", ""claims"": [{""person"": ""Ediz Morochovič"", ""category"": ""bp2019""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/ediz_morochovic""], ""count"": 1}"
|
||||
wide-211,person_multiple_categories,True,,6.549260562998825,True,True,True,True,True,True,Vypíš všetky kategórie dokumentov osoby Alina Vitko.,"{""answer"": ""Osoba Alina Vitko má dokument v kategórii bp2022 (zdroj: https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko)."", ""status"": ""ok"", ""claims"": [{""person"": ""Alina Vitko"", ""category"": ""bp2022""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko""], ""count"": 1}"
|
||||
wide-212,person_multiple_categories,True,,4.947871591997682,True,True,True,True,True,True,Aké všetky kategórie majú dokumenty osoby Cesar Abascal Gutierrez?,"{""answer"": ""Osoba Cesar Abascal Gutierrez má dokumenty v kategórii iaeste. Zdroj: https://zp.kemt.fei.tuke.sk/interns/cesar_gutierrez"", ""status"": ""ok"", ""claims"": [{""person"": ""Cesar Abascal Gutierrez"", ""category"": ""iaeste""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/interns/cesar_gutierrez""], ""count"": 1}"
|
||||
wide-213,person_multiple_categories,True,,4.7744402950047515,True,True,True,True,True,True,Aké všetky kategórie majú dokumenty osoby Bogdan Paul Chiș?,"{""answer"": ""Osoba Bogdan Paul Chiș má dokumenty v kategórii erasmus. Zdroj: https://zp.kemt.fei.tuke.sk/interns/bogdan_paul_chis"", ""status"": ""ok"", ""claims"": [{""person"": ""Bogdan Paul Chiș"", ""category"": ""erasmus""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/interns/bogdan_paul_chis""], ""count"": 1}"
|
||||
wide-214,person_multiple_categories,True,,5.108398393000243,True,True,True,True,True,True,Vypíš všetky kategórie dokumentov osoby Matej Kobyľan.,"{""answer"": ""Osoba Matej Kobyľan má dokument v kategórii bp2023 (zdroj: https://zp.kemt.fei.tuke.sk/students/2020/matej_kobylan)."", ""status"": ""ok"", ""claims"": [{""person"": ""Matej Kobyľan"", ""category"": ""bp2023""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2020/matej_kobylan""], ""count"": 1}"
|
||||
wide-215,person_multiple_categories,True,,5.243163012994046,True,True,True,True,True,True,Aké všetky kategórie majú dokumenty osoby Oleksandr Dorybohov?,"{""answer"": ""Oleksandr Dorybohov má dokumenty v kategórii bp2026 (zdroj: https://zp.kemt.fei.tuke.sk/students/2023/oleksandr_dorybohov)."", ""status"": ""ok"", ""claims"": [{""person"": ""Oleksandr Dorybohov"", ""category"": ""bp2026""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2023/oleksandr_dorybohov""], ""count"": 1}"
|
||||
wide-216,person_multiple_categories,True,,5.386864268002682,True,True,True,True,True,True,Aké všetky kategórie majú dokumenty osoby Denis Le Thanh?,"{""answer"": ""Osoba Denis Le Thanh má dokumenty v kategórii bp2026. Zdroj: https://zp.kemt.fei.tuke.sk/students/2023/denis_le_thanh"", ""status"": ""ok"", ""claims"": [{""person"": ""Denis Le Thanh"", ""category"": ""bp2026""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2023/denis_le_thanh""], ""count"": 1}"
|
||||
wide-219,candidate_set_aggregation,True,,7.7192733800038695,True,True,True,True,True,True,"Z kandidátov Artur Hyrenko, Matej Ščišľak, Adrián Remiáš vyber osoby s prácou v roku 2026. Aký je ich počet?","{""answer"": ""Počet osôb s prácou v roku 2026 je 2. Sú to Artur Hyrenko a Matej Ščišľak. Adrián Remiáš nemá prácu v roku 2026. Zdroje: https://zp.kemt.fei.tuke.sk/students/2021/artur_hyrenko, https://zp.kemt.fei.tuke.sk/students/2021/matej_scislak"", ""status"": ""ok"", ""claims"": [{""person"": ""Artur Hyrenko"", ""year"": 2026}, {""person"": ""Matej Ščišľak"", ""year"": 2026}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/artur_hyrenko"", ""https://zp.kemt.fei.tuke.sk/students/2021/matej_scislak""], ""count"": 2}"
|
||||
wide-220,candidate_set_aggregation,True,,7.372822696001094,True,True,True,True,True,True,"Z kandidátov Alina Vitko, Márk Fehér, Adrián Remiáš vyber osoby s prácou v roku 2021. Koľko ich je?","{""answer"": ""Dvaja kandidáti, Alina Vitko a Márk Fehér, majú prácu v roku 2021. Zdroje: https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko, https://zp.kemt.fei.tuke.sk/students/2016/mark_feher"", ""status"": ""ok"", ""claims"": [{""person"": ""Alina Vitko"", ""year"": 2021}, {""person"": ""Márk Fehér"", ""year"": 2021}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko"", ""https://zp.kemt.fei.tuke.sk/students/2016/mark_feher""], ""count"": 2}"
|
||||
wide-221,candidate_set_aggregation,True,,10.551185654003348,True,True,True,True,True,True,"Z kandidátov Andrii Pervashov, Daniil Huzenko, Adrián Remiáš vyber osoby s prácou v roku 2025. Aký je ich počet?","{""answer"": ""Počet kandidátov s prácou v roku 2025 je 2, a to Andrii Pervashov a Daniil Huzenko. Zdroje: https://zp.kemt.fei.tuke.sk/students/2022/andrii_pervashov, https://zp.kemt.fei.tuke.sk/students/2022/daniil_huzenko"", ""status"": ""ok"", ""claims"": [{""person"": ""Andrii Pervashov"", ""year"": 2025}, {""person"": ""Daniil Huzenko"", ""year"": 2025}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/andrii_pervashov"", ""https://zp.kemt.fei.tuke.sk/students/2022/daniil_huzenko""], ""count"": 2}"
|
||||
wide-222,candidate_set_aggregation,True,,7.566261407999264,True,True,True,True,True,True,"Z kandidátov Andrii Pervashov, Valerii Kutsenko, Adrián Remiáš vyber osoby s prácou v roku 2027. Aký je ich počet?","{""answer"": ""Počet osôb s prácou v roku 2027 je 2. Sú nimi Andrii Pervashov a Valerii Kutsenko. Zdroje: https://zp.kemt.fei.tuke.sk/students/2022/andrii_pervashov, https://zp.kemt.fei.tuke.sk/students/2022/valerii_kutsenko"", ""status"": ""ok"", ""claims"": [{""person"": ""Andrii Pervashov"", ""year"": 2027}, {""person"": ""Valerii Kutsenko"", ""year"": 2027}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/andrii_pervashov"", ""https://zp.kemt.fei.tuke.sk/students/2022/valerii_kutsenko""], ""count"": 2}"
|
||||
wide-223,candidate_set_aggregation,True,,10.795403767995595,True,True,True,True,True,True,"Z kandidátov Alina Vitko, Artem Yatsenko, Adrián Remiáš vyber osoby s prácou v roku 2022. Koľko ich je?","{""answer"": ""Dvaja kandidáti, Alina Vitko a Artem Yatsenko, majú prácu v roku 2022. Zdroje: https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko, https://zp.kemt.fei.tuke.sk/students/2019/artem_yatsenko"", ""status"": ""ok"", ""claims"": [{""person"": ""Alina Vitko"", ""year"": 2022}, {""person"": ""Artem Yatsenko"", ""year"": 2022}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko"", ""https://zp.kemt.fei.tuke.sk/students/2019/artem_yatsenko""], ""count"": 2}"
|
||||
wide-224,candidate_set_aggregation,True,,7.357641800997953,True,True,True,True,True,True,"Z kandidátov Adrián Remiáš, Dávid Kostilník, Alina Vitko vyber osoby s prácou v roku 2024. Aký je ich počet?","{""answer"": ""Počet osôb s prácou v roku 2024 je 2. Sú to Adrián Remiáš a Dávid Kostilník. Zdroje: https://zp.kemt.fei.tuke.sk/students/2018/adrian_remias, https://zp.kemt.fei.tuke.sk/students/2020/david_kostilnik"", ""status"": ""ok"", ""claims"": [{""person"": ""Adrián Remiáš"", ""year"": 2024}, {""person"": ""Dávid Kostilník"", ""year"": 2024}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/adrian_remias"", ""https://zp.kemt.fei.tuke.sk/students/2020/david_kostilnik""], ""count"": 2}"
|
||||
wide-225,candidate_set_aggregation,True,,10.645838413998717,True,True,True,True,True,True,"Z kandidátov Dárius Lindvai, Martin Wencel, Adrián Remiáš vyber osoby s prácou v roku 2020. Aký je ich počet?","{""answer"": ""Počet kandidátov s prácou v roku 2020 je 2. Sú to Dárius Lindvai a Martin Wencel. Zdroje: https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai, https://zp.kemt.fei.tuke.sk/students/2018/martin_wencel"", ""status"": ""ok"", ""claims"": [{""person"": ""Dárius Lindvai"", ""year"": 2020}, {""person"": ""Martin Wencel"", ""year"": 2020}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai"", ""https://zp.kemt.fei.tuke.sk/students/2018/martin_wencel""], ""count"": 2}"
|
||||
wide-226,candidate_set_aggregation,True,,7.666217147998395,True,True,True,True,True,True,"Z kandidátov Dárius Lindvai, Ediz Morochovič, Adrián Remiáš vyber osoby s prácou v roku 2019. Koľko ich je?","{""answer"": ""Dárius Lindvai a Ediz Morochovič majú prácu v roku 2019, čo je spolu 2 osoby. Zdroje: https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai, https://zp.kemt.fei.tuke.sk/students/2016/ediz_morochovic"", ""status"": ""ok"", ""claims"": [{""person"": ""Dárius Lindvai"", ""year"": 2019}, {""person"": ""Ediz Morochovič"", ""year"": 2019}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai"", ""https://zp.kemt.fei.tuke.sk/students/2016/ediz_morochovic""], ""count"": 2}"
|
||||
wide-227,candidate_set_aggregation,True,,10.733524051000131,True,True,True,True,True,True,"Z kandidátov Adrián Remiáš, Matej Kobyľan, Alina Vitko vyber osoby s prácou v roku 2024. Aký je ich počet?","{""answer"": ""Počet osôb s prácou v roku 2024 je 2. Sú to Adrián Remiáš a Matej Kobyľan. Zdroje: https://zp.kemt.fei.tuke.sk/students/2018/adrian_remias, https://zp.kemt.fei.tuke.sk/students/2020/matej_kobylan"", ""status"": ""ok"", ""claims"": [{""person"": ""Adrián Remiáš"", ""year"": 2024}, {""person"": ""Matej Kobyľan"", ""year"": 2024}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/adrian_remias"", ""https://zp.kemt.fei.tuke.sk/students/2020/matej_kobylan""], ""count"": 2}"
|
||||
wide-228,candidate_set_aggregation,True,,8.750566690003325,True,True,True,True,True,True,"Z kandidátov Artur Hyrenko, Ján Malinovský, Adrián Remiáš vyber osoby s prácou v roku 2026. Aký je ich počet?","{""answer"": ""Počet osôb s prácou v roku 2026 je 2. Sú to Artur Hyrenko a Ján Malinovský. Zdroje: https://zp.kemt.fei.tuke.sk/students/2021/artur_hyrenko, https://zp.kemt.fei.tuke.sk/students/2022/jan_malinovsky"", ""status"": ""ok"", ""claims"": [{""person"": ""Artur Hyrenko"", ""year"": 2026}, {""person"": ""Ján Malinovský"", ""year"": 2026}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/artur_hyrenko"", ""https://zp.kemt.fei.tuke.sk/students/2022/jan_malinovsky""], ""count"": 2}"
|
||||
wide-229,candidate_set_aggregation,True,,10.704826668006717,True,True,True,True,True,True,"Z kandidátov Dávid Iľaš, Martin Šarišský, Adrián Remiáš vyber osoby s prácou v roku 2023. Koľko ich je?","{""answer"": ""Dávid Iľaš a Martin Šarišský majú prácu v roku 2023, čo je spolu 2 osoby. Zdroje: https://zp.kemt.fei.tuke.sk/students/2018/david_ilas, https://zp.kemt.fei.tuke.sk/students/2021/martin_sarissky"", ""status"": ""ok"", ""claims"": [{""person"": ""Dávid Iľaš"", ""year"": 2023}, {""person"": ""Martin Šarišský"", ""year"": 2023}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/david_ilas"", ""https://zp.kemt.fei.tuke.sk/students/2021/martin_sarissky""], ""count"": 2}"
|
||||
wide-230,candidate_set_aggregation,True,,8.786429461004445,True,True,True,True,True,True,"Z kandidátov Adrián Remiáš, Matej Ščišľak, Alina Vitko vyber osoby s prácou v roku 2024. Aký je ich počet?","{""answer"": ""Počet osôb s prácou v roku 2024 je 2. Sú to Adrián Remiáš a Matej Ščišľak. Zdroje: https://zp.kemt.fei.tuke.sk/students/2018/adrian_remias, https://zp.kemt.fei.tuke.sk/students/2021/matej_scislak"", ""status"": ""ok"", ""claims"": [{""person"": ""Adrián Remiáš"", ""year"": 2024}, {""person"": ""Matej Ščišľak"", ""year"": 2024}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/adrian_remias"", ""https://zp.kemt.fei.tuke.sk/students/2021/matej_scislak""], ""count"": 2}"
|
||||
wide-231,candidate_set_aggregation,True,,9.847875152001507,True,True,True,True,True,True,"Z kandidátov Artur Hyrenko, Oleksandr Dorybohov, Adrián Remiáš vyber osoby s prácou v roku 2026. Aký je ich počet?","{""answer"": ""Počet kandidátov s prácou v roku 2026 je 2. Sú to Artur Hyrenko a Oleksandr Dorybohov. Zdroje: https://zp.kemt.fei.tuke.sk/students/2021/artur_hyrenko, https://zp.kemt.fei.tuke.sk/students/2023/oleksandr_dorybohov"", ""status"": ""ok"", ""claims"": [{""person"": ""Artur Hyrenko"", ""year"": 2026}, {""person"": ""Oleksandr Dorybohov"", ""year"": 2026}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/artur_hyrenko"", ""https://zp.kemt.fei.tuke.sk/students/2023/oleksandr_dorybohov""], ""count"": 2}"
|
||||
wide-232,candidate_set_aggregation,False,JSONDecodeError: Expecting value: line 1 column 1 (char 0),13.339628460002132,,,,,,,"Z kandidátov Dávid Omasta, Jakub Kristián Lukas, Adrián Remiáš vyber osoby s prácou v roku 2023. Koľko ich je?",null
|
||||
wide-233,candidate_set_aggregation,True,,8.772020734999387,True,True,True,True,True,True,"Z kandidátov Alina Vitko, Jakub Maruniak, Adrián Remiáš vyber osoby s prácou v roku 2021. Aký je ich počet?","{""answer"": ""Počet osôb s prácou v roku 2021 je 2. Sú to Alina Vitko a Jakub Maruniak. Zdroje: https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko, https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak"", ""status"": ""ok"", ""claims"": [{""person"": ""Alina Vitko"", ""year"": 2021}, {""person"": ""Jakub Maruniak"", ""year"": 2021}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko"", ""https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak""], ""count"": 2}"
|
||||
wide-234,candidate_set_aggregation,True,,11.249018417001935,True,True,True,True,True,True,"Z kandidátov Adrián Remiáš, Dávid Omasta, Alina Vitko vyber osoby s prácou v roku 2024. Aký je ich počet?","{""answer"": ""Počet osôb s prácou v roku 2024 je 2. Sú to Adrián Remiáš a Dávid Omasta. Zdroje: https://zp.kemt.fei.tuke.sk/students/2018/adrian_remias, https://zp.kemt.fei.tuke.sk/students/2018/david_omasta"", ""status"": ""ok"", ""claims"": [{""person"": ""Adrián Remiáš"", ""year"": 2024}, {""person"": ""Dávid Omasta"", ""year"": 2024}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/adrian_remias"", ""https://zp.kemt.fei.tuke.sk/students/2018/david_omasta""], ""count"": 2}"
|
||||
wide-235,candidate_set_aggregation,True,,8.039425630006008,True,True,True,True,True,True,"Z kandidátov Dominik Nagy, Lukáš Pokrývka, Adrián Remiáš vyber osoby s prácou v roku 2019. Koľko ich je?","{""answer"": ""Dvaja kandidáti, Dominik Nagy a Lukáš Pokrývka, majú prácu v roku 2019. Zdroje: https://zp.kemt.fei.tuke.sk/students/2016/dominik_nagy, https://zp.kemt.fei.tuke.sk/students/2016/lukas_pokryvka"", ""status"": ""ok"", ""claims"": [{""person"": ""Dominik Nagy"", ""year"": 2019}, {""person"": ""Lukáš Pokrývka"", ""year"": 2019}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/dominik_nagy"", ""https://zp.kemt.fei.tuke.sk/students/2016/lukas_pokryvka""], ""count"": 2}"
|
||||
wide-236,candidate_set_aggregation,False,JSONDecodeError: Expecting value: line 1 column 1 (char 0),15.70306140199682,,,,,,,"Z kandidátov Dávid Iľaš, Vladyslav Krupko, Adrián Remiáš vyber osoby s prácou v roku 2023. Aký je ich počet?",null
|
||||
wide-237,candidate_set_aggregation,True,,7.519558184001653,True,True,True,True,True,True,"Z kandidátov Andrii Pervashov, Matej Ščišľak, Adrián Remiáš vyber osoby s prácou v roku 2025. Aký je ich počet?","{""answer"": ""Počet osôb s prácou v roku 2025 je 2. Sú to Andrii Pervashov a Matej Ščišľak. Zdroje: https://zp.kemt.fei.tuke.sk/students/2022/andrii_pervashov, https://zp.kemt.fei.tuke.sk/students/2021/matej_scislak"", ""status"": ""ok"", ""claims"": [{""person"": ""Andrii Pervashov"", ""year"": 2025}, {""person"": ""Matej Ščišľak"", ""year"": 2025}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/andrii_pervashov"", ""https://zp.kemt.fei.tuke.sk/students/2021/matej_scislak""], ""count"": 2}"
|
||||
wide-238,candidate_set_aggregation,True,,12.04440959099884,True,True,True,True,True,True,"Z kandidátov Andrii Pervashov, Patrik Pokrivčák, Adrián Remiáš vyber osoby s prácou v roku 2025. Koľko ich je?","{""answer"": ""Dvaja kandidáti, Andrii Pervashov a Patrik Pokrivčák, majú prácu v roku 2025. Zdroje: https://zp.kemt.fei.tuke.sk/students/2022/andrii_pervashov, https://zp.kemt.fei.tuke.sk/students/2019/patrik_pokrivcak"", ""status"": ""ok"", ""claims"": [{""person"": ""Andrii Pervashov"", ""year"": 2025}, {""person"": ""Patrik Pokrivčák"", ""year"": 2025}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/andrii_pervashov"", ""https://zp.kemt.fei.tuke.sk/students/2019/patrik_pokrivcak""], ""count"": 2}"
|
||||
wide-239,candidate_set_aggregation,False,JSONDecodeError: Expecting value: line 1 column 1 (char 0),15.513169307996577,,,,,,,"Z kandidátov Dárius Lindvai, Dmytro Ushatenko, Adrián Remiáš vyber osoby s prácou v roku 2020. Aký je ich počet?",null
|
||||
wide-240,candidate_set_aggregation,True,,7.4692764049977995,True,True,True,True,True,True,"Z kandidátov Alina Vitko, Michal Stromko, Adrián Remiáš vyber osoby s prácou v roku 2021. Aký je ich počet?","{""answer"": ""Počet osôb s prácou v roku 2021 je 2: Alina Vitko a Michal Stromko. Zdroje: https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko, https://zp.kemt.fei.tuke.sk/students/2019/michal_stromko"", ""status"": ""ok"", ""claims"": [{""person"": ""Alina Vitko"", ""year"": 2021}, {""person"": ""Michal Stromko"", ""year"": 2021}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko"", ""https://zp.kemt.fei.tuke.sk/students/2019/michal_stromko""], ""count"": 2}"
|
||||
wide-241,candidate_set_aggregation,True,,11.048038004999398,True,True,True,True,True,True,"Z kandidátov Adrián Remiáš, Pavol Hudák, Alina Vitko vyber osoby s prácou v roku 2024. Koľko ich je?","{""answer"": ""Dvaja kandidáti, Adrián Remiáš a Pavol Hudák, majú prácu v roku 2024. Zdroje: https://zp.kemt.fei.tuke.sk/students/2018/adrian_remias, https://zp.kemt.fei.tuke.sk/students/2020/pavol_hudak"", ""status"": ""ok"", ""claims"": [{""person"": ""Adrián Remiáš"", ""year"": 2024}, {""person"": ""Pavol Hudák"", ""year"": 2024}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/adrian_remias"", ""https://zp.kemt.fei.tuke.sk/students/2020/pavol_hudak""], ""count"": 2}"
|
||||
wide-242,candidate_set_aggregation,True,,10.065853608997713,True,True,True,True,True,True,"Z kandidátov Alina Vitko, Dmytro Mural, Adrián Remiáš vyber osoby s prácou v roku 2022. Aký je ich počet?","{""answer"": ""Počet osôb s prácou v roku 2022 je 2: Alina Vitko a Dmytro Mural. Zdroje: https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko, https://zp.kemt.fei.tuke.sk/students/2019/dmytro_mural"", ""status"": ""ok"", ""claims"": [{""person"": ""Alina Vitko"", ""year"": 2022}, {""person"": ""Dmytro Mural"", ""year"": 2022}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko"", ""https://zp.kemt.fei.tuke.sk/students/2019/dmytro_mural""], ""count"": 2}"
|
||||
wide-243,candidate_set_aggregation,True,,8.257452006000676,True,True,True,True,True,True,"Z kandidátov Alina Vitko, Kristián Sopkovič, Adrián Remiáš vyber osoby s prácou v roku 2022. Aký je ich počet?","{""answer"": ""Počet osôb s prácou v roku 2022 je 2. Sú to Alina Vitko a Kristián Sopkovič. Zdroje: https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko, https://zp.kemt.fei.tuke.sk/students/2019/kristian_sopkovic"", ""status"": ""ok"", ""claims"": [{""person"": ""Alina Vitko"", ""year"": 2022}, {""person"": ""Kristián Sopkovič"", ""year"": 2022}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko"", ""https://zp.kemt.fei.tuke.sk/students/2019/kristian_sopkovic""], ""count"": 2}"
|
||||
wide-244,candidate_set_aggregation,True,,10.002914138000051,True,True,True,True,True,True,"Z kandidátov Dávid Omasta, Filip Tomáš, Adrián Remiáš vyber osoby s prácou v roku 2023. Koľko ich je?","{""answer"": ""Dávid Omasta a Filip Tomáš majú prácu v roku 2023, čo je spolu 2 osoby. Zdroje: https://zp.kemt.fei.tuke.sk/students/2018/david_omasta, https://zp.kemt.fei.tuke.sk/students/2019/filip_tomas"", ""status"": ""ok"", ""claims"": [{""person"": ""Dávid Omasta"", ""year"": 2023}, {""person"": ""Filip Tomáš"", ""year"": 2023}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/david_omasta"", ""https://zp.kemt.fei.tuke.sk/students/2019/filip_tomas""], ""count"": 2}"
|
||||
wide-245,candidate_set_aggregation,True,,8.243047608004417,True,True,True,True,True,True,"Z kandidátov Dominik Nagy, Ján Holp, Adrián Remiáš vyber osoby s prácou v roku 2019. Aký je ich počet?","{""answer"": ""Počet osôb s prácou v roku 2019 je 2. Sú to Dominik Nagy a Ján Holp. Zdroje: https://zp.kemt.fei.tuke.sk/students/2016/dominik_nagy, https://zp.kemt.fei.tuke.sk/students/2016/jan_holp"", ""status"": ""ok"", ""claims"": [{""person"": ""Dominik Nagy"", ""year"": 2019}, {""person"": ""Ján Holp"", ""year"": 2019}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/dominik_nagy"", ""https://zp.kemt.fei.tuke.sk/students/2016/jan_holp""], ""count"": 2}"
|
||||
wide-246,candidate_set_aggregation,True,,9.787830825000128,True,True,True,True,True,True,"Z kandidátov Alina Vitko, Filip Tomáš, Adrián Remiáš vyber osoby s prácou v roku 2021. Aký je ich počet?","{""answer"": ""Počet kandidátov s prácou v roku 2021 je 2. Sú to Alina Vitko a Filip Tomáš. Zdroje: https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko, https://zp.kemt.fei.tuke.sk/students/2019/filip_tomas"", ""status"": ""ok"", ""claims"": [{""person"": ""Alina Vitko"", ""year"": 2021}, {""person"": ""Filip Tomáš"", ""year"": 2021}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko"", ""https://zp.kemt.fei.tuke.sk/students/2019/filip_tomas""], ""count"": 2}"
|
||||
wide-247,candidate_set_aggregation,True,,9.740451630997995,True,True,True,True,True,True,"Z kandidátov Alina Vitko, Matúš Suchanič, Adrián Remiáš vyber osoby s prácou v roku 2022. Koľko ich je?","{""answer"": ""Z kandidátov Alina Vitko a Matúš Suchanič majú prácu v roku 2022, čo je spolu 2 osoby. Adrián Remiáš v roku 2022 prácu nemá. Zdroje: https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko, https://zp.kemt.fei.tuke.sk/students/2020/matus_suchanic"", ""status"": ""ok"", ""claims"": [{""person"": ""Alina Vitko"", ""year"": 2022}, {""person"": ""Matúš Suchanič"", ""year"": 2022}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/alina_vitko"", ""https://zp.kemt.fei.tuke.sk/students/2020/matus_suchanic""], ""count"": 2}"
|
||||
wide-248,candidate_set_aggregation,True,,9.86519188999955,True,True,True,True,True,True,"Z kandidátov Artur Hyrenko, Denis Le Thanh, Adrián Remiáš vyber osoby s prácou v roku 2026. Aký je ich počet?","{""answer"": ""Počet kandidátov s prácou v roku 2026 je 2, a to Artur Hyrenko a Denis Le Thanh. Zdroje: https://zp.kemt.fei.tuke.sk/students/2021/artur_hyrenko, https://zp.kemt.fei.tuke.sk/students/2023/denis_le_thanh"", ""status"": ""ok"", ""claims"": [{""person"": ""Artur Hyrenko"", ""year"": 2026}, {""person"": ""Denis Le Thanh"", ""year"": 2026}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/artur_hyrenko"", ""https://zp.kemt.fei.tuke.sk/students/2023/denis_le_thanh""], ""count"": 2}"
|
||||
wide-251,conjunctive_disambiguation,True,,8.290319315005036,True,True,True,True,True,True,Ktorá z osôb Matej Kobyľan a Adrián Remiáš spĺňa kľúčové slovo ir a rok práce 2024?,"{""answer"": ""Matej Kobyľan spĺňa kľúčové slovo ir a rok práce 2024 (zdroj: https://zp.kemt.fei.tuke.sk/students/2020/matej_kobylan)."", ""status"": ""ok"", ""claims"": [{""person"": ""Matej Kobyľan"", ""year"": 2024, ""keyword"": ""ir""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2020/matej_kobylan""], ""count"": 1}"
|
||||
wide-252,conjunctive_disambiguation,True,,7.219944579999719,True,True,True,True,True,True,Ktorá z osôb Patrik Pavlišin a Dárius Lindvai má kľúčové slovo translation a jej práca je z roku 2019?,"{""answer"": ""Patrik Pavlišin má kľúčové slovo translation a jeho práca je z roku 2019. Dárius Lindvai nemá v grafoch uvedené kľúčové slovo translation ani rok 2019. Zdroje: https://zp.kemt.fei.tuke.sk/students/2016/patrik_pavlisin"", ""status"": ""ok"", ""claims"": [{""person"": ""Patrik Pavlišin"", ""year"": 2019, ""keyword"": ""translation""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/patrik_pavlisin""], ""count"": 1}"
|
||||
wide-253,conjunctive_disambiguation,True,,5.840062208997551,True,True,True,True,True,True,Ktorá z osôb Dárius Lindvai a Ediz Morochovič spĺňa kľúčové slovo nn a rok práce 2019?,"{""answer"": ""Dárius Lindvai spĺňa kľúčové slovo nn a rok práce 2019 (https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai)."", ""status"": ""ok"", ""claims"": [{""person"": ""Dárius Lindvai"", ""year"": 2019, ""keyword"": ""nn""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai""], ""count"": 1}"
|
||||
wide-254,conjunctive_disambiguation,True,,6.407496858999366,True,True,True,True,True,True,Ktorá z osôb Filip Tomáš a Dávid Omasta spĺňa kľúčové slovo testovanie a rok práce 2023?,"{""answer"": ""Osoba Filip Tomáš spĺňa kľúčové slovo testovanie a rok práce 2023 (zdroj: https://zp.kemt.fei.tuke.sk/students/2019/filip_tomas)."", ""status"": ""ok"", ""claims"": [{""person"": ""Filip Tomáš"", ""year"": 2023, ""keyword"": ""testovanie""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/filip_tomas""], ""count"": 1}"
|
||||
wide-255,conjunctive_disambiguation,True,,4.776170264995017,True,True,True,True,True,True,Ktorá z osôb Michal Stromko a Alina Vitko má kľúčové slovo cloud a jej práca je z roku 2022?,"{""answer"": ""Michal Stromko má kľúčové slovo cloud a jeho práca je z roku 2022. Zdroj: https://zp.kemt.fei.tuke.sk/students/2019/michal_stromko"", ""status"": ""ok"", ""claims"": [{""person"": ""Michal Stromko"", ""year"": 2022, ""keyword"": ""cloud""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/michal_stromko""], ""count"": 1}"
|
||||
wide-256,conjunctive_disambiguation,True,,6.568239268002799,True,True,True,True,True,True,Ktorá z osôb Oleh Bilykh a Dmytro Ushatenko spĺňa kľúčové slovo question-answer a rok práce 2020?,"{""answer"": ""Oleh Bilykh spĺňa kľúčové slovo question-answer a rok práce 2020 (zdroj: https://zp.kemt.fei.tuke.sk/students/2018/oleh_bilykh)."", ""status"": ""ok"", ""claims"": [{""person"": ""Oleh Bilykh"", ""year"": 2020, ""keyword"": ""question-answer""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/oleh_bilykh""], ""count"": 1}"
|
||||
wide-257,conjunctive_disambiguation,True,,4.94857262000005,True,True,True,True,True,True,Ktorá z osôb Matej Ščišľak a Eduard Matovka spĺňa kľúčové slovo dialog a rok práce 2026?,"{""answer"": ""Matej Ščišľak spĺňa kľúčové slovo \""dialog\"" a rok práce 2026 (zdroj: https://zp.kemt.fei.tuke.sk/students/2021/matej_scislak)."", ""status"": ""ok"", ""claims"": [{""person"": ""Matej Ščišľak"", ""year"": 2026, ""keyword"": ""dialog""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/matej_scislak""], ""count"": 1}"
|
||||
wide-258,conjunctive_disambiguation,True,,6.659346368003753,True,True,True,True,True,True,Ktorá z osôb Artem Yatsenko a Dávid Stromp má kľúčové slovo spacy a jej práca je z roku 2022?,"{""answer"": ""Artem Yatsenko má kľúčové slovo Spacy a jeho práca je z roku 2022 (zdroj: https://zp.kemt.fei.tuke.sk/students/2019/artem_yatsenko)."", ""status"": ""ok"", ""claims"": [{""person"": ""Artem Yatsenko"", ""year"": 2022, ""keyword"": ""Spacy""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/artem_yatsenko""], ""count"": 1}"
|
||||
wide-259,conjunctive_disambiguation,True,,5.258838747999107,True,True,True,True,True,True,Ktorá z osôb Michal Stromko a Alina Vitko spĺňa kľúčové slovo nlp a rok práce 2023?,"{""answer"": ""Michal Stromko spĺňa kľúčové slovo NLP a rok práce 2023. Alina Vitko nemá v grafoch uvedené tieto údaje. Zdroje: https://zp.kemt.fei.tuke.sk/students/2019/michal_stromko"", ""status"": ""ok"", ""claims"": [{""person"": ""Michal Stromko"", ""year"": 2023, ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/michal_stromko""], ""count"": 1}"
|
||||
wide-260,conjunctive_disambiguation,True,,7.194393290999869,True,True,True,True,True,True,Ktorá z osôb Martin Šarišský a Alina Vitko spĺňa kľúčové slovo nlp a rok práce 2023?,"{""answer"": ""Martin Šarišský spĺňa kľúčové slovo NLP a rok práce 2023. Alina Vitko nemá v grafe zaznamenaný rok 2023 ani kľúčové slovo NLP. Zdroje: https://zp.kemt.fei.tuke.sk/students/2021/martin_sarissky"", ""status"": ""ok"", ""claims"": [{""person"": ""Martin Šarišský"", ""year"": 2023, ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/martin_sarissky""], ""count"": 1}"
|
||||
wide-261,conjunctive_disambiguation,True,,5.320920971003943,True,True,True,True,True,True,Ktorá z osôb Ondrej Megela a Dárius Lindvai má kľúčové slovo fairseq a jej práca je z roku 2020?,"{""answer"": ""Ondrej Megela má kľúčové slovo fairseq a jeho práca je z roku 2020 (zdroj: https://zp.kemt.fei.tuke.sk/students/2018/ondrej_megela)."", ""status"": ""ok"", ""claims"": [{""person"": ""Ondrej Megela"", ""year"": 2020, ""keyword"": ""fairseq""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/ondrej_megela""], ""count"": 1}"
|
||||
wide-262,conjunctive_disambiguation,True,,7.518260585995449,True,True,True,True,True,True,Ktorá z osôb Patrik Pokrivčák a Dávid Kostilník spĺňa kľúčové slovo hate a rok práce 2024?,"{""answer"": ""Patrik Pokrivčák spĺňa kľúčové slovo 'hate' a rok práce 2024, zatiaľ čo Dávid Kostilník tieto kritériá nespĺňa. Zdroj: https://zp.kemt.fei.tuke.sk/students/2019/patrik_pokrivcak"", ""status"": ""ok"", ""claims"": [{""person"": ""Patrik Pokrivčák"", ""year"": 2024, ""keyword"": ""hate""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/patrik_pokrivcak""], ""count"": 1}"
|
||||
wide-263,conjunctive_disambiguation,True,,5.239184719997866,True,True,True,True,True,True,Ktorá z osôb Kristián Sopkovič a Adrián Remiáš spĺňa kľúčové slovo nlp a rok práce 2021?,"{""answer"": ""Kristián Sopkovič spĺňa kľúčové slovo NLP a rok práce 2021, zatiaľ čo Adrián Remiáš nemá v grafoch uvedené tieto údaje. Zdroje: https://zp.kemt.fei.tuke.sk/students/2019/kristian_sopkovic"", ""status"": ""ok"", ""claims"": [{""person"": ""Kristián Sopkovič"", ""year"": 2021, ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/kristian_sopkovic""], ""count"": 1}"
|
||||
wide-264,conjunctive_disambiguation,True,,7.584487269996316,True,True,True,True,True,True,Ktorá z osôb Dmytro Ushatenko a Alina Vitko má kľúčové slovo nlp a jej práca je z roku 2020?,"{""answer"": ""Dmytro Ushatenko má kľúčové slovo NLP a jeho práca je z roku 2020 (zdroj: https://zp.kemt.fei.tuke.sk/students/2017/dmytro_ushatenko)."", ""status"": ""ok"", ""claims"": [{""person"": ""Dmytro Ushatenko"", ""year"": 2020, ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2017/dmytro_ushatenko""], ""count"": 1}"
|
||||
wide-265,conjunctive_disambiguation,True,,4.588180135993753,True,True,True,True,True,True,Ktorá z osôb Ondrej Megela a Alina Vitko spĺňa kľúčové slovo nlp a rok práce 2023?,"{""answer"": ""Ondrej Megela spĺňa kľúčové slovo NLP a rok práce 2023 (zdroj: https://zp.kemt.fei.tuke.sk/students/2018/ondrej_megela)."", ""status"": ""ok"", ""claims"": [{""person"": ""Ondrej Megela"", ""year"": 2023, ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/ondrej_megela""], ""count"": 1}"
|
||||
wide-266,conjunctive_disambiguation,True,,7.256377336001606,True,True,True,True,True,True,Ktorá z osôb Than Trung Thanh a Dmytro Ushatenko spĺňa kľúčové slovo anotation a rok práce 2020?,"{""answer"": ""Than Trung Thanh spĺňa kľúčové slovo anotation a rok práce 2020, zatiaľ čo Dmytro Ushatenko tieto kritériá nespĺňa. Zdroje: https://zp.kemt.fei.tuke.sk/students/2017/than_trung_thanh"", ""status"": ""ok"", ""claims"": [{""person"": ""Than Trung Thanh"", ""year"": 2020, ""keyword"": ""anotation""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2017/than_trung_thanh""], ""count"": 1}"
|
||||
wide-267,conjunctive_disambiguation,True,,4.091823563001526,True,True,True,True,True,True,Ktorá z osôb Kristián Sopkovič a Alina Vitko má kľúčové slovo spacy a jej práca je z roku 2022?,"{""answer"": ""Kristián Sopkovič má kľúčové slovo Spacy a jeho práca je z roku 2022 (zdroj: https://zp.kemt.fei.tuke.sk/students/2019/kristian_sopkovic)."", ""status"": ""ok"", ""claims"": [{""person"": ""Kristián Sopkovič"", ""year"": 2022, ""keyword"": ""Spacy""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/kristian_sopkovic""], ""count"": 1}"
|
||||
wide-268,conjunctive_disambiguation,True,,7.003688570999657,True,True,True,True,True,True,Ktorá z osôb Artem Yatsenko a Cesar Abascal Gutierrez spĺňa kľúčové slovo ner a rok práce 2022?,"{""answer"": ""Osoba Artem Yatsenko spĺňa kľúčové slovo NER a rok práce 2022. Zdroj: https://zp.kemt.fei.tuke.sk/students/2019/artem_yatsenko"", ""status"": ""ok"", ""claims"": [{""person"": ""Artem Yatsenko"", ""year"": 2022, ""keyword"": ""NER""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/artem_yatsenko""], ""count"": 1}"
|
||||
wide-269,conjunctive_disambiguation,True,,3.9448283739984618,True,True,True,True,True,True,Ktorá z osôb Oleh Bilykh a Artem Yatsenko spĺňa kľúčové slovo drqa a rok práce 2021?,"{""answer"": ""Oleh Bilykh spĺňa kľúčové slovo drqa a rok práce 2021. Zdroj: https://zp.kemt.fei.tuke.sk/students/2018/oleh_bilykh"", ""status"": ""ok"", ""claims"": [{""person"": ""Oleh Bilykh"", ""year"": 2021, ""keyword"": ""drqa""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/oleh_bilykh""], ""count"": 1}"
|
||||
wide-270,conjunctive_disambiguation,True,,7.2973852189970785,True,True,True,True,True,True,Ktorá z osôb Filip Tomáš a Daniil Huzenko má kľúčové slovo testovanie a jej práca je z roku 2025?,"{""answer"": ""Filip Tomáš má kľúčové slovo testovanie a jeho práca je z roku 2025 (zdroj: https://zp.kemt.fei.tuke.sk/students/2019/filip_tomas)."", ""status"": ""ok"", ""claims"": [{""person"": ""Filip Tomáš"", ""year"": 2025, ""keyword"": ""testovanie""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2019/filip_tomas""], ""count"": 1}"
|
||||
wide-271,conjunctive_disambiguation,True,,4.728661907996866,True,True,True,True,True,True,Ktorá z osôb Maksym Zatirka a Artur Hyrenko spĺňa kľúčové slovo db a rok práce 2026?,"{""answer"": ""Maksym Zatirka spĺňa kľúčové slovo DB a rok práce 2026, zatiaľ čo Artur Hyrenko nemá v grafe uvedené tieto údaje. Zdroje: https://zp.kemt.fei.tuke.sk/students/2023/maksym_zatirka"", ""status"": ""ok"", ""claims"": [{""person"": ""Maksym Zatirka"", ""year"": 2026, ""keyword"": ""DB""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2023/maksym_zatirka""], ""count"": 1}"
|
||||
wide-272,conjunctive_disambiguation,True,,7.658525220002048,True,True,True,True,True,True,Ktorá z osôb Lukáš Pokrývka a Artem Yatsenko spĺňa kľúčové slovo cloud a rok práce 2021?,"{""answer"": ""Lukáš Pokrývka spĺňa kľúčové slovo cloud a rok práce 2021, zatiaľ čo Artem Yatsenko nemá v grafe uvedené tieto údaje. Zdroje: https://zp.kemt.fei.tuke.sk/students/2016/lukas_pokryvka"", ""status"": ""ok"", ""claims"": [{""person"": ""Lukáš Pokrývka"", ""year"": 2021, ""keyword"": ""cloud""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/lukas_pokryvka""], ""count"": 1}"
|
||||
wide-273,conjunctive_disambiguation,True,,4.929320309005561,True,True,True,True,True,True,Ktorá z osôb Lukáš Pokrývka a Alina Vitko má kľúčové slovo cloud a jej práca je z roku 2021?,"{""answer"": ""Lukáš Pokrývka má kľúčové slovo cloud a jeho práca je z roku 2021 (zdroj: https://zp.kemt.fei.tuke.sk/students/2016/lukas_pokryvka)."", ""status"": ""ok"", ""claims"": [{""person"": ""Lukáš Pokrývka"", ""year"": 2021, ""keyword"": ""cloud""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/lukas_pokryvka""], ""count"": 1}"
|
||||
wide-274,conjunctive_disambiguation,True,,9.057492628002365,True,True,True,True,True,True,Ktorá z osôb Valerii Kutsenko a Adrián Remiáš spĺňa kľúčové slovo nlp a rok práce 2025?,"{""answer"": ""Osoba Valerii Kutsenko spĺňa kľúčové slovo NLP a rok práce 2025, zatiaľ čo pre Adriána Remiáša nie sú v grafe uvedené žiadne údaje o roku 2025 ani kľúčovom slove NLP. Zdroje: https://zp.kemt.fei.tuke.sk/students/2022/valerii_kutsenko"", ""status"": ""ok"", ""claims"": [{""person"": ""Valerii Kutsenko"", ""year"": 2025, ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/valerii_kutsenko""], ""count"": 1}"
|
||||
wide-275,conjunctive_disambiguation,True,,4.394214208004996,True,True,True,True,True,True,Ktorá z osôb Martin Jancura a Dmytro Ushatenko spĺňa kľúčové slovo opennmt a rok práce 2020?,"{""answer"": ""Martin Jancura spĺňa kľúčové slovo opennmt a rok práce 2020. Dmytro Ushatenko v poskytnutých grafoch nemá tieto údaje. Zdroje: https://zp.kemt.fei.tuke.sk/students/2017/martin_jancura"", ""status"": ""ok"", ""claims"": [{""person"": ""Martin Jancura"", ""year"": 2020, ""keyword"": ""opennmt""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2017/martin_jancura""], ""count"": 1}"
|
||||
wide-276,conjunctive_disambiguation,True,,8.695488644996658,True,True,True,True,True,True,Ktorá z osôb Ondrej Megela a Dárius Lindvai má kľúčové slovo question-answer a jej práca je z roku 2020?,"{""answer"": ""Ondrej Megela má kľúčové slovo question-answer a jeho práca je z roku 2020. Dárius Lindvai nemá v grafoch uvedené kľúčové slovo question-answer ani prácu z roku 2020. Zdroje: https://zp.kemt.fei.tuke.sk/students/2018/ondrej_megela"", ""status"": ""ok"", ""claims"": [{""person"": ""Ondrej Megela"", ""year"": 2020, ""keyword"": ""question-answer""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/ondrej_megela""], ""count"": 1}"
|
||||
wide-277,conjunctive_disambiguation,True,,4.561247384001035,True,True,True,True,True,True,Ktorá z osôb Martin Wencel a Artem Yatsenko spĺňa kľúčové slovo spacy a rok práce 2020?,"{""answer"": ""Martin Wencel spĺňa kľúčové slovo Spacy a rok práce 2020 (zdroj: https://zp.kemt.fei.tuke.sk/students/2018/martin_wencel)."", ""status"": ""ok"", ""claims"": [{""person"": ""Martin Wencel"", ""year"": 2020, ""keyword"": ""Spacy""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/martin_wencel""], ""count"": 1}"
|
||||
wide-278,conjunctive_disambiguation,True,,7.106551545999537,True,True,True,True,True,True,Ktorá z osôb Jakub Maruniak a Artem Yatsenko spĺňa kľúčové slovo annotation a rok práce 2021?,"{""answer"": ""Osoba Jakub Maruniak spĺňa kľúčové slovo 'annotation' a rok práce 2021, čo je potvrdené v zdroji https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak."", ""status"": ""ok"", ""claims"": [{""person"": ""Jakub Maruniak"", ""year"": 2021, ""keyword"": ""annotation""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak""], ""count"": 1}"
|
||||
wide-279,conjunctive_disambiguation,True,,3.8795665049983654,True,True,True,True,True,True,Ktorá z osôb Vladimír Ferko a Andrii Pervashov má kľúčové slovo nlp a jej práca je z roku 2024?,"{""answer"": ""Vladimír Ferko má kľúčové slovo NLP a jeho práca je z roku 2024 (zdroj: https://zp.kemt.fei.tuke.sk/students/2021/vladimir_ferko)."", ""status"": ""ok"", ""claims"": [{""person"": ""Vladimír Ferko"", ""year"": 2024, ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/vladimir_ferko""], ""count"": 1}"
|
||||
wide-280,conjunctive_disambiguation,True,,8.457105479996244,True,True,True,True,True,True,Ktorá z osôb Maksym Zatirka a Denis Le Thanh spĺňa kľúčové slovo graph a rok práce 2026?,"{""answer"": ""Maksym Zatirka spĺňa kľúčové slovo graph a rok práce 2026, zatiaľ čo pre Denis Le Thanh nie sú v grafoch uvedené žiadne údaje o roku 2026 ani kľúčovom slove graph. Zdroje: https://zp.kemt.fei.tuke.sk/students/2023/maksym_zatirka"", ""status"": ""ok"", ""claims"": [{""person"": ""Maksym Zatirka"", ""year"": 2026, ""keyword"": ""graph""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2023/maksym_zatirka""], ""count"": 1}"
|
||||
wide-281,conjunctive_disambiguation,True,,4.085568874994351,True,True,True,True,True,True,Ktorá z osôb Martin Wencel a Dárius Lindvai spĺňa kľúčové slovo demo a rok práce 2020?,"{""answer"": ""Martin Wencel spĺňa kľúčové slovo demo a rok práce 2020, zatiaľ čo Dárius Lindvai v poskytnutých údajoch tieto kritériá nespĺňa. Zdroje: https://zp.kemt.fei.tuke.sk/students/2018/martin_wencel"", ""status"": ""ok"", ""claims"": [{""person"": ""Martin Wencel"", ""year"": 2020, ""keyword"": ""demo""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/martin_wencel""], ""count"": 1}"
|
||||
wide-282,conjunctive_disambiguation,True,,7.9133985659937025,True,True,True,True,True,True,Ktorá z osôb Ondrej Megela a Artem Yatsenko má kľúčové slovo lm a jej práca je z roku 2022?,"{""answer"": ""Ondrej Megela má kľúčové slovo LM a jeho práca je z roku 2022. Zdroj: https://zp.kemt.fei.tuke.sk/students/2018/ondrej_megela"", ""status"": ""ok"", ""claims"": [{""person"": ""Ondrej Megela"", ""year"": 2022, ""keyword"": ""LM""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/ondrej_megela""], ""count"": 1}"
|
||||
wide-283,conjunctive_disambiguation,False,,9.018380888002866,False,True,True,True,True,True,Ktorá z osôb Dárius Lindvai a Alina Vitko spĺňa kľúčové slovo anaconda a rok práce 2021?,"{""answer"": ""Dárius Lindvai spĺňa kľúčové slovo anaconda a rok práce 2021, zatiaľ čo Alina Vitko nemá v grafoch zaznamenané žiadne údaje spĺňajúce tieto podmienky. Dárius Lindvai má rok 2021 v dokumente https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai a kľúčové slovo anaconda v dokumente https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai/timovy_projekt/tutorial."", ""status"": ""ok"", ""claims"": [{""person"": ""Dárius Lindvai"", ""year"": 2021, ""document_path"": ""pages/students/2016/darius_lindvai/README.md""}, {""person"": ""Dárius Lindvai"", ""keyword"": ""anaconda"", ""document_path"": ""pages/students/2016/darius_lindvai/timovy_projekt/tutorial/README.md""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai"", ""https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai/timovy_projekt/tutorial""], ""count"": 1}"
|
||||
wide-284,conjunctive_disambiguation,True,,6.446719039995514,True,True,True,True,True,True,Ktorá z osôb Jakub Maruniak a Alina Vitko spĺňa kľúčové slovo nlp a rok práce 2020?,"{""answer"": ""Osoba Jakub Maruniak spĺňa kľúčové slovo NLP a rok práce 2020, čo je doložené v zdroji https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak."", ""status"": ""ok"", ""claims"": [{""person"": ""Jakub Maruniak"", ""year"": 2020, ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/jakub_maruniak""], ""count"": 1}"
|
||||
wide-285,conjunctive_disambiguation,True,,9.707872013001179,True,True,True,True,True,True,Ktorá z osôb Dárius Lindvai a Dominik Nagy má kľúčové slovo pytorch a jej práca je z roku 2019?,"{""answer"": ""Dárius Lindvai má kľúčové slovo pytorch a jeho práca je z roku 2019 (zdroje: https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai, https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai/timovy_projekt/tutorial). Dominik Nagy nemá v grafe uvedené kľúčové slovo pytorch ani prácu z roku 2019."", ""status"": ""ok"", ""claims"": [{""person"": ""Dárius Lindvai"", ""year"": 2019, ""keyword"": ""pytorch""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai"", ""https://zp.kemt.fei.tuke.sk/students/2016/darius_lindvai/timovy_projekt/tutorial""], ""count"": 1}"
|
||||
wide-286,conjunctive_disambiguation,True,,7.281992283002182,True,True,True,True,True,True,Ktorá z osôb Ediz Morochovič a Cesar Abascal Gutierrez spĺňa kľúčové slovo ner a rok práce 2019?,"{""answer"": ""Osoba Ediz Morochovič spĺňa kľúčové slovo NER a rok práce 2019, čo je potvrdené v zdrojoch [1](https://zp.kemt.fei.tuke.sk/students/2016/ediz_morochovic). Osoba Cesar Abascal Gutierrez nemá v dodaných faktoch uvedené kľúčové slovo NER ani rok 2019."", ""status"": ""ok"", ""claims"": [{""person"": ""Ediz Morochovič"", ""year"": 2019, ""keyword"": ""NER""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/ediz_morochovic""], ""count"": 1}"
|
||||
wide-287,conjunctive_disambiguation,True,,8.911685728999146,True,True,True,True,True,True,Ktorá z osôb Stanislav Matsunych a Adrián Remiáš spĺňa kľúčové slovo nlp a rok práce 2019?,"{""answer"": ""Stanislav Matsunych spĺňa kľúčové slovo NLP a rok práce 2019 (zdroj: https://zp.kemt.fei.tuke.sk/students/2017/stanislav_matsunych)."", ""status"": ""ok"", ""claims"": [{""person"": ""Stanislav Matsunych"", ""year"": 2019, ""keyword"": ""NLP""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2017/stanislav_matsunych""], ""count"": 1}"
|
||||
wide-288,conjunctive_disambiguation,True,,5.03515259300184,True,True,True,True,True,True,Ktorá z osôb Matej Ščišľak a Jakub Schwarc má kľúčové slovo rasa a jej práca je z roku 2026?,"{""answer"": ""Matej Ščišľak má kľúčové slovo 'rasa' a jeho práca je z roku 2026 (zdroj: https://zp.kemt.fei.tuke.sk/students/2021/matej_scislak)."", ""status"": ""ok"", ""claims"": [{""person"": ""Matej Ščišľak"", ""year"": 2026, ""keyword"": ""rasa""}], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/matej_scislak""], ""count"": 1}"
|
||||
wide-291,negative_lookup,True,,5.53823840500263,True,True,True,True,True,True,Aký názov práce má osoba Dávid Iľaš s kľúčovým slovom cluster?,"{""answer"": ""Na základe dodaných grafových faktov sa nenašli žiadne údaje o osobe Dávid Iľaš s kľúčovým slovom cluster."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [], ""count"": 0}"
|
||||
wide-292,negative_lookup,True,,4.538664214000164,True,True,True,True,True,True,Aký názov práce má osoba Martin NaN1 s kľúčovým slovom opennmt?,"{""answer"": ""Na základe dodaných grafových faktov sa nenašli žiadne údaje o osobe Martin s kľúčovým slovom opennmt ani o názve jeho práce. Zdroj: https://zp.kemt.fei.tuke.sk/students/2018/NaN1name_buday"", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/NaN1name_buday""], ""count"": 0}"
|
||||
wide-293,negative_lookup,True,,3.460392613997101,True,True,True,True,True,True,Aký názov práce má osoba Stanislav Matsunych s kľúčovým slovom cassandra?,"{""answer"": ""Na základe dodaných grafových faktov sa nenašli žiadne údaje o osobe Stanislav Matsunych s kľúčovým slovom cassandra."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [], ""count"": 0}"
|
||||
wide-294,negative_lookup,True,,4.047304077997978,True,True,True,True,True,True,Aký názov práce má osoba Rostyslav Rodzhuk s kľúčovým slovom translation?,"{""answer"": ""Na základe dodaných grafových faktov sa nenašli žiadne údaje o osobe Rostyslav Rodzhuk s kľúčovým slovom translation."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [], ""count"": 0}"
|
||||
wide-295,negative_lookup,True,,2.1742468329975964,True,True,True,True,True,True,Aký názov práce má osoba Adrián Remiáš s kľúčovým slovom agent?,"{""answer"": ""Na základe dodaných grafových faktov sa nenašli žiadne údaje o osobe Adrián Remiáš s kľúčovým slovom agent."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [], ""count"": 0}"
|
||||
wide-296,negative_lookup,True,,5.470801062001556,True,True,True,True,True,True,Aký názov práce má osoba Oleh Poiasnik v roku 2018?,"{""answer"": ""Na základe dodaných grafových faktov sa nenašli žiadne údaje o názve práce osoby Oleh Poiasnik v roku 2018. Dostupný zdroj (https://zp.kemt.fei.tuke.sk/students/2022/oleh_poiasnik) sa týka roku 2022."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/oleh_poiasnik""], ""count"": 0}"
|
||||
wide-297,negative_lookup,True,,4.190618332002487,True,True,True,True,True,True,Aký názov práce má osoba Cesar Abascal Gutierrez s kľúčovým slovom chatbot?,"{""answer"": ""Na základe dodaných grafových faktov sa nenašli žiadne údaje o osobe Cesar Abascal Gutierrez s kľúčovým slovom chatbot."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [], ""count"": 0}"
|
||||
wide-298,negative_lookup,True,,2.034728049999103,True,True,True,True,True,True,Aký názov práce má osoba Samuel Horáni s kľúčovým slovom agent?,"{""answer"": ""Na základe dodaných grafových faktov sa nenašli žiadne údaje o osobe Samuel Horáni s kľúčovým slovom agent."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [], ""count"": 0}"
|
||||
wide-299,negative_lookup,True,,5.025690648006275,True,True,True,True,True,True,Aký názov práce má osoba Samuel Širotník v roku 2018?,"{""answer"": ""Na základe dodaných grafových faktov sa nenašli žiadne údaje o názve práce osoby Samuel Širotník v roku 2018. Zdroj: https://zp.kemt.fei.tuke.sk/students/2018/samuel_sirotnik"", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/samuel_sirotnik""], ""count"": 0}"
|
||||
wide-300,negative_lookup,True,,3.9049685309946653,True,True,True,True,True,True,Aký názov práce má osoba Ján Pták v roku 2018?,"{""answer"": ""Na základe dodaných grafových faktov sa nenašli žiadne údaje o názve práce osoby Ján Pták v roku 2018. Dostupný zdroj (https://zp.kemt.fei.tuke.sk/students/2022/jan_ptak) sa týka roku 2022."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/jan_ptak""], ""count"": 0}"
|
||||
wide-301,negative_lookup,True,,6.157832761993632,True,True,True,True,True,True,Aký názov práce má osoba Oleh Bilykh v roku 2018?,"{""answer"": ""Na základe dodaných grafových faktov nie je možné určiť názov práce osoby Oleh Bilykh v roku 2018, pretože neexistujú žiadne zodpovedajúce fakty."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/oleh_bilykh""], ""count"": 0}"
|
||||
wide-302,negative_lookup,True,,2.3194820119970245,True,True,True,True,True,True,Aký názov práce má osoba Sevval Bulburu s kľúčovým slovom annotation?,"{""answer"": ""Na základe dodaných grafových faktov sa nenašli žiadne údaje o osobe Sevval Bulburu s kľúčovým slovom annotation."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [], ""count"": null}"
|
||||
wide-303,negative_lookup,True,,3.9633937789985794,True,True,True,True,True,True,Aký názov práce má osoba Ediz Morochovič s kľúčovým slovom gpu?,"{""answer"": ""Na základe dodaných grafových faktov sa nenašli žiadne údaje o osobe Ediz Morochovič s kľúčovým slovom gpu."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [], ""count"": 0}"
|
||||
wide-304,negative_lookup,True,,4.055577051003638,True,True,True,True,True,True,Aký názov práce má osoba Daniil Huzenko v roku 2018?,"{""answer"": ""Na základe dodaných grafových faktov sa nenašli žiadne údaje o názve práce osoby Daniil Huzenko v roku 2018. Jediný dostupný zdroj sa týka roku 2022."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/daniil_huzenko""], ""count"": 0}"
|
||||
wide-305,negative_lookup,True,,4.846808893998968,True,True,True,True,True,True,Aký názov práce má osoba Jakub Schwarc v roku 2018?,"{""answer"": ""Na základe dodaných grafových faktov sa nenašli žiadne údaje o názve práce osoby Jakub Schwarc v roku 2018. Dostupný zdroj (https://zp.kemt.fei.tuke.sk/students/2022/jakub_schwarc) sa týka roku 2022."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/jakub_schwarc""], ""count"": 0}"
|
||||
wide-306,negative_lookup,True,,4.063987007997639,True,True,True,True,True,True,Aký názov práce má osoba Youssef Ressaissi v roku 2018?,"{""answer"": ""Na základe dodaných grafových faktov sa nenašli žiadne údaje o názve práce osoby Youssef Ressaissi v roku 2018."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [], ""count"": 0}"
|
||||
wide-307,negative_lookup,True,,5.840548838998075,True,True,True,True,True,True,Aký názov práce má osoba Maksym Zatirka v roku 2018?,"{""answer"": ""Na základe dodaných grafových faktov sa nenašli žiadne údaje o názve práce osoby Maksym Zatirka v roku 2018. Jediný dostupný zdroj sa týka roku 2023 (https://zp.kemt.fei.tuke.sk/students/2023/maksym_zatirka)."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2023/maksym_zatirka""], ""count"": 0}"
|
||||
wide-308,negative_lookup,True,,2.309492806001799,True,True,True,True,True,True,Aký názov práce má osoba Patrik Pavlišin s kľúčovým slovom spacy?,"{""answer"": ""Na základe dodaných grafových faktov sa nenašli žiadne údaje o osobe Patrik Pavlišin s kľúčovým slovom spacy."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [], ""count"": 0}"
|
||||
wide-309,negative_lookup,True,,5.432989887995063,True,True,True,True,True,True,Aký názov práce má osoba Tomáš Kuchárik v roku 2018?,"{""answer"": ""Na základe dodaných grafových faktov sa nenašli žiadne údaje o názve práce osoby Tomáš Kuchárik v roku 2018. K dispozícii je len zdroj pre rok 2016: https://zp.kemt.fei.tuke.sk/students/2016/tomas_kucharik."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2016/tomas_kucharik""], ""count"": 0}"
|
||||
wide-310,negative_lookup,True,,3.9099001540016616,True,True,True,True,True,True,Aký názov práce má osoba Sevval Bulburu v roku 2018?,"{""answer"": ""Na základe dodaných grafových faktov sa nenašli žiadne údaje o názve práce osoby Sevval Bulburu v roku 2018."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [], ""count"": 0}"
|
||||
wide-311,negative_lookup,True,,5.625917255994864,True,True,True,True,True,True,Aký názov práce má osoba Eduard Matovka v roku 2018?,"{""answer"": ""Na základe dodaných grafových faktov sa nenašli žiadne údaje o názve práce osoby Eduard Matovka v roku 2018. K dispozícii je len zdroj pre rok 2021: https://zp.kemt.fei.tuke.sk/students/2021/eduard_matovka."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2021/eduard_matovka""], ""count"": 0}"
|
||||
wide-312,negative_lookup,True,,1.646204315002251,True,True,True,True,True,True,Aký názov práce má osoba Lucia Chýbajúca Vzorová?,"{""answer"": ""Požadované údaje o osobe Lucia Chýbajúca Vzorová sa nenašli."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [], ""count"": null}"
|
||||
wide-313,negative_lookup,True,,5.2200822480008355,True,True,True,True,True,True,Aký názov práce má osoba Serhii Yemets v roku 2018?,"{""answer"": ""Na základe dodaných grafových faktov sa nenašli žiadne údaje o názve práce osoby Serhii Yemets v roku 2018. K dispozícii je len zdroj pre rok 2022: https://zp.kemt.fei.tuke.sk/students/2022/serhii_yemets."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/serhii_yemets""], ""count"": 0}"
|
||||
wide-314,negative_lookup,True,,3.4291655240012915,True,True,True,True,True,True,Aký názov práce má osoba Jozef Neznámy Overovací?,"{""answer"": ""Požadované údaje o osobe Jozef Neznámy Overovací sa nenašli."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [], ""count"": null}"
|
||||
wide-315,negative_lookup,True,,3.5061925330010126,True,True,True,True,True,True,Aký názov práce má osoba Vladimír Ferko s kľúčovým slovom cluster?,"{""answer"": ""Na základe dodaných grafových faktov sa nenašli žiadne údaje o osobe Vladimír Ferko s kľúčovým slovom cluster."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [], ""count"": null}"
|
||||
wide-316,negative_lookup,True,,2.7539666459997534,True,True,True,True,True,True,Aký názov práce má osoba Ján Malinovský s kľúčovým slovom ir?,"{""answer"": ""Na základe dodaných grafových faktov sa nenašli žiadne údaje o osobe Ján Malinovský s kľúčovým slovom 'ir'."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [], ""count"": null}"
|
||||
wide-317,negative_lookup,True,,4.164983741000469,True,True,True,True,True,True,Aký názov práce má osoba Ján Holp s kľúčovým slovom interpunction?,"{""answer"": ""Na základe dodaných grafových faktov sa nenašli žiadne údaje o osobe Ján Holp s kľúčovým slovom interpunction."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [], ""count"": 0}"
|
||||
wide-318,negative_lookup,True,,1.7391303290060023,True,True,True,True,True,True,Aký názov práce má osoba Petra Neznáma Overovacia?,"{""answer"": ""Požadované údaje o osobe Petra Neznáma Overovacia sa nenašli."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [], ""count"": null}"
|
||||
wide-319,negative_lookup,True,,4.787630693994288,True,True,True,True,True,True,Aký názov práce má osoba Vladyslav Yanchenko v roku 2018?,"{""answer"": ""Na základe dodaných grafových faktov sa nenašli žiadne údaje o názve práce osoby Vladyslav Yanchenko v roku 2018. Jediný dostupný zdroj sa týka roku 2022 (https://zp.kemt.fei.tuke.sk/students/2022/vladyslav_yanchenko)."", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2022/vladyslav_yanchenko""], ""count"": 0}"
|
||||
wide-320,negative_lookup,True,,3.4466839759988943,True,True,True,True,True,True,Aký názov práce má osoba Dávid Iľaš v roku 2018?,"{""answer"": ""Na základe dodaných grafových faktov sa nenašli žiadne údaje o názve práce osoby Dávid Iľaš v roku 2018. Zdroj: https://zp.kemt.fei.tuke.sk/students/2018/david_ilas"", ""status"": ""no_answer"", ""claims"": [], ""source_urls"": [""https://zp.kemt.fei.tuke.sk/students/2018/david_ilas""], ""count"": 0}"
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,661 @@
|
||||
{
|
||||
"method": "Fresh LLM-generation holdout over previously measured, frozen graph queries.",
|
||||
"graph_freeze_sha256": "07867eb5300498b5862b1e4a607d9f5b050b9fdeab19b1fb6129810e28313a62",
|
||||
"audit_sha256": "220fd00ab08cceee6d5141ca5c1a02ec2877d1eee83b36ea707c6a076ba69e15",
|
||||
"generation_files": {
|
||||
"/home/janko/DP/zp-agent/tools/answer_evaluation/evaluate_graph_answers.py": "d34f324c0c490a02111eed31c45864c068b2b856040bea0201f731ab4ac527f5",
|
||||
"/home/janko/DP/zp-agent/tools/answer_evaluation/graph_answer_prompt.txt": "1900178f4ae805e258726a2df853ab2d0766033cf2ed956d28ea8e0caa7c653f",
|
||||
"tools/rag/evaluation/rag_runner.py": "a011b29e2b6aa47df9350e74fc358f05780a355170a819dbb1cfd16d2971493b"
|
||||
},
|
||||
"model": "model120-fast",
|
||||
"temperature": 0,
|
||||
"workers": 3,
|
||||
"dev_ids": [
|
||||
"wide-001",
|
||||
"wide-002",
|
||||
"wide-041",
|
||||
"wide-042",
|
||||
"wide-081",
|
||||
"wide-082",
|
||||
"wide-113",
|
||||
"wide-114",
|
||||
"wide-137",
|
||||
"wide-138",
|
||||
"wide-169",
|
||||
"wide-170",
|
||||
"wide-193",
|
||||
"wide-194",
|
||||
"wide-217",
|
||||
"wide-218",
|
||||
"wide-249",
|
||||
"wide-250",
|
||||
"wide-289",
|
||||
"wide-290"
|
||||
],
|
||||
"test_ids": [
|
||||
"wide-003",
|
||||
"wide-004",
|
||||
"wide-005",
|
||||
"wide-006",
|
||||
"wide-007",
|
||||
"wide-008",
|
||||
"wide-009",
|
||||
"wide-010",
|
||||
"wide-011",
|
||||
"wide-012",
|
||||
"wide-013",
|
||||
"wide-014",
|
||||
"wide-015",
|
||||
"wide-016",
|
||||
"wide-017",
|
||||
"wide-018",
|
||||
"wide-019",
|
||||
"wide-020",
|
||||
"wide-021",
|
||||
"wide-022",
|
||||
"wide-023",
|
||||
"wide-024",
|
||||
"wide-025",
|
||||
"wide-026",
|
||||
"wide-027",
|
||||
"wide-028",
|
||||
"wide-029",
|
||||
"wide-030",
|
||||
"wide-031",
|
||||
"wide-032",
|
||||
"wide-033",
|
||||
"wide-034",
|
||||
"wide-035",
|
||||
"wide-036",
|
||||
"wide-037",
|
||||
"wide-038",
|
||||
"wide-039",
|
||||
"wide-040",
|
||||
"wide-043",
|
||||
"wide-044",
|
||||
"wide-045",
|
||||
"wide-046",
|
||||
"wide-047",
|
||||
"wide-048",
|
||||
"wide-049",
|
||||
"wide-050",
|
||||
"wide-051",
|
||||
"wide-052",
|
||||
"wide-053",
|
||||
"wide-054",
|
||||
"wide-055",
|
||||
"wide-056",
|
||||
"wide-057",
|
||||
"wide-058",
|
||||
"wide-059",
|
||||
"wide-060",
|
||||
"wide-061",
|
||||
"wide-062",
|
||||
"wide-063",
|
||||
"wide-064",
|
||||
"wide-065",
|
||||
"wide-066",
|
||||
"wide-067",
|
||||
"wide-068",
|
||||
"wide-069",
|
||||
"wide-070",
|
||||
"wide-071",
|
||||
"wide-072",
|
||||
"wide-073",
|
||||
"wide-074",
|
||||
"wide-075",
|
||||
"wide-076",
|
||||
"wide-077",
|
||||
"wide-078",
|
||||
"wide-079",
|
||||
"wide-080",
|
||||
"wide-083",
|
||||
"wide-084",
|
||||
"wide-085",
|
||||
"wide-086",
|
||||
"wide-087",
|
||||
"wide-088",
|
||||
"wide-089",
|
||||
"wide-090",
|
||||
"wide-091",
|
||||
"wide-092",
|
||||
"wide-093",
|
||||
"wide-094",
|
||||
"wide-095",
|
||||
"wide-096",
|
||||
"wide-097",
|
||||
"wide-098",
|
||||
"wide-099",
|
||||
"wide-100",
|
||||
"wide-101",
|
||||
"wide-102",
|
||||
"wide-103",
|
||||
"wide-104",
|
||||
"wide-105",
|
||||
"wide-106",
|
||||
"wide-107",
|
||||
"wide-108",
|
||||
"wide-109",
|
||||
"wide-110",
|
||||
"wide-111",
|
||||
"wide-112",
|
||||
"wide-115",
|
||||
"wide-116",
|
||||
"wide-117",
|
||||
"wide-118",
|
||||
"wide-119",
|
||||
"wide-120",
|
||||
"wide-121",
|
||||
"wide-122",
|
||||
"wide-123",
|
||||
"wide-124",
|
||||
"wide-125",
|
||||
"wide-126",
|
||||
"wide-127",
|
||||
"wide-128",
|
||||
"wide-129",
|
||||
"wide-130",
|
||||
"wide-131",
|
||||
"wide-132",
|
||||
"wide-133",
|
||||
"wide-134",
|
||||
"wide-135",
|
||||
"wide-136",
|
||||
"wide-139",
|
||||
"wide-140",
|
||||
"wide-141",
|
||||
"wide-142",
|
||||
"wide-143",
|
||||
"wide-144",
|
||||
"wide-145",
|
||||
"wide-146",
|
||||
"wide-147",
|
||||
"wide-148",
|
||||
"wide-149",
|
||||
"wide-150",
|
||||
"wide-151",
|
||||
"wide-152",
|
||||
"wide-153",
|
||||
"wide-154",
|
||||
"wide-155",
|
||||
"wide-156",
|
||||
"wide-157",
|
||||
"wide-158",
|
||||
"wide-159",
|
||||
"wide-160",
|
||||
"wide-161",
|
||||
"wide-162",
|
||||
"wide-163",
|
||||
"wide-164",
|
||||
"wide-165",
|
||||
"wide-166",
|
||||
"wide-167",
|
||||
"wide-168",
|
||||
"wide-171",
|
||||
"wide-172",
|
||||
"wide-173",
|
||||
"wide-174",
|
||||
"wide-175",
|
||||
"wide-176",
|
||||
"wide-177",
|
||||
"wide-178",
|
||||
"wide-179",
|
||||
"wide-180",
|
||||
"wide-181",
|
||||
"wide-182",
|
||||
"wide-183",
|
||||
"wide-184",
|
||||
"wide-185",
|
||||
"wide-186",
|
||||
"wide-187",
|
||||
"wide-188",
|
||||
"wide-189",
|
||||
"wide-190",
|
||||
"wide-191",
|
||||
"wide-192",
|
||||
"wide-195",
|
||||
"wide-196",
|
||||
"wide-197",
|
||||
"wide-198",
|
||||
"wide-199",
|
||||
"wide-200",
|
||||
"wide-201",
|
||||
"wide-202",
|
||||
"wide-203",
|
||||
"wide-204",
|
||||
"wide-205",
|
||||
"wide-206",
|
||||
"wide-207",
|
||||
"wide-208",
|
||||
"wide-209",
|
||||
"wide-210",
|
||||
"wide-211",
|
||||
"wide-212",
|
||||
"wide-213",
|
||||
"wide-214",
|
||||
"wide-215",
|
||||
"wide-216",
|
||||
"wide-219",
|
||||
"wide-220",
|
||||
"wide-221",
|
||||
"wide-222",
|
||||
"wide-223",
|
||||
"wide-224",
|
||||
"wide-225",
|
||||
"wide-226",
|
||||
"wide-227",
|
||||
"wide-228",
|
||||
"wide-229",
|
||||
"wide-230",
|
||||
"wide-231",
|
||||
"wide-232",
|
||||
"wide-233",
|
||||
"wide-234",
|
||||
"wide-235",
|
||||
"wide-236",
|
||||
"wide-237",
|
||||
"wide-238",
|
||||
"wide-239",
|
||||
"wide-240",
|
||||
"wide-241",
|
||||
"wide-242",
|
||||
"wide-243",
|
||||
"wide-244",
|
||||
"wide-245",
|
||||
"wide-246",
|
||||
"wide-247",
|
||||
"wide-248",
|
||||
"wide-251",
|
||||
"wide-252",
|
||||
"wide-253",
|
||||
"wide-254",
|
||||
"wide-255",
|
||||
"wide-256",
|
||||
"wide-257",
|
||||
"wide-258",
|
||||
"wide-259",
|
||||
"wide-260",
|
||||
"wide-261",
|
||||
"wide-262",
|
||||
"wide-263",
|
||||
"wide-264",
|
||||
"wide-265",
|
||||
"wide-266",
|
||||
"wide-267",
|
||||
"wide-268",
|
||||
"wide-269",
|
||||
"wide-270",
|
||||
"wide-271",
|
||||
"wide-272",
|
||||
"wide-273",
|
||||
"wide-274",
|
||||
"wide-275",
|
||||
"wide-276",
|
||||
"wide-277",
|
||||
"wide-278",
|
||||
"wide-279",
|
||||
"wide-280",
|
||||
"wide-281",
|
||||
"wide-282",
|
||||
"wide-283",
|
||||
"wide-284",
|
||||
"wide-285",
|
||||
"wide-286",
|
||||
"wide-287",
|
||||
"wide-288",
|
||||
"wide-291",
|
||||
"wide-292",
|
||||
"wide-293",
|
||||
"wide-294",
|
||||
"wide-295",
|
||||
"wide-296",
|
||||
"wide-297",
|
||||
"wide-298",
|
||||
"wide-299",
|
||||
"wide-300",
|
||||
"wide-301",
|
||||
"wide-302",
|
||||
"wide-303",
|
||||
"wide-304",
|
||||
"wide-305",
|
||||
"wide-306",
|
||||
"wide-307",
|
||||
"wide-308",
|
||||
"wide-309",
|
||||
"wide-310",
|
||||
"wide-311",
|
||||
"wide-312",
|
||||
"wide-313",
|
||||
"wide-314",
|
||||
"wide-315",
|
||||
"wide-316",
|
||||
"wide-317",
|
||||
"wide-318",
|
||||
"wide-319",
|
||||
"wide-320"
|
||||
],
|
||||
"dev_count": 20,
|
||||
"test_count": 300,
|
||||
"target_accuracy": 0.92,
|
||||
"selected_split": "test",
|
||||
"selected_ids": [
|
||||
"wide-003",
|
||||
"wide-004",
|
||||
"wide-005",
|
||||
"wide-006",
|
||||
"wide-007",
|
||||
"wide-008",
|
||||
"wide-009",
|
||||
"wide-010",
|
||||
"wide-011",
|
||||
"wide-012",
|
||||
"wide-013",
|
||||
"wide-014",
|
||||
"wide-015",
|
||||
"wide-016",
|
||||
"wide-017",
|
||||
"wide-018",
|
||||
"wide-019",
|
||||
"wide-020",
|
||||
"wide-021",
|
||||
"wide-022",
|
||||
"wide-023",
|
||||
"wide-024",
|
||||
"wide-025",
|
||||
"wide-026",
|
||||
"wide-027",
|
||||
"wide-028",
|
||||
"wide-029",
|
||||
"wide-030",
|
||||
"wide-031",
|
||||
"wide-032",
|
||||
"wide-033",
|
||||
"wide-034",
|
||||
"wide-035",
|
||||
"wide-036",
|
||||
"wide-037",
|
||||
"wide-038",
|
||||
"wide-039",
|
||||
"wide-040",
|
||||
"wide-043",
|
||||
"wide-044",
|
||||
"wide-045",
|
||||
"wide-046",
|
||||
"wide-047",
|
||||
"wide-048",
|
||||
"wide-049",
|
||||
"wide-050",
|
||||
"wide-051",
|
||||
"wide-052",
|
||||
"wide-053",
|
||||
"wide-054",
|
||||
"wide-055",
|
||||
"wide-056",
|
||||
"wide-057",
|
||||
"wide-058",
|
||||
"wide-059",
|
||||
"wide-060",
|
||||
"wide-061",
|
||||
"wide-062",
|
||||
"wide-063",
|
||||
"wide-064",
|
||||
"wide-065",
|
||||
"wide-066",
|
||||
"wide-067",
|
||||
"wide-068",
|
||||
"wide-069",
|
||||
"wide-070",
|
||||
"wide-071",
|
||||
"wide-072",
|
||||
"wide-073",
|
||||
"wide-074",
|
||||
"wide-075",
|
||||
"wide-076",
|
||||
"wide-077",
|
||||
"wide-078",
|
||||
"wide-079",
|
||||
"wide-080",
|
||||
"wide-083",
|
||||
"wide-084",
|
||||
"wide-085",
|
||||
"wide-086",
|
||||
"wide-087",
|
||||
"wide-088",
|
||||
"wide-089",
|
||||
"wide-090",
|
||||
"wide-091",
|
||||
"wide-092",
|
||||
"wide-093",
|
||||
"wide-094",
|
||||
"wide-095",
|
||||
"wide-096",
|
||||
"wide-097",
|
||||
"wide-098",
|
||||
"wide-099",
|
||||
"wide-100",
|
||||
"wide-101",
|
||||
"wide-102",
|
||||
"wide-103",
|
||||
"wide-104",
|
||||
"wide-105",
|
||||
"wide-106",
|
||||
"wide-107",
|
||||
"wide-108",
|
||||
"wide-109",
|
||||
"wide-110",
|
||||
"wide-111",
|
||||
"wide-112",
|
||||
"wide-115",
|
||||
"wide-116",
|
||||
"wide-117",
|
||||
"wide-118",
|
||||
"wide-119",
|
||||
"wide-120",
|
||||
"wide-121",
|
||||
"wide-122",
|
||||
"wide-123",
|
||||
"wide-124",
|
||||
"wide-125",
|
||||
"wide-126",
|
||||
"wide-127",
|
||||
"wide-128",
|
||||
"wide-129",
|
||||
"wide-130",
|
||||
"wide-131",
|
||||
"wide-132",
|
||||
"wide-133",
|
||||
"wide-134",
|
||||
"wide-135",
|
||||
"wide-136",
|
||||
"wide-139",
|
||||
"wide-140",
|
||||
"wide-141",
|
||||
"wide-142",
|
||||
"wide-143",
|
||||
"wide-144",
|
||||
"wide-145",
|
||||
"wide-146",
|
||||
"wide-147",
|
||||
"wide-148",
|
||||
"wide-149",
|
||||
"wide-150",
|
||||
"wide-151",
|
||||
"wide-152",
|
||||
"wide-153",
|
||||
"wide-154",
|
||||
"wide-155",
|
||||
"wide-156",
|
||||
"wide-157",
|
||||
"wide-158",
|
||||
"wide-159",
|
||||
"wide-160",
|
||||
"wide-161",
|
||||
"wide-162",
|
||||
"wide-163",
|
||||
"wide-164",
|
||||
"wide-165",
|
||||
"wide-166",
|
||||
"wide-167",
|
||||
"wide-168",
|
||||
"wide-171",
|
||||
"wide-172",
|
||||
"wide-173",
|
||||
"wide-174",
|
||||
"wide-175",
|
||||
"wide-176",
|
||||
"wide-177",
|
||||
"wide-178",
|
||||
"wide-179",
|
||||
"wide-180",
|
||||
"wide-181",
|
||||
"wide-182",
|
||||
"wide-183",
|
||||
"wide-184",
|
||||
"wide-185",
|
||||
"wide-186",
|
||||
"wide-187",
|
||||
"wide-188",
|
||||
"wide-189",
|
||||
"wide-190",
|
||||
"wide-191",
|
||||
"wide-192",
|
||||
"wide-195",
|
||||
"wide-196",
|
||||
"wide-197",
|
||||
"wide-198",
|
||||
"wide-199",
|
||||
"wide-200",
|
||||
"wide-201",
|
||||
"wide-202",
|
||||
"wide-203",
|
||||
"wide-204",
|
||||
"wide-205",
|
||||
"wide-206",
|
||||
"wide-207",
|
||||
"wide-208",
|
||||
"wide-209",
|
||||
"wide-210",
|
||||
"wide-211",
|
||||
"wide-212",
|
||||
"wide-213",
|
||||
"wide-214",
|
||||
"wide-215",
|
||||
"wide-216",
|
||||
"wide-219",
|
||||
"wide-220",
|
||||
"wide-221",
|
||||
"wide-222",
|
||||
"wide-223",
|
||||
"wide-224",
|
||||
"wide-225",
|
||||
"wide-226",
|
||||
"wide-227",
|
||||
"wide-228",
|
||||
"wide-229",
|
||||
"wide-230",
|
||||
"wide-231",
|
||||
"wide-232",
|
||||
"wide-233",
|
||||
"wide-234",
|
||||
"wide-235",
|
||||
"wide-236",
|
||||
"wide-237",
|
||||
"wide-238",
|
||||
"wide-239",
|
||||
"wide-240",
|
||||
"wide-241",
|
||||
"wide-242",
|
||||
"wide-243",
|
||||
"wide-244",
|
||||
"wide-245",
|
||||
"wide-246",
|
||||
"wide-247",
|
||||
"wide-248",
|
||||
"wide-251",
|
||||
"wide-252",
|
||||
"wide-253",
|
||||
"wide-254",
|
||||
"wide-255",
|
||||
"wide-256",
|
||||
"wide-257",
|
||||
"wide-258",
|
||||
"wide-259",
|
||||
"wide-260",
|
||||
"wide-261",
|
||||
"wide-262",
|
||||
"wide-263",
|
||||
"wide-264",
|
||||
"wide-265",
|
||||
"wide-266",
|
||||
"wide-267",
|
||||
"wide-268",
|
||||
"wide-269",
|
||||
"wide-270",
|
||||
"wide-271",
|
||||
"wide-272",
|
||||
"wide-273",
|
||||
"wide-274",
|
||||
"wide-275",
|
||||
"wide-276",
|
||||
"wide-277",
|
||||
"wide-278",
|
||||
"wide-279",
|
||||
"wide-280",
|
||||
"wide-281",
|
||||
"wide-282",
|
||||
"wide-283",
|
||||
"wide-284",
|
||||
"wide-285",
|
||||
"wide-286",
|
||||
"wide-287",
|
||||
"wide-288",
|
||||
"wide-291",
|
||||
"wide-292",
|
||||
"wide-293",
|
||||
"wide-294",
|
||||
"wide-295",
|
||||
"wide-296",
|
||||
"wide-297",
|
||||
"wide-298",
|
||||
"wide-299",
|
||||
"wide-300",
|
||||
"wide-301",
|
||||
"wide-302",
|
||||
"wide-303",
|
||||
"wide-304",
|
||||
"wide-305",
|
||||
"wide-306",
|
||||
"wide-307",
|
||||
"wide-308",
|
||||
"wide-309",
|
||||
"wide-310",
|
||||
"wide-311",
|
||||
"wide-312",
|
||||
"wide-313",
|
||||
"wide-314",
|
||||
"wide-315",
|
||||
"wide-316",
|
||||
"wide-317",
|
||||
"wide-318",
|
||||
"wide-319",
|
||||
"wide-320"
|
||||
],
|
||||
"policy": "Evaluate all 300; retain every failure; do not tune on this TEST.",
|
||||
"test_categories": {
|
||||
"shared_keyword_pair": 38,
|
||||
"same_academic_year_pair": 38,
|
||||
"same_start_year_pair": 30,
|
||||
"person_title_year": 22,
|
||||
"person_keyword_title": 30,
|
||||
"document_author_category_multi_hop": 22,
|
||||
"person_multiple_categories": 22,
|
||||
"candidate_set_aggregation": 30,
|
||||
"conjunctive_disambiguation": 38,
|
||||
"negative_lookup": 30
|
||||
},
|
||||
"limitations": [
|
||||
"Known corpus/profiles and templates; model outputs for these 300 questions were not previously observed.",
|
||||
"Harness supplies graph context; native OpenWebUI tool choice and browser UI are outside this experiment.",
|
||||
"Checks structured factual claims, their source support/citations and required prose values; not a general semantic judge of arbitrary prose."
|
||||
]
|
||||
}
|
||||
123
tools/graphrag/evaluation/results/final_v4_2026-10-25/REPORT.md
Normal file
123
tools/graphrag/evaluation/results/final_v4_2026-10-25/REPORT.md
Normal file
@ -0,0 +1,123 @@
|
||||
# GraphRAG v4 — širšia evaluácia, 25. 10. 2026
|
||||
|
||||
Finálne generované odpovede cez OpenWebUI API: **281/300 = 93,67 %**, cieľ ≥92 % splnený. Grafové vyhľadávanie splnilo očakávania v **320/320** otázkach; doplnková kontrola všetkých kontextových faktov má **319/320 (99,69 %)**. DEV/regresia grafu **722/722**. Ide o správnosť podľa deklarovaných kritérií benchmarku; nie o univerzálnu pravdivosť ľubovoľnej odpovede.
|
||||
|
||||
## Korpus a protokol
|
||||
|
||||
Zdroj: používateľom zadaný repozitár `jp170na/zpwiki`, predvolená vetva `master`, commit `3e892a1d49e9bce118cd03478ce15e01c2bebb4e`. Lokálny checkout bol overený cez `git ls-remote --symref origin HEAD`. Korpus má 114 README dokumentov a 72 osôb. Indexové JSON a klasický RAG sa nemenili.
|
||||
|
||||
Nový TEST má **320 nových otázok / logických skupín**, 288 kladných a 32 záporných prípadov. Samostatný DEV má 602 historicky odhalených otázok a 120 nových prípadov. Všetky otázky boli pripravené z pôvodného Markdownu bez načítania výstupov vyhľadávania. Používajú sa formulácie otázok v niekoľkých variantoch. Výber je deterministický, seed 20261025, kvóty sú určené v generátore.
|
||||
|
||||
Všetkých 72 profilov už bolo odhalených v predchádzajúcich verziách. Preto je v4 **holdout nových otázok a kombinácií faktov nad známym korpusom**, nie experiment s novými osobami. DEV/TEST majú nulový prekryv normalizovaných logických skupín a otázok; profily, slovník a rodiny šablón sa prekrývajú. Freeze tento rozdiel výslovne uvádza a kontroluje. Starší režim profilovo oddeleného holdoutu ostáva prísny.
|
||||
|
||||
## Zdrojové očakávania
|
||||
|
||||
- Pôvodných 137 nesúladov ostáva zdokumentovaných v historickom audite a opravných záznamoch v2/v3. V4 nevydáva chybný predpoklad otázky za nájdený pozitívny fakt.
|
||||
- Pred prvým TESTom v4 prebehla ďalšia kontrola názvov: pokyny, organizačné poznámky, odkazy na repozitár a súvisiace práce sa nesmú stať názvom. Výslovný názov má prednosť pred všeobecnou témou. Názov môže byť v Markdown odkaze. Projekt sa rozlišuje od záverečnej práce.
|
||||
- Pri školskom roku sa použije explicitný nadpis, rozsah sa rozbalí. Kategória môže vybrať rok v rámci rozsahu, ale nesmie ho prepísať na nesúvisiaci rok; `Vedecký projekt 2022/23` s `vp2021` má rok 2023.
|
||||
- V4 eviduje 45 zmien alebo rozšírení historických väzieb oproti v3. Originálne súbory v1–v3 sa neprepisujú. `question_lineage.json` mapuje pôvodné ID na v4 regresiu.
|
||||
- Audit má **0 zdrojových nesúladov**. Priama kontrola 616 zdrojových dôkazových záznamov TESTu overila SHA, hodnoty frontmatter a riadky názvov. Navyše sa kontrolovali názvy a surové ukážky v stratifikovanej 20-otázkovej vzorke. Záznam je v `../v4_preparation/source_review.json`.
|
||||
- Oracle číta pôvodný Markdown oddelene od grafového buildera; zostáva pravidlový. Toto nie je úplná nezávislá ľudská anotácia všetkých 320 otázok. Rok práce je rok doložený nadpisom/metadátami akademického záznamu, nie automaticky rok obhajoby či vydania.
|
||||
|
||||
## Čo sa skutočne vyhodnocuje
|
||||
|
||||
Strict kontroluje hodnoty pri správnej osobe a konkrétnej práci, rozdiel year/start_year, názvy a typy, prepojené grafové dôkazy, kategóriu a autora toho istého dokumentu, skutočné zdrojové URL, presné množiny, počty a nenájdené prípady. Neúplný alebo orezaný výsledok neuspeje. Výstupy aj s prípadnými chybami zostávajú v menovateli.
|
||||
|
||||
Opravy v4 cielili DEV a pôvodné dokumenty. DEV pred kontrolou zdrojov mal 716/722, priebežný DEV po rozšírení anotácií 709/722, konečný DEV 722/722. Až potom vznikol `../../frozen_v4.json` a spustil sa jediný finálny grafový TEST. Po jeho odhalení sa grafový Python kód ani benchmark nemenili.
|
||||
|
||||
| Meranie | Správne | Úspešnosť | Runtime chyby | Priemer | Medián | p95 |
|
||||
|---|---:|---:|---:|---:|---:|---:|
|
||||
| Graf DEV v4 | 722/722 | 100,00 % | 0 | 42,12 ms | 40,65 ms | 54,14 ms |
|
||||
| Graf TEST v4 | 320/320 | 100,00 % | 0 | 43,01 ms | 42,94 ms | 50,86 ms |
|
||||
|
||||
| Kategória grafového TESTu | Správne | Úspešnosť |
|
||||
|---|---:|---:|
|
||||
| Spoločné kľúčové slovo | 40/40 | 100 % |
|
||||
| Spoločné roky práce | 40/40 | 100 % |
|
||||
| Spoločný začiatok štúdia | 32/32 | 100 % |
|
||||
| Názov a rok práce | 24/24 | 100 % |
|
||||
| Názov a kľúčové slovo | 32/32 | 100 % |
|
||||
| Osoba, kategória a autor dokumentu | 24/24 | 100 % |
|
||||
| Úplná množina kategórií | 24/24 | 100 % |
|
||||
| Výber a počet kandidátov | 32/32 | 100 % |
|
||||
| Tag a rok pri tej istej osobe | 40/40 | 100 % |
|
||||
| Nenájdené údaje/osoby | 32/32 | 100 % |
|
||||
|
||||
Graf má 447 uzlov a 879 vzťahov. Pred zmenou bol uložený snapshot aj archív projektu v `/tmp/zp-agent-graphrag-v4-backup-20261025T013116Z/`. Záverečná kompletná automatizovaná sada: **448 passed, 4 skipped** vrátane Neo4j integračných rollback testov a nových testov LLM hodnotenia.
|
||||
|
||||
## Historické merania ostávajú zachované
|
||||
|
||||
| Verzia | TEST | Význam |
|
||||
|---|---:|---|
|
||||
| v1 | 152/214 (71,03 %) | Pôvodný benchmark s neskôr zistenými nesúladmi |
|
||||
| v2 | 67/80 (83,75 %) | Profilovo oddelený širší TEST pred poslednými opravami |
|
||||
| v3 | 13/13 (100 %) | Malý doplnkový TEST na posledných dvoch nových profiloch |
|
||||
| v4 | 320/320 (100 %) | Nové otázky/logické skupiny nad všetkými známymi profilmi |
|
||||
|
||||
Verzie majú odlišné otázky, anotácie a pravidlá; percentá nie sú kontrolovaným priamym porovnaním rovnakého testu. Historické klasické RAG DEV/TEST, retrieval baseline a podklady pre diplomovku zostávajú zachované.
|
||||
|
||||
## Reprodukcia grafového merania
|
||||
|
||||
```bash
|
||||
set -a
|
||||
source .env
|
||||
set +a
|
||||
python -m tools.graphrag.evaluation.evaluate_graphrag \
|
||||
--split test \
|
||||
--audit tools/graphrag/evaluation/results/v4_preparation/source_audit.json \
|
||||
--freeze-manifest tools/graphrag/evaluation/frozen_v4.json \
|
||||
--output-dir /tmp/graphrag-v4-reproduction
|
||||
```
|
||||
|
||||
Treba zodpovedajúci kód, pôvodnú wiki, JSON vstupy a graf podľa manifestu. Pre opakovanie sa vyžaduje nový adresár. Reprodukcia nie je ďalší nezávislý TEST. Ak sa podľa v4 TESTu bude ďalej ladiť, jeho otázky sa stanú DEV a treba nový testovací protokol.
|
||||
|
||||
## Finálne odpovede modelu cez OpenWebUI
|
||||
|
||||
Na používateľovu otázku o spôsobe testovania sa interné meranie doplnilo skutočným externým generovaním. Prvých 20 otázok sa najprv použilo na diagnostiku (pôvodné hodnotenie 16/20). Potom zostali výhradne DEV. Samostatné opätovné hodnotenie pod rovnakými finálnymi kritériami má 15/20; pôvodný súbor sa neprepisuje. Spresnil sa význam polí a odstránila sa zámena profilových/úložiskových metadát s akademickými faktami. Nepovinné null sa pri hodnotení nepovažuje za pozitívne tvrdenie. Na týchto istých DEV otázkach nový prompt dosiahol 19/20.
|
||||
|
||||
Zostávajúcich **300 otázok** tvorí nový TEST generovania. Ich grafové výsledky sa už predtým merali, ale odpovede tohto modelu na tieto otázky neboli pred ladením generovania pozorované. Pred prvou TEST odpoveďou sa uložili presné ID, model, temperature=0, tri súbežné požiadavky, SHA promptu/adaptéra/HTTP klienta a odkaz na zmrazený graf. Počas ani po tomto TESTe sa prompt či hodnotenie neladili. Vyhodnotilo sa všetkých 300 vrátane zlyhaní; prvý finálny beh splnil cieľ.
|
||||
|
||||
| Meranie generovania | Správne | Strict úspešnosť | Chyba spracovania |
|
||||
|---|---:|---:|---:|
|
||||
| DEV, 20 už odhalených otázok | 19/20 | 95,00 % | 0 |
|
||||
| TEST, 300 nových LLM výstupov | **281/300** | **93,67 %** | 7 |
|
||||
|
||||
Model ID je `model120-fast`, server vrátil `Qwen3.5-122B-A10B-Q4_K_M`. Priemerná latencia externého požiadavku bola 7,62 s, medián 7,58 s, p95 11,52 s pri troch súbežných požiadavkách. JSON aj CSV obsahujú všetky výsledky; surové odpovede, tokeny a kontrolné príznaky zostali uložené. `../answers_v4_test_2026-10-25/frozen_answers.json` deklaruje protokol a `answers_test.json` je úplné meranie.
|
||||
|
||||
| Kategória LLM TESTu | Správne | Strict úspešnosť |
|
||||
|---|---:|---:|
|
||||
| Spoločné kľúčové slovo | 38/38 | 100.00 % |
|
||||
| Spoločné roky práce | 37/38 | 97.37 % |
|
||||
| Spoločný začiatok štúdia | 29/30 | 96.67 % |
|
||||
| Názov a rok práce | 21/22 | 95.45 % |
|
||||
| Názov a kľúčové slovo | 21/30 | 70.00 % |
|
||||
| Osoba, kategória a autor dokumentu | 20/22 | 90.91 % |
|
||||
| Úplná množina kategórií | 21/22 | 95.45 % |
|
||||
| Výber a počet kandidátov | 27/30 | 90.00 % |
|
||||
| Tag a rok pri tej istej osobe | 37/38 | 97.37 % |
|
||||
| Nenájdené údaje/osoby | 30/30 | 100.00 % |
|
||||
|
||||
Devätnásť zlyhaní sa výlučne rozdelilo takto: **7 neplatných JSON výstupov**, **6 chýbajúcich alebo rozdelených väzieb**, **3 chýbajúce povinné hodnoty v prirodzenom texte** a **3 nepodporené tvrdenia alebo zamenené osoby**. Všetky zostali v menovateli. Pri neplatnom JSON server odpovedal, nešlo o transportný výpadok. Časť vecne správnych odpovedí stratila strict bod pre formát alebo pre neúplný predpísaný výstup; výsledok preto nie je percentom výlučne faktických nepravdivých viet. Príklady sú v `../answers_v4_test_2026-10-25/failures.json`.
|
||||
|
||||
Najslabšia kategória je názov + tag (21/30). Napríklad tag z dcérskeho dokumentu patrí podľa benchmarku tej istej osobe, ale model niekedy požaduje neprávom ten istý dokument ako pri názve práce. Niekedy uvedie správny tag a názov v dvoch claims namiesto požadovanej spojenej väzby. Pri autorovi dokumentu sa v dvoch prípadoch správny autor v texte omylom stal aj person v štruktúrovanom tvrdení. Zaznamenané obmedzenia zostávajú predmetom ďalšieho vývoja; 93,67 % nie je zárukou bezchybného agenta.
|
||||
|
||||
## Doplnková kontrola všetkých vrátených grafových faktov
|
||||
|
||||
Po meraní sa navyše porovnali všetky normalizované grafové fakty použité v 320 kontextoch s pôvodným zdrojovým oracle, vrátane nadbytočných hodnôt. V **319/320 kontextoch (99,69 %)** boli všetky takto kontrolované fakty zdrojovo podporené. V `wide-080` splnenie požadovaných očakávaní prešlo, ale graf navyše vrátil pri Dominikovi Nagyovi rok 2021, ktorý oracle nepotvrdzuje. Tento nadbytočný údaj sa dostal aj do odpovede modelu a LLM hodnotenie ho správne odmietlo.
|
||||
|
||||
Preto **320/320 strict retrieval neznamená 100 % pravdivosť každej nadbytočnej grafovej hodnoty**. Pôvodný strict skóruje splnenie očakávaných otázok a dôkazov; doplnková kontrola odhaľuje aj túto zvyšnú odchýlku. Obe čísla sú uložené bez prepísania pôvodných výsledkov. Táto doplnková metrika je post-hoc audit, nie náhrada primárneho predregistrovaného výsledku ani ďalší TEST.
|
||||
|
||||
## Stav bodu 3 a praktické hranice
|
||||
|
||||
| Podbod | Stav v4 |
|
||||
|---|---|
|
||||
| 3.1 Audit a benchmark | Uzavretý pre deklarovaný korpus: 320 nových TEST skupín, 722 DEV, opravy a zdrojové dôkazy uložené. |
|
||||
| 3.2 Evaluator | Funkčný, typované a spojené dôkazy, roly/roky/počty/zdroje, negatívne regresie; LLM skóruje aj predpísaný formát a úplnosť. |
|
||||
| 3.3 DEV ladenie | Ukončené pred TEST: graf 722/722, generovanie 19/20. |
|
||||
| 3.4 Zmrazenie | Odtlačky grafu/kódu/dát/otázok/auditu a osobitne promptu/generovania uložené pred TESTom. |
|
||||
| 3.5 Finálny TEST | Celých 320 grafových otázok a 300 externých LLM odpovedí; všetky zlyhania započítané. |
|
||||
| 3.6 Metriky a vyhodnotenie | JSON, CSV, rozpis kategórií, chýb a historických experimentov uložený; cieľ ≥92 % splnený. |
|
||||
|
||||
Bod 3 je uzavretý **pre túto verziu a deklarovaný protokol**, s uvedenými chybami a hranicami. Neznamená to dokončenie celého projektu ani všeobecnú 100 % správnosť kódu. Nasleduje bod 4: samostatne inštalovateľné nástroje a natívna integrácia/hodnotenie hlavného OpenWebUI agenta.
|
||||
|
||||
Externý beh používa školské chat API s kontextom dodaným lokálnym skriptom; netestuje prehliadač ani autonómny výber nainštalovaného grafového nástroja. Hodnotí štruktúrované zdrojovo podporené tvrdenia, povinné textové hodnoty a citácie; nie ľubovoľnú sémantiku každej vety. Modelové váhy na externom serveri nie sú lokálne zmrazené a budúca reprodukcia nemusí vrátiť tie isté texty ani pri temperature=0. Uložené pôvodné odpovede umožňujú audit merania.
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
135378
tools/graphrag/evaluation/results/final_v4_2026-10-25/graphrag_dev.json
Normal file
135378
tools/graphrag/evaluation/results/final_v4_2026-10-25/graphrag_dev.json
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
62364
tools/graphrag/evaluation/results/final_v4_2026-10-25/graphrag_test.json
Normal file
62364
tools/graphrag/evaluation/results/final_v4_2026-10-25/graphrag_test.json
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,309 @@
|
||||
{
|
||||
"method": "Regrade all original diagnostic outputs under the same final generation criteria, ignoring null fields as absence and checking required prose values. Original raw measurement remains unchanged.",
|
||||
"source_sha256": "124d0c359973605953662366112cd7ac58a29961685d459c133b72e3d7fc11cb",
|
||||
"original_raw_summary": {
|
||||
"questions": 20,
|
||||
"correct": 16,
|
||||
"accuracy": 0.8
|
||||
},
|
||||
"summary": {
|
||||
"questions": 20,
|
||||
"correct": 15,
|
||||
"accuracy": 0.75
|
||||
},
|
||||
"questions": [
|
||||
{
|
||||
"id": "wide-001",
|
||||
"strict": true,
|
||||
"bindings_ok": true,
|
||||
"unsupported_claims": [],
|
||||
"sources_ok": true,
|
||||
"status_ok": true,
|
||||
"count_ok": true,
|
||||
"set_ok": true,
|
||||
"text_values_ok": true,
|
||||
"missing_text_values": [],
|
||||
"contradictory_thesis_label": false
|
||||
},
|
||||
{
|
||||
"id": "wide-002",
|
||||
"strict": false,
|
||||
"bindings_ok": true,
|
||||
"unsupported_claims": [
|
||||
{
|
||||
"person": "Nikita Bodnar",
|
||||
"keyword": "NLP",
|
||||
"start_year": 2021,
|
||||
"category": "student",
|
||||
"title": "Nikita Bodnar"
|
||||
},
|
||||
{
|
||||
"person": "Jakub Schwarc",
|
||||
"keyword": "NLP",
|
||||
"start_year": 2022,
|
||||
"category": "student",
|
||||
"title": "Jakub Schwarc"
|
||||
}
|
||||
],
|
||||
"sources_ok": true,
|
||||
"status_ok": true,
|
||||
"count_ok": true,
|
||||
"set_ok": true,
|
||||
"text_values_ok": true,
|
||||
"missing_text_values": [],
|
||||
"contradictory_thesis_label": false
|
||||
},
|
||||
{
|
||||
"id": "wide-041",
|
||||
"strict": true,
|
||||
"bindings_ok": true,
|
||||
"unsupported_claims": [],
|
||||
"sources_ok": true,
|
||||
"status_ok": true,
|
||||
"count_ok": true,
|
||||
"set_ok": true,
|
||||
"text_values_ok": true,
|
||||
"missing_text_values": [],
|
||||
"contradictory_thesis_label": false
|
||||
},
|
||||
{
|
||||
"id": "wide-042",
|
||||
"strict": true,
|
||||
"bindings_ok": true,
|
||||
"unsupported_claims": [],
|
||||
"sources_ok": true,
|
||||
"status_ok": true,
|
||||
"count_ok": true,
|
||||
"set_ok": true,
|
||||
"text_values_ok": true,
|
||||
"missing_text_values": [],
|
||||
"contradictory_thesis_label": false
|
||||
},
|
||||
{
|
||||
"id": "wide-081",
|
||||
"strict": true,
|
||||
"bindings_ok": true,
|
||||
"unsupported_claims": [],
|
||||
"sources_ok": true,
|
||||
"status_ok": true,
|
||||
"count_ok": true,
|
||||
"set_ok": true,
|
||||
"text_values_ok": true,
|
||||
"missing_text_values": [],
|
||||
"contradictory_thesis_label": false
|
||||
},
|
||||
{
|
||||
"id": "wide-082",
|
||||
"strict": true,
|
||||
"bindings_ok": true,
|
||||
"unsupported_claims": [],
|
||||
"sources_ok": true,
|
||||
"status_ok": true,
|
||||
"count_ok": true,
|
||||
"set_ok": true,
|
||||
"text_values_ok": true,
|
||||
"missing_text_values": [],
|
||||
"contradictory_thesis_label": false
|
||||
},
|
||||
{
|
||||
"id": "wide-113",
|
||||
"strict": true,
|
||||
"bindings_ok": true,
|
||||
"unsupported_claims": [],
|
||||
"sources_ok": true,
|
||||
"status_ok": true,
|
||||
"count_ok": true,
|
||||
"set_ok": true,
|
||||
"text_values_ok": true,
|
||||
"missing_text_values": [],
|
||||
"contradictory_thesis_label": false
|
||||
},
|
||||
{
|
||||
"id": "wide-114",
|
||||
"strict": true,
|
||||
"bindings_ok": true,
|
||||
"unsupported_claims": [],
|
||||
"sources_ok": true,
|
||||
"status_ok": true,
|
||||
"count_ok": true,
|
||||
"set_ok": true,
|
||||
"text_values_ok": true,
|
||||
"missing_text_values": [],
|
||||
"contradictory_thesis_label": false
|
||||
},
|
||||
{
|
||||
"id": "wide-137",
|
||||
"strict": false,
|
||||
"bindings_ok": true,
|
||||
"unsupported_claims": [],
|
||||
"sources_ok": true,
|
||||
"status_ok": true,
|
||||
"count_ok": true,
|
||||
"set_ok": true,
|
||||
"text_values_ok": false,
|
||||
"missing_text_values": [
|
||||
"Lukáš Pokrývka"
|
||||
],
|
||||
"contradictory_thesis_label": false
|
||||
},
|
||||
{
|
||||
"id": "wide-138",
|
||||
"strict": false,
|
||||
"bindings_ok": true,
|
||||
"unsupported_claims": [],
|
||||
"sources_ok": true,
|
||||
"status_ok": true,
|
||||
"count_ok": true,
|
||||
"set_ok": true,
|
||||
"text_values_ok": false,
|
||||
"missing_text_values": [
|
||||
"Lukáš Pokrývka"
|
||||
],
|
||||
"contradictory_thesis_label": false
|
||||
},
|
||||
{
|
||||
"id": "wide-169",
|
||||
"strict": true,
|
||||
"bindings_ok": true,
|
||||
"unsupported_claims": [],
|
||||
"sources_ok": true,
|
||||
"status_ok": true,
|
||||
"count_ok": true,
|
||||
"set_ok": true,
|
||||
"text_values_ok": true,
|
||||
"missing_text_values": [],
|
||||
"contradictory_thesis_label": false
|
||||
},
|
||||
{
|
||||
"id": "wide-170",
|
||||
"strict": true,
|
||||
"bindings_ok": true,
|
||||
"unsupported_claims": [],
|
||||
"sources_ok": true,
|
||||
"status_ok": true,
|
||||
"count_ok": true,
|
||||
"set_ok": true,
|
||||
"text_values_ok": true,
|
||||
"missing_text_values": [],
|
||||
"contradictory_thesis_label": false
|
||||
},
|
||||
{
|
||||
"id": "wide-193",
|
||||
"strict": false,
|
||||
"bindings_ok": true,
|
||||
"unsupported_claims": [],
|
||||
"sources_ok": true,
|
||||
"status_ok": true,
|
||||
"count_ok": true,
|
||||
"set_ok": true,
|
||||
"text_values_ok": true,
|
||||
"missing_text_values": [],
|
||||
"contradictory_thesis_label": true
|
||||
},
|
||||
{
|
||||
"id": "wide-194",
|
||||
"strict": true,
|
||||
"bindings_ok": true,
|
||||
"unsupported_claims": [],
|
||||
"sources_ok": true,
|
||||
"status_ok": true,
|
||||
"count_ok": true,
|
||||
"set_ok": true,
|
||||
"text_values_ok": true,
|
||||
"missing_text_values": [],
|
||||
"contradictory_thesis_label": false
|
||||
},
|
||||
{
|
||||
"id": "wide-217",
|
||||
"strict": false,
|
||||
"bindings_ok": true,
|
||||
"unsupported_claims": [
|
||||
{
|
||||
"person": "Dárius Lindvai",
|
||||
"year": 2020,
|
||||
"start_year": 2016,
|
||||
"category": "Diplomový projekt"
|
||||
},
|
||||
{
|
||||
"person": "Patrik Pavlišin",
|
||||
"year": 2020,
|
||||
"start_year": 2016,
|
||||
"title": "Metódy automatického prekladu",
|
||||
"category": "Bakalárska práca"
|
||||
}
|
||||
],
|
||||
"sources_ok": true,
|
||||
"status_ok": true,
|
||||
"count_ok": true,
|
||||
"set_ok": true,
|
||||
"text_values_ok": true,
|
||||
"missing_text_values": [],
|
||||
"contradictory_thesis_label": false
|
||||
},
|
||||
{
|
||||
"id": "wide-218",
|
||||
"strict": true,
|
||||
"bindings_ok": true,
|
||||
"unsupported_claims": [],
|
||||
"sources_ok": true,
|
||||
"status_ok": true,
|
||||
"count_ok": true,
|
||||
"set_ok": true,
|
||||
"text_values_ok": true,
|
||||
"missing_text_values": [],
|
||||
"contradictory_thesis_label": false
|
||||
},
|
||||
{
|
||||
"id": "wide-249",
|
||||
"strict": true,
|
||||
"bindings_ok": true,
|
||||
"unsupported_claims": [],
|
||||
"sources_ok": true,
|
||||
"status_ok": true,
|
||||
"count_ok": true,
|
||||
"set_ok": true,
|
||||
"text_values_ok": true,
|
||||
"missing_text_values": [],
|
||||
"contradictory_thesis_label": false
|
||||
},
|
||||
{
|
||||
"id": "wide-250",
|
||||
"strict": true,
|
||||
"bindings_ok": true,
|
||||
"unsupported_claims": [],
|
||||
"sources_ok": true,
|
||||
"status_ok": true,
|
||||
"count_ok": true,
|
||||
"set_ok": true,
|
||||
"text_values_ok": true,
|
||||
"missing_text_values": [],
|
||||
"contradictory_thesis_label": false
|
||||
},
|
||||
{
|
||||
"id": "wide-289",
|
||||
"strict": true,
|
||||
"bindings_ok": true,
|
||||
"unsupported_claims": [],
|
||||
"sources_ok": true,
|
||||
"status_ok": true,
|
||||
"count_ok": true,
|
||||
"set_ok": true,
|
||||
"text_values_ok": true,
|
||||
"missing_text_values": [],
|
||||
"contradictory_thesis_label": false
|
||||
},
|
||||
{
|
||||
"id": "wide-290",
|
||||
"strict": true,
|
||||
"bindings_ok": true,
|
||||
"unsupported_claims": [],
|
||||
"sources_ok": true,
|
||||
"status_ok": true,
|
||||
"count_ok": true,
|
||||
"set_ok": true,
|
||||
"text_values_ok": true,
|
||||
"missing_text_values": [],
|
||||
"contradictory_thesis_label": false
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -0,0 +1,147 @@
|
||||
{
|
||||
"completed_at_utc": "2026-10-25T02:04:11.837608+00:00",
|
||||
"graph_dev": {
|
||||
"correct": 722,
|
||||
"questions": 722,
|
||||
"accuracy": 1.0
|
||||
},
|
||||
"graph_test": {
|
||||
"correct": 320,
|
||||
"questions": 320,
|
||||
"accuracy": 1.0
|
||||
},
|
||||
"all_graph_context_facts_source_check": {
|
||||
"questions": 320,
|
||||
"source_consistent": 319,
|
||||
"inconsistent_ids": [
|
||||
"wide-080"
|
||||
]
|
||||
},
|
||||
"generation_dev": {
|
||||
"questions": 20,
|
||||
"correct": 19,
|
||||
"accuracy": 0.95,
|
||||
"errors": 0
|
||||
},
|
||||
"generation_test": {
|
||||
"questions": 300,
|
||||
"correct": 281,
|
||||
"accuracy": 0.9366666666666666,
|
||||
"errors": 7
|
||||
},
|
||||
"generation_test_by_category": {
|
||||
"candidate_set_aggregation": {
|
||||
"questions": 30,
|
||||
"correct": 27,
|
||||
"accuracy": 0.9
|
||||
},
|
||||
"conjunctive_disambiguation": {
|
||||
"questions": 38,
|
||||
"correct": 37,
|
||||
"accuracy": 0.9736842105263158
|
||||
},
|
||||
"document_author_category_multi_hop": {
|
||||
"questions": 22,
|
||||
"correct": 20,
|
||||
"accuracy": 0.9090909090909091
|
||||
},
|
||||
"negative_lookup": {
|
||||
"questions": 30,
|
||||
"correct": 30,
|
||||
"accuracy": 1.0
|
||||
},
|
||||
"person_keyword_title": {
|
||||
"questions": 30,
|
||||
"correct": 21,
|
||||
"accuracy": 0.7
|
||||
},
|
||||
"person_multiple_categories": {
|
||||
"questions": 22,
|
||||
"correct": 21,
|
||||
"accuracy": 0.9545454545454546
|
||||
},
|
||||
"person_title_year": {
|
||||
"questions": 22,
|
||||
"correct": 21,
|
||||
"accuracy": 0.9545454545454546
|
||||
},
|
||||
"same_academic_year_pair": {
|
||||
"questions": 38,
|
||||
"correct": 37,
|
||||
"accuracy": 0.9736842105263158
|
||||
},
|
||||
"same_start_year_pair": {
|
||||
"questions": 30,
|
||||
"correct": 29,
|
||||
"accuracy": 0.9666666666666667
|
||||
},
|
||||
"shared_keyword_pair": {
|
||||
"questions": 38,
|
||||
"correct": 38,
|
||||
"accuracy": 1.0
|
||||
}
|
||||
},
|
||||
"generation_failure_reasons": {
|
||||
"unsupported_or_wrong_subject_claim": 3,
|
||||
"missing_required_prose_value": 3,
|
||||
"invalid_json": 7,
|
||||
"binding_missing_or_split": 6
|
||||
},
|
||||
"generation_latency_seconds": {
|
||||
"mean": 7.617359811466643,
|
||||
"median": 7.5836237964977045,
|
||||
"p95": 11.524189818002924
|
||||
},
|
||||
"generation_token_usage": {
|
||||
"completion_tokens": 52582,
|
||||
"prompt_tokens": 243107,
|
||||
"total_tokens": 295689
|
||||
},
|
||||
"target": 0.92,
|
||||
"target_met": true,
|
||||
"tests": {
|
||||
"passed": 448,
|
||||
"skipped": 4
|
||||
},
|
||||
"point_3_status": {
|
||||
"1": "complete_for_declared_v4_protocol",
|
||||
"2": "complete_for_declared_v4_protocol",
|
||||
"3": "complete_for_declared_v4_protocol",
|
||||
"4": "complete_for_declared_v4_protocol",
|
||||
"5": "complete_for_declared_v4_protocol",
|
||||
"6": "complete_for_declared_v4_protocol"
|
||||
},
|
||||
"attempt_history": [
|
||||
{
|
||||
"experiment": "graph_v4",
|
||||
"dev": 722,
|
||||
"test": 320,
|
||||
"correct": 320,
|
||||
"attempt": 1
|
||||
},
|
||||
{
|
||||
"experiment": "initial_external_diagnostic",
|
||||
"questions": 20,
|
||||
"correct_raw": 16,
|
||||
"role_after_exposure": "dev"
|
||||
},
|
||||
{
|
||||
"experiment": "revised_generation_dev",
|
||||
"questions": 20,
|
||||
"correct": 19
|
||||
},
|
||||
{
|
||||
"experiment": "generation_v4_test",
|
||||
"questions": 300,
|
||||
"correct": 281,
|
||||
"attempt": 1
|
||||
}
|
||||
],
|
||||
"limitations": [
|
||||
"Known corpus, profiles, vocabulary and template families; no independent human annotation of all questions.",
|
||||
"Strict generation scoring includes malformed JSON and incomplete prose; not every failure is a factual falsehood.",
|
||||
"Retrieval strict checks required proofs, not every extra returned fact. Supplementary all-context source check is reported separately.",
|
||||
"OpenWebUI API with harness-supplied context, not native tool routing or browser use.",
|
||||
"External server model weights are not locally frozen; raw responses and returned model identity are retained."
|
||||
]
|
||||
}
|
||||
1520
tools/graphrag/evaluation/results/v4_preparation/partition.json
Normal file
1520
tools/graphrag/evaluation/results/v4_preparation/partition.json
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
7906
tools/graphrag/evaluation/results/v4_preparation/source_audit.json
Normal file
7906
tools/graphrag/evaluation/results/v4_preparation/source_audit.json
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,36 @@
|
||||
{
|
||||
"method": "Direct reread of raw Markdown SHA, frontmatter values and literal academic title source lines; no search output.",
|
||||
"test_questions": 320,
|
||||
"source_proof_records_checked": 616,
|
||||
"issues": [],
|
||||
"agent_reviewed_stratified_sample_ids": [
|
||||
"wide-001",
|
||||
"wide-002",
|
||||
"wide-041",
|
||||
"wide-042",
|
||||
"wide-081",
|
||||
"wide-082",
|
||||
"wide-113",
|
||||
"wide-114",
|
||||
"wide-137",
|
||||
"wide-138",
|
||||
"wide-169",
|
||||
"wide-170",
|
||||
"wide-193",
|
||||
"wide-194",
|
||||
"wide-217",
|
||||
"wide-218",
|
||||
"wide-249",
|
||||
"wide-250",
|
||||
"wide-289",
|
||||
"wide-290"
|
||||
],
|
||||
"review_scope": "Source annotations reviewed by Codex; not an independent human annotation study. All title gold inspected; raw excerpts inspected for title/source anomalies and the stratified sample.",
|
||||
"decisions": [
|
||||
"Prefer explicit academic heading year; expand 2022/23 to 2023 unless a matching category selects a year inside that range.",
|
||||
"Prefer explicit title/proposed title over generic topic. Písomná práca labels can name a team-project report.",
|
||||
"Instructions, status notes, related-work prose and repository links are not titles.",
|
||||
"A metadata author belongs to its actual document; child categories remain included."
|
||||
],
|
||||
"dataset_sha256": "9a3b873882bbf29b905d79c9448c3c287fda30323f93a6533b88dbd59b19f558"
|
||||
}
|
||||
@ -71,9 +71,12 @@ def academic_type(heading: str) -> str | None:
|
||||
return None
|
||||
|
||||
|
||||
def acceptable_title(value: str) -> bool:
|
||||
def acceptable_title(value: str, *, explicit: bool = False) -> bool:
|
||||
text = norm(value)
|
||||
if not (len(value) >= 10 and len(value) <= 350 and len(text.split()) >= 2):
|
||||
if not (len(value) >= (6 if explicit else 10) and len(value) <= 180
|
||||
and len(text.split()) >= (1 if explicit else 2)):
|
||||
return False
|
||||
if re.search(r'https?://', value):
|
||||
return False
|
||||
if value.endswith(':') or re.match(r'^(?:https?://|[-*+] |\d+[.)] )', value):
|
||||
return False
|
||||
@ -82,6 +85,9 @@ def acceptable_title(value: str) -> bool:
|
||||
'navrh na zadamie', 'poznamka', 'praca uspesne', 'projekt uspesne', 'projekt zakoncen',
|
||||
'bakalarska praca na crzp', 'git repozitar', 'zdrojove texty', 'praca na crzp',
|
||||
'rok zaciatku', 'zaciatok studia', 'meno veduceho', 'veduci', 'crzp',
|
||||
'pozriet si', 'prejst si', 'konzultacie', 'projekt odlozeny',
|
||||
'napady na', 'virtualne stretnutie', 'chceme vytvorit',
|
||||
'praca suvisi', 'pisomna praca', 'spolupraca', 'suvisiaca praca',
|
||||
])
|
||||
|
||||
|
||||
@ -93,7 +99,7 @@ def title_candidates(lines: list[str], offset: int = 0) -> list[dict]:
|
||||
continue
|
||||
label, inline = line.split(':', 1)
|
||||
key = norm(label)
|
||||
if not (key in {'nazov', 'nazov prace', 'nazov bakalarskej prace', 'nazov diplomovej prace',
|
||||
if not (key in {'nazov', 'nazov prace', 'nazov bakalarskej prace', 'nazov diplomovej prace', 'pisomna praca',
|
||||
'predbezny nazov', 'tema', 'navrh na temu'} or key.startswith('navrh na nazov')):
|
||||
continue
|
||||
value = inline.strip()
|
||||
@ -102,7 +108,7 @@ def title_candidates(lines: list[str], offset: int = 0) -> list[dict]:
|
||||
for next_index in range(index + 1, min(index + 7, len(lines))):
|
||||
if lines[next_index].strip():
|
||||
value = clean(lines[next_index]); value_index = next_index; break
|
||||
if acceptable_title(value):
|
||||
if acceptable_title(value, explicit=True):
|
||||
found.append({'title': value, 'line': offset + value_index + 1,
|
||||
'label': key, 'label_line': offset + index + 1,
|
||||
'priority': 0 if key.startswith('nazov') else 1 if key.startswith('navrh na nazov') else 2})
|
||||
@ -148,6 +154,7 @@ def extract_academics(document: dict) -> list[dict]:
|
||||
if not chosen:
|
||||
# A short leading plain paragraph before assignment lists is a title;
|
||||
# task/status labels, links and prose after a task boundary are not.
|
||||
leading = []
|
||||
for n, raw in enumerate(section[:15]):
|
||||
text = clean(raw)
|
||||
if not text:
|
||||
@ -162,8 +169,9 @@ def extract_academics(document: dict) -> list[dict]:
|
||||
break
|
||||
if raw.strip().startswith(('http', '[')) or not acceptable_title(text):
|
||||
continue
|
||||
chosen = {'title': text, 'line': offset + index + n + 2, 'label': 'leading_title'}
|
||||
break
|
||||
leading.append({'title': text, 'line': offset + index + n + 2, 'label': 'leading_title'})
|
||||
if leading:
|
||||
chosen = leading[-1]
|
||||
records.append({'academic_kind': 'Thesis' if kind.endswith('_thesis') else 'Work',
|
||||
'academic_type': kind, 'year': year, 'title': chosen['title'] if chosen else None,
|
||||
'document_path': document['path'], 'heading': heading,
|
||||
|
||||
@ -2453,6 +2453,9 @@ def search_graph_with_session(
|
||||
work_rows = fetch(work_specific, WORK_FACTS_QUERY,
|
||||
work_ids=work_ids, years=constraints["years"],
|
||||
work_types=constraints["work_types"])
|
||||
if title_specific:
|
||||
thesis_rows = [row for row in thesis_rows if row.get("title")]
|
||||
work_rows = [row for row in work_rows if row.get("title")]
|
||||
start_rows = fetch(constraints["mentions_start_year"], START_YEAR_FACTS_QUERY,
|
||||
years=constraints["years"])
|
||||
keyword_rows = fetch(keyword_specific, PERSON_KEYWORD_FACTS_QUERY, keyword_ids=keyword_ids)
|
||||
|
||||
@ -37,6 +37,7 @@ WORK_HEADING_PATTERNS = (
|
||||
)
|
||||
|
||||
TITLE_LABELS = {
|
||||
"pisomna praca",
|
||||
"nazov",
|
||||
"nazov prace",
|
||||
"nazov bakalarskej prace",
|
||||
@ -96,6 +97,11 @@ TITLE_BLOCK_BOUNDARY_PREFIXES = (
|
||||
)
|
||||
|
||||
NON_TITLE_PREFIXES = (
|
||||
"pozriet si",
|
||||
"prejst si",
|
||||
"konzultacie",
|
||||
"projekt odlozeny",
|
||||
"chceme vytvorit",
|
||||
"dokument",
|
||||
"sekcia",
|
||||
"rok zaciatku studia",
|
||||
@ -388,9 +394,6 @@ def resolve_work_year(
|
||||
return common[-1]
|
||||
|
||||
if len(heading_years) > 1:
|
||||
if len(category_candidates) == 1:
|
||||
return category_candidates[0]
|
||||
|
||||
return heading_years[-1]
|
||||
|
||||
if heading_years:
|
||||
@ -575,7 +578,7 @@ def extract_labeled_title(
|
||||
if normalized_before not in labels:
|
||||
continue
|
||||
|
||||
title = after.strip()
|
||||
title = re.sub(r'\[([^\]]+)\]\([^)]*\)', r'\1', after).strip()
|
||||
|
||||
if title:
|
||||
if is_title_candidate(
|
||||
@ -690,9 +693,13 @@ def extract_work_title(
|
||||
) -> str | None:
|
||||
title = extract_labeled_title(
|
||||
texts,
|
||||
TITLE_LABELS,
|
||||
TITLE_LABELS - {"tema", "navrh na temu", "pisomna praca"},
|
||||
)
|
||||
|
||||
if title:
|
||||
return title
|
||||
|
||||
title = extract_labeled_title(texts, {"tema", "navrh na temu", "pisomna praca"})
|
||||
if title:
|
||||
return title
|
||||
|
||||
|
||||
123
tools/graphrag/tests/test_evaluation_wide.py
Normal file
123
tools/graphrag/tests/test_evaluation_wide.py
Normal file
@ -0,0 +1,123 @@
|
||||
"""Prevent query leakage and regression of raw-source title/year semantics."""
|
||||
from __future__ import annotations
|
||||
|
||||
import copy
|
||||
|
||||
import pytest
|
||||
|
||||
from tools.graphrag import graph_search as gs
|
||||
from tools.graphrag.graphrag import WorkHeading, extract_work_title, resolve_work_year
|
||||
from tools.graphrag.evaluation.benchmark_v4 import logical_group
|
||||
from tools.graphrag.evaluation.freeze_graphrag import make_freeze
|
||||
from tools.graphrag.evaluation.source_oracle import extract_academics
|
||||
from .test_evaluation_pipeline_v2 import freeze_inputs
|
||||
from .test_graph_search import FakeSession, sample_catalog
|
||||
|
||||
|
||||
def query_case(text, year=2024):
|
||||
return {'question': text, 'category': 'person_title_year', 'graph': {
|
||||
'schema_version': 3, 'source_profiles': ['profile.md'],
|
||||
'start_entities': [{'type': 'person', 'value': 'Eva Nová'}],
|
||||
'expected_bindings': [{'person': 'Eva Nová', 'year': year, 'title': 'Vyhľadávanie informácií'}]}}
|
||||
|
||||
|
||||
def test_paraphrases_and_evidence_path_variations_cannot_be_new_holdout():
|
||||
first = query_case('Aký názov práce má Eva Nová v roku 2024?')
|
||||
second = query_case('Uveď názov práce osoby Eva Nová pre rok 2024.')
|
||||
second['graph']['expected_bindings'][0]['document_path'] = 'alternative.md'
|
||||
assert logical_group(first) == logical_group(second)
|
||||
assert logical_group(first) != logical_group(query_case('Aký názov práce má Eva Nová v roku 2025?', 2025))
|
||||
|
||||
|
||||
def group_freeze_inputs():
|
||||
dev, _, fingerprints, audit = freeze_inputs()
|
||||
questions = [query_case('Aký názov práce má Eva Nová v roku 2024?'),
|
||||
query_case('Aký názov práce má Eva Nová v roku 2025?', 2025)]
|
||||
for index, q in enumerate(questions):
|
||||
q.update(id=['dev-a', 'test-b'][index], split=['dev', 'test'][index])
|
||||
q['graph']['partition_group'] = logical_group(q)
|
||||
audit['partition_policy'] = {'method': 'disjoint logical query groups',
|
||||
'previously_exposed_groups': [logical_group(questions[0])], 'limitations': ['Known profiles.']}
|
||||
return dev, questions, fingerprints, audit
|
||||
|
||||
|
||||
def test_group_freeze_explicitly_reports_known_profiles():
|
||||
manifest = make_freeze(*group_freeze_inputs())
|
||||
assert manifest['partition']['source_profile_overlap'] == 1
|
||||
assert manifest['partition']['logical_group_overlap'] == 0
|
||||
assert manifest['partition']['method'] == 'disjoint logical query groups'
|
||||
|
||||
|
||||
@pytest.mark.parametrize('mutation', ['overlap', 'exposed', 'forged_group'])
|
||||
def test_group_freeze_rejects_leakage(mutation):
|
||||
dev, questions, fingerprints, audit = group_freeze_inputs()
|
||||
if mutation == 'overlap':
|
||||
questions[1] = {**copy.deepcopy(questions[0]), 'id': 'test-b', 'split': 'test'}
|
||||
elif mutation == 'exposed':
|
||||
audit['partition_policy']['previously_exposed_groups'].append(logical_group(questions[1]))
|
||||
else:
|
||||
questions[1]['graph']['partition_group'] = 'invented'
|
||||
with pytest.raises(RuntimeError):
|
||||
make_freeze(dev, questions, fingerprints, audit)
|
||||
|
||||
|
||||
def test_explicit_academic_range_is_not_overridden_by_unrelated_category():
|
||||
assert resolve_work_year(WorkHeading('research_project', 'Vedecký projekt 2022/23', 'vp'), ['vp2021']) == 2023
|
||||
|
||||
|
||||
@pytest.mark.parametrize('prefix', ['Pozrieť si', 'Projekt odložený.', 'Konzultácie sa budú konať osobne.'])
|
||||
def test_instructions_are_not_academic_titles(prefix):
|
||||
assert extract_work_title([prefix + '\n\n- Oboznámte sa s nástrojmi.']) is None
|
||||
doc = {'path': 'p.md', 'body_offset': 0, 'categories': [],
|
||||
'body_lines': ['# Bakalársky projekt 2024', prefix, '', '- Oboznámte sa s nástrojmi.']}
|
||||
assert extract_academics(doc)[0]['title'] is None
|
||||
|
||||
|
||||
def test_last_leading_title_wins_over_introductory_description():
|
||||
doc = {'path': 'p.md', 'body_offset': 0, 'categories': [], 'body_lines': [
|
||||
'# Bakalárska práca 2025', 'Chceme vytvoriť asistenta pre vyhľadávanie.', '',
|
||||
'Generovanie jazyka s podporou vyhľadávania', '', '1. Vypracujte prehľad.']}
|
||||
assert extract_academics(doc)[0]['title'] == 'Generovanie jazyka s podporou vyhľadávania'
|
||||
|
||||
|
||||
def test_title_lookup_does_not_claim_untitled_work_as_an_answer():
|
||||
fact = {'person_element_id': 'p2', 'person': 'Jakub Maruniak', 'thesis_element_id': 'th1',
|
||||
'year': 2024, 'title': None, 'thesis_type': 'diploma_thesis'}
|
||||
session = FakeSession({gs.CATALOG_QUERY: sample_catalog(), gs.THESIS_FACTS_QUERY: [fact]})
|
||||
result = gs.search_graph_with_session(session, 'Aký názov práce má osoba Jakub Maruniak v roku 2024?')
|
||||
assert result['status'] == 'no_answer'
|
||||
assert result['facts'] == []
|
||||
|
||||
|
||||
def test_explicit_name_precedes_a_different_topic_and_link_title_is_preserved():
|
||||
assert extract_work_title(['Téma: Všeobecná téma projektu\nNávrh na názov: Konkrétny názov práce']) == 'Konkrétny názov práce'
|
||||
assert extract_work_title(['*Písomná práca*: [Rešerš na tému prekladu](./report)']) == 'Rešerš na tému prekladu'
|
||||
|
||||
|
||||
def test_raw_oracle_skips_repository_and_related_work_lines():
|
||||
doc = {'path': 'p.md', 'body_offset': 0, 'categories': [], 'body_lines': [
|
||||
'# Bakalárska práca 2025', 'Systém pre monitoring médií', '',
|
||||
'Práca súvisí s DP iného študenta', 'Repo https://example.org/repo', '', 'Zadanie:', '- Vypracujte prehľad.']}
|
||||
assert extract_academics(doc)[0]['title'] == 'Systém pre monitoring médií'
|
||||
|
||||
|
||||
def test_generated_claim_year_is_not_satisfied_by_start_year():
|
||||
from tools.graphrag.evaluation.check_openwebui import grade_claims
|
||||
oracle = {'people': {'Eva Nová': {'start_year': 2024, 'academics': [
|
||||
{'year': 2025, 'title': 'Vyhľadávanie informácií'}]}}}
|
||||
case = query_case('Aká práca v roku 2024?')
|
||||
answer = {'status': 'ok', 'claims': [{'person': 'Eva Nová', 'year': 2024, 'title': 'Vyhľadávanie informácií'}], 'source_urls': []}
|
||||
grade = grade_claims(case, answer, oracle)
|
||||
assert not grade['strict'] and grade['unsupported_claims']
|
||||
|
||||
|
||||
def test_generated_claims_cannot_distribute_conditions_across_people():
|
||||
from tools.graphrag.evaluation.check_openwebui import grade_claims
|
||||
case = query_case('Kto má tag aj rok?')
|
||||
case['graph']['expected_bindings'] = [{'person': 'Eva Nová', 'year': 2024, 'keyword': 'nlp'}]
|
||||
oracle = {'people': {'Eva Nová': {'start_year': 2020, 'academics': [{'year': 2024, 'title': None}], 'documents': []},
|
||||
'Boris Malý': {'start_year': 2020, 'academics': [], 'documents': ['b.md']}},
|
||||
'documents': {'b.md': {'tags': ['nlp'], 'categories': [], 'author': None}}}
|
||||
answer = {'status': 'ok', 'claims': [{'person': 'Eva Nová', 'year': 2024},
|
||||
{'person': 'Boris Malý', 'keyword': 'nlp'}], 'source_urls': []}
|
||||
assert not grade_claims(case, answer, oracle)['bindings_ok']
|
||||
Loading…
Reference in New Issue
Block a user