这是一个创建于 1187 天前的主题,其中的信息可能已经有所发展或是发生改变。
首先解释一下,本人非程序员,大学也没读,所以不用提大学相关的知识,以及英文论文,只是业余时间玩 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,也没使用函数式编程, [所以不要上来就丢论文,我也看不懂] 。目前只是想了解有没有什么比较方便一些的办法,能方便,在未设定广告关键词(品牌)的时候,隐藏常规词,只打印广告词。
|
|
1
xingshu1990 2021-08-26 16:46:14 +08:00
请忽略代码中的 不明所以的变量名,英语没及格过。
|
|
|
2
xingshu1990 2021-08-28 09:02:17 +08:00
emmmm 没有大佬来提供思路么? 我目前的个人思路是 删除 dict.txt 中的单个字的字+词性,手动维护图中的 word 表,通过下面的 not in 半自动 半人工眼睛核对。。。。。
|