今天,超过80%的数据是非结构化的。文本数据预处理是数据分析前的必经之路。大多数可用的文本数据本质上是高度非结构化和嘈杂的,需要更好的见解或建立更好的算法来处理数据。
我们知道,社交媒体数据是高度非结构化的,因其非正式的交流,存在包括拼写错误、语法不好、俚语的使用、诸如URL、停用词、表达式等不必要内容。
一个典型的商业问题,假设你感兴趣的是:这是iPhone在粉丝中更受欢迎的特点。下面你已经提取了与iPhone相关的消费者意见的一条推特:
下面对这条推特做文本预处理:
1、去掉HTML 字符:
从Web获得的数据通常包含许多HTML实体,如lt;& gt;& &;它嵌入到原始数据中。因此,必须摆脱这些实体。一种方法是通过使用特定的正则表达式直接删除它们。另一种方法是使用适当的包和模块(例如Python的HTMLPARSER),它可以将这些实体转换成标准的HTML标记。例如:& lt;转换为“<”,转换为“&”。
2、解码数据:
这是将信息从复杂符号转换为简单易懂字符的过程。文本数据可能会受到不同形式的解码,如“拉丁语”、“UTF8”等。因此,为了更好地分析,有必要保持完整的数据以标准的编码格式。UTF-8编码被广泛接受并推荐使用。
3、撇号查找:为了避免文本中的任何词义消歧,建议在文章中保持适当的结构,并遵守上下文无关文法的规则。当使用撇号时,消歧的机会增加。
For example “it’s is a contraction for it is or it has”.
所有撇号都应该转换成标准词典。可以使用所有可能的关键字的查找表来消除歧义。
4、停用词的去除:当数据分析需要在字级上进行数据驱动时,应删除通常出现的单词(停用词)。通过创建的一个长长的停止词列表,或者可以使用预定义的语言特定的库。
5、删除标点符号:所有的标点符号应根据优先级来处理。例如:“,”,“,”,“?”“重要标点应该保留,而其他标点需要删除。
6、删除表达式:文本数据(通常是语音转录)可能包含人类的表达,如[笑],[哭],[观众暂停]。这些表达式通常与语音内容无关,因此需要删除。在这种情况下,简单正则表达式可能是有用的。
7、分裂的附加词:人在社交论坛中的生成文本数据,本质上是完全非正式的。大多数推文伴随着多个附加词,例如RayyDay. PrimeCythOrth.等,这些实体可以用简单的规则和正则表达式分裂成它们的正常形式.
8、俚语查找:同样,社交媒体包括大多数俚语词汇。这些词应该转换成标准词来制作自由文本。像LUV这样的词将被转换成爱,Helo到Hello。撇号查找的类似方法可以用来将俚语转换成标准词。网上有大量的信息源,它提供了所有可能的俚语的列表,可以用它们作为查找字典来进行转换。
9、规范词:有时词的格式不正确。例如:“I looooveee you” 应为 “I love you”。简单的规则和正则表达式可以帮助解决这些情况。
10、删除URL:应删除文本数据中的URL和超链接,如评论、评论和推文。
以上就是对web文本数据清洗流程及实例 (实例代码)的全部介绍,如果您想了解更多有关HTML视频教程,请关注PHP中文网。
以上就是web文本数据清洗流程及实例 (实例代码)的详细内容,更多请关注php中文网其它相关文章!
……