【发布时间】:2016-04-12 23:56:01
【问题描述】:
我有一个 twitter 数据列表,其中包含单词和相关的词性标签,例如:
[
[
[
'word1.1',
'tag1.1'
],
[
'word1.2',
'tag1.2'
]
],
[
[
'word2.1',
'tag2.1'
],
[
'word2.2',
'tag2.2'
]
]
]
其中word1.1 是第一条推文的第一个词,tag1.1 是它的关联标签,等等。我想在所有推文中替换所有出现少于阈值(比如 2)次的词未知单词令牌<unknown>。
我正在使用collections.Counter 快速获取出现次数少于此阈值的单词列表,但我正在寻找一种方法来快速替换出现次数少于此阈值的单词。我现在正在做的是让所有单词都被替换,并遍历每条推文的每个单词,检查单词是否在要替换的单词列表中,如果是则替换它。然而,这是非常昂贵的;有没有更好的方法来做到这一点?
如果我将替换的阈值设置为 2(也就是替换所有单例),则有 97956 个单词要替换。我不确定总共有多少字,但有 50,000 条推文。
谢谢!
【问题讨论】:
-
您没有指明是否将标签作为单词身份的一部分。也就是说,如果一个词以不同的方式被标记(例如,“play”可以是名词或动词),这算作出现一次还是两次?
标签: python algorithm performance