【ChatBot学习笔记】2.语料标注

这篇博客探讨了自然语言处理中的词干提取、词性标注和中文支持。通过使用nltk库,演示了如何进行 PorterStemmer 词干提取、词性标注器的应用以及中文分词和词性标注。还介绍了布朗语料库和正则表达式在标注任务中的应用,并展示了如何保存和加载标记器。此外,讨论了不同层次的标注器,如一元标注和标记器的存储与加载。
摘要由CSDN通过智能技术生成

2.语料标注

import nltk

词干提取

porter = nltk.PorterStemmer()
porter.stem(‘lying’)

词性标注器

text = nltk.word_tokenize(“And now for something completely different”)
nltk.pos_tag(text)

手动标记

tagged_token = nltk.tag.str2tuple(‘fly/NN’)
tagged_token

中文支持

sent = ‘我/NN 是/IN 一个/AT 学习者/NN’
[nltk.tag.str2tuple(t) for t in sent.split()]

布朗语料库,第一个机读平衡语料库,连贯英语书面语500+,每个文本词数2000+,整个语料库约一百零一万四千三百词

nltk.corpus.brown.tagged_words()

for word in nltk.corpus.sinica_treebank.tagged_words():

print (word[0], word[1])

词性自动标注:默认名词(13%)

default_tagger = nltk.DefaultTagger('NN')
raw = '我 累 个 去'
tokens = nltk.word_tokenize(raw)
tags = default_tagger.tag(tokens)
print (tags)

正则标注

pattern = [(r'.*们$','PRO')]
tagger = nltk.RegexpTagger(pattern)
print (tagger.tag(nltk.word_tokenize('我们 累 个 去 你们 和 他们 啊')))

查询标注器–一元标注

from nltk.corpus import brown
tagged_sents = [[(u'我', u'PRO'), (u'小兔', u'NN')]]
unigram_tagger = nltk.UnigramTagger(tagged_sents)  # 此处tagged_sents也可以换成别的语料库
sents = brown.sents(categories='news')
sents = [[u'我', u'你', u'小兔']]
tags = unigram_tagger.tag(sents[0])
print (tags)

标记器的存储与加载

 output = open('t2.pkl', 'wb')
 dump(t2, output, -1)
 output.close()


 from cPickle import load 
 input = open('t2.pkl', 'rb') 
 tagger = load(input) 
 input.close() 
# 说明 该库是对目前市面上已有的开源中文聊天语料的搜集和系统化整理工作 该库搜集了包含 - chatterbot - 豆瓣多轮 - PTT八卦语料 - 青云语料 - 电视剧对白语料 - 贴吧论坛回帖语料 - 微博语料 - 小黄鸡语料 共8个公开闲聊常用语料和短信,白鹭时代问答等语料。 并对8个常见语料的数据进行了统一化规整和处理,达到直接可以粗略使用的目的。 **使用该项目,即可对所有的聊天语料进行一次性的处理和统一下载,不需要到处自己去搜集下载和分别处理各种不同的格式。* # 环境 python3 # 处理过程 将各个来源的语料按照其原格式进行提取,提取后进行繁体字转换,然后统一变成一轮一轮的对话。 # 使用方法 将解压后的raw_chat_corpus文件夹放到当前目录下 目录结构为 ``` raw_chat_corpus -- language -- process_pipelines -- raw_chat_corpus ---- chatterbot-1k ---- douban-multiturn-100w ---- .... -- main.py -- ... ``` 执行命令即可 ```bash python main.py ``` 或者 ```bash python3 main.py ``` # 生成结果 每个来源的语料分别生成一个独立的*.tsv文件,都放在新生成的clean_chat_corpus文件夹下。 生成结果格式为 tsv格式,每行是一个样本,先是query,再是answer ``` query \t answer ``` # 结果的使用 这个就根据每个人不同的情况自主使用即可 个人对于聊天机器人方向实践也不是很多,以下一篇之前写的知乎专栏供参考 **《从产品完整性的角度浅谈chatbot》** 文章粗略讲解了如下一些方面,介绍了聊天机器人在实际产品化过程中可能遇到的问题和解决办法。 1. chatbot自身人格的设置 1. 产品上线需要考虑的敏感词处理 1. 文本检索模型的使用 1. 文本生成模型的使用 1. 回答打分机制 1. 万能回答的使用策略 1. 多媒体消息的处理 1. 产品模型部署的问题 # 版权说明 本项目为非商业项目,为纯搜集和汇总资料,如有侵权,请在issue下留言。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值