所以这是我的问题。我有一个非常大的 csv 文件,它有 3 列。第一列是唯一 ID。第二列是一个字符串,它是一个英文句子。第三列是一串单词标签,描述第二列中的句子(通常是 3 个标签,最多 5 个)。这是一个例子。
id | sentence | tags
1 | "people walk dogs in the park" | "pet park health"
2 | "I am allergic to dogs" | "allergies health"
我想要做的是找到标记词与句子中单词的所有共现。因此,上述示例的所需输出看起来像这样。
("walk","pet"),1
("health","dogs"),2
("allergies","dogs"),1
etc...
其中第一个条目是一个词对(第一个来自句子,第二个是标签词),然后是它们共同出现的次数。
我想知道最好的方法是什么。我在想也许我可以想出一个 python 字典,其中键是标签词,值是标签词出现的一组 id。我可以对所有句子中出现的所有单词做同样的事情(在删除停用词之后)。然后我可以计算这两个单词的每个组合在两个集合的交集中的 id 数量,这会给我它们同时出现的次数。
但是,这似乎需要很长时间(巨大的 csv 文件!)。我也可能内存不足。谁能想到更好的方法来做到这一点。也许将文件导入数据库并运行某种查询?