-
2020-02-04 10:58:34
1.什么是语料库
语料,即语言材料,是语言学研究的内容,是构成语料库的基本单元。
语料库,存放的是在语言实际使用中真实出现过的语言材料。
语料库是以电子计算机为载体承载语言知识的基础资源。
真实语料需要经过加工(分析和处理),才能成为有用的资源。
2.语料库的种类
(1)异质的
(2)同质的
(3)系统的
(4)专用的
3.语料的获取途径
(1)开放性语料数据集
中科院自动化所的中英文新闻语料库
搜狗的中文新闻语料库
人工生成的机器阅读理解数据集(微软)
一个开放问题与回答的挑战数据集(微软)
(2)爬虫技术
(3)自由平台
4.语料的处理
(1)获取语料
(2)格式化文本
(3)特征工程
更多相关内容 -
人工智能_自然语言处理_语料库_中文公开聊天语料库
2022-04-07 22:34:16该库是对目前市面上已有的开源中文聊天语料的搜集和系统化整理工作 该库搜集了包含 chatterbot 豆瓣多轮 PTT八卦语料 青云语料 电视剧对白语料 贴吧论坛回帖语料 微博语料 小黄鸡语料 共8个公开闲聊常用语料和短信... -
中文聊天对话语料chinese chatbotcorpus
2020-02-21 15:33:26该库是对目前市面上已有的开源中文聊天语料的搜集和系统化整理工作 该库搜集了包含 - chatterbot - 豆瓣多轮 - PTT八卦语料 - 青云语料 - 电视剧对白语料 - 贴吧论坛回帖语料 - 微博语料 - 小黄鸡语料 ... -
python gensim使用word2vec词向量处理中文语料的方法
2020-12-08 23:23:00它将term转换成向量形式,可以把对文本内容的处理简化为向量空间中的向量运算,计算出向量空间上的相似度,来表示文本语义上的相似度。word2vec计算的是余弦值,距离范围为0-1之间,值越大代表两...word2vec介绍
word2vec官网:https://code.google.com/p/word2vec/
word2vec是google的一个开源工具,能够根据输入的词的集合计算出词与词之间的距离。
它将term转换成向量形式,可以把对文本内容的处理简化为向量空间中的向量运算,计算出向量空间上的相似度,来表示文本语义上的相似度。
word2vec计算的是余弦值,距离范围为0-1之间,值越大代表两个词关联度越高。
词向量:用Distributed Representation表示词,通常也被称为“Word Representation”或“Word Embedding(嵌入)”。
简言之:词向量表示法让相关或者相似的词,在距离上更接近。
具体使用(处理中文)
收集语料
本文:亚马逊中文书评语料,12万+句子文本。
语料以纯文本形式存入txt文本。
注意:
理论上语料越大越好
理论上语料越大越好
理论上语料越大越好
重要的事情说三遍。
因为太小的语料跑出来的结果并没有太大意义。
分词
中文分词工具还是很多的,我自己常用的:
- 中科院NLPIR
- 哈工大LTP
- 结巴分词
注意:分词文本将作为word2vec的输入文件。
分词文本示例
word2vec使用
python,利用gensim模块。
win7系统下在通常的python基础上gensim模块不太好安装,所以建议使用anaconda,具体参见: python开发之anaconda【以及win7下安装gensim】
直接上代码——
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
功能:测试gensim使用,处理中文语料
时间:2016年5月21日 20:49:07
"""
from gensim.models import word2vec
import logging
# 主程序
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
sentences = word2vec.Text8Corpus(u"C:\\Users\\lenovo\\Desktop\\word2vec实验\\亚马逊中文书评语料.txt") # 加载语料
model = word2vec.Word2Vec(sentences, size=200) # 默认window=5
# 计算两个词的相似度/相关程度
y1 = model.similarity(u"不错", u"好")
print u"【不错】和【好】的相似度为:", y1
print "--------\n"
# 计算某个词的相关词列表
y2 = model.most_similar(u"书", topn=20) # 20个最相关的
print u"和【书】最相关的词有:\n"
for item in y2:
print item[0], item[1]
print "--------\n"
# 寻找对应关系
print u"书-不错,质量-"
y3 = model.most_similar([u'质量', u'不错'], [u'书'], topn=3)
for item in y3:
print item[0], item[1]
print "--------\n"
# 寻找不合群的词
y4 = model.doesnt_match(u"书 书籍 教材 很".split())
print u"不合群的词:", y4
print "--------\n"
# 保存模型,以便重用
model.save(u"书评.model")
# 对应的加载方式
# model_2 = word2vec.Word2Vec.load("text8.model")
# 以一种C语言可以解析的形式存储词向量
model.save_word2vec_format(u"书评.model.bin", binary=True)
# 对应的加载方式
# model_3 = word2vec.Word2Vec.load_word2vec_format("text8.model.bin", binary=True)
if __name__ == "__main__":
pass
运行结果
【不错】和【好】的相似度为: 0.790186663972
--------
和【书】最相关的词有:
书籍 0.675163209438
书本 0.633386790752
确实 0.568059504032
教材 0.551493048668
正品 0.532882153988
没得说 0.529319941998
好 0.522468209267
据说 0.51004421711
图书 0.508755385876
挺 0.497194319963
新书 0.494331330061
很 0.490583062172
不错 0.476392805576
正版 0.460161447525
纸张 0.454929769039
可惜 0.450752496719
工具书 0.449723362923
的确 0.448629021645
商品 0.444284260273
纸质 0.443040698767
--------
书-不错,质量-
精美 0.507958948612
总的来说 0.496103972197
材质 0.493623793125
--------
不合群的词: 很
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
本文标题: python gensim使用word2vec词向量处理中文语料的方法
本文地址: http://www.cppcns.com/jiaoben/python/264641.html
-
【深度学习语料库】常见金融领域词汇词典
2021-03-08 16:40:50金融方面的常见词汇形成的词典/语料库,jieba.load_userdict()即可使用 -
机器学习文本分类语料库训练集(已标签分类)
2018-10-06 10:19:27文本分类语料库训练集,供学习测试使用。新闻类语料(已标签分类),包含经济、交通、教育、环境、体育、医药等类目共上千份新闻文本。 -
汇总!话题分割的语料库与常用方法,这里全都有!
2020-05-28 12:31:26承接上一期描述的话题分割的任务定义和评估方法,在本文中,我们将去了解5个话题分割常用的语料库,以及4大类常用的话题分割的模型和方法,供大家学习和参考。文章目录
在上一期中,我们主要探寻了 话题分割的任务定义和主要的评估方法,这一期,我们主要介绍常用的语料库和常用的方法。话题分割常用的语料库
话题分割与两个领域息息相关,一个是TDT(话题跟踪与检测),另一个就是对话系统里的话题分割。英文的话题分割起源较早,在1997年Choi语料库后,一系列语料库得以建立,而且后续有了大量的研究;中文上的专门研究话题分割的较少。
Choi语料库(句子级别)
最出名的要数Choi的语料库了。这个诞生自2000年的语料库发行于Advances in domain independent linear text segmentation,被广泛用于话题分割的实验中。神奇的是这篇文章并没有直接给出资源链接(原谅它来自20年前)。它有两个版本,一个是700篇的版本,一个是920篇的版本,但是其格式都是一样的,
它毕竟是话题分割语料库的先驱,确实存在着一些缺陷,例如,最大的缺陷在于,它的每个样例并不是一个真实的文章,而是从若干个文章中抽取出K个句子重组出来的(124篇来自于布朗语料库)。这就表明其实每个子话题之间的关联度并没有真实的文章中关联的那么紧密。
Wiki727语料库(句子级别)
这个语料库规模大了很多,是从Wiki百科中抽取出的,来自于2018年的Text Segmentation as a Supervised Learning Task,它包含了727,746篇文章,是一个相当大的语料库,如果是在英文中的话,可以使用这个语料库进行实验。值得注意的是,这个语料不同于其他语料,由于它将文本分割看作是一个有监督的任务,因此它是拥有训练集、验证集和测试集的。
clinical 语料库(句子级别)
这个语料库来源于书籍,主要是医学相关的,包含了227篇文章,同样是句子级别的。这个语料库是由Bayesian unsupervised topic segmentation.引入的。
Cities 和Elements 语料库(段落级别)
这两个语料库同样来源于Wiki百科,只不过规模要小一些(Cities 100篇,Elements 118篇),在2009年的Global Models of Document Structure Using Latent Permutations中被创建。
常用模型
在本章中,我们主要介绍关于文本分割的相关模型,按照模型划分可以分为基于语言学特征的、基于机器学习的、基于外部知识的和基于深度学习的模型四个类别,我们重点介绍基于深度学习的模型。早期有一个总述《文本主题分割技术的研究进展》,也可以参考。
基于语言学的模型
没有使用任何机器学习,仅仅依靠语言学上的概念(如词共现、线索词、词的转移与变换等)进行文本分割的我们都在此部分介绍,这些工作大多都在20年前了,因此我们只进行一些简单的介绍,针对一些较为出名的进行罗列。
最为注明的是Texttilling,后面很多工作,即使是2017年的工作都会跟这个20年前(1997年)的工作进行比较,而且最重要的是它已经成为NLTK的官方自建库了。
2001年UI A Statistical Model for Domain-Independent Text Segmentation
2002年的动态规划
2003年的LCSeg使用的是词汇链
2006年的最小割方法基于机器学习的模型
机器学习模型分为两种,一种是无监督的以LDA和LSA等为代表的依靠主题聚类而形成最终的结果。另一种则是有监督的学习。
无监督模型
在2002年第一个使用PLSA进行文本分割的工作后,基本上就进入了机器学习的时代。
2008年的Bayesian unsupervised topic segmentation.应该是无监督模型中较好的一个。
2009年的Text Segmentation via Topic Modeling: An Analytical Study和2012年的TopicTiling(Code)都是使用了LDA模型,取得了更好的结果。2016年的SegGraph模型是完全不需要主题模型的无监督模型,它相比较需要主题的模型,也表现出差不多的性能。
有监督模型
2010年使用CRF在篇章EDU切分的工作。
2015年Text Segmentation based on Semantic Word Embeddings使用词向量进行了简单的实验。融入外部知识的模型
融入外部知识的模型会比较受约束,当然也具有更好的性能。例如2018年进行层次化主题划分的工作。
基于深度学习的模型
2016年使用的是CNN+Bilstm进行文本分割,而且是在中文语料中进行的,但是遗憾的是其语料库还没有公开。
2018年的一个比较传统的方法就是语义匹配方法进行实验:
2018年的使用句子向量表示进行文本分割的文章主要贡献在于提供了刚才所讲的Wiki727语料库,也构建了一个基于句子向量的分类模型。
2018年的Segbot采用的是PointerNetwork的框架进行的句子级别的文本分割,并且在实验中表明其显著优越于TopicTilling 和BiLSTM+CRF。而且,它没有使用其他手工特征,就已经能够取得0.11Pk值在Choi语料库中。它只给出了一个在线展示的网站,但是并没有给出开源的源码。
在2019年的OG任务中,Outline Generation: Understanding the Inherent Content Structure of Documents也进行了文本分割任务,它主要使用双向GRU编码并结合马尔科夫段落依存机制进行文本分割,其分割颗粒度为段落级别。
小结
从上可以看出,尽管有一些主流的文本分割语料库,但是由于其评估方法的不同以及并没有非常规范的语料划分,因此各个模型之间相互比较较为困难。总的来说,就如同时代车轮发展一样,深度学习模型优于机器学习模型,机器学习模型优于基于语言学的模型。
这里还有一个关于文本分割的小汇总。
-
中文分词多领域语料库
2022-02-18 17:28:59中文分词多领域语料库数据处理 各位NLPer,大家好! 如果你还在从事中文分词领域的相关研究,你一定会发现,随着时间推移,中文分词的研究越来越少,BERT出现后,以字为粒度的方法盛行,有关中文分词的论文已经很少...中文分词多领域语料库
各位NLPer,大家好!
如果你还在从事中文分词领域的相关研究,你一定会发现,随着时间推移,中文分词的研究越来越少,BERT出现后,以字为粒度的方法盛行,有关中文分词的论文已经很少出现在期刊、顶会之中。
研究领域小众是常事,科研也从不应该盲目扎堆于热点技术之中,但是目前中文分词相关研究,已经许久没有新数据可用,旧数据也逐渐坏链,github频频登陆失败,更别提下载语料,这些都让神经网络相关研究无从下手。
因此,我总结了目前公开的可用于分词的语料库,将其分享出来,以供各位学者参考。
特别感谢:@何晗 本文原始数据皆出自其论文的github,使用请谨遵要求,标明出处。[1] He H , Wu L , Yan H , et al. Effective Neural Solution for Multi-Criteria Word Segmentation[C]. Proceedings of the Second International Conference on Smart Computing and Informatics, 2018
语料来自:
数据处理
由于语料库来自五湖四海,数据格式并不同,还有两个语料库为繁体,也有许多命名实体识别或词性标注的标签(NER恐成序列标注类任务唯一拿得出手的任务,CWS和POS感觉都没人研究了),我做了统一处理,操作如下:
- 使用正则表达式将所有的英文单词、数字串替换为x、0(常规操作)
- 繁体转简体
- 半角转全角
- 去重
- 全部统一为每行一个样本,词间使用空格分隔
- 按长度灵活切割(由于有些句子过长,输入神经网络单纯截断有些浪费语料,因此我编写了脚本,以标点符号分割为短句,相邻短句长度达到一定长度后分割样本,这样就保持每个样本的句长在固定长度上下,本文为40)
下载链接:
链接:https://pan.baidu.com/s/1Nuw7zlsl45Gn6QrgYfCSUQ
提取码:97ws -
基于wiki中文语料库的gensim模型使用方法以及R语言的调用方式
2022-01-12 16:10:00基于wiki中文语料库的gensim模型使用方法以及R语言的调用方式 近期想要整理下硬盘里的东西,看到本科毕设做情感倾向分析相关的数据,想起当时使用gensim训练词向量模型训练了超级久,决定将训练好的模型上传到云空间... -
《自然语言处理实战入门》 语料与常用资源
2020-12-07 23:31:25文章大纲 简介 工具库 中文提取 信息抽取 词法分析语料库 各类词库 句法分析语料库 词向量库 命名实体识别库 综合语料库 句法分析语料库 语料库的构建 标注工具 参考文献 简介 本文将持续更新,NLP中常见能够提高生... -
NLTK常用操作和语料库
2018-01-19 20:30:05进行下载,文件大概有100M,这也是《Python自然语言处理》这本书中推荐的图书集合。 下载完成后,回到python解析器,导入刚刚下载的图书集合: from nltk.book import * 运行 texts() 可以查看... -
中文语料库有哪些
2018-05-04 11:21:43中文自然语言处理开放平台 由中国科学院计算技术研究所·数字化室&软件室创立一个研究自然语言处理的一个平台,里面包含有大量的训练测试语料。 语料库:http://www.nlp.org.cn/docs/doclist.php?cat_id=9&... -
一种获取NLP语料的基本方法
2021-03-10 00:06:12语料库处理 首先下载原始的中文维基百科网页文件,下载地址为 https://dumps.wikimedia.org/zhwiki/latest/zhwiki-latest-pages-articles.xml.bz2,文件大小在 1.5G 以上, 如果想要下载其他的小文件,可以使用 ... -
一起来学自然语言处理----语料库和词汇资源
2022-03-23 20:49:341、NLTK工具包 2、nltk中的语料库 1.古腾堡语料库 2.网文语料库 3.载入自己的语料库 3、nltk中的词典资源 4、wordnet字典 -
自然语言处理NLTK(一):NLTK和语料库
2022-04-08 09:39:01英文的研究反而会少了很多,主要还是因为应用的问题,而现在对于海外的产品来说,英文的语言处理,会越来越显得重要,其实对英文语言处理资料会比中文的来得多,来得全,很多中文研究的方法是借鉴了英文处理的思想。... -
Python使用jieba分词处理语料
2019-06-13 18:25:20Python使用jieba分词处理语料 结巴分词 语料处理 NLP -
【NLP】TorchText介绍与(搜狗语料)文本语料处理案例
2020-12-07 22:40:00文章目录背景 ...在pytorch中众所周知的数据处理包是处理图片的torchvision,而处理文本的少有提及,但是也是有的,那就是torchtext。废话不多说,来看看如何使用吧。 ps:需要自己准备好相关的环境哦。 ... -
中文自然语言处理百万级语料库-ChineseSemanticKB免费下载
2020-08-08 20:50:56ChineseSemanticKB,chinese semantic knowledge base,面向中文处理的12类、百万规模的语义常用词典,包括34万抽象语义库、34万反义语义库、43万同义语义库等,可支持句子扩展、转写、事件抽象与泛化等多种应用场景。... -
torchtext 中文语料加载
2022-04-26 12:55:05ZJUTOJ-摸鱼前言数据集准备torchtext流程FieldTabularDatasetBucketIterator 前言 ...数据集就选了个常用的网上数据集,关于携程酒店评论。基本就如图所示: label代表评论标签,1为正面情绪,0为负. -
NLP自然语言处理(二)—— 语料及词性标注 & 分词 & TFIDF
2020-06-24 13:15:09语料及词性标注 词性标注就是给每个词打上词类标签,如形容词、动词、名词等 常见的中文词性编码 词性标注的分类 词性标注的方法 NLTK Jieba import jieba.posseg as pseg words = pseg.cut('... -
【python gensim使用】word2vec词向量处理中文语料
2019-02-21 13:40:03功能:测试gensim使用,处理中文语料 时间:2016年5月21日 20:49:07 """ from gensim.models import word2vec import logging # 主程序 logging.basicConfig(format= '%(asctime)s : %(levelname)s : %... -
python中文语料分词处理,按字或者词cut_sentence
2020-02-19 22:43:00简体中文版 sgjsj 似然比 sgjsj 鲁欧蠕虫 sgjsj 人工干预 sgjsj 虚拟光盘 sgjsj 子任务处理 sgjsj 跟踪误差 sgjsj 阶跃发生器 sgjsj 任务描述符 sgjsj 数据库机 sgjsj 双花 sgjsj 键记录器 sgjsj 监测网路 sgjsj 维... -
自然语言处理NLP | NTLK入门及英文语料库处理
2019-05-09 20:40:57NLTK(Natural Language Toolkit) ,是一个自然语言处理工具包,可以方便的完成包括分词、词性标注、命名实体识别及句法分析在内的多种任务。 安装 $ pip install nltk $ python >>> import nltk >>&... -
python数据处理的库-基于Python的语料库数据处理
2020-11-11 14:40:12语料库方法已经成为语言学、新闻传播学、教育学等人文社会科学研究领域不可或缺的重要研究手段。Python语言具有强大的语料数据处理...本书通过浅显语言和丰富实例,深入浅出介绍了常用语料数据处理方法。目录文科... -
国内免费汉语语料库-NLP
2018-10-29 15:50:45(一)国家语委 1国家语委现代汉语语料库http://www.cncorpus.org/ 现代汉语通用平衡语料库现在重新开放...现代汉语语料库在线提供免费检索的语料约2000万字,为分词和词性标注语料。 2古代汉语语料库http://www... -
构建语言模型(一):文本语料处理
2016-12-13 10:55:511. 语言模型概述与流程 2. 文本语料抓取与处理 -
聊天中文语料库对比(附上各资源链接)
2020-04-10 23:59:20共8个公开闲聊常用语料和短信,白鹭时代问答等语料。 并对8个常见语料的数据进行了统一化规整和处理,达到直接可以粗略使用的目的。 使用该项目,即可对所有的聊天语料进行一次性的处理和统一下载,不需要到处自己去...