我正在使用使用HTK构建语言模型的prosody.lab 。我正在尝试训练这个新模型,但出现以下错误HTK
ERROR [+1452] ReadDictProns: word HAO' out of order in dict dictionary.dict
以下是我的字典的排序方式
EH EH0
ENSKA UH0 S K AH0
É'THO T OW0
HAO' HH AW0 OW0 Q
HENH HH AH0
KAHNAWAKE G AH0 N AH0 G EY0
KAHYÁ:TON' G AH0 Y AH0 D UH0 Q
所以在做一些研究时,我遇到了一个网站,上面说这个错误是因为:
Unix sort doesn't seem to match the sort HTK is looking for. Python's sort function seems to work. Numbers are sorted with '.' before 0, shorter before longer (1 < 1.0 < 10 < 100).
我认为排序受到我的字典中有特殊字符这一事实的影响。根据网站的指示,我将这些单词放入一个列表中,并使用 pythonsort
函数对这些单词进行排序。
unsorted_list = ["EH", "ENSKA", "É'THO", "HAO'", "HENH", "KAHNAWAKE", "KAHYÁ:TON'"]
sorted(unsorted_list)
但是上面的代码生成了一个与我的字典顺序相同的列表。
然后我尝试将我的字典放入另一个文件 ( unsorted_dict.txt
) 并使用 unix 命令对其进行排序sort
:
$sort unsorted_dict.txt
但这也会产生相同的订单和我的字典。
EH
ENSKA
É'THO
HAO'
HENH
KAHNAWAKE
KAHYÁ:TON'
我也尝试过切换HAO'
并HENH
在我的字典文件中给出以下顺序:
EH
ENSKA
É'THO
HENH
HAO'
KAHNAWAKE
KAHYÁ:TON'
但是这个命令会产生以下错误:
ERROR [+1452] ReadDictProns: word HENH out of order in dict dictionary.dict