自然语言处理是AI皇冠上的明珠,语料预处理是自然语言处理的基础。机器能与人交流吗?它能像人一样理解文本吗?这是大家对人工智能的最初想象。如今,NLP技术可以充当人与机器之间的桥梁。环顾身边的生活,我们可以随时享受NLP技术带来的便利,语音识别、机器翻译、问答系统等等。这些技术看似高深莫测,实则有章可循。当你了解了算法的底层原理后,你可能会恍然大悟,哎!这不难理解嘛。现在你可以跟着这篇文章一起探索NLP技术(语料预处理)的基础是如何搭建起来的。在接下来的文章中,我们将逐步介绍NLP中的特征提取和最新算法的解读。语料库,顾名思义,就是我们通常所说的文本,带有描述性字符的文本都可以归类为语料库。但是,这种原始文本不能直接用于训练模型,需要进行预处理。语料库预处理方法主要包括数据清洗、分词、词性标注、停用词去除等。常见的清洗方式有:手动去重、对齐、删除、标注等。以下文为例。文本中不仅包含汉字,还包含数字、英文字符、标点符号等不规则字符。这些是无意义的信息,需要清理。像上面的案例,清洗的方法主要是通过正则表达式。您可以编写一个简短的Python脚本来解决它。代码如下:清洗后的结果:噪声数据除了以上需要清洗的形式外,还包括文本重复、错误、删除、异常等。清洗方式包括人工处理,或者通过开发小工具和编写一个简短的小程序,都可以用来做数据清洗。分词数据清洗后,可以进行下一步:文本分词。文本分词就是将文本一个一个地分割成单词。常用的分词方法包括基于规则的分词方法和基于统计的分词方法,统计样本内容来自于一些标准的语料库。比如这句话:“小明住在朝阳区”,我们期望经过语料统计后的分词结果是:“小明/住在/朝阳/区”而不是“小明/住在/朝阳区”。那么该怎么做呢?从统计学的角度来看,可以用条件概率分布来解决。对于一个新的句子,我们可以通过计算各种分词方法对应的联合分布概率,找到概率最高对应的分词方法,这就是最优分词。到目前为止,研究人员已经开发出很多实用的分词小工具,而且这些工具非常好用。如果你对分词没有特殊需求,可以直接使用这些分词工具。各种分词工具的列表。Part-of-speechtagging词性标注是指对分词结果中的每个词标注正确的词性,即判断每个词是名词、动词、形容词还是其他部分的过程演讲。词性标注有几个重要的用途。首先,消除歧义。有些词在不同的上下文中或以不同的方式使用时有不同的意思。比如“这只狗的名字叫开心”和“我今天很开心”这两个句子中,“开心”有不同的含义。我们可以通过词性标注来区分。第二,加强基于词的特征。仍然以上面的句子为例,如果不做词性标注,两个“happy”的词会被认为是同义词,词频为2,会在后面的分析中引入错误。此外,词性标注还具有标准化、词形还原、有效去除停用词等功能。常用的词性标注方法包括基于规则和基于统计的算法,例如:最大熵词性标注、HMM词性标注等。下面我们来看一个词性标注的例子-语音标注。你也可以自己试试:http://ictclas.nlpir.org/nlpir/去停用词我们人类在接收新闻的时候,会过滤掉无效的信息,过滤掉有用的信息。对于自然语言,去除停用词是一个非常明智的操作。一篇文章,无论是中文还是英文,都有连词、虚词、连接语气词等无意义的词,如“的”、“吧”、“但是”等。这些词没有特定的含义,但起着连接句子和增强语气的作用。这些词对文本分析没有帮助,所以我们需要对切分后的数据做停用词处理。但是我们应该仔细决定要删除哪种停用词。下图列出了一些常用的停用词。您可以参考您的需要,选择要删除的停用词。词频统计词频统计是统计分词后文本的词频。目的是找出对文本影响最大的词,是文本挖掘的重要手段。统计这些词出现的频率,可以帮助我们理解文章强调的内容,进而方便后续的模型构建。例如,我们可以统计四大名著的《红楼梦》中排名前28位的单词,结果如下:从上图中,我们可以看出《红楼梦》中哪个字的长度最长,而曹雪芹更关注哪个人物。即使我们不是红科专家,也可以从统计词频中分析出一些关键信息。“万丈高楼拔地而起”,对于自然语言处理的摩天大楼来说,了解底层的实现原理或许能帮助你更好地理解它的建造过程。
