word-discovery
word-discovery copied to clipboard
速度更快、效果更好的中文新词发现
增加支持 Windows 环境的运行和补充第三方工具,以及优化性能和注释等。 还有,KenlmNgrams.read_ngrams() 方法处理逻辑略有调整,请审核合理性。 谢谢! PS: 同一人在科学空间有回复: 无剑 发表于 March 15th, 2024 CPU: 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz 内存: 16.0 GB, 可用 4.9 GB 在上面这台笔记本电脑(Windows 10)上一个分词初学者折腾好几天了,先是安装编译 kenlm...
相同代码,相同配置,只改了读入文件。3M 数据能跑出结果,800M 就卡住了。 长期停留在此处: `2020-04-27 15:56:31,686 - INFO - build ngram trie - 3400000/3457260 passed`
有个疑问,我们计算4-gram是基于我们已经计算好了2-gram以及3-gram基础之上,也就是说我们的2-gram和3-gram也是经过词频和凝固度的过滤,在过滤之后,2-gram和3-gram的总频数也就不存在约等于总次数的情况了,那么我们计算4-gram的凝固度的时候,以下式子也不成立了。 score = min([total*ngrams[s]/(ngrams[s[:i+1]]*ngrams[s[i+1:]])
您好!非常感谢您分享您的工作!我按照复现的步骤在所给文本上进行测试,输出的词典文件中是单个的字而不是词请问是为什么? 输出结果如下: 167812 不 20863 一 18345 的 16298 道 15707 了 15406 是 14528 人 13219 我 11523 你 10255 他 9957 这 9885 大 9602 来 8814 之...
memory参数调大调小都不行,预料并不大,done=32512 ,一直报这个错误。
2022-05-08 13:21:29,202 - INFO - loading ngrams - 8200000 passed 2022-05-08 13:21:29,261 - INFO - loading ngrams - 8300000 passed Traceback (most recent call last): File "word_discovery.py", line 206, in...
up主的博客中提到,可以用n为某个值的ngram总频数来计算total > 事实上,根据(对于某个固定的n)ngram的计算方式: [text[i:i + n] for i in range(len(text) - n + 1)] ,就知道每种ngram的总数约等于字数是显然成立的。 而源码中,是对所有ngram的频数的总和来计算total的,是否与博客中的算法不一致,导致pmi计算不正确? `for s, n in Progress(ngrams(), 100000, desc=u'loading ngrams'):` ` if n >= self.min_count:` `...
Early break to improve performance
是否均需要在主機上安裝kenlm....然後再chmod +x count_ngrams 最後才運行pycharm上的script?