詹卫东 http://ccl.pku.edu.cn/doubtfire zwd@pku.edu.cn 第九讲 中文姓名识别 詹卫东 http://ccl.pku.edu.cn/doubtfire zwd@pku.edu.cn
提纲 用概率法猜测中文姓名
一 概率法猜测中文姓名 例子: 她的名字是叫谭柳华吧 1 从右向左取出词串(直到非单字词为止): 是 叫 谭 柳 华 吧 一 概率法猜测中文姓名 例子: 她的名字是叫谭柳华吧 1 从右向左取出词串(直到非单字词为止): 是 叫 谭 柳 华 吧 2 在上述单字词串(碎片)中寻找可能是中文姓名的部分: 是 叫 谭 柳 华 吧 7.4944 把“谭柳”加入候选姓名 20.0000 - 0.2694 20.0000 把“谭柳华”加入候选姓名 - 10.3450 - 16.2774 - 9.4401 把“柳华”加入候选姓名 - 6.8817 1.5160 把“柳华吧”加入候选姓名
谭柳(-10.3450) 谭柳华(- 16.2774) 柳华(- 9.4401) 柳华吧(- 6.8817) 得到四个候选姓名: 谭柳(-10.3450) 谭柳华(- 16.2774) 柳华(- 9.4401) 柳华吧(- 6.8817) 同源姓名 交错姓名 交错姓名 “谭柳”费用高,删之 “柳华”费用高,删之 “柳华吧”费用高,删之 谭柳华
产生输出串 : 是 叫 谭柳华 吧 先处理姓名左边的词串: 是/ 叫/ 再输出姓名串: 是/ 叫/ 谭柳华/ 再输出姓名右边的词串: 是/ 产生输出串 : 是 叫 谭柳华 吧 poffset = 4 先处理姓名左边的词串: 是/ 叫/ 再输出姓名串: 是/ 叫/ 谭柳华/ 再输出姓名右边的词串: 是/ 叫/ 谭柳华/ 吧/ 继续向左输出词串: 是/ 叫/ 谭柳华/ 吧/ 名字/
继续处理剩余的“碎片: 她 的 “她 的” 费用: 14.2829 不是姓名 因此,作为单字词输出,得到最后结果: 她/ 的/ 名字/ 是/ 叫/ 谭柳华/ 吧/
课后练习 改进例子程序,使得可以识别数字 在例子程序中增加跟踪功能,将分析过程中的全部侯选词及其费用输出到一个文件中。