Previous: , Up: Examples   [Contents][Index]


Example 14

$ cat gram/14.pcfg

  S: "a"
   | "b" "i" "g"
   | "c" "a" "n"
   | "c" "i" "t" "y"
   | "i" "f"
   | "i" "n"
   | "i" "s"
   | "l" "i" "v" "e"
   | "o" "f"
   | "o" "r"
   | "t" "h" "e"
   | "t" "h" "e" "n"
   | "y" "o" "u"
  ;

$ ./pcfg-generate-seq -i1 -n500000 -o seq/14-500k.seq gram/14.pcfg
$ ../scripts/mk-rg-vit.sh 4 4 8 3 2 >gram/14.rg
$ ./topdown -i1 --det-niter-goal=50 --od=td-learn/14_det.rg  \
            --oo=td-learn/14.log gram/14.rg seq/14-500k.seq
$ ./topdown -i1 --od=td-learn/14_out.rg --op=td-learn/14_out.pcfg  \
            --oo=- --simplify td-learn/14_det.rg seq/14-500k.seq

  Iteration 1:
  P: prob_gram 0.37807376, prob_term 0.80251636, prob_wpredict 0.56529371,
     prob_npredict 0.56393626, cycle_period 52
  T: prob_gram 0.37807376, prob_term 0.80251636, prob_wpredict 0.56529371,
     prob_npredict 0.56393626, cycle_period 52
  Finished.

$ cat td-learn/14_out.rg

  S: [ "a" "n" ]
   | "b" . .
   | "e"
   | "g"
   | "l" . . .
   | "o" .
   | [ "r" "s" ]
   | "t" . .
   | "u"
   | "y" . .
   | "c" . ( [ "a" "e" "g" "i" "r" "s" "u" ]
           | [ "b" "l" "t" ] .
           | [ "c" "f" "n" "o" ]
           | [ "h" "v" "y" ] .
           )
   | "f" ( [ "b" "l" "t" ] . .
         | "c" . .
         | [ "f" "n" ]
         | [ "h" "o" ] .
         | [ "r" "u" ]
         | "y" . .
         | [ "a" "e" ] ( [ "a" "c" "e" "f" "r" "s" ]
                       | [ "b" "h" "l" "u" "y" ] .
                       | [ "g" "i" "n" "o" ]
                       | [ "t" "v" ] .
                       )
         | [ "g" "i" ] ( [ "a" "h" "l" "o" ] .
                       | [ "b" "e" "t" "y" ] .
                       | [ "c" "f" "s" "u" "v" ]
                       | [ "g" "i" "n" "r" ]
                       )
         | [ "s" "v" ] ( [ "a" "f" "o" "s" "v" ]
                       | [ "b" "r" "t" "y" ] .
                       | [ "c" "g" "l" ] .
                       | [ "e" "h" "i" "n" "u" ]
                       )
         )
   | "h" . ( [ "a" "g" "o" "r" "s" "u" ]
           | [ "b" "f" "i" "n" ]
           | [ "c" "h" "l" "t" "v" ] .
           | [ "e" "y" ] .
           )
   | "i" ( [ "a" "o" ] .
         | [ "b" "l" "y" ] . .
         | "f"
         | [ "g" "r" "s" ]
         | "h" .
         | "i" . .
         | [ "n" "u" ]
         | "t" . .
         | [ "c" "v" ] ( [ "a" "e" "g" "n" "u" "v" ]
                       | [ "b" "h" "i" "l" ] .
                       | [ "c" "f" "o" "r" "s" "y" ]
                       | "t" .
                       )
         | "e" ( [ "a" "f" "i" "o" "r" "s" ]
               | [ "b" "e" "g" "h" "l" ] .
               | [ "c" "t" ] .
               | [ "n" "u" "v" "y" ]
               )
         )
   | "v" . ( [ "a" "f" "g" "n" "o" "r" ]
           | [ "b" "c" "h" "l" "t" ] .
           | [ "e" "v" "y" ] .
           | [ "i" "s" "u" ]
           )
  ;

$ cat td-learn/14_out.pcfg

  S: "t" "h" "e"      [0.14164605]  // 28337  1.00000000
   | "l" "i" "v" "e"  [0.07155532]  // 14315  1.00000000
   | "y" "o" "u"      [0.07155032]  // 14314  1.00000000
   | "b" "i" "g"      [0.07103547]  // 14211  1.00000000
   | "o" "r"          [0.07153033]  // 14310  0.75098025
   | "o" "f"          [0.07125041]  // 14254  0.74901975
   | "a"              [0.07254505]  // 14513  0.50226397
   | "n"              [0.07140036]  // 14284  0.41440292
   | "i" L3_5         [0.21334133]  // 42680
   | _S_9T2 L2_1      [0.14414536]  // 28837
  ;  // 200055
  
  L2_1: "t" "y"  [0.49783265]  // 14356  1.00000000
      | "n"      [0.50216735]  // 14481  0.66868579
  ;  // 28837
  
  L3_5: "s"  [0.33348172]  // 14233  1.00000000
      | "f"  [0.33479381]  // 14289  0.75030656
      | "n"  [0.33172446]  // 14158  0.66492323
  ;  // 42680
  
  _S_9T2: "c" "a"  [0.50216735]  // 14481  0.75216731
        | "c" "i"  [0.49783265]  // 14356  0.74783269
  ;  // 28837

$ ./topdown -i-1 --os=seq/14_random.seq --oo=- gram/14.rg seq/14-500k.seq

  [0]: prob_gram 0.02347492, prob_term 0.01601129, prob_wpredict 0.37750950,
       prob_npredict 0.34332737, cycle_period 23482
  prob_epredict 0.34332737

$ ./topdown -i1 --os=seq/14_predict.seq --oo=- td-learn/14_out.rg seq/14-500k.seq

  [0]: prob_gram 0.37807376, prob_term 0.80251636, prob_wpredict 0.56529371,
       prob_npredict 0.56393626, cycle_period 52
  prob_epredict 0.56393626

$ ./pcfg-predict-eval --prob-rand=0.34332737 gram/14.pcfg seq/14_predict.seq

  {
      "seq_len"              : 499998,
      "wpredict_max"         : 296584.89743626,
      "npredict_actual"      : 281967,
      "wpredict_rand"        : 171663.0,
      "prob_wpredict_max"    : 0.59317217,
      "prob_npredict_actual" : 0.56393626,
      "prob_npredict_rand"   : 0.34332737,
      "efficiency_rand, %"   : 88.3
  }

Previous: , Up: Examples   [Contents][Index]