This repository contains a sentence generator that generates natural-language instructions in the Minecraft domain. Based on a 3D representation of the Minecraft world and an instruction action, the system (1) translates the numeric representation of the world into a relation-based one and (2) computes the optimal sentence that expresses the instruction action. This is based on an IRTG grammar with (learned or generated) rule weights.
The sentence generator is not primarily intended to run standalone; instead, it is imported by the Simple Architect, and used there to realize instruction actions generated by the planner.
You can still compile and run minecraft-nlg standalone:
./gradlew shadowJar
java -jar build/libs/minecraft-nlg-<version>-SNAPSHOT-all.jar -c -m <world.json> -i <grammar.irtg>`
This runs minecraft-nlg in continuous mode (-c
), in which it reads instruction actions from the console. Here are some files you can use as input to try this out:
- Use the grammar in src/main/resources/de/saar/coli/minecraft/minecraft.irtg
- Use the world model in examples/test-world.json
- Use the instruction action
build:b7
(instructing the user to place the blockb7
; note that you can only refer to blocks, not to locations).
- inlg 2019: checkout the inlg2019 tag, compile and run
java -cp build/libs/minecraft-nlg-0.1.0-SNAPSHOT-all.jar de.saar.coli.minecraft.experiments.Inlg2019
It will show the generated sentences on the command line.