bi-gram->n-gra..._分词器 训练">
赞
踩
今天是周日,天气很潮湿,回南天的广州,即使天气再恶劣,也不能阻止学习的我。。。
每一个入门自然语言的的人在学习的第一步都是从分词开始的,就类似编程的"Hello World"。以下是用两种方法实现分词,分别是基于枚举法和维特比算法。
一、基于枚举方法来搭建中文分词工具
最简单的分词是不依赖语句关系的,每一个词都是独立的,叫unigram
语言模型有unigram->bi-gram->n-gram 从简单到难,n表示依赖n级
此项目所需数据:
中文词库词库,当作字典来用
以变量的方式提供了部分unigram概率 word_prob,也可以用词库的计算词频。
举个例子: 给定词典=[我们 学习 人工 智能 人工智能 未来 是], 另外我们给定unigram概率:p(我们)=0.25, p(学习)=0.15, p(人工)=0.05, p(智能)=0.1, p(人工智能)=0.2, p(未来)=0.1, p(是)=0.15
Step 1: 对于给定字符串:”我们学习人工智能,人工智能是未来“, 找出所有可能的分割方式
[我们,学习,人工智能,人工智能,是,未来]
[我们,学习,人工,智能,人工智能,是,未来]
[我们,学习,人工,智能,人工,智能,是,未来]
[我们,学习,人工智能,人工,智能,是,未来] .......
Step 2: 我们也可以计算出每一个切分之后句子的概率
p(我们,学习,人工智能,人工智能,是,未来)= -log p(我们)-log p(学习)-log p(人工智能)-log p(人工智能)-log p(是)-log p(未来)
p(我们,学习,人工,智能,人工智能,是,未来)=-log p(我们)-log p(学习)-log p(人工)-log p(智能)-log p(人工智能)-log p(是)-log p(未来)
p(我们,学习,人工,智能,人工,智能,是,未来)=-log p(我们)-log p(学习)-log p(人工)-log p(智能)-log p(人工)-log p(智能)-log p(是)-log p(未来)
p(我们,学习,人工智能,人工,智能,是,未来)=-l
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。