NLP基础(一):初识自然语言处理和词向量

1.词袋模型(BOW)

词袋模型(Bag of Words, BOW)是一种通过词频将句子转化为向量表示的方法,不考虑句子的顺序,只考虑词表中单词在这个句子中出现的次数。
例句:
Jack lives in Shanghai.
Bob wants to go to Shanghai.
对于这两个句子中出现的单词,使用词袋模型形成词表:

['bob', 'go', 'in', 'jack', 'lives', 'shanghai', 'to', 'wants']

因此,这两个句子的向量表示为

s1=[0, 0, 1, 1, 1, 1, 0, 0] s2=[1, 1, 0, 0, 0, 1, 2, 1]

可使用sklearn中的CountVectorizer()函数实现BOW模型

from sklearn.feature_extraction.text import CountVectorizer
corpus = [
	"Jack lives in Shanghai.",
    "Bob wants to go to Shanghai."
]
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(corpus)
print(vectorizer.get_feature_names())
print(X.toarray())

# 输出
['bob', 'go', 'in', 'jack', 'lives', 'shanghai', 'to', 'wants']
[[0 0 1 1 1 1 0 0]
 [1 1 0 0 0 1 2 1]]

2.N-gram

假设我们有一个由n个词组成的句子 S = ( w 1 , w 2 , ⋯ , w n ) S=(w_1,w_2,⋯,w_n) S=(w1,w2,,wn),如何衡量它的概率呢?让我们假设,每一个单词 w i w_i wi​都要依赖于从第一个单词 w 1 w_1 w1​到它之前一个单词 w i − 1 w_{i−1} w

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值