前言
我想实现的功能过于复杂,我都不知道我能不能用语言表述清楚,花了五六个小时写了这个程序,还是好好陈述一下需求吧。
因为我做命名实体识别嘛,我昨天想起来把数据扩充一下,怎么扩充呢,就是把相同类型的实体互换一下位置。例如
和
把这两个互换,就可以实现扩充数据集的目的了。再对其它类型的实体也互换,例如
之类。
所以我们来整理下需求。
需求
总
一个大方向就是把同种类型的实体互换,并将互换后的数据写进一个文件中,当作扩充的数据集。
分
如何实现实体互换呢?
识别所有类型的实体并把它们放入不同的列表中,见程序段1;
实现互换之前,需要知道用什么换?这里我用random.shuffle函数打乱实体list得到一个新的list B,将list A中的元素替换为list B的元素,见程序段2;
有了list A和list B,就可以替换了,将list A对应的元素替换为list B的元素,见程序段3;
替换完成,写入文件,见程序段4。
看起来好像不是很复杂,其实里面有很多坑需要跨过去,只有自己动手写才会知道问题在哪儿,编程真有意思。<