1
0
mirror of https://github.com/fumiama/jieba.git synced 2026-06-05 00:32:51 +08:00

make some public variable/function to private

This commit is contained in:
Wang Bin
2015-02-28 17:27:16 +08:00
parent 858ceb5a0b
commit 4b0ddcf666
7 changed files with 85492 additions and 85492 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -5,11 +5,11 @@ import (
)
func TestGet(t *testing.T) {
result := CharStateTab.Get('\u8000')
result := charStateTab.get('\u8000')
if len(result) != 17 {
t.FailNow()
}
result = CharStateTab.Get('\uaaaa')
result = charStateTab.get('\uaaaa')
if len(result) == 17 {
t.FailNow()
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,264 +1,264 @@
package posseg
var (
ProbStart = make(map[StateTag]float64)
ProbStart = make(map[stateTag]float64)
)
func init() {
ProbStart[StateTag{'B', "a"}] = -4.762305214596967
ProbStart[StateTag{'B', "ad"}] = -6.680066036784177
ProbStart[StateTag{'B', "ag"}] = -3.14e+100
ProbStart[StateTag{'B', "an"}] = -8.697083223018778
ProbStart[StateTag{'B', "b"}] = -5.018374362109218
ProbStart[StateTag{'B', "bg"}] = -3.14e+100
ProbStart[StateTag{'B', "c"}] = -3.423880184954888
ProbStart[StateTag{'B', "d"}] = -3.9750475297585357
ProbStart[StateTag{'B', "df"}] = -8.888974230828882
ProbStart[StateTag{'B', "dg"}] = -3.14e+100
ProbStart[StateTag{'B', "e"}] = -8.563551830394255
ProbStart[StateTag{'B', "en"}] = -3.14e+100
ProbStart[StateTag{'B', "f"}] = -5.491630418482717
ProbStart[StateTag{'B', "g"}] = -3.14e+100
ProbStart[StateTag{'B', "h"}] = -13.533365129970255
ProbStart[StateTag{'B', "i"}] = -6.1157847275557105
ProbStart[StateTag{'B', "in"}] = -3.14e+100
ProbStart[StateTag{'B', "j"}] = -5.0576191284681915
ProbStart[StateTag{'B', "jn"}] = -3.14e+100
ProbStart[StateTag{'B', "k"}] = -3.14e+100
ProbStart[StateTag{'B', "l"}] = -4.905883584659895
ProbStart[StateTag{'B', "ln"}] = -3.14e+100
ProbStart[StateTag{'B', "m"}] = -3.6524299819046386
ProbStart[StateTag{'B', "mg"}] = -3.14e+100
ProbStart[StateTag{'B', "mq"}] = -6.78695300139688
ProbStart[StateTag{'B', "n"}] = -1.6966257797548328
ProbStart[StateTag{'B', "ng"}] = -3.14e+100
ProbStart[StateTag{'B', "nr"}] = -2.2310495913769506
ProbStart[StateTag{'B', "nrfg"}] = -5.873722175405573
ProbStart[StateTag{'B', "nrt"}] = -4.985642733519195
ProbStart[StateTag{'B', "ns"}] = -2.8228438314969213
ProbStart[StateTag{'B', "nt"}] = -4.846091668182416
ProbStart[StateTag{'B', "nz"}] = -3.94698846057672
ProbStart[StateTag{'B', "o"}] = -8.433498702146057
ProbStart[StateTag{'B', "p"}] = -4.200984132085048
ProbStart[StateTag{'B', "q"}] = -6.998123858956596
ProbStart[StateTag{'B', "qe"}] = -3.14e+100
ProbStart[StateTag{'B', "qg"}] = -3.14e+100
ProbStart[StateTag{'B', "r"}] = -3.4098187790818413
ProbStart[StateTag{'B', "rg"}] = -3.14e+100
ProbStart[StateTag{'B', "rr"}] = -12.434752841302146
ProbStart[StateTag{'B', "rz"}] = -7.946116471570005
ProbStart[StateTag{'B', "s"}] = -5.522673590839954
ProbStart[StateTag{'B', "t"}] = -3.3647479094528574
ProbStart[StateTag{'B', "tg"}] = -3.14e+100
ProbStart[StateTag{'B', "u"}] = -9.163917277503234
ProbStart[StateTag{'B', "ud"}] = -3.14e+100
ProbStart[StateTag{'B', "ug"}] = -3.14e+100
ProbStart[StateTag{'B', "uj"}] = -3.14e+100
ProbStart[StateTag{'B', "ul"}] = -3.14e+100
ProbStart[StateTag{'B', "uv"}] = -3.14e+100
ProbStart[StateTag{'B', "uz"}] = -3.14e+100
ProbStart[StateTag{'B', "v"}] = -2.6740584874265685
ProbStart[StateTag{'B', "vd"}] = -9.044728760238115
ProbStart[StateTag{'B', "vg"}] = -3.14e+100
ProbStart[StateTag{'B', "vi"}] = -12.434752841302146
ProbStart[StateTag{'B', "vn"}] = -4.3315610890163585
ProbStart[StateTag{'B', "vq"}] = -12.147070768850364
ProbStart[StateTag{'B', "w"}] = -3.14e+100
ProbStart[StateTag{'B', "x"}] = -3.14e+100
ProbStart[StateTag{'B', "y"}] = -9.844485675856319
ProbStart[StateTag{'B', "yg"}] = -3.14e+100
ProbStart[StateTag{'B', "z"}] = -7.045681111485645
ProbStart[StateTag{'B', "zg"}] = -3.14e+100
ProbStart[StateTag{'E', "a"}] = -3.14e+100
ProbStart[StateTag{'E', "ad"}] = -3.14e+100
ProbStart[StateTag{'E', "ag"}] = -3.14e+100
ProbStart[StateTag{'E', "an"}] = -3.14e+100
ProbStart[StateTag{'E', "b"}] = -3.14e+100
ProbStart[StateTag{'E', "bg"}] = -3.14e+100
ProbStart[StateTag{'E', "c"}] = -3.14e+100
ProbStart[StateTag{'E', "d"}] = -3.14e+100
ProbStart[StateTag{'E', "df"}] = -3.14e+100
ProbStart[StateTag{'E', "dg"}] = -3.14e+100
ProbStart[StateTag{'E', "e"}] = -3.14e+100
ProbStart[StateTag{'E', "en"}] = -3.14e+100
ProbStart[StateTag{'E', "f"}] = -3.14e+100
ProbStart[StateTag{'E', "g"}] = -3.14e+100
ProbStart[StateTag{'E', "h"}] = -3.14e+100
ProbStart[StateTag{'E', "i"}] = -3.14e+100
ProbStart[StateTag{'E', "in"}] = -3.14e+100
ProbStart[StateTag{'E', "j"}] = -3.14e+100
ProbStart[StateTag{'E', "jn"}] = -3.14e+100
ProbStart[StateTag{'E', "k"}] = -3.14e+100
ProbStart[StateTag{'E', "l"}] = -3.14e+100
ProbStart[StateTag{'E', "ln"}] = -3.14e+100
ProbStart[StateTag{'E', "m"}] = -3.14e+100
ProbStart[StateTag{'E', "mg"}] = -3.14e+100
ProbStart[StateTag{'E', "mq"}] = -3.14e+100
ProbStart[StateTag{'E', "n"}] = -3.14e+100
ProbStart[StateTag{'E', "ng"}] = -3.14e+100
ProbStart[StateTag{'E', "nr"}] = -3.14e+100
ProbStart[StateTag{'E', "nrfg"}] = -3.14e+100
ProbStart[StateTag{'E', "nrt"}] = -3.14e+100
ProbStart[StateTag{'E', "ns"}] = -3.14e+100
ProbStart[StateTag{'E', "nt"}] = -3.14e+100
ProbStart[StateTag{'E', "nz"}] = -3.14e+100
ProbStart[StateTag{'E', "o"}] = -3.14e+100
ProbStart[StateTag{'E', "p"}] = -3.14e+100
ProbStart[StateTag{'E', "q"}] = -3.14e+100
ProbStart[StateTag{'E', "qe"}] = -3.14e+100
ProbStart[StateTag{'E', "qg"}] = -3.14e+100
ProbStart[StateTag{'E', "r"}] = -3.14e+100
ProbStart[StateTag{'E', "rg"}] = -3.14e+100
ProbStart[StateTag{'E', "rr"}] = -3.14e+100
ProbStart[StateTag{'E', "rz"}] = -3.14e+100
ProbStart[StateTag{'E', "s"}] = -3.14e+100
ProbStart[StateTag{'E', "t"}] = -3.14e+100
ProbStart[StateTag{'E', "tg"}] = -3.14e+100
ProbStart[StateTag{'E', "u"}] = -3.14e+100
ProbStart[StateTag{'E', "ud"}] = -3.14e+100
ProbStart[StateTag{'E', "ug"}] = -3.14e+100
ProbStart[StateTag{'E', "uj"}] = -3.14e+100
ProbStart[StateTag{'E', "ul"}] = -3.14e+100
ProbStart[StateTag{'E', "uv"}] = -3.14e+100
ProbStart[StateTag{'E', "uz"}] = -3.14e+100
ProbStart[StateTag{'E', "v"}] = -3.14e+100
ProbStart[StateTag{'E', "vd"}] = -3.14e+100
ProbStart[StateTag{'E', "vg"}] = -3.14e+100
ProbStart[StateTag{'E', "vi"}] = -3.14e+100
ProbStart[StateTag{'E', "vn"}] = -3.14e+100
ProbStart[StateTag{'E', "vq"}] = -3.14e+100
ProbStart[StateTag{'E', "w"}] = -3.14e+100
ProbStart[StateTag{'E', "x"}] = -3.14e+100
ProbStart[StateTag{'E', "y"}] = -3.14e+100
ProbStart[StateTag{'E', "yg"}] = -3.14e+100
ProbStart[StateTag{'E', "z"}] = -3.14e+100
ProbStart[StateTag{'E', "zg"}] = -3.14e+100
ProbStart[StateTag{'M', "a"}] = -3.14e+100
ProbStart[StateTag{'M', "ad"}] = -3.14e+100
ProbStart[StateTag{'M', "ag"}] = -3.14e+100
ProbStart[StateTag{'M', "an"}] = -3.14e+100
ProbStart[StateTag{'M', "b"}] = -3.14e+100
ProbStart[StateTag{'M', "bg"}] = -3.14e+100
ProbStart[StateTag{'M', "c"}] = -3.14e+100
ProbStart[StateTag{'M', "d"}] = -3.14e+100
ProbStart[StateTag{'M', "df"}] = -3.14e+100
ProbStart[StateTag{'M', "dg"}] = -3.14e+100
ProbStart[StateTag{'M', "e"}] = -3.14e+100
ProbStart[StateTag{'M', "en"}] = -3.14e+100
ProbStart[StateTag{'M', "f"}] = -3.14e+100
ProbStart[StateTag{'M', "g"}] = -3.14e+100
ProbStart[StateTag{'M', "h"}] = -3.14e+100
ProbStart[StateTag{'M', "i"}] = -3.14e+100
ProbStart[StateTag{'M', "in"}] = -3.14e+100
ProbStart[StateTag{'M', "j"}] = -3.14e+100
ProbStart[StateTag{'M', "jn"}] = -3.14e+100
ProbStart[StateTag{'M', "k"}] = -3.14e+100
ProbStart[StateTag{'M', "l"}] = -3.14e+100
ProbStart[StateTag{'M', "ln"}] = -3.14e+100
ProbStart[StateTag{'M', "m"}] = -3.14e+100
ProbStart[StateTag{'M', "mg"}] = -3.14e+100
ProbStart[StateTag{'M', "mq"}] = -3.14e+100
ProbStart[StateTag{'M', "n"}] = -3.14e+100
ProbStart[StateTag{'M', "ng"}] = -3.14e+100
ProbStart[StateTag{'M', "nr"}] = -3.14e+100
ProbStart[StateTag{'M', "nrfg"}] = -3.14e+100
ProbStart[StateTag{'M', "nrt"}] = -3.14e+100
ProbStart[StateTag{'M', "ns"}] = -3.14e+100
ProbStart[StateTag{'M', "nt"}] = -3.14e+100
ProbStart[StateTag{'M', "nz"}] = -3.14e+100
ProbStart[StateTag{'M', "o"}] = -3.14e+100
ProbStart[StateTag{'M', "p"}] = -3.14e+100
ProbStart[StateTag{'M', "q"}] = -3.14e+100
ProbStart[StateTag{'M', "qe"}] = -3.14e+100
ProbStart[StateTag{'M', "qg"}] = -3.14e+100
ProbStart[StateTag{'M', "r"}] = -3.14e+100
ProbStart[StateTag{'M', "rg"}] = -3.14e+100
ProbStart[StateTag{'M', "rr"}] = -3.14e+100
ProbStart[StateTag{'M', "rz"}] = -3.14e+100
ProbStart[StateTag{'M', "s"}] = -3.14e+100
ProbStart[StateTag{'M', "t"}] = -3.14e+100
ProbStart[StateTag{'M', "tg"}] = -3.14e+100
ProbStart[StateTag{'M', "u"}] = -3.14e+100
ProbStart[StateTag{'M', "ud"}] = -3.14e+100
ProbStart[StateTag{'M', "ug"}] = -3.14e+100
ProbStart[StateTag{'M', "uj"}] = -3.14e+100
ProbStart[StateTag{'M', "ul"}] = -3.14e+100
ProbStart[StateTag{'M', "uv"}] = -3.14e+100
ProbStart[StateTag{'M', "uz"}] = -3.14e+100
ProbStart[StateTag{'M', "v"}] = -3.14e+100
ProbStart[StateTag{'M', "vd"}] = -3.14e+100
ProbStart[StateTag{'M', "vg"}] = -3.14e+100
ProbStart[StateTag{'M', "vi"}] = -3.14e+100
ProbStart[StateTag{'M', "vn"}] = -3.14e+100
ProbStart[StateTag{'M', "vq"}] = -3.14e+100
ProbStart[StateTag{'M', "w"}] = -3.14e+100
ProbStart[StateTag{'M', "x"}] = -3.14e+100
ProbStart[StateTag{'M', "y"}] = -3.14e+100
ProbStart[StateTag{'M', "yg"}] = -3.14e+100
ProbStart[StateTag{'M', "z"}] = -3.14e+100
ProbStart[StateTag{'M', "zg"}] = -3.14e+100
ProbStart[StateTag{'S', "a"}] = -3.9025396831295227
ProbStart[StateTag{'S', "ad"}] = -11.048458480182255
ProbStart[StateTag{'S', "ag"}] = -6.954113917960154
ProbStart[StateTag{'S', "an"}] = -12.84021794941031
ProbStart[StateTag{'S', "b"}] = -6.472888763970454
ProbStart[StateTag{'S', "bg"}] = -3.14e+100
ProbStart[StateTag{'S', "c"}] = -4.786966795861212
ProbStart[StateTag{'S', "d"}] = -3.903919764181873
ProbStart[StateTag{'S', "df"}] = -3.14e+100
ProbStart[StateTag{'S', "dg"}] = -8.948397651299683
ProbStart[StateTag{'S', "e"}] = -5.942513006281674
ProbStart[StateTag{'S', "en"}] = -3.14e+100
ProbStart[StateTag{'S', "f"}] = -5.194820249981676
ProbStart[StateTag{'S', "g"}] = -6.507826815331734
ProbStart[StateTag{'S', "h"}] = -8.650563207383884
ProbStart[StateTag{'S', "i"}] = -3.14e+100
ProbStart[StateTag{'S', "in"}] = -3.14e+100
ProbStart[StateTag{'S', "j"}] = -4.911992119644354
ProbStart[StateTag{'S', "jn"}] = -3.14e+100
ProbStart[StateTag{'S', "k"}] = -6.940320595827818
ProbStart[StateTag{'S', "l"}] = -3.14e+100
ProbStart[StateTag{'S', "ln"}] = -3.14e+100
ProbStart[StateTag{'S', "m"}] = -3.269200652116097
ProbStart[StateTag{'S', "mg"}] = -10.825314928868044
ProbStart[StateTag{'S', "mq"}] = -3.14e+100
ProbStart[StateTag{'S', "n"}] = -3.8551483897645107
ProbStart[StateTag{'S', "ng"}] = -4.913434861102905
ProbStart[StateTag{'S', "nr"}] = -4.483663103956885
ProbStart[StateTag{'S', "nrfg"}] = -3.14e+100
ProbStart[StateTag{'S', "nrt"}] = -3.14e+100
ProbStart[StateTag{'S', "ns"}] = -3.14e+100
ProbStart[StateTag{'S', "nt"}] = -12.147070768850364
ProbStart[StateTag{'S', "nz"}] = -3.14e+100
ProbStart[StateTag{'S', "o"}] = -8.464460927750023
ProbStart[StateTag{'S', "p"}] = -2.9868401813596317
ProbStart[StateTag{'S', "q"}] = -4.888658618255058
ProbStart[StateTag{'S', "qe"}] = -3.14e+100
ProbStart[StateTag{'S', "qg"}] = -3.14e+100
ProbStart[StateTag{'S', "r"}] = -2.7635336784127853
ProbStart[StateTag{'S', "rg"}] = -10.275268591948773
ProbStart[StateTag{'S', "rr"}] = -3.14e+100
ProbStart[StateTag{'S', "rz"}] = -3.14e+100
ProbStart[StateTag{'S', "s"}] = -3.14e+100
ProbStart[StateTag{'S', "t"}] = -3.14e+100
ProbStart[StateTag{'S', "tg"}] = -6.272842531880403
ProbStart[StateTag{'S', "u"}] = -6.940320595827818
ProbStart[StateTag{'S', "ud"}] = -7.728230161053767
ProbStart[StateTag{'S', "ug"}] = -7.5394037026636855
ProbStart[StateTag{'S', "uj"}] = -6.85251045118004
ProbStart[StateTag{'S', "ul"}] = -8.4153713175535
ProbStart[StateTag{'S', "uv"}] = -8.15808672228609
ProbStart[StateTag{'S', "uz"}] = -9.299258625372996
ProbStart[StateTag{'S', "v"}] = -3.053292303412302
ProbStart[StateTag{'S', "vd"}] = -3.14e+100
ProbStart[StateTag{'S', "vg"}] = -5.9430181843676895
ProbStart[StateTag{'S', "vi"}] = -3.14e+100
ProbStart[StateTag{'S', "vn"}] = -11.453923588290419
ProbStart[StateTag{'S', "vq"}] = -3.14e+100
ProbStart[StateTag{'S', "w"}] = -3.14e+100
ProbStart[StateTag{'S', "x"}] = -8.427419656069674
ProbStart[StateTag{'S', "y"}] = -6.1970794699489575
ProbStart[StateTag{'S', "yg"}] = -13.533365129970255
ProbStart[StateTag{'S', "z"}] = -3.14e+100
ProbStart[StateTag{'S', "zg"}] = -3.14e+100
ProbStart[stateTag{'B', "a"}] = -4.762305214596967
ProbStart[stateTag{'B', "ad"}] = -6.680066036784177
ProbStart[stateTag{'B', "ag"}] = -3.14e+100
ProbStart[stateTag{'B', "an"}] = -8.697083223018778
ProbStart[stateTag{'B', "b"}] = -5.018374362109218
ProbStart[stateTag{'B', "bg"}] = -3.14e+100
ProbStart[stateTag{'B', "c"}] = -3.423880184954888
ProbStart[stateTag{'B', "d"}] = -3.9750475297585357
ProbStart[stateTag{'B', "df"}] = -8.888974230828882
ProbStart[stateTag{'B', "dg"}] = -3.14e+100
ProbStart[stateTag{'B', "e"}] = -8.563551830394255
ProbStart[stateTag{'B', "en"}] = -3.14e+100
ProbStart[stateTag{'B', "f"}] = -5.491630418482717
ProbStart[stateTag{'B', "g"}] = -3.14e+100
ProbStart[stateTag{'B', "h"}] = -13.533365129970255
ProbStart[stateTag{'B', "i"}] = -6.1157847275557105
ProbStart[stateTag{'B', "in"}] = -3.14e+100
ProbStart[stateTag{'B', "j"}] = -5.0576191284681915
ProbStart[stateTag{'B', "jn"}] = -3.14e+100
ProbStart[stateTag{'B', "k"}] = -3.14e+100
ProbStart[stateTag{'B', "l"}] = -4.905883584659895
ProbStart[stateTag{'B', "ln"}] = -3.14e+100
ProbStart[stateTag{'B', "m"}] = -3.6524299819046386
ProbStart[stateTag{'B', "mg"}] = -3.14e+100
ProbStart[stateTag{'B', "mq"}] = -6.78695300139688
ProbStart[stateTag{'B', "n"}] = -1.6966257797548328
ProbStart[stateTag{'B', "ng"}] = -3.14e+100
ProbStart[stateTag{'B', "nr"}] = -2.2310495913769506
ProbStart[stateTag{'B', "nrfg"}] = -5.873722175405573
ProbStart[stateTag{'B', "nrt"}] = -4.985642733519195
ProbStart[stateTag{'B', "ns"}] = -2.8228438314969213
ProbStart[stateTag{'B', "nt"}] = -4.846091668182416
ProbStart[stateTag{'B', "nz"}] = -3.94698846057672
ProbStart[stateTag{'B', "o"}] = -8.433498702146057
ProbStart[stateTag{'B', "p"}] = -4.200984132085048
ProbStart[stateTag{'B', "q"}] = -6.998123858956596
ProbStart[stateTag{'B', "qe"}] = -3.14e+100
ProbStart[stateTag{'B', "qg"}] = -3.14e+100
ProbStart[stateTag{'B', "r"}] = -3.4098187790818413
ProbStart[stateTag{'B', "rg"}] = -3.14e+100
ProbStart[stateTag{'B', "rr"}] = -12.434752841302146
ProbStart[stateTag{'B', "rz"}] = -7.946116471570005
ProbStart[stateTag{'B', "s"}] = -5.522673590839954
ProbStart[stateTag{'B', "t"}] = -3.3647479094528574
ProbStart[stateTag{'B', "tg"}] = -3.14e+100
ProbStart[stateTag{'B', "u"}] = -9.163917277503234
ProbStart[stateTag{'B', "ud"}] = -3.14e+100
ProbStart[stateTag{'B', "ug"}] = -3.14e+100
ProbStart[stateTag{'B', "uj"}] = -3.14e+100
ProbStart[stateTag{'B', "ul"}] = -3.14e+100
ProbStart[stateTag{'B', "uv"}] = -3.14e+100
ProbStart[stateTag{'B', "uz"}] = -3.14e+100
ProbStart[stateTag{'B', "v"}] = -2.6740584874265685
ProbStart[stateTag{'B', "vd"}] = -9.044728760238115
ProbStart[stateTag{'B', "vg"}] = -3.14e+100
ProbStart[stateTag{'B', "vi"}] = -12.434752841302146
ProbStart[stateTag{'B', "vn"}] = -4.3315610890163585
ProbStart[stateTag{'B', "vq"}] = -12.147070768850364
ProbStart[stateTag{'B', "w"}] = -3.14e+100
ProbStart[stateTag{'B', "x"}] = -3.14e+100
ProbStart[stateTag{'B', "y"}] = -9.844485675856319
ProbStart[stateTag{'B', "yg"}] = -3.14e+100
ProbStart[stateTag{'B', "z"}] = -7.045681111485645
ProbStart[stateTag{'B', "zg"}] = -3.14e+100
ProbStart[stateTag{'E', "a"}] = -3.14e+100
ProbStart[stateTag{'E', "ad"}] = -3.14e+100
ProbStart[stateTag{'E', "ag"}] = -3.14e+100
ProbStart[stateTag{'E', "an"}] = -3.14e+100
ProbStart[stateTag{'E', "b"}] = -3.14e+100
ProbStart[stateTag{'E', "bg"}] = -3.14e+100
ProbStart[stateTag{'E', "c"}] = -3.14e+100
ProbStart[stateTag{'E', "d"}] = -3.14e+100
ProbStart[stateTag{'E', "df"}] = -3.14e+100
ProbStart[stateTag{'E', "dg"}] = -3.14e+100
ProbStart[stateTag{'E', "e"}] = -3.14e+100
ProbStart[stateTag{'E', "en"}] = -3.14e+100
ProbStart[stateTag{'E', "f"}] = -3.14e+100
ProbStart[stateTag{'E', "g"}] = -3.14e+100
ProbStart[stateTag{'E', "h"}] = -3.14e+100
ProbStart[stateTag{'E', "i"}] = -3.14e+100
ProbStart[stateTag{'E', "in"}] = -3.14e+100
ProbStart[stateTag{'E', "j"}] = -3.14e+100
ProbStart[stateTag{'E', "jn"}] = -3.14e+100
ProbStart[stateTag{'E', "k"}] = -3.14e+100
ProbStart[stateTag{'E', "l"}] = -3.14e+100
ProbStart[stateTag{'E', "ln"}] = -3.14e+100
ProbStart[stateTag{'E', "m"}] = -3.14e+100
ProbStart[stateTag{'E', "mg"}] = -3.14e+100
ProbStart[stateTag{'E', "mq"}] = -3.14e+100
ProbStart[stateTag{'E', "n"}] = -3.14e+100
ProbStart[stateTag{'E', "ng"}] = -3.14e+100
ProbStart[stateTag{'E', "nr"}] = -3.14e+100
ProbStart[stateTag{'E', "nrfg"}] = -3.14e+100
ProbStart[stateTag{'E', "nrt"}] = -3.14e+100
ProbStart[stateTag{'E', "ns"}] = -3.14e+100
ProbStart[stateTag{'E', "nt"}] = -3.14e+100
ProbStart[stateTag{'E', "nz"}] = -3.14e+100
ProbStart[stateTag{'E', "o"}] = -3.14e+100
ProbStart[stateTag{'E', "p"}] = -3.14e+100
ProbStart[stateTag{'E', "q"}] = -3.14e+100
ProbStart[stateTag{'E', "qe"}] = -3.14e+100
ProbStart[stateTag{'E', "qg"}] = -3.14e+100
ProbStart[stateTag{'E', "r"}] = -3.14e+100
ProbStart[stateTag{'E', "rg"}] = -3.14e+100
ProbStart[stateTag{'E', "rr"}] = -3.14e+100
ProbStart[stateTag{'E', "rz"}] = -3.14e+100
ProbStart[stateTag{'E', "s"}] = -3.14e+100
ProbStart[stateTag{'E', "t"}] = -3.14e+100
ProbStart[stateTag{'E', "tg"}] = -3.14e+100
ProbStart[stateTag{'E', "u"}] = -3.14e+100
ProbStart[stateTag{'E', "ud"}] = -3.14e+100
ProbStart[stateTag{'E', "ug"}] = -3.14e+100
ProbStart[stateTag{'E', "uj"}] = -3.14e+100
ProbStart[stateTag{'E', "ul"}] = -3.14e+100
ProbStart[stateTag{'E', "uv"}] = -3.14e+100
ProbStart[stateTag{'E', "uz"}] = -3.14e+100
ProbStart[stateTag{'E', "v"}] = -3.14e+100
ProbStart[stateTag{'E', "vd"}] = -3.14e+100
ProbStart[stateTag{'E', "vg"}] = -3.14e+100
ProbStart[stateTag{'E', "vi"}] = -3.14e+100
ProbStart[stateTag{'E', "vn"}] = -3.14e+100
ProbStart[stateTag{'E', "vq"}] = -3.14e+100
ProbStart[stateTag{'E', "w"}] = -3.14e+100
ProbStart[stateTag{'E', "x"}] = -3.14e+100
ProbStart[stateTag{'E', "y"}] = -3.14e+100
ProbStart[stateTag{'E', "yg"}] = -3.14e+100
ProbStart[stateTag{'E', "z"}] = -3.14e+100
ProbStart[stateTag{'E', "zg"}] = -3.14e+100
ProbStart[stateTag{'M', "a"}] = -3.14e+100
ProbStart[stateTag{'M', "ad"}] = -3.14e+100
ProbStart[stateTag{'M', "ag"}] = -3.14e+100
ProbStart[stateTag{'M', "an"}] = -3.14e+100
ProbStart[stateTag{'M', "b"}] = -3.14e+100
ProbStart[stateTag{'M', "bg"}] = -3.14e+100
ProbStart[stateTag{'M', "c"}] = -3.14e+100
ProbStart[stateTag{'M', "d"}] = -3.14e+100
ProbStart[stateTag{'M', "df"}] = -3.14e+100
ProbStart[stateTag{'M', "dg"}] = -3.14e+100
ProbStart[stateTag{'M', "e"}] = -3.14e+100
ProbStart[stateTag{'M', "en"}] = -3.14e+100
ProbStart[stateTag{'M', "f"}] = -3.14e+100
ProbStart[stateTag{'M', "g"}] = -3.14e+100
ProbStart[stateTag{'M', "h"}] = -3.14e+100
ProbStart[stateTag{'M', "i"}] = -3.14e+100
ProbStart[stateTag{'M', "in"}] = -3.14e+100
ProbStart[stateTag{'M', "j"}] = -3.14e+100
ProbStart[stateTag{'M', "jn"}] = -3.14e+100
ProbStart[stateTag{'M', "k"}] = -3.14e+100
ProbStart[stateTag{'M', "l"}] = -3.14e+100
ProbStart[stateTag{'M', "ln"}] = -3.14e+100
ProbStart[stateTag{'M', "m"}] = -3.14e+100
ProbStart[stateTag{'M', "mg"}] = -3.14e+100
ProbStart[stateTag{'M', "mq"}] = -3.14e+100
ProbStart[stateTag{'M', "n"}] = -3.14e+100
ProbStart[stateTag{'M', "ng"}] = -3.14e+100
ProbStart[stateTag{'M', "nr"}] = -3.14e+100
ProbStart[stateTag{'M', "nrfg"}] = -3.14e+100
ProbStart[stateTag{'M', "nrt"}] = -3.14e+100
ProbStart[stateTag{'M', "ns"}] = -3.14e+100
ProbStart[stateTag{'M', "nt"}] = -3.14e+100
ProbStart[stateTag{'M', "nz"}] = -3.14e+100
ProbStart[stateTag{'M', "o"}] = -3.14e+100
ProbStart[stateTag{'M', "p"}] = -3.14e+100
ProbStart[stateTag{'M', "q"}] = -3.14e+100
ProbStart[stateTag{'M', "qe"}] = -3.14e+100
ProbStart[stateTag{'M', "qg"}] = -3.14e+100
ProbStart[stateTag{'M', "r"}] = -3.14e+100
ProbStart[stateTag{'M', "rg"}] = -3.14e+100
ProbStart[stateTag{'M', "rr"}] = -3.14e+100
ProbStart[stateTag{'M', "rz"}] = -3.14e+100
ProbStart[stateTag{'M', "s"}] = -3.14e+100
ProbStart[stateTag{'M', "t"}] = -3.14e+100
ProbStart[stateTag{'M', "tg"}] = -3.14e+100
ProbStart[stateTag{'M', "u"}] = -3.14e+100
ProbStart[stateTag{'M', "ud"}] = -3.14e+100
ProbStart[stateTag{'M', "ug"}] = -3.14e+100
ProbStart[stateTag{'M', "uj"}] = -3.14e+100
ProbStart[stateTag{'M', "ul"}] = -3.14e+100
ProbStart[stateTag{'M', "uv"}] = -3.14e+100
ProbStart[stateTag{'M', "uz"}] = -3.14e+100
ProbStart[stateTag{'M', "v"}] = -3.14e+100
ProbStart[stateTag{'M', "vd"}] = -3.14e+100
ProbStart[stateTag{'M', "vg"}] = -3.14e+100
ProbStart[stateTag{'M', "vi"}] = -3.14e+100
ProbStart[stateTag{'M', "vn"}] = -3.14e+100
ProbStart[stateTag{'M', "vq"}] = -3.14e+100
ProbStart[stateTag{'M', "w"}] = -3.14e+100
ProbStart[stateTag{'M', "x"}] = -3.14e+100
ProbStart[stateTag{'M', "y"}] = -3.14e+100
ProbStart[stateTag{'M', "yg"}] = -3.14e+100
ProbStart[stateTag{'M', "z"}] = -3.14e+100
ProbStart[stateTag{'M', "zg"}] = -3.14e+100
ProbStart[stateTag{'S', "a"}] = -3.9025396831295227
ProbStart[stateTag{'S', "ad"}] = -11.048458480182255
ProbStart[stateTag{'S', "ag"}] = -6.954113917960154
ProbStart[stateTag{'S', "an"}] = -12.84021794941031
ProbStart[stateTag{'S', "b"}] = -6.472888763970454
ProbStart[stateTag{'S', "bg"}] = -3.14e+100
ProbStart[stateTag{'S', "c"}] = -4.786966795861212
ProbStart[stateTag{'S', "d"}] = -3.903919764181873
ProbStart[stateTag{'S', "df"}] = -3.14e+100
ProbStart[stateTag{'S', "dg"}] = -8.948397651299683
ProbStart[stateTag{'S', "e"}] = -5.942513006281674
ProbStart[stateTag{'S', "en"}] = -3.14e+100
ProbStart[stateTag{'S', "f"}] = -5.194820249981676
ProbStart[stateTag{'S', "g"}] = -6.507826815331734
ProbStart[stateTag{'S', "h"}] = -8.650563207383884
ProbStart[stateTag{'S', "i"}] = -3.14e+100
ProbStart[stateTag{'S', "in"}] = -3.14e+100
ProbStart[stateTag{'S', "j"}] = -4.911992119644354
ProbStart[stateTag{'S', "jn"}] = -3.14e+100
ProbStart[stateTag{'S', "k"}] = -6.940320595827818
ProbStart[stateTag{'S', "l"}] = -3.14e+100
ProbStart[stateTag{'S', "ln"}] = -3.14e+100
ProbStart[stateTag{'S', "m"}] = -3.269200652116097
ProbStart[stateTag{'S', "mg"}] = -10.825314928868044
ProbStart[stateTag{'S', "mq"}] = -3.14e+100
ProbStart[stateTag{'S', "n"}] = -3.8551483897645107
ProbStart[stateTag{'S', "ng"}] = -4.913434861102905
ProbStart[stateTag{'S', "nr"}] = -4.483663103956885
ProbStart[stateTag{'S', "nrfg"}] = -3.14e+100
ProbStart[stateTag{'S', "nrt"}] = -3.14e+100
ProbStart[stateTag{'S', "ns"}] = -3.14e+100
ProbStart[stateTag{'S', "nt"}] = -12.147070768850364
ProbStart[stateTag{'S', "nz"}] = -3.14e+100
ProbStart[stateTag{'S', "o"}] = -8.464460927750023
ProbStart[stateTag{'S', "p"}] = -2.9868401813596317
ProbStart[stateTag{'S', "q"}] = -4.888658618255058
ProbStart[stateTag{'S', "qe"}] = -3.14e+100
ProbStart[stateTag{'S', "qg"}] = -3.14e+100
ProbStart[stateTag{'S', "r"}] = -2.7635336784127853
ProbStart[stateTag{'S', "rg"}] = -10.275268591948773
ProbStart[stateTag{'S', "rr"}] = -3.14e+100
ProbStart[stateTag{'S', "rz"}] = -3.14e+100
ProbStart[stateTag{'S', "s"}] = -3.14e+100
ProbStart[stateTag{'S', "t"}] = -3.14e+100
ProbStart[stateTag{'S', "tg"}] = -6.272842531880403
ProbStart[stateTag{'S', "u"}] = -6.940320595827818
ProbStart[stateTag{'S', "ud"}] = -7.728230161053767
ProbStart[stateTag{'S', "ug"}] = -7.5394037026636855
ProbStart[stateTag{'S', "uj"}] = -6.85251045118004
ProbStart[stateTag{'S', "ul"}] = -8.4153713175535
ProbStart[stateTag{'S', "uv"}] = -8.15808672228609
ProbStart[stateTag{'S', "uz"}] = -9.299258625372996
ProbStart[stateTag{'S', "v"}] = -3.053292303412302
ProbStart[stateTag{'S', "vd"}] = -3.14e+100
ProbStart[stateTag{'S', "vg"}] = -5.9430181843676895
ProbStart[stateTag{'S', "vi"}] = -3.14e+100
ProbStart[stateTag{'S', "vn"}] = -11.453923588290419
ProbStart[stateTag{'S', "vq"}] = -3.14e+100
ProbStart[stateTag{'S', "w"}] = -3.14e+100
ProbStart[stateTag{'S', "x"}] = -8.427419656069674
ProbStart[stateTag{'S', "y"}] = -6.1970794699489575
ProbStart[stateTag{'S', "yg"}] = -13.533365129970255
ProbStart[stateTag{'S', "z"}] = -3.14e+100
ProbStart[stateTag{'S', "zg"}] = -3.14e+100
}

File diff suppressed because it is too large Load Diff

View File

@@ -5,22 +5,22 @@ import (
"sort"
)
type StateTag struct {
type stateTag struct {
State byte
Tag string
}
func (st StateTag) String() string {
func (st stateTag) String() string {
return fmt.Sprintf("(%q, %s)", st.State, st.Tag)
}
func emptyStateTag() StateTag {
return StateTag{' ', ""}
func emptyStateTag() stateTag {
return stateTag{' ', ""}
}
type ProbState struct {
Prob float64
ST StateTag
ST stateTag
}
func (ps ProbState) String() string {
@@ -47,35 +47,35 @@ func (pss ProbStates) Swap(i, j int) {
pss[i], pss[j] = pss[j], pss[i]
}
func viterbi(obs []rune) (float64, []StateTag) {
func viterbi(obs []rune) (float64, []stateTag) {
obsLength := len(obs)
V := make([]map[StateTag]float64, obsLength)
V[0] = make(map[StateTag]float64)
mem_path := make([]map[StateTag]StateTag, obsLength)
mem_path[0] = make(map[StateTag]StateTag)
V := make([]map[stateTag]float64, obsLength)
V[0] = make(map[stateTag]float64)
mem_path := make([]map[stateTag]stateTag, obsLength)
mem_path[0] = make(map[stateTag]stateTag)
// all_states := ProbTransKeys
ys := CharStateTab.Get(obs[0]) // default is all_states
ys := charStateTab.get(obs[0]) // default is all_states
for _, y := range ys {
V[0][y] = ProbEmit[y].Get(obs[0]) + ProbStart[y]
mem_path[0][y] = emptyStateTag()
}
for t := 1; t < obsLength; t++ {
prev_states := make([]StateTag, 0)
prev_states := make([]stateTag, 0)
for x, _ := range mem_path[t-1] {
if len(ProbTrans[x]) > 0 {
prev_states = append(prev_states, x)
}
}
//use Go's map to implement Python's Set()
prev_states_expect_next := make(map[StateTag]StateTag)
prev_states_expect_next := make(map[stateTag]stateTag)
for _, x := range prev_states {
for y, _ := range ProbTrans[x] {
prev_states_expect_next[y] = y
}
}
tmp_obs_states := CharStateTab.Get(obs[t])
tmp_obs_states := charStateTab.get(obs[t])
obs_states := make([]StateTag, 0)
obs_states := make([]stateTag, 0)
for index, _ := range tmp_obs_states {
if _, ok := prev_states_expect_next[tmp_obs_states[index]]; ok {
obs_states = append(obs_states, tmp_obs_states[index])
@@ -89,8 +89,8 @@ func viterbi(obs []rune) (float64, []StateTag) {
if len(obs_states) == 0 {
obs_states = ProbTransKeys
}
mem_path[t] = make(map[StateTag]StateTag)
V[t] = make(map[StateTag]float64)
mem_path[t] = make(map[stateTag]stateTag) // TODO: value needed or not?
V[t] = make(map[stateTag]float64)
for _, y := range obs_states {
pss := make(ProbStates, 0)
for _, y0 := range prev_states {
@@ -114,7 +114,7 @@ func viterbi(obs []rune) (float64, []StateTag) {
sort.Sort(sort.Reverse(last))
prob := last[0].Prob
state := last[0].ST
route := make([]StateTag, len(obs))
route := make([]stateTag, len(obs))
i := obsLength - 1
for {
if i < 0 {

View File

@@ -5,27 +5,27 @@ import (
)
var (
route1 = []StateTag{
StateTag{'B', "nr"},
StateTag{'M', "nr"},
StateTag{'E', "nr"},
StateTag{'S', "v"},
StateTag{'B', "v"},
StateTag{'E', "v"},
StateTag{'B', "n"},
StateTag{'M', "n"},
StateTag{'E', "n"},
StateTag{'S', "d"},
StateTag{'S', "v"},
StateTag{'S', "n"},
StateTag{'B', "v"},
StateTag{'E', "v"},
StateTag{'B', "nr"},
StateTag{'M', "nr"},
StateTag{'M', "nr"},
StateTag{'M', "nr"},
StateTag{'E', "nr"},
StateTag{'S', "zg"}}
route1 = []stateTag{
stateTag{'B', "nr"},
stateTag{'M', "nr"},
stateTag{'E', "nr"},
stateTag{'S', "v"},
stateTag{'B', "v"},
stateTag{'E', "v"},
stateTag{'B', "n"},
stateTag{'M', "n"},
stateTag{'E', "n"},
stateTag{'S', "d"},
stateTag{'S', "v"},
stateTag{'S', "n"},
stateTag{'B', "v"},
stateTag{'E', "v"},
stateTag{'B', "nr"},
stateTag{'M', "nr"},
stateTag{'M', "nr"},
stateTag{'M', "nr"},
stateTag{'E', "nr"},
stateTag{'S', "zg"}}
)
func TestViterbi(t *testing.T) {