本文爬取的原始数据在汇总时会不可避免地出现错误。常常存在格式混乱、数据冗余等问题,因此本文对原始数据的处理参考了DuReader等常见机器阅读理解数据集的格式,并根据机器阅读理解任务要求对原始数据进行处理。针对本文原始数据存在数据冗余、非法字符和无用信息这三种问题,主要通过正则表达式进行解决。
原始数据中的数据冗余主要是指爬取的文本中偶尔会出现重复的词语或句子,这些冗余信息对机器阅读理解任务的完成没有任何帮助,本文使用正则表达式依次对问题文本和回答文本进行去除冗余操作。
原始数据的一部分来源于普通网络用户,其中存在非正式交流字符或者非法字符,这些信息会影响模型对段落的理解,进而导致模型性能变差,因此需要使用正则表达式将这些非法字符过滤掉。
原始数据的无用信息主要是指爬取文本中存在无用的网址信息或其他标签信息,这些信息对模型理解段落内容没有任何帮助,也不需要作为问题的答案,因此需要使用正则表达式对这些无用信息进行过滤。具体错误情况如表1所示。
错误类型 | 错误示例 | 说明 | 效果 |
---|
数据冗余 | 全全身上下关节总是咔咔响,大概与平常不爱运动相关,常不运动,关节就会出现退变,突然活动时就会出现关节咔咔响,也有大概是骨质疏松症引发的,平常要多锻炼。 | 词语“全”冗余,在Java中使用正则表达式s.replaceAll("(.)\\1+","$1")去除冗余信息。 | 全身上下关节总是咔咔响,大概与平常不爱运动相关,常不运动,关节就会出现退变,突然活动时就会出现关节咔咔响,也有大概是骨质疏松症引发的,平常要多锻炼。 |
非法字符 | 通常来讲,第一跖骨骨折愈合需要<2-3>个月的时候,只要当骨折完整愈合以后能够选择下地负重行走。 | “<”“>”是非法字符,在python中使用正则表达式re.sub('[\/:*?"<>|]','-',string)去除非法字符。 | 通常来讲,第一跖骨骨折愈合需要2-3个月的时候,只要当骨折完整愈合以后能够选择下地负重行走。 |
无用信息 | 退行性骨关节病之用药可采用非甾体类(http://yao.xywy.com/goods/13039.htm)或抗风湿药品,加用活血祛瘀的中药医治,止痛后果好。 | “(http://yao.xywy.com/goods/13039.htm)”是无用信息,使用正则表达式re.sub(r'[\S]+\.(net|com|org|info|edu|gov|uk|de|ca|jp|fr|au|us|ru|ch|it|nel|se|no|es|mil)[\S]*\s?','',string)过滤掉。 | 退行性骨关节病之用药可采用非甾体类或抗风湿药品,加用活血祛瘀的中药医治,止痛后果好。 |
上述错误处理完成后,还需要对文本进行数字标准化、特殊符号标准化以及英文标准化处理,三种标准化示例如表2所示。
标准化类型 | 标准化前 | 标准化后 |
---|
数字标准化 | 多吃水果蔬菜、均衡饮食①多吃含维生素C、E及红色的食物,这是因为维生素C和维生素E抗化,红色食物富含铁,它们都能提高我们的抵抗力。②多吃洋葱和大蒜,具有杀菌消毒功效,可以帮助人体预防流感;③多吃白萝卜,因为白萝卜含有大量的有机硫磺化合物和丰富的维生素C(抗化)、微量元素锌(能促进食欲提高免疫力) | 多吃水果蔬菜、均衡饮食1多吃含维生素C、E及红色的食物,这是因为维生素C和维生素E抗化,红色食物富含铁,它们都能提高我们的抵抗力。2多吃洋葱和大蒜,具有杀菌消毒功效,可以帮助人体预防流感;3多吃白萝卜,因为白萝卜含有大量的有机硫磺化合物和丰富的维生素C(抗化)、微量元素锌(能促进食欲提高免疫力) |
英文标准化 | 动物的肝脏含有丰富的维生素Ḁ和维生素D,也含有丰富的铁元素。因此说,吃肝并不能补肝,反而能改善视力,改善人体的钙代谢以及防治缺铁性贫血。 | 动物的肝脏含有丰富的维生素a和维生素D,也含有丰富的铁元素。因此说,吃肝并不能补肝,反而能改善视力,改善人体的钙代谢以及防治缺铁性贫血。 |
特殊符号标准化 | 3、肾型:有严重的皮肤损害外,还有较重or持续的肾脏改变,多数患者预后较好,有10%左右的患者发展为肾功能衰竭。 | 3、肾型:有严重的皮肤损害外,还有较重或持续的肾脏改变,多数患者预后较好,有10%左右的患者发展为肾功能衰竭。 |
数字标准化是将不同形式的具有数字意义的符号类型统一转换为标准的数字符号格式。例如:“①”“(1)”“Ⅰ”“➊”“壹”等符号都需要转换为标准的数字符号格式“1”。为了实现数字标准化,我们查看了具有数字意义的不同类型符号的Unicode编码,然后根据数字字符编码的有序性,构建了非标准数字符号格式与标准数字符号格式之间的对应关系,然后根据构建的对应关系进行数字标准化。
英文标准化是将各种类型不同但表达语义相同的英文符号统一转换为对应的标准小写英文格式。例如:“Ô“Ḁ”等符号都需要转换为标准的英文字符格式“a”。由于相似英文字符的Unicode编码不具备规律性,因此无法像数字标准化那样进行统一转换,所以我们通过构建字典的方式实现英文的标准格式和非标准格式之间的转换。
特殊符号标准化是将一些含有语义信息的符号转换为代表相对应语义的文字。例如:“/”“or”等表达“或者”的符号均可转换为中文文字“或”,“十”等形似“+”的符号均可转换为中文文字“加”。由于这些特殊符号代表了具体语义信息,所以它们需要进行转换而不可直接删除。由于这些特殊符号的Unicode编码同样不具备规律性,因此仍然需要通过构建字典的方式实现标准格式和非标准格式之间的转换。
寻医问药网原始数据中的回答大多由三部分组成,分别是问题对应答案、答案解析以及建议,本文将原始数据中的回答作为数据集中需要阅读的段落,回答的第一部分作为数据集的答案。数据初步处理完成后,还需对数据进行进一步筛选和检查,对于那些不合格的数据,需要进行修改或删除。处理后的数据如图3所示。
在39健康网原始数据中,问题所对应的确切答案往往被包含在整段回答中,所以在数据处理时,本文作者通过阅读方法对数据进行校验和审查,修改不通顺的语句或清除审核不达标的数据,之后再根据问题人工抽取答案。处理后的数据如图4所示。