Created: 2008-05-07 10:53
Updated: 2017-06-16 04:46

Stochastic Definite Clause Grammars

SDCG is a compiler which compiles from an extended version of Prologs DCG syntax to a stochastic program expressed using the amazing PRISM system.

It is intended to be used for natural language parsing which requires something a bit more expressive than stochastic context-free grammars.

Sample run

The Prism system should be installed first. Prism uses B-Prolog. (This code does not run on SWI-Prolog.) Then run prism, and load grammar files, e.g.

% cd grammars/report_simple
% prism
PRISM 2.2, (C) Sato Lab, Tokyo Institute of Technology, September, 2015
B-Prolog Version 7.8b1, All rights reserved, (C) Afany Software 1994-2012.

This edition of B-Prolog is for evaluation, learning, and non-profit
research purposes only, and a license is needed for any other uses.
Please visit for the detail.

Type 'prism_help' for usage.
| ?- [load].
| ?- train_with_parsetree.
#goals: 0(4)
Exporting switch information to the EM routine ... done
#em-iters: 0(9) (Converged: -9.773285894)
Statistics on learning:
        Graph size: 63
        Number of switches: 5
        Number of switch instances: 11
        Number of iterations: 9
        Final log likelihood: -9.773285894
        Total learning time: 0.003 seconds
        Explanation search time: 0.000 seconds
        Total table space used: 25784 bytes
Type show_sw to show the probability distributions.
Switch n(1): unfixed_p: n_1_2 (p: 0.400000540) n_1_1 (p: 0.599999460)
Switch np(1): unfixed_p: np_1_2 (p: 0.749998876) np_1_1 (p: 0.250001124)
Switch s(1): unfixed_p: s_1_2 (p: 0.999998876) s_1_1 (p: 0.000001124)
Switch v(1): unfixed_p: v_1_3 (p: 0.500000562) v_1_2 (p: 0.250000281) v_1_1 (p: 0.249999157)
Switch vp(1): unfixed_p: vp_1_2 (p: 1.000000000) vp_1_1 (p: 0.000000000)

| ?- testit.

| ?- 


  • compiler/
    • Contains the code of the SDCG compiler
  • util/
    • Contains various utilities of used by the compiler
  • test/
    • Contains unit-tests for the compiler
  • misc/
    • Various stuff
  • grammars/
    • Some example grammars
Cookies help us deliver our services. By using our services, you agree to our use of cookies Learn more