輸入:準備把以前的一個分詞程序貢獻出來...
輸出:準備|把|以前的|一個|分詞|程序|貢獻|出來|...|希望|給|大家|一個|思路|...
本系列採用最大匹配法 (MM) + 字典樹 (Trie),不涉及語義/神經網絡,純結構化匹配,速度 ~1萬字/秒,記憶體 ~30MB,適合教學與輕量級場景。
public class KeyWordTreeNode
{
private char _treeNode; // 當前字符
private List _childList; // 子節點集合
public KeyWordTreeNode() { _childList = new List(); }
public KeyWordTreeNode(char nodeValue) : this() { _treeNode = nodeValue; }
public char TreeNode
{
get => _treeNode;
set => _treeNode = value;
}
public List ChildList
{
get => _childList;
set => _childList = value;
}
}
public class KeyWordTree
{
private KeyWordTreeNode _root = new KeyWordTreeNode(); // 根節點不存字符
public KeyWordTreeNode Root
{
get => _root;
set => _root = value;
}
}
TreeNode 中。Dictionary<char, KeyWordTreeNode> 或陣列 (字符集固定時)。IsWordEnd、WordFrequency、PartOfSpeech 等屬性支援詞頻、詞性標註。