V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
jiaslbang
V2EX  ›  Python

如何给一份商品清单进行清洗/tagging?

  •  
  •   jiaslbang · 2016-06-24 21:25:59 +08:00 · 2546 次点击
    这是一个创建于 3074 天前的主题,其中的信息可能已经有所发展或是发生改变。

    事情是这样的:

    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 包或者算法做实现类似需求的?

    麻烦大家指点一下,谢谢 :)

    9 条回复    2016-06-25 22:38:00 +08:00
    xiamx
        1
    xiamx  
       2016-06-24 21:37:51 +08:00
    楼主这种课题研究好了还是有可能可以发 Paper 的哦,记得找老板要加工资
    Comdex
        2
    Comdex  
       2016-06-24 21:58:35 +08:00 via Android
    花钱外包给人工做精确度更高
    SoloCompany
        3
    SoloCompany  
       2016-06-24 23:38:06 +08:00
    一百万条数据不算很多吧
    怎么处理应该都行,花个一两 g 内存应该能撑得过去
    开始错看成 1g 条数据,吓 niao 了
    vjnjc
        4
    vjnjc  
       2016-06-25 00:28:55 +08:00
    @SoloCompany 楼主貌似是在求思路吧,不大懂这个,帮顶
    soratadori
        5
    soratadori  
       2016-06-25 04:54:40 +08:00
    关注下,我从不同站点抓取相同的东西也会存在类似的问题
    vitovan
        6
    vitovan  
       2016-06-25 06:59:40 +08:00
    得给一些例子呀楼举。
    kyrre
        7
    kyrre  
       2016-06-25 07:52:14 +08:00
    有点机器学习的意思,可以从贝叶斯分类算法着手。
    zhangfan
        8
    zhangfan  
       2016-06-25 13:58:37 +08:00
    关注
    practicer
        9
    practicer  
       2016-06-25 22:38:00 +08:00
    Out[14]:
    text_title_id text_title Tag score
    652 Gigafactory http: ... Tesla Motors 0.666666666667
    675 Whatsapp down ... WhatsApp 0.5
    714 Thoughts on SiliconVa ... Silicon Valley 0.928571428571
    752 How many computer ... Computer programs 0.590909090909
    983 Ask HN: This is what is ... Silicon Valley 0.590909090909
    1335 Facebook down The ... Facebook 1.0
    1417 Santa Claus VS Justin ... Justin Bieber 0.666666666667
    1533 Beauty channel Just ... YouTube 0.555555555556
    1558 E canl tv izle ... Websites 0.625
    2169 General Motors ... General Motors 0.722222222222

    -----------
    你想要的是这种效果吗?
    自动打 tag 属于机器学习,可以试试 graphlab (和 scikit-learn 类似的,商业软件,一个月免费用)
    使用 graphlab 自动打 tag 教程: http://t.im/15qca
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2625 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 04:23 · PVG 12:23 · LAX 20:23 · JFK 23:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.