自然语言处理的应用
- 拼写检查、关键词检索......
- 文本挖掘(产品价格、日期、时间、地点、人名、公司名)
- 文本分类
- 机器翻译
- 客服系统
- 复杂对话系统
语言模型
语言模型就是说一句话的概率是多少
一句话的翻译有很多种可能性,最终会选择概率最高的那个
我今天下午打篮球——还要先做分词任务——我 今天 下午 打 篮球
怎样变得简单一点
n-gram模型
n-gram=1表示他只跟前面的一个词相关,n-gram=2表示跟前面的2个词相关
词向量
把每个词转换成一个向量,而不是字
越接近的词的向量之间的余弦夹角越小
我们构造出来的词向量是跟这个词的拼写是无关系的,是基于上下文环境建模的。英文说“我今天买了4个苹果5个梨”,到西班牙语中依然是“我今天买了4个苹果5个梨”,4和5出现的位置是类似的,这是符合人类正常说话的逻辑的
无论是英语还是西语,他们的向量空间都是类似的
神经网络模型当中的2个基础模型:CBOW和Skip-gram
CBOW做的是基于上下文能不能预测出来当前的词
Skip-gram恰好是CBOW的颠倒,基于当前的词来预测上下文
把最大似然估计转换成对数似然估计
哈夫曼树,词频越高的放在越靠近根节点
词向量其实是神经网络的一个副产品
CBOW还用到了逻辑斯蒂回归,能把任意一个数的值都投影到0~1范围内,并且越大的越大。哈夫曼树的左右节点,往左走还是往右走就可以根据逻辑斯蒂回归的大于0.5还是小于0.5
skip-gram就是CBOW类似了,就不详细说了
negative sampling 负采样模型
如果样本空间太大太大,例如有十万个词
线段长度根据词频来分配,词频越高,长度越长;词频越小,长度越短
影评情感分类数据
基于词袋模型训练分类器
准备word2vec输入数据
使用gensim构建word2
https://github.com/skyerhxx/blog-code/blob/master/word2vec.ipynb
自然语言处理(NLP)
猜你喜欢
转载自blog.csdn.net/hxxjxw/article/details/100110629
今日推荐
周排行