工作中遇到这样一种困惑,需要从几个基地的硕大无比的excel文件中比对对某个设备的维修大纲是否一致。比如有的基地要求“在50%FP平台下修改Gk参数”,而有的基地同一件事情的描述是“修改Gk参数(50%FP)”。用vlookup不太能解决这种问题。
如果完全手工操作,就只能先用基地1的描述作为基础,从中提取关键词,在基地2/3/4/5的excel里面搜索,找到了就复制过来(包括周期、负责单位等一些列信息);然后换基地2作为基础,重复上述操作。
显然,最麻烦的就是提取关键词去找和复制粘贴工作,如果excel有几百上千条的话手都要抽经了。
于是乎研究了下语义识别,使用TFIDF算法可以比较有效的解决这个问题。
https://blog.youkuaiyun.com/ling620/article/details/95956211
https://blog.youkuaiyun.com/Yellow_python/article/details/81021142
感谢这三篇博客的介绍,以及其他博客对TFIDF算法的介绍,使用Python gensim包里自带的TFIDF算法模块,逐条遍历每个大纲长描述在其他基地里最接近的长描述。经尝试可以减少8成的RPN系统大纲的比对。但是还有2成算出来最接近的大纲是错的。因此还需要手动比对。
同时自然的看到LDA算法,想到用LDA算法分析不同的异常事件通知单,看能否自动分类。目前的效果很糟糕。可能无监督学习搞分类还是比较困难的,需要原始数据真的区别够大。