事情是这样的:
a.起因:我接到一份商品的 list (条目数大概 1000k, 纯英文),因为是从非结构化数据提取出来的,所以数据比较脏
b.问题:存在同一商品有几种不同写法的问题(比如 book 可能有 book/books/booking 之类的写法)
c.最终目的:需要对商品名称进行清洗(不是单纯的分类),把同一商品的几种写法统一成一种
b.注意:不能以分类名称来替换商品名称,统一后的名字必须保持原来的含义
我的初步想法是这样的:
0.列表名称去重
这是最基本的步骤,不说了
1.统计词频
比如单词 book 出现得多,那么很可能是一个商品类别,因此作为一个 tag
2.打 tag
比如某一些商品刚好都含有 tag: child/book ,于是打上"child","book"
3.商品分组
拥有完全相同 tag 的商品分为同一组,但不一定是相同商品,因为同组里面可能有几个最终映射到 child book A ,另外几个是 child book B
4.算相似度
组内算相似度,相似度超过某一阈值的,是同一个商品(不太懂,待商榷)
目前考虑用 python 实现,但是刚学不久比较拙计,特别是比较疑惑前几步用 python 怎么实现比较好?有没有一些现有 python 包或者算法做实现类似需求的?
麻烦大家指点一下,谢谢 :)