2.机械压缩去词
(1)机械压缩去词的思想
由于电商品牌的文本评论数据质量参差不齐,没有意义的文本数据很多,因此通过文本去重就已经可以删除掉非常多的没有意义的评论文本。但是文本去重还远远不够,经过文本去重后的评论仍然有很多评论需要处理掉,例如,
“非常好非常好非常好非常好非常好非常好非常好”
以及
“好呀好呀好呀好呀好呀好呀好呀好呀好呀”。
这一类是存在连续重复的语料,也是最常见的较长的无意义语料。因为大多数给出无意义评论的人都只是为了获得一些额外奖励,并不对评论真正抱有兴趣,而他们为了省事就很可能进行这样的评论。显然这一类语料并不会重复,但是也是毫无意义的评论,是需要删除的。
可惜的是,计算机不可能自动识别出所有的这种类型的语料,比如“非常好”可以有从1到无上限的有穷个的叠加,即使运用词典透过某些方式识别了这一类的文本评论数据,比如算出“非常好”比较多意味着可能是无意义评论,一位制造无意义评论的顾客还可以以任何一个词进行重复,还可以重复某词,但次数不一定多,而这种显然只需要保留第一个即可,若不处理,可能会影响情感倾向的判断,例如:
“15分钟就出热水了,感觉还不错,但是安装费实在是太贵太贵太贵太贵”
与
“15分钟就出热水了,感觉还不错,但是安装费实在是太贵太贵太贵”
是没有差别的,但是若不处理,就会出现差别。
因此,就需要对语料进行机械压缩去词处理,也就是说要去掉一些连续重复累赘的表达,例如把:
“哈哈哈哈哈哈哈哈哈哈哈”
缩成
“哈”
不过这样仍然会保留无意义的评论(比如上述的评论),但是这些评论在经过这步处理后,在最后一个预处理环节:短句删除环节就会被去除掉。当然,机械压缩去词法不能像分词那样去识别词语。
(2)机械压缩去词处理的语料结构
机械压缩去词实际上要处理的语料就是语料中有连续累赘重复的部分,从一般的评论偏好角度来讲,一般人制造无意义的连续重复只会在开头或者结尾进行,例如:
“为什么为什么为什么安装费这么贵,毫无道理!”
以及
“真的很好好好好好好好好”
等,而中间的连续重复虽然也有,但是非常少见(中间重复在输入上显得麻烦,无意义评论本就为了随意了事),而且中间容易有成语的问题,例如:
“安装师傅滔滔不绝的向我阐述这款热水器有多好”
这种语料显然在去掉一个“滔”字后肯定就会出现问题,因此只对开头以及结尾的连续重复进行机械压缩去词的处理。
(3)机械压缩去词处理过程的连续累赘重复的判断及压缩规则的阐述
连续累赘重复的判断可通过建立两个存放国际字符的列表来完成,先放第一个列表,再放第二个列表,一个个读取国际字符,并按照不同情况,将其放入带第一或第二个列表或触发压缩判断,若得出重复(及列表1与列表2有意义的部分完全一对一相同)则压缩去除,这样当然就要有相关的放置判断及压缩规则。在进行机械压缩去词处理的连续累赘重复的判断及压缩规则设定的时候,必然要考虑到词法结构的问题。综合文字表达特点,设定如下7条规则(说明:1)这里为了初始化列表而放入的空格不算输入了国际字符;2)由于批量的评论中可能会存在某些评论无法识别,因此在进行这一步时需要结合运行进程人工删除一些无法识别语句)。
规则1:如果读入的字符与第一个列表的第一个字符相同,而第二个列表没有任何放入的国际字符,则将这个字符放入第二个列表中。
解释:因为一般情况下同一个字再次出现时大多数都是意味着上一个词或是一个语段的结束以及下一个词或下一个语段的开始,举例如下。
规则2:如果读入的字符与第一个列表的第一个字符相同,而第二个列表也有国际字符,则触发压缩判断,若得出重复,则进行压缩去除,清空第二个列表。
解释:判断连续重复最直接的方法,举例如下。
规则3:如果读入的字符与第一个列表的第一个字符相同,而第二个列表也有国际字符,则触发压缩判断,若得出不重复,则清空两个列表,把读入的这个字符放入第一个列表第一个位置。
解释:即判断得出两个词是不相同的,都应保留,举例如下。
规则4:如果读入的字符与第一个列表的第一个字符不相同,触发压缩判断,如果得出重复且列表所含国际字符数目大于等于2,则进行压缩去除,清空两个列表,把读入的这个放入第一个列表第一个位置。
解释:用以去除下图情况的重复,并避免如“滔滔不绝”这种情况的“滔”被删除,并可顺带压缩去除另一类连续重复,见下图示例。
规则5:如果读入的字符与第一个列表的第一个字符不相同,触发压缩判断,若得出不重复且第二个列表没有放入国际字符,则继续在第一个列表放入国际字符。
解释:没出现重复字就不会有连续重复语料,第二个列表未启用则继续填入第一个列表,直至出现重复情况为止。
规则6:如果读入的字符与第一个列表的第一个字符不相同,触发压缩判断,若得出不重复且第二个列表已放入国际字符,则继续在第二个列表放入国际字符。
解释:类似规则5,此处省略叙述。
规则7:读完所有国际字符后,触发压缩判断,对第一个列表以及第二个列表有意义部分进行比较,若得出重复,则进行压缩去除。
解释:按照上述规则,在读完所有国际字符后不会再触发压缩判断条件,故为了避免下图实例连续重复情况,补充这一规则。
(4)机械压缩去词处理操作流程
根据上述规则,便可以完成对开头连续重复的处理。类似的规则,也可以对处理过的文本再进行一次结尾连续重复的机械压缩去词,算法思想是相近的,只是从尾部开始读词罢了。从结尾开始的处理结束后就得到了已压缩去词完成的精简语料。
输出被压缩的语句和原语句的对比,下图截取了一部分前向机械压缩的对比例子,如图15-7所示。
图15-7 被压缩的语句和原语句对比
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论