1 文本处理
分词 中文 jieba 中英文的 hanlp基于tensorflow2.0
jieba的三种模式 精准模式(将文本最精确的分隔开适合文本分析)
搜索引擎模式(将精准模式上的长词在进行切分)
全模式(只要是词语都将会被拆分)
使用用户自定义的字典进行分词,提高整体的识别准确率
# 精准模式
content1 = jieba.lcut(content, cut_all=False)
# ['工信处', '女干事', '每月', '经过', '下属', '科室', '都', '要',
# '亲口', '交代', '24', '口', '交换机', '等', '技术性', '器件', '的', '安装', '上', '的', '工作']
# 全模式
content2 = jieba.lcut(content, cut_all=True)
# ['工信处', '处女', '女干事', '干事', '每月', '月经', '经过', '下属', '科室', '都', '要', '亲口',
# '口交', '交代', '24', '口交', '交换', '交换机', '换机', '等', '技术', '技术性', '性器', '器件', '的', '安装', '装上', '的', '工作']
# 搜索引擎模式
content3 = jieba.lcut_for_search(content)
# ['工信处', '干事', '女干事', '每月', '经过', '下属', '科室', '都', '要', '亲口', '交代', '24',
# '口', '交换', '换机', '交换机', '等', '技术', '技术性', '器件', '的', '安装', '上', '的', '工作']
content4 ='八一双鹿更名为八一南昌篮球队!'
content5 = jieba.lcut(content4)
#['八', '一双', '鹿', '更名', '为', '八一', '南昌', '篮球队', '!']
jieba.load_userdict('./jieba.txt')
云计算 5 n
李小福 2 nr
easy_install 3eng
好用 30
韩玉赏鉴 3 nz
八一双鹿 3 nz
content6 = jieba.lcut(content4)
# ['八一双鹿', '更名', '为', '八一', '南昌', '篮球队', '!']
hanlp
tokenizer = hanlp.load('CTB6_CONVSEG')
tokenizer('工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作')
# 工信处','女','干事','每','月','经过','下','属','科室','都','要','亲口',
英文
tokenizer=hanlp.utils.rules.tokenize_english
tokenizer('Mr, Hankcs bought hankcs.com for 1.5 thousand dollars.')
['Mr.','Hankcs','bought','hankcs.com','for','1.5','thousand','dollars','.']
命名实体
将文本中的可能存在实体识别出来
鲁迅,浙江绍兴人,五四新文化运动的重要参与者,代表作朝花夕拾
鲁迅(人名)/浙江绍兴(地名)人 /五四新文化运动(专有名词)/重要参与者 /代表作
python
加载中文命名实体识别的预训练模型MSRA_NER_BERT_BASE_ZH
recognizer = hanlp.load(hanlp.pretrained.ner.MSRA_NER_BERT_BASE_ZH)#
这里注意它的输入是对句子进行字符分割的列表,
1ist(上海华安工业(集团)公司董事长遭旭光和秘书张晚霞来到美 国纽约现代艺术博物观。')
recognizer(list('上海华安工业(集团)公司董事长谭旭光和秘书张晚霞来到美国纽约现代艺术博物馆'))
[('上海华安工业(集团)公司','NT',0,12),('谭旭光','NR',15,18),('张晚霞','NR',21
# 返回结果是一个装有n个元组的列表,每个元组代表一个命名实体,元组中的每一项分别代表具体的命名实体,
词性标注
import jieba.posseg as pseg
print(pseg.lcut('我爱大唐不夜城'))
[pair('我', 'r'), pair('爱', 'v'), pair('大唐', 'nz'), pair('不夜城', 'i')]
>>> import hanlp加载中文命名实体识别的预训练模型CTB5_POS_RNN_FASTTEXT-ZH
>>> tagger = hanlp.load(hanlp.pretrained.pos.CTB5_POS_RNN_FASTTEXT_ZH)
tagger(['我'"的",'希望''是''希望''和平'])
#结果返回对应的词性
['PN','DEG','NN',·VC','VV','NN']
加载英文文命名实体识别的预训练模型CTB5_POS_RNN_FASTTEXT-EH
2 文本的张量表示
文本张量表示的作用:
将文本表示成张量(矩阵)形式,能够使语言文本可以作为计算机处理程序的输入,进行接下来一系列的解析工作
["人生","该',"如何","起头"]
每个词对应矩阵中的一个向量
[[1.32,4,32,0,32,5.2]
[3.1,5.43,0.34,3.2],
[3.21,5.32,2,4.32],
[2.54,7.32,5.12,9.54]]
one-hot编码 Word2vec Word Embedding
one-hot编码又称独热编码,将每个词表示成具有n个元素的向量,这个词向量中只有一个元素是1,其他元素都是0,不同词汇元素为0的位置不同,其中n的大小是整个语料中不同词汇的总数.
