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) { func TestGet(t *testing.T) {
result := CharStateTab.Get('\u8000') result := charStateTab.get('\u8000')
if len(result) != 17 { if len(result) != 17 {
t.FailNow() t.FailNow()
} }
result = CharStateTab.Get('\uaaaa') result = charStateTab.get('\uaaaa')
if len(result) == 17 { if len(result) == 17 {
t.FailNow() t.FailNow()
} }

File diff suppressed because it is too large Load Diff

View File

@@ -1,264 +1,264 @@
package posseg package posseg
var ( var (
ProbStart = make(map[StateTag]float64) ProbStart = make(map[stateTag]float64)
) )
func init() { func init() {
ProbStart[StateTag{'B', "a"}] = -4.762305214596967 ProbStart[stateTag{'B', "a"}] = -4.762305214596967
ProbStart[StateTag{'B', "ad"}] = -6.680066036784177 ProbStart[stateTag{'B', "ad"}] = -6.680066036784177
ProbStart[StateTag{'B', "ag"}] = -3.14e+100 ProbStart[stateTag{'B', "ag"}] = -3.14e+100
ProbStart[StateTag{'B', "an"}] = -8.697083223018778 ProbStart[stateTag{'B', "an"}] = -8.697083223018778
ProbStart[StateTag{'B', "b"}] = -5.018374362109218 ProbStart[stateTag{'B', "b"}] = -5.018374362109218
ProbStart[StateTag{'B', "bg"}] = -3.14e+100 ProbStart[stateTag{'B', "bg"}] = -3.14e+100
ProbStart[StateTag{'B', "c"}] = -3.423880184954888 ProbStart[stateTag{'B', "c"}] = -3.423880184954888
ProbStart[StateTag{'B', "d"}] = -3.9750475297585357 ProbStart[stateTag{'B', "d"}] = -3.9750475297585357
ProbStart[StateTag{'B', "df"}] = -8.888974230828882 ProbStart[stateTag{'B', "df"}] = -8.888974230828882
ProbStart[StateTag{'B', "dg"}] = -3.14e+100 ProbStart[stateTag{'B', "dg"}] = -3.14e+100
ProbStart[StateTag{'B', "e"}] = -8.563551830394255 ProbStart[stateTag{'B', "e"}] = -8.563551830394255
ProbStart[StateTag{'B', "en"}] = -3.14e+100 ProbStart[stateTag{'B', "en"}] = -3.14e+100
ProbStart[StateTag{'B', "f"}] = -5.491630418482717 ProbStart[stateTag{'B', "f"}] = -5.491630418482717
ProbStart[StateTag{'B', "g"}] = -3.14e+100 ProbStart[stateTag{'B', "g"}] = -3.14e+100
ProbStart[StateTag{'B', "h"}] = -13.533365129970255 ProbStart[stateTag{'B', "h"}] = -13.533365129970255
ProbStart[StateTag{'B', "i"}] = -6.1157847275557105 ProbStart[stateTag{'B', "i"}] = -6.1157847275557105
ProbStart[StateTag{'B', "in"}] = -3.14e+100 ProbStart[stateTag{'B', "in"}] = -3.14e+100
ProbStart[StateTag{'B', "j"}] = -5.0576191284681915 ProbStart[stateTag{'B', "j"}] = -5.0576191284681915
ProbStart[StateTag{'B', "jn"}] = -3.14e+100 ProbStart[stateTag{'B', "jn"}] = -3.14e+100
ProbStart[StateTag{'B', "k"}] = -3.14e+100 ProbStart[stateTag{'B', "k"}] = -3.14e+100
ProbStart[StateTag{'B', "l"}] = -4.905883584659895 ProbStart[stateTag{'B', "l"}] = -4.905883584659895
ProbStart[StateTag{'B', "ln"}] = -3.14e+100 ProbStart[stateTag{'B', "ln"}] = -3.14e+100
ProbStart[StateTag{'B', "m"}] = -3.6524299819046386 ProbStart[stateTag{'B', "m"}] = -3.6524299819046386
ProbStart[StateTag{'B', "mg"}] = -3.14e+100 ProbStart[stateTag{'B', "mg"}] = -3.14e+100
ProbStart[StateTag{'B', "mq"}] = -6.78695300139688 ProbStart[stateTag{'B', "mq"}] = -6.78695300139688
ProbStart[StateTag{'B', "n"}] = -1.6966257797548328 ProbStart[stateTag{'B', "n"}] = -1.6966257797548328
ProbStart[StateTag{'B', "ng"}] = -3.14e+100 ProbStart[stateTag{'B', "ng"}] = -3.14e+100
ProbStart[StateTag{'B', "nr"}] = -2.2310495913769506 ProbStart[stateTag{'B', "nr"}] = -2.2310495913769506
ProbStart[StateTag{'B', "nrfg"}] = -5.873722175405573 ProbStart[stateTag{'B', "nrfg"}] = -5.873722175405573
ProbStart[StateTag{'B', "nrt"}] = -4.985642733519195 ProbStart[stateTag{'B', "nrt"}] = -4.985642733519195
ProbStart[StateTag{'B', "ns"}] = -2.8228438314969213 ProbStart[stateTag{'B', "ns"}] = -2.8228438314969213
ProbStart[StateTag{'B', "nt"}] = -4.846091668182416 ProbStart[stateTag{'B', "nt"}] = -4.846091668182416
ProbStart[StateTag{'B', "nz"}] = -3.94698846057672 ProbStart[stateTag{'B', "nz"}] = -3.94698846057672
ProbStart[StateTag{'B', "o"}] = -8.433498702146057 ProbStart[stateTag{'B', "o"}] = -8.433498702146057
ProbStart[StateTag{'B', "p"}] = -4.200984132085048 ProbStart[stateTag{'B', "p"}] = -4.200984132085048
ProbStart[StateTag{'B', "q"}] = -6.998123858956596 ProbStart[stateTag{'B', "q"}] = -6.998123858956596
ProbStart[StateTag{'B', "qe"}] = -3.14e+100 ProbStart[stateTag{'B', "qe"}] = -3.14e+100
ProbStart[StateTag{'B', "qg"}] = -3.14e+100 ProbStart[stateTag{'B', "qg"}] = -3.14e+100
ProbStart[StateTag{'B', "r"}] = -3.4098187790818413 ProbStart[stateTag{'B', "r"}] = -3.4098187790818413
ProbStart[StateTag{'B', "rg"}] = -3.14e+100 ProbStart[stateTag{'B', "rg"}] = -3.14e+100
ProbStart[StateTag{'B', "rr"}] = -12.434752841302146 ProbStart[stateTag{'B', "rr"}] = -12.434752841302146
ProbStart[StateTag{'B', "rz"}] = -7.946116471570005 ProbStart[stateTag{'B', "rz"}] = -7.946116471570005
ProbStart[StateTag{'B', "s"}] = -5.522673590839954 ProbStart[stateTag{'B', "s"}] = -5.522673590839954
ProbStart[StateTag{'B', "t"}] = -3.3647479094528574 ProbStart[stateTag{'B', "t"}] = -3.3647479094528574
ProbStart[StateTag{'B', "tg"}] = -3.14e+100 ProbStart[stateTag{'B', "tg"}] = -3.14e+100
ProbStart[StateTag{'B', "u"}] = -9.163917277503234 ProbStart[stateTag{'B', "u"}] = -9.163917277503234
ProbStart[StateTag{'B', "ud"}] = -3.14e+100 ProbStart[stateTag{'B', "ud"}] = -3.14e+100
ProbStart[StateTag{'B', "ug"}] = -3.14e+100 ProbStart[stateTag{'B', "ug"}] = -3.14e+100
ProbStart[StateTag{'B', "uj"}] = -3.14e+100 ProbStart[stateTag{'B', "uj"}] = -3.14e+100
ProbStart[StateTag{'B', "ul"}] = -3.14e+100 ProbStart[stateTag{'B', "ul"}] = -3.14e+100
ProbStart[StateTag{'B', "uv"}] = -3.14e+100 ProbStart[stateTag{'B', "uv"}] = -3.14e+100
ProbStart[StateTag{'B', "uz"}] = -3.14e+100 ProbStart[stateTag{'B', "uz"}] = -3.14e+100
ProbStart[StateTag{'B', "v"}] = -2.6740584874265685 ProbStart[stateTag{'B', "v"}] = -2.6740584874265685
ProbStart[StateTag{'B', "vd"}] = -9.044728760238115 ProbStart[stateTag{'B', "vd"}] = -9.044728760238115
ProbStart[StateTag{'B', "vg"}] = -3.14e+100 ProbStart[stateTag{'B', "vg"}] = -3.14e+100
ProbStart[StateTag{'B', "vi"}] = -12.434752841302146 ProbStart[stateTag{'B', "vi"}] = -12.434752841302146
ProbStart[StateTag{'B', "vn"}] = -4.3315610890163585 ProbStart[stateTag{'B', "vn"}] = -4.3315610890163585
ProbStart[StateTag{'B', "vq"}] = -12.147070768850364 ProbStart[stateTag{'B', "vq"}] = -12.147070768850364
ProbStart[StateTag{'B', "w"}] = -3.14e+100 ProbStart[stateTag{'B', "w"}] = -3.14e+100
ProbStart[StateTag{'B', "x"}] = -3.14e+100 ProbStart[stateTag{'B', "x"}] = -3.14e+100
ProbStart[StateTag{'B', "y"}] = -9.844485675856319 ProbStart[stateTag{'B', "y"}] = -9.844485675856319
ProbStart[StateTag{'B', "yg"}] = -3.14e+100 ProbStart[stateTag{'B', "yg"}] = -3.14e+100
ProbStart[StateTag{'B', "z"}] = -7.045681111485645 ProbStart[stateTag{'B', "z"}] = -7.045681111485645
ProbStart[StateTag{'B', "zg"}] = -3.14e+100 ProbStart[stateTag{'B', "zg"}] = -3.14e+100
ProbStart[StateTag{'E', "a"}] = -3.14e+100 ProbStart[stateTag{'E', "a"}] = -3.14e+100
ProbStart[StateTag{'E', "ad"}] = -3.14e+100 ProbStart[stateTag{'E', "ad"}] = -3.14e+100
ProbStart[StateTag{'E', "ag"}] = -3.14e+100 ProbStart[stateTag{'E', "ag"}] = -3.14e+100
ProbStart[StateTag{'E', "an"}] = -3.14e+100 ProbStart[stateTag{'E', "an"}] = -3.14e+100
ProbStart[StateTag{'E', "b"}] = -3.14e+100 ProbStart[stateTag{'E', "b"}] = -3.14e+100
ProbStart[StateTag{'E', "bg"}] = -3.14e+100 ProbStart[stateTag{'E', "bg"}] = -3.14e+100
ProbStart[StateTag{'E', "c"}] = -3.14e+100 ProbStart[stateTag{'E', "c"}] = -3.14e+100
ProbStart[StateTag{'E', "d"}] = -3.14e+100 ProbStart[stateTag{'E', "d"}] = -3.14e+100
ProbStart[StateTag{'E', "df"}] = -3.14e+100 ProbStart[stateTag{'E', "df"}] = -3.14e+100
ProbStart[StateTag{'E', "dg"}] = -3.14e+100 ProbStart[stateTag{'E', "dg"}] = -3.14e+100
ProbStart[StateTag{'E', "e"}] = -3.14e+100 ProbStart[stateTag{'E', "e"}] = -3.14e+100
ProbStart[StateTag{'E', "en"}] = -3.14e+100 ProbStart[stateTag{'E', "en"}] = -3.14e+100
ProbStart[StateTag{'E', "f"}] = -3.14e+100 ProbStart[stateTag{'E', "f"}] = -3.14e+100
ProbStart[StateTag{'E', "g"}] = -3.14e+100 ProbStart[stateTag{'E', "g"}] = -3.14e+100
ProbStart[StateTag{'E', "h"}] = -3.14e+100 ProbStart[stateTag{'E', "h"}] = -3.14e+100
ProbStart[StateTag{'E', "i"}] = -3.14e+100 ProbStart[stateTag{'E', "i"}] = -3.14e+100
ProbStart[StateTag{'E', "in"}] = -3.14e+100 ProbStart[stateTag{'E', "in"}] = -3.14e+100
ProbStart[StateTag{'E', "j"}] = -3.14e+100 ProbStart[stateTag{'E', "j"}] = -3.14e+100
ProbStart[StateTag{'E', "jn"}] = -3.14e+100 ProbStart[stateTag{'E', "jn"}] = -3.14e+100
ProbStart[StateTag{'E', "k"}] = -3.14e+100 ProbStart[stateTag{'E', "k"}] = -3.14e+100
ProbStart[StateTag{'E', "l"}] = -3.14e+100 ProbStart[stateTag{'E', "l"}] = -3.14e+100
ProbStart[StateTag{'E', "ln"}] = -3.14e+100 ProbStart[stateTag{'E', "ln"}] = -3.14e+100
ProbStart[StateTag{'E', "m"}] = -3.14e+100 ProbStart[stateTag{'E', "m"}] = -3.14e+100
ProbStart[StateTag{'E', "mg"}] = -3.14e+100 ProbStart[stateTag{'E', "mg"}] = -3.14e+100
ProbStart[StateTag{'E', "mq"}] = -3.14e+100 ProbStart[stateTag{'E', "mq"}] = -3.14e+100
ProbStart[StateTag{'E', "n"}] = -3.14e+100 ProbStart[stateTag{'E', "n"}] = -3.14e+100
ProbStart[StateTag{'E', "ng"}] = -3.14e+100 ProbStart[stateTag{'E', "ng"}] = -3.14e+100
ProbStart[StateTag{'E', "nr"}] = -3.14e+100 ProbStart[stateTag{'E', "nr"}] = -3.14e+100
ProbStart[StateTag{'E', "nrfg"}] = -3.14e+100 ProbStart[stateTag{'E', "nrfg"}] = -3.14e+100
ProbStart[StateTag{'E', "nrt"}] = -3.14e+100 ProbStart[stateTag{'E', "nrt"}] = -3.14e+100
ProbStart[StateTag{'E', "ns"}] = -3.14e+100 ProbStart[stateTag{'E', "ns"}] = -3.14e+100
ProbStart[StateTag{'E', "nt"}] = -3.14e+100 ProbStart[stateTag{'E', "nt"}] = -3.14e+100
ProbStart[StateTag{'E', "nz"}] = -3.14e+100 ProbStart[stateTag{'E', "nz"}] = -3.14e+100
ProbStart[StateTag{'E', "o"}] = -3.14e+100 ProbStart[stateTag{'E', "o"}] = -3.14e+100
ProbStart[StateTag{'E', "p"}] = -3.14e+100 ProbStart[stateTag{'E', "p"}] = -3.14e+100
ProbStart[StateTag{'E', "q"}] = -3.14e+100 ProbStart[stateTag{'E', "q"}] = -3.14e+100
ProbStart[StateTag{'E', "qe"}] = -3.14e+100 ProbStart[stateTag{'E', "qe"}] = -3.14e+100
ProbStart[StateTag{'E', "qg"}] = -3.14e+100 ProbStart[stateTag{'E', "qg"}] = -3.14e+100
ProbStart[StateTag{'E', "r"}] = -3.14e+100 ProbStart[stateTag{'E', "r"}] = -3.14e+100
ProbStart[StateTag{'E', "rg"}] = -3.14e+100 ProbStart[stateTag{'E', "rg"}] = -3.14e+100
ProbStart[StateTag{'E', "rr"}] = -3.14e+100 ProbStart[stateTag{'E', "rr"}] = -3.14e+100
ProbStart[StateTag{'E', "rz"}] = -3.14e+100 ProbStart[stateTag{'E', "rz"}] = -3.14e+100
ProbStart[StateTag{'E', "s"}] = -3.14e+100 ProbStart[stateTag{'E', "s"}] = -3.14e+100
ProbStart[StateTag{'E', "t"}] = -3.14e+100 ProbStart[stateTag{'E', "t"}] = -3.14e+100
ProbStart[StateTag{'E', "tg"}] = -3.14e+100 ProbStart[stateTag{'E', "tg"}] = -3.14e+100
ProbStart[StateTag{'E', "u"}] = -3.14e+100 ProbStart[stateTag{'E', "u"}] = -3.14e+100
ProbStart[StateTag{'E', "ud"}] = -3.14e+100 ProbStart[stateTag{'E', "ud"}] = -3.14e+100
ProbStart[StateTag{'E', "ug"}] = -3.14e+100 ProbStart[stateTag{'E', "ug"}] = -3.14e+100
ProbStart[StateTag{'E', "uj"}] = -3.14e+100 ProbStart[stateTag{'E', "uj"}] = -3.14e+100
ProbStart[StateTag{'E', "ul"}] = -3.14e+100 ProbStart[stateTag{'E', "ul"}] = -3.14e+100
ProbStart[StateTag{'E', "uv"}] = -3.14e+100 ProbStart[stateTag{'E', "uv"}] = -3.14e+100
ProbStart[StateTag{'E', "uz"}] = -3.14e+100 ProbStart[stateTag{'E', "uz"}] = -3.14e+100
ProbStart[StateTag{'E', "v"}] = -3.14e+100 ProbStart[stateTag{'E', "v"}] = -3.14e+100
ProbStart[StateTag{'E', "vd"}] = -3.14e+100 ProbStart[stateTag{'E', "vd"}] = -3.14e+100
ProbStart[StateTag{'E', "vg"}] = -3.14e+100 ProbStart[stateTag{'E', "vg"}] = -3.14e+100
ProbStart[StateTag{'E', "vi"}] = -3.14e+100 ProbStart[stateTag{'E', "vi"}] = -3.14e+100
ProbStart[StateTag{'E', "vn"}] = -3.14e+100 ProbStart[stateTag{'E', "vn"}] = -3.14e+100
ProbStart[StateTag{'E', "vq"}] = -3.14e+100 ProbStart[stateTag{'E', "vq"}] = -3.14e+100
ProbStart[StateTag{'E', "w"}] = -3.14e+100 ProbStart[stateTag{'E', "w"}] = -3.14e+100
ProbStart[StateTag{'E', "x"}] = -3.14e+100 ProbStart[stateTag{'E', "x"}] = -3.14e+100
ProbStart[StateTag{'E', "y"}] = -3.14e+100 ProbStart[stateTag{'E', "y"}] = -3.14e+100
ProbStart[StateTag{'E', "yg"}] = -3.14e+100 ProbStart[stateTag{'E', "yg"}] = -3.14e+100
ProbStart[StateTag{'E', "z"}] = -3.14e+100 ProbStart[stateTag{'E', "z"}] = -3.14e+100
ProbStart[StateTag{'E', "zg"}] = -3.14e+100 ProbStart[stateTag{'E', "zg"}] = -3.14e+100
ProbStart[StateTag{'M', "a"}] = -3.14e+100 ProbStart[stateTag{'M', "a"}] = -3.14e+100
ProbStart[StateTag{'M', "ad"}] = -3.14e+100 ProbStart[stateTag{'M', "ad"}] = -3.14e+100
ProbStart[StateTag{'M', "ag"}] = -3.14e+100 ProbStart[stateTag{'M', "ag"}] = -3.14e+100
ProbStart[StateTag{'M', "an"}] = -3.14e+100 ProbStart[stateTag{'M', "an"}] = -3.14e+100
ProbStart[StateTag{'M', "b"}] = -3.14e+100 ProbStart[stateTag{'M', "b"}] = -3.14e+100
ProbStart[StateTag{'M', "bg"}] = -3.14e+100 ProbStart[stateTag{'M', "bg"}] = -3.14e+100
ProbStart[StateTag{'M', "c"}] = -3.14e+100 ProbStart[stateTag{'M', "c"}] = -3.14e+100
ProbStart[StateTag{'M', "d"}] = -3.14e+100 ProbStart[stateTag{'M', "d"}] = -3.14e+100
ProbStart[StateTag{'M', "df"}] = -3.14e+100 ProbStart[stateTag{'M', "df"}] = -3.14e+100
ProbStart[StateTag{'M', "dg"}] = -3.14e+100 ProbStart[stateTag{'M', "dg"}] = -3.14e+100
ProbStart[StateTag{'M', "e"}] = -3.14e+100 ProbStart[stateTag{'M', "e"}] = -3.14e+100
ProbStart[StateTag{'M', "en"}] = -3.14e+100 ProbStart[stateTag{'M', "en"}] = -3.14e+100
ProbStart[StateTag{'M', "f"}] = -3.14e+100 ProbStart[stateTag{'M', "f"}] = -3.14e+100
ProbStart[StateTag{'M', "g"}] = -3.14e+100 ProbStart[stateTag{'M', "g"}] = -3.14e+100
ProbStart[StateTag{'M', "h"}] = -3.14e+100 ProbStart[stateTag{'M', "h"}] = -3.14e+100
ProbStart[StateTag{'M', "i"}] = -3.14e+100 ProbStart[stateTag{'M', "i"}] = -3.14e+100
ProbStart[StateTag{'M', "in"}] = -3.14e+100 ProbStart[stateTag{'M', "in"}] = -3.14e+100
ProbStart[StateTag{'M', "j"}] = -3.14e+100 ProbStart[stateTag{'M', "j"}] = -3.14e+100
ProbStart[StateTag{'M', "jn"}] = -3.14e+100 ProbStart[stateTag{'M', "jn"}] = -3.14e+100
ProbStart[StateTag{'M', "k"}] = -3.14e+100 ProbStart[stateTag{'M', "k"}] = -3.14e+100
ProbStart[StateTag{'M', "l"}] = -3.14e+100 ProbStart[stateTag{'M', "l"}] = -3.14e+100
ProbStart[StateTag{'M', "ln"}] = -3.14e+100 ProbStart[stateTag{'M', "ln"}] = -3.14e+100
ProbStart[StateTag{'M', "m"}] = -3.14e+100 ProbStart[stateTag{'M', "m"}] = -3.14e+100
ProbStart[StateTag{'M', "mg"}] = -3.14e+100 ProbStart[stateTag{'M', "mg"}] = -3.14e+100
ProbStart[StateTag{'M', "mq"}] = -3.14e+100 ProbStart[stateTag{'M', "mq"}] = -3.14e+100
ProbStart[StateTag{'M', "n"}] = -3.14e+100 ProbStart[stateTag{'M', "n"}] = -3.14e+100
ProbStart[StateTag{'M', "ng"}] = -3.14e+100 ProbStart[stateTag{'M', "ng"}] = -3.14e+100
ProbStart[StateTag{'M', "nr"}] = -3.14e+100 ProbStart[stateTag{'M', "nr"}] = -3.14e+100
ProbStart[StateTag{'M', "nrfg"}] = -3.14e+100 ProbStart[stateTag{'M', "nrfg"}] = -3.14e+100
ProbStart[StateTag{'M', "nrt"}] = -3.14e+100 ProbStart[stateTag{'M', "nrt"}] = -3.14e+100
ProbStart[StateTag{'M', "ns"}] = -3.14e+100 ProbStart[stateTag{'M', "ns"}] = -3.14e+100
ProbStart[StateTag{'M', "nt"}] = -3.14e+100 ProbStart[stateTag{'M', "nt"}] = -3.14e+100
ProbStart[StateTag{'M', "nz"}] = -3.14e+100 ProbStart[stateTag{'M', "nz"}] = -3.14e+100
ProbStart[StateTag{'M', "o"}] = -3.14e+100 ProbStart[stateTag{'M', "o"}] = -3.14e+100
ProbStart[StateTag{'M', "p"}] = -3.14e+100 ProbStart[stateTag{'M', "p"}] = -3.14e+100
ProbStart[StateTag{'M', "q"}] = -3.14e+100 ProbStart[stateTag{'M', "q"}] = -3.14e+100
ProbStart[StateTag{'M', "qe"}] = -3.14e+100 ProbStart[stateTag{'M', "qe"}] = -3.14e+100
ProbStart[StateTag{'M', "qg"}] = -3.14e+100 ProbStart[stateTag{'M', "qg"}] = -3.14e+100
ProbStart[StateTag{'M', "r"}] = -3.14e+100 ProbStart[stateTag{'M', "r"}] = -3.14e+100
ProbStart[StateTag{'M', "rg"}] = -3.14e+100 ProbStart[stateTag{'M', "rg"}] = -3.14e+100
ProbStart[StateTag{'M', "rr"}] = -3.14e+100 ProbStart[stateTag{'M', "rr"}] = -3.14e+100
ProbStart[StateTag{'M', "rz"}] = -3.14e+100 ProbStart[stateTag{'M', "rz"}] = -3.14e+100
ProbStart[StateTag{'M', "s"}] = -3.14e+100 ProbStart[stateTag{'M', "s"}] = -3.14e+100
ProbStart[StateTag{'M', "t"}] = -3.14e+100 ProbStart[stateTag{'M', "t"}] = -3.14e+100
ProbStart[StateTag{'M', "tg"}] = -3.14e+100 ProbStart[stateTag{'M', "tg"}] = -3.14e+100
ProbStart[StateTag{'M', "u"}] = -3.14e+100 ProbStart[stateTag{'M', "u"}] = -3.14e+100
ProbStart[StateTag{'M', "ud"}] = -3.14e+100 ProbStart[stateTag{'M', "ud"}] = -3.14e+100
ProbStart[StateTag{'M', "ug"}] = -3.14e+100 ProbStart[stateTag{'M', "ug"}] = -3.14e+100
ProbStart[StateTag{'M', "uj"}] = -3.14e+100 ProbStart[stateTag{'M', "uj"}] = -3.14e+100
ProbStart[StateTag{'M', "ul"}] = -3.14e+100 ProbStart[stateTag{'M', "ul"}] = -3.14e+100
ProbStart[StateTag{'M', "uv"}] = -3.14e+100 ProbStart[stateTag{'M', "uv"}] = -3.14e+100
ProbStart[StateTag{'M', "uz"}] = -3.14e+100 ProbStart[stateTag{'M', "uz"}] = -3.14e+100
ProbStart[StateTag{'M', "v"}] = -3.14e+100 ProbStart[stateTag{'M', "v"}] = -3.14e+100
ProbStart[StateTag{'M', "vd"}] = -3.14e+100 ProbStart[stateTag{'M', "vd"}] = -3.14e+100
ProbStart[StateTag{'M', "vg"}] = -3.14e+100 ProbStart[stateTag{'M', "vg"}] = -3.14e+100
ProbStart[StateTag{'M', "vi"}] = -3.14e+100 ProbStart[stateTag{'M', "vi"}] = -3.14e+100
ProbStart[StateTag{'M', "vn"}] = -3.14e+100 ProbStart[stateTag{'M', "vn"}] = -3.14e+100
ProbStart[StateTag{'M', "vq"}] = -3.14e+100 ProbStart[stateTag{'M', "vq"}] = -3.14e+100
ProbStart[StateTag{'M', "w"}] = -3.14e+100 ProbStart[stateTag{'M', "w"}] = -3.14e+100
ProbStart[StateTag{'M', "x"}] = -3.14e+100 ProbStart[stateTag{'M', "x"}] = -3.14e+100
ProbStart[StateTag{'M', "y"}] = -3.14e+100 ProbStart[stateTag{'M', "y"}] = -3.14e+100
ProbStart[StateTag{'M', "yg"}] = -3.14e+100 ProbStart[stateTag{'M', "yg"}] = -3.14e+100
ProbStart[StateTag{'M', "z"}] = -3.14e+100 ProbStart[stateTag{'M', "z"}] = -3.14e+100
ProbStart[StateTag{'M', "zg"}] = -3.14e+100 ProbStart[stateTag{'M', "zg"}] = -3.14e+100
ProbStart[StateTag{'S', "a"}] = -3.9025396831295227 ProbStart[stateTag{'S', "a"}] = -3.9025396831295227
ProbStart[StateTag{'S', "ad"}] = -11.048458480182255 ProbStart[stateTag{'S', "ad"}] = -11.048458480182255
ProbStart[StateTag{'S', "ag"}] = -6.954113917960154 ProbStart[stateTag{'S', "ag"}] = -6.954113917960154
ProbStart[StateTag{'S', "an"}] = -12.84021794941031 ProbStart[stateTag{'S', "an"}] = -12.84021794941031
ProbStart[StateTag{'S', "b"}] = -6.472888763970454 ProbStart[stateTag{'S', "b"}] = -6.472888763970454
ProbStart[StateTag{'S', "bg"}] = -3.14e+100 ProbStart[stateTag{'S', "bg"}] = -3.14e+100
ProbStart[StateTag{'S', "c"}] = -4.786966795861212 ProbStart[stateTag{'S', "c"}] = -4.786966795861212
ProbStart[StateTag{'S', "d"}] = -3.903919764181873 ProbStart[stateTag{'S', "d"}] = -3.903919764181873
ProbStart[StateTag{'S', "df"}] = -3.14e+100 ProbStart[stateTag{'S', "df"}] = -3.14e+100
ProbStart[StateTag{'S', "dg"}] = -8.948397651299683 ProbStart[stateTag{'S', "dg"}] = -8.948397651299683
ProbStart[StateTag{'S', "e"}] = -5.942513006281674 ProbStart[stateTag{'S', "e"}] = -5.942513006281674
ProbStart[StateTag{'S', "en"}] = -3.14e+100 ProbStart[stateTag{'S', "en"}] = -3.14e+100
ProbStart[StateTag{'S', "f"}] = -5.194820249981676 ProbStart[stateTag{'S', "f"}] = -5.194820249981676
ProbStart[StateTag{'S', "g"}] = -6.507826815331734 ProbStart[stateTag{'S', "g"}] = -6.507826815331734
ProbStart[StateTag{'S', "h"}] = -8.650563207383884 ProbStart[stateTag{'S', "h"}] = -8.650563207383884
ProbStart[StateTag{'S', "i"}] = -3.14e+100 ProbStart[stateTag{'S', "i"}] = -3.14e+100
ProbStart[StateTag{'S', "in"}] = -3.14e+100 ProbStart[stateTag{'S', "in"}] = -3.14e+100
ProbStart[StateTag{'S', "j"}] = -4.911992119644354 ProbStart[stateTag{'S', "j"}] = -4.911992119644354
ProbStart[StateTag{'S', "jn"}] = -3.14e+100 ProbStart[stateTag{'S', "jn"}] = -3.14e+100
ProbStart[StateTag{'S', "k"}] = -6.940320595827818 ProbStart[stateTag{'S', "k"}] = -6.940320595827818
ProbStart[StateTag{'S', "l"}] = -3.14e+100 ProbStart[stateTag{'S', "l"}] = -3.14e+100
ProbStart[StateTag{'S', "ln"}] = -3.14e+100 ProbStart[stateTag{'S', "ln"}] = -3.14e+100
ProbStart[StateTag{'S', "m"}] = -3.269200652116097 ProbStart[stateTag{'S', "m"}] = -3.269200652116097
ProbStart[StateTag{'S', "mg"}] = -10.825314928868044 ProbStart[stateTag{'S', "mg"}] = -10.825314928868044
ProbStart[StateTag{'S', "mq"}] = -3.14e+100 ProbStart[stateTag{'S', "mq"}] = -3.14e+100
ProbStart[StateTag{'S', "n"}] = -3.8551483897645107 ProbStart[stateTag{'S', "n"}] = -3.8551483897645107
ProbStart[StateTag{'S', "ng"}] = -4.913434861102905 ProbStart[stateTag{'S', "ng"}] = -4.913434861102905
ProbStart[StateTag{'S', "nr"}] = -4.483663103956885 ProbStart[stateTag{'S', "nr"}] = -4.483663103956885
ProbStart[StateTag{'S', "nrfg"}] = -3.14e+100 ProbStart[stateTag{'S', "nrfg"}] = -3.14e+100
ProbStart[StateTag{'S', "nrt"}] = -3.14e+100 ProbStart[stateTag{'S', "nrt"}] = -3.14e+100
ProbStart[StateTag{'S', "ns"}] = -3.14e+100 ProbStart[stateTag{'S', "ns"}] = -3.14e+100
ProbStart[StateTag{'S', "nt"}] = -12.147070768850364 ProbStart[stateTag{'S', "nt"}] = -12.147070768850364
ProbStart[StateTag{'S', "nz"}] = -3.14e+100 ProbStart[stateTag{'S', "nz"}] = -3.14e+100
ProbStart[StateTag{'S', "o"}] = -8.464460927750023 ProbStart[stateTag{'S', "o"}] = -8.464460927750023
ProbStart[StateTag{'S', "p"}] = -2.9868401813596317 ProbStart[stateTag{'S', "p"}] = -2.9868401813596317
ProbStart[StateTag{'S', "q"}] = -4.888658618255058 ProbStart[stateTag{'S', "q"}] = -4.888658618255058
ProbStart[StateTag{'S', "qe"}] = -3.14e+100 ProbStart[stateTag{'S', "qe"}] = -3.14e+100
ProbStart[StateTag{'S', "qg"}] = -3.14e+100 ProbStart[stateTag{'S', "qg"}] = -3.14e+100
ProbStart[StateTag{'S', "r"}] = -2.7635336784127853 ProbStart[stateTag{'S', "r"}] = -2.7635336784127853
ProbStart[StateTag{'S', "rg"}] = -10.275268591948773 ProbStart[stateTag{'S', "rg"}] = -10.275268591948773
ProbStart[StateTag{'S', "rr"}] = -3.14e+100 ProbStart[stateTag{'S', "rr"}] = -3.14e+100
ProbStart[StateTag{'S', "rz"}] = -3.14e+100 ProbStart[stateTag{'S', "rz"}] = -3.14e+100
ProbStart[StateTag{'S', "s"}] = -3.14e+100 ProbStart[stateTag{'S', "s"}] = -3.14e+100
ProbStart[StateTag{'S', "t"}] = -3.14e+100 ProbStart[stateTag{'S', "t"}] = -3.14e+100
ProbStart[StateTag{'S', "tg"}] = -6.272842531880403 ProbStart[stateTag{'S', "tg"}] = -6.272842531880403
ProbStart[StateTag{'S', "u"}] = -6.940320595827818 ProbStart[stateTag{'S', "u"}] = -6.940320595827818
ProbStart[StateTag{'S', "ud"}] = -7.728230161053767 ProbStart[stateTag{'S', "ud"}] = -7.728230161053767
ProbStart[StateTag{'S', "ug"}] = -7.5394037026636855 ProbStart[stateTag{'S', "ug"}] = -7.5394037026636855
ProbStart[StateTag{'S', "uj"}] = -6.85251045118004 ProbStart[stateTag{'S', "uj"}] = -6.85251045118004
ProbStart[StateTag{'S', "ul"}] = -8.4153713175535 ProbStart[stateTag{'S', "ul"}] = -8.4153713175535
ProbStart[StateTag{'S', "uv"}] = -8.15808672228609 ProbStart[stateTag{'S', "uv"}] = -8.15808672228609
ProbStart[StateTag{'S', "uz"}] = -9.299258625372996 ProbStart[stateTag{'S', "uz"}] = -9.299258625372996
ProbStart[StateTag{'S', "v"}] = -3.053292303412302 ProbStart[stateTag{'S', "v"}] = -3.053292303412302
ProbStart[StateTag{'S', "vd"}] = -3.14e+100 ProbStart[stateTag{'S', "vd"}] = -3.14e+100
ProbStart[StateTag{'S', "vg"}] = -5.9430181843676895 ProbStart[stateTag{'S', "vg"}] = -5.9430181843676895
ProbStart[StateTag{'S', "vi"}] = -3.14e+100 ProbStart[stateTag{'S', "vi"}] = -3.14e+100
ProbStart[StateTag{'S', "vn"}] = -11.453923588290419 ProbStart[stateTag{'S', "vn"}] = -11.453923588290419
ProbStart[StateTag{'S', "vq"}] = -3.14e+100 ProbStart[stateTag{'S', "vq"}] = -3.14e+100
ProbStart[StateTag{'S', "w"}] = -3.14e+100 ProbStart[stateTag{'S', "w"}] = -3.14e+100
ProbStart[StateTag{'S', "x"}] = -8.427419656069674 ProbStart[stateTag{'S', "x"}] = -8.427419656069674
ProbStart[StateTag{'S', "y"}] = -6.1970794699489575 ProbStart[stateTag{'S', "y"}] = -6.1970794699489575
ProbStart[StateTag{'S', "yg"}] = -13.533365129970255 ProbStart[stateTag{'S', "yg"}] = -13.533365129970255
ProbStart[StateTag{'S', "z"}] = -3.14e+100 ProbStart[stateTag{'S', "z"}] = -3.14e+100
ProbStart[StateTag{'S', "zg"}] = -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" "sort"
) )
type StateTag struct { type stateTag struct {
State byte State byte
Tag string Tag string
} }
func (st StateTag) String() string { func (st stateTag) String() string {
return fmt.Sprintf("(%q, %s)", st.State, st.Tag) return fmt.Sprintf("(%q, %s)", st.State, st.Tag)
} }
func emptyStateTag() StateTag { func emptyStateTag() stateTag {
return StateTag{' ', ""} return stateTag{' ', ""}
} }
type ProbState struct { type ProbState struct {
Prob float64 Prob float64
ST StateTag ST stateTag
} }
func (ps ProbState) String() string { func (ps ProbState) String() string {
@@ -47,35 +47,35 @@ func (pss ProbStates) Swap(i, j int) {
pss[i], pss[j] = pss[j], pss[i] pss[i], pss[j] = pss[j], pss[i]
} }
func viterbi(obs []rune) (float64, []StateTag) { func viterbi(obs []rune) (float64, []stateTag) {
obsLength := len(obs) obsLength := len(obs)
V := make([]map[StateTag]float64, obsLength) V := make([]map[stateTag]float64, obsLength)
V[0] = make(map[StateTag]float64) V[0] = make(map[stateTag]float64)
mem_path := make([]map[StateTag]StateTag, obsLength) mem_path := make([]map[stateTag]stateTag, obsLength)
mem_path[0] = make(map[StateTag]StateTag) mem_path[0] = make(map[stateTag]stateTag)
// all_states := ProbTransKeys // 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 { for _, y := range ys {
V[0][y] = ProbEmit[y].Get(obs[0]) + ProbStart[y] V[0][y] = ProbEmit[y].Get(obs[0]) + ProbStart[y]
mem_path[0][y] = emptyStateTag() mem_path[0][y] = emptyStateTag()
} }
for t := 1; t < obsLength; t++ { for t := 1; t < obsLength; t++ {
prev_states := make([]StateTag, 0) prev_states := make([]stateTag, 0)
for x, _ := range mem_path[t-1] { for x, _ := range mem_path[t-1] {
if len(ProbTrans[x]) > 0 { if len(ProbTrans[x]) > 0 {
prev_states = append(prev_states, x) prev_states = append(prev_states, x)
} }
} }
//use Go's map to implement Python's Set() //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 _, x := range prev_states {
for y, _ := range ProbTrans[x] { for y, _ := range ProbTrans[x] {
prev_states_expect_next[y] = y 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 { for index, _ := range tmp_obs_states {
if _, ok := prev_states_expect_next[tmp_obs_states[index]]; ok { if _, ok := prev_states_expect_next[tmp_obs_states[index]]; ok {
obs_states = append(obs_states, tmp_obs_states[index]) obs_states = append(obs_states, tmp_obs_states[index])
@@ -89,8 +89,8 @@ func viterbi(obs []rune) (float64, []StateTag) {
if len(obs_states) == 0 { if len(obs_states) == 0 {
obs_states = ProbTransKeys obs_states = ProbTransKeys
} }
mem_path[t] = make(map[StateTag]StateTag) mem_path[t] = make(map[stateTag]stateTag) // TODO: value needed or not?
V[t] = make(map[StateTag]float64) V[t] = make(map[stateTag]float64)
for _, y := range obs_states { for _, y := range obs_states {
pss := make(ProbStates, 0) pss := make(ProbStates, 0)
for _, y0 := range prev_states { for _, y0 := range prev_states {
@@ -114,7 +114,7 @@ func viterbi(obs []rune) (float64, []StateTag) {
sort.Sort(sort.Reverse(last)) sort.Sort(sort.Reverse(last))
prob := last[0].Prob prob := last[0].Prob
state := last[0].ST state := last[0].ST
route := make([]StateTag, len(obs)) route := make([]stateTag, len(obs))
i := obsLength - 1 i := obsLength - 1
for { for {
if i < 0 { if i < 0 {

View File

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