nltk中对词性进行过滤,是不是特别消耗计算量?
目标:对文本进行预处理,需要抽取词性为名词、动词的词;
背景:现在有70k+个文本数据,单个文本含有300左右的单词;
问题:发现根据词性过滤,速度很慢。
有没有好的解决方法?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
目标:对文本进行预处理,需要抽取词性为名词、动词的词;
背景:现在有70k+个文本数据,单个文本含有300左右的单词;
问题:发现根据词性过滤,速度很慢。
有没有好的解决方法?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
这是个什么词啊?23333。
你都把问题的标签加上“数据挖掘”了,怎么会问这种问题呢。
对一个程序来说,瓶颈就在IO和 CPU。(我觉得,你的意思应该是消耗 CPU 吧)
70k+,不算多。可以一次性都放入内存中,因此瓶颈不在 IO。
twitter 几亿的数据,如果为了生成上月的热榜,即使用三四个小时来分析这些数据,也不算慢。分析一次,显示一个月。下月月底,再花三四个小时分析。
但是,如果像 segmentfault 网站一样,每次用户提问,都会在左边显示出相似问题,就算等半分钟,也觉得慢。
一台电脑不行,就多来几台,使用 Hadoop 的 MapReduce 模型,操作 N 台电脑,就像一台电脑一样。
不够快?你想实时的?
那只能用终极杀器了:Streaming(流)计算模型。
流计算的思路是,数据流进来的时候就处理。也就是数据一边流,我就一边开始处理了。牛X吧,基本上算是实时了。BUT,数据流过了,处理就结束了。最开始,我们分析了每个词的名词个数,现在有新要求了,要分析动词,不好意思,数据流走了,分析不了了。。。。
综上,你需要的是新的统计模型,试试 Streaming 吧。
看似 Streaming 很简单,很强大,实则不然。
那么问题来了:(留几个小问题)
数组长度未知,只遍历一次数组,找到最大的值。(难度:★)
数组长度未知,只遍历一次数组,找到出现次数最多的值。(难度:★★)
数组长度未知,只遍历一次数组,取出一个随机值。(注意要保证随机性 难度:★★★)