internal IEnumerable<string> CutDagWithoutHmm(string sentence)
{
var dag = GetDag(sentence);
var route = Calc(sentence, dag);
var words = new List<string>();
var x = 0;
string buf = string.Empty;
var N = sentence.Length;
var y = -1;
while (x < N)
{
y = route[x].Key + 1;
var l_word = sentence.Substring(x, y - x);
if (RegexEnglishChars.IsMatch(l_word) && l_word.Length == 1)
{
buf += l_word;
x = y;
}
else
{
if (buf.Length > 0)
{
words.Add(buf);
buf = string.Empty;
}
words.Add(l_word);
x = y;
}
}
if (buf.Length > 0)
{
words.Add(buf);
}
return words;
}