Source Code for "Explaining the Outcomes of Goal Recognition Systems" PhD thesis
收藏资源简介:
Explaining the Outputs of Goal Recognition Systems This repository contains the complete implementation of the methods and algorithms described in the PhD thesis "Explaining the Outcomes of Goal Recognition Systems." The system generates natural-language explanations for the predictions produced by opaque goal recognisers, making their outputs more transparent and interpretable. Overview The explainer produces two types of explanations: Impact Explanations: Highlight the top-ranked goals and identify the most influential observations that led to those rankings. Critique Explanations: Extend Impact explanations by incorporating external domain knowledge to provide supporting or contradictory evidence for the recogniser's predictions. Core Components The implementation consists of four primary classes: GoalSelector: selects top-ranked goals; ObservationSelector: selects the most impactful observations for top-ranked goals; ObservationChainDataset: uses external domain knowledge to generate critique evidence; and ExplanationGenerator: Produces template-based natural-language explanations from the selected goals, observations and evidence. Execute class FullExplainerMain to generate explanations for a particular goal recognition problem. To change the problem or the parameters of the explanatory algorithms, edit the FullExplainerMain.main method. All goal recognition problems used in the thesis are in enum GoalRecognitionProblem, which reference the problem files in resources/datasets. Getting Started Running the System Execute the FullExplainerMain class to generate explanations for a specific goal recognition problem. To customise the problem or adjust the explanatory algorithms' parameters, modify the FullExplainerMain.main() method. The available goal recognition problems used in the thesis are enumerated in GoalRecognitionProblem. Each enum entry references the corresponding problem files located in resources/datasets. Dependencies Java Requirements Java 21 JDK or later Maven build system (dependencies are managed via pom.xml) R Requirements The system invokes R scripts for goal and observation selection. Therefore, you need: R runtime version 4.5 or higher The following R packages must be installed: conflicted MCMCprecision Ckmeans.1d.dp cluster jsonlite You can install all required packages at once by running the below command in an R console. install.packages(c( 'conflicted', 'MCMCprecision', 'Ckmeans.1d.dp', 'cluster', 'jsonlite' )) Citation If you use this code in your research, please cite the original PhD thesis: @phdthesis{Ferreira2026_ExplainingOutcomesGoalRecognition, title={{Explaining the Outcomes of Goal Recognition Systems}}, author={Ferreira, Jair}, year={2026}, school={{Monash University}} }



