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
xingshu1990
V2EX  ›  Python

在未设定广告词的情况下,如何在一堆词中,发现包括目标词在内的一些关键词。

  •  
  •   xingshu1990 · 94 天前 · 197 次点击
    这是一个创建于 94 天前的主题,其中的信息可能已经有所发展或是发生改变。
    首先解释一下,本人非程序员,大学也没读,所以不用提大学相关的知识,以及英文论文,只是业余时间玩 python,但是实际上技术连入门都算不上。

    进入正题:
    给定一块内容,未给定品牌词,未设定词性,但需要把这块内容给提取出来。
    有点像违禁词屏蔽,又不像。

    比如“超达网球”“宣达”“朗凯奇”“宅即丽”“3A 环保漆”,未设定词性的话,通过结巴提取到的词性是:超达是 v,宣达是 nr,朗凯奇会被分词为朗 /凯奇,宅即丽会被分为宅 /即 /丽,3A 环保漆 如果经过编程语言删除了数字、英文[0-9]、特殊符号[] [] ●等,那可能 3A 环保漆 ,只会分出环保漆或者环保 /漆,又分不出 3A 环保漆。

    以上这个分词过程,语言用的是 python,jieba 分词,用的是.cut()分词,没有什么算法的东西。在 jieba 的 dict.txt 文件中,添加几个自定义的词和词性。

    但是像上面提到的这些个品牌词,如果不自定义 dict.txt 很容易分偏,但是在 dict.txt 分别加入铝合金,铝 901 n,合 3 v,金 3 b,合金 3 n 后,分词工具可能依照 dict.txt 文件中的先后顺序,进行分词。

    于是在 google 中搜索了, [ python 发现新词] ,
    测试了链接中的内容:
    https://www.guofei.site/2020/04/04/word_discovery.html

    调试链接中的代码,如果我自己提供原始内容少,就提取不出新词。提供的原始内容字数较多,又不一定能提取到我想要的目标词。
    而且 调试的时候 max_df=0.8, 和 min_df=5 这两个地方的数值 还要人工调整,因为不了解 NLP,不了解算法,当下去弄懂这块内容,就有点本末倒置了。

    最终目的:
    python 的技术呢,我也只是简单入门(也可以说未入门),相关代码呢,多数也是复制谷歌百度 github,也没使用函数式编程, [所以不要上来就丢论文,我也看不懂] 。目前只是想了解有没有什么比较方便一些的办法,能方便,在未设定广告关键词(品牌)的时候,隐藏常规词,只打印广告词。
    xingshu1990
        1
    xingshu1990   94 天前
    请忽略代码中的 不明所以的变量名,英语没及格过。
    xingshu1990
        2
    xingshu1990   92 天前
    emmmm 没有大佬来提供思路么?
    我目前的个人思路是 删除 dict.txt 中的单个字的字+词性,手动维护图中的 word 表,通过下面的 not in 半自动 半人工眼睛核对。。。。。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1327 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 17:31 · PVG 01:31 · LAX 09:31 · JFK 12:31
    ♥ Do have faith in what you're doing.