请问结构化感知机是如何结合词典的?

《自然语言处理入门》中结构化感知机可以添加用户自定义词典,并影响分词结果。

激活用户词典的相关示例代码在《自然语言处理入门》的196页:
CustomDictionary.insert(“川普”, “nrf 1”)
segment.enableCustomDictionaryForcing(True)
print(segment.seg(text)) //与川普通电话 ===》 与 川普 通电话

结构化感知机的输出结果为[B, M, E, S]的序列。通过[B, M, E, S]序列可以将句子转化为词语序列。这就已经算是一个完整的分词流程了。请问用户自定义词典是如何与结构化感知机结合起来的?我试着跟踪了下代码,但是没太看懂。

请参考p116第二段。

谢谢hankcs君。结合p116和代码终于搞明白了。

原来词典优先级低的时候是先分词,然后根据词典合并单词。

当词典优先级高时,对于感知机分词器,CRF等分词器,是先识别出自定义词典中的词,然后对句子中剩余的子串用分词器进行切分。将这两部分结果合并得到最终分词结果。