自然语言处理之Word2Vec

nltk库

nltk著名的自然语言处理库,自带语料库、词性分类库;自带分类、分词等功能;自带强大的社区;简单版本wrapper;

nltk.download()会弹出该页面,进行资源的下载

标题

NLTK的module功能API

NLTK自带语料库,nltk.corpus是语料的集合,

import nltk
nltk.download('brown')  # 需要先下载语料库
brown.categories()   # 布朗大学语料库。

标题

from nltk.corpus import brown  #针对以上已经download之后,可直接import brown
brown.categories()  

标题

文本处理流程

标题

文本处理,首先进行预处理:分词(Tokenize)等、......、再进行特征工程,用一个表达式(数字)来表示输入的句子,最后使用机器学习得到Labels/Targets。

Tokenize分词

标题

将句子里面有意义的部件,拆分成数组中的每一个元素,中文分词与英文分词有很大不同。

中文可用1.启发式Heuristics;2。机器学习/统计方法:HMM、CRF。比较有名的库CoreNLP、jieba(全模式、精确模式、新词识别、搜索引擎模式)。

社交网络语言的tokenize

如果句子中包含一些特殊符号(@、表情符号等等),首先需要进行字符串处理进行一个标记,如下所示:

import re
emoticons_str = r"""
(?:
[:=;] # 眼睛
[oO\-]? # ⿐鼻⼦子
[D\)\]\(\]/\\OpP] # 嘴
)"""
regex_str = [
emoticons_str,
r'<[^>]+>', # HTML tags
r'(?:@[\w_]+)', # @某⼈人
r"(?:\#+[\w_]+[\w\'_\-]*[\w_]+)", # 话题标签
r'http[s]?://(?:[a-z]|[0-9]|[$-_@.&amp;+]|[!*\(\),]|(?:%[0-9a-f][0-9a-f]))+',
# URLs
r'(?:(?:\d+,?)+(?:\.?\d+)?)', # 数字
r"(?:[a-z][a-z'\-_]+[a-z])", # 含有 - 和 ‘ 的单词
r'(?:[\w_]+)', # 其他
r'(?:\S)' # 其他
]

正则表达式参考:网址

完整代码如下:

import re
emoticons_str = r"""
                (?:
                [:=;] # 眼睛
                [oO\-]? # ⿐鼻⼦子
                [D\)\]\(\]/\\OpP] # 嘴
                )"""
regex_str = [
                emoticons_str,
                r'<[^>]+>', # HTML tags
                r'(?:@[\w_]+)', # @某⼈人
                r"(?:\#+[\w_]+[\w\'_\-]*[\w_]+)", # 话题标签
                r'http[s]?://(?:[a-z]|[0-9]|[$-_@.&amp;+]|[!*\(\),]|(?:%[0-9a-f][0-9a-f]))+',
                # URLs
                r'(?:(?:\d+,?)+(?:\.?\d+)?
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敲代码的胖虎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值