浙江大学与木溪集成电路共建针对GPU芯片的研究中心
06-06
本文关键词:文本数据预处理、中文文本预处理、自然语言处理 摘要:要开展自然语言处理相关的工作,文本数据预处理是必不可少的过程 。本文将对文本数据预处理相关内容进行总结整理,主要包括以下四个方面: 文本数据获取 常规文本数据预处理任务 文本数据预处理相关内容 文本预处理工具 1.文本数据获取 《巧妇难为无米之炊》它”“没有米饭就不能做饭”。
要处理文本数据,首先需要获取文本数据。对于这个问题,大家可以“八仙过海,各显神通”,通过一切合法合理的方式收集数据集。
一般来说,数据可以通过三种渠道获取:自有数据编译、公共数据爬取和开源数据引用。自己的数据:收集和组织您自己或组织内可用的数据集。
爬取数据:爬虫是获取数据的重要手段,但在执行此操作之前必须遵守相关法规和Robots协议,并在爬取数据后合法应用数据。通常,大部分爬取任务都可以通过requests、BeautifulSoup4、Selenium等python工具完成。
图片豆瓣影评爬取可以参考: 项目链接 项目概况 CLUEDassetSearch 收集了很多中英文 NLP 数据集 funNLP 整理了很多 NLP 数据集和项目分类 Awesome-chinese-nlp 收集了中文自然语言处理相关资料 Chinese_medical_NLP 收集了医学NLP领域的评估数据集和论文相关资源(主要针对中文)。由此,在收集了原始数据集后,就可以进行后续相关的NLP分析。
特别是,数据集可以保存为txt、json、csv、tsv、sql表等格式,只要你喜欢就行(哈哈哈,有些格式可能会占用更多内存,所以使用较大的数据集时需要注意)。这里的图分享了一个csv大文件数据读取技巧,即利用pandas的chunksize来分块读取。
代码语言:txt copy import pandas as pddf = pd.read_csv("data.csv", chunksize=0) # 每次读取1w行数据 for df_chunk in df: print(df_chunk) 2、常规文本数据预处理 文本数据 As一种非结构化数据,除了经过特殊处理的数据集外,大多数直接采集的文本数据都会或多或少地夹杂着无用信息。直接对其进行相关的文本分析和建模是没有帮助的。
通常,文本数据需要首先进行预处理。文本数据预处理一般有两个主要目的,即: (1)清理文本数据(按标准定制) (2)格式化文本数据(按需求定制) 2.1 清理文本数据中的空格和换行符,使用替换操作,将原文中的空格、制表键、换行符\n、\r等与文本无关的字符直接替换为空格。
消除无用信息,例如禁用单词列表构建。标点符号去除,使用正则表达式去除标点符号。
中英文标点符号可以通过以下两种方式获取。中文标点符号:from zhon.hanzi import punctuation(需要安装包:pip install zhon) 英文标点符号:from string import 标点符号。
特别是在文本情感分析中,可以保留具有情感倾向的标点符号,如:?和!从噪声数据中提取所需数据,并使用正则表达式完成数据提取。例如:当只需要提取汉字时,可以使用常规的\u4e00-\u9fa5简体和繁体转换。
您可以安装该软件包:pip install opencc。英文数据:词形还原、大小写转换等(推荐python包:NLTK) 2.2 格式化文本数据 文本根据标点符号分为句子。
文本切分,根据换行符或其他数据规则进行切分。文本按照字段存储:半结构化文本数据存储excel数据提取,建议安装python包pandas,pip install pandasdocx格式数据提取,建议安装python包python-docx,pip install python- docxpdf数据提取,可以安装包 pdfminer.six , pip install pdfminer.six 此时,经过正规的预处理,文本数据会变得比较干净、规整,可以用于后续的NLP研究和应用。
(注意,适用于自己任务的操作是必要的,其他操作请参考奥卡姆剃刀“除非必要,否则不要添加实体”)。 3、与任务相关的文本数据预处理前面已经介绍了一般情况下文本预处理可能涉及到的注意点,但要真正做好数据预处理,还是要结合具体任务。
例如:数据不平衡问题、数据增强问题、数据标注问题等。 3.1 不平衡问题 不平衡分类问题:在实际应用中,数据存在长尾分布现象,需要注意处理不平衡分类问题。
python 包balanced-learn 提供了几种很好的过采样和欠采样方法,您可以尝试。不平衡回归问题,链接一篇好文章:数据增强问题如果数据太少,那么就需要用规则和算法来增强数据,使数据多样化。
3.3 数据标注问题 手动标注,好处:毕竟人多力量大,有人工智能就有多少智能。缺点:价格昂贵。
主动学习标注,目的:通过一定的技术手段和方法降低标注成本。具体来说,可以使用单一机器学习模型或集成学习的思想来提取需要人工审核和注释的数据。
标注平台和工具:可以开发相应的自动化预标注平台,通过人工审核获得标注的高质量数据集。 4.一些可用的文本预处理工具。
对于文本预处理工作,目前有一些具有各种功能的专门工具包。您可以尝试一下,以提高您自己的数据处理效率和质量。
数据预处理 您如何看待“文本预处理”? 欢迎留言讨论实用的自然语言处理。特别是本文如有疏漏之处,欢迎留言指出,以便纠正和完善。
如果看到文章的朋友对nlp话题感兴趣,欢迎留言交流讨论,共同写文章分享。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-06
06-18
06-17
最新文章
【玩转GPU】ControlNet初学者生存指南
【实战】获取小程序中用户的城市信息(附源码)
包雪雪简单介绍Vue.js:开学
Go进阶:使用Gin框架简单实现服务端渲染
线程池介绍及实际案例分享
JMeter 注释 18 - JMeter 常用配置组件介绍
基于Sentry的大数据权限解决方案
【云+社区年度征文集】GPE监控介绍及使用