【问题标题】:Python: randomly assigning titles to documents in a corpusPython:为语料库中的文档随机分配标题
【发布时间】:2016-03-18 10:53:36
【问题描述】:
  • 我有一个大型文档语料库,D,它基本上是一个 Python 列表,包含 n 个过滤后的推文。

    例如,D[0] 是“‘远程破解 Android 手机’的新漏洞威胁到数百万台设备

    另外,n 的数量级为 10^4。

  • 假设我在Z 中的文档还有另一个m = 10 个主题列表,我希望将其随机分配给每个文档,并且,

    Z = ['hack', 'tools', 'android', 'google', 'anonymous', ... ]

如何创建一个 n x 2 数组,以使主题的分配(尽可能接近)一个真正随机的过程?


编辑:

我不确定如何编码。对不起,如果解释有点模糊,但没有太多信息可以提供。我只是想要一种从Z 映射到D 的方法,随机(以获得 n x 2 数组不是 n x m 数组,诚实的错误)。

【问题讨论】:

  • 如果您通过一个使用较小的 n 和 m 值的简单示例来阐明您的问题,将会很有帮助。此外,您应该发布自己的编码尝试。
  • @PM2Ring 我已经添加了尽可能多的细节。代码本身并没有很多事情发生。我只是想从 Z 映射到 D,随机
  • 我可以向您展示如何构建一个包含 n 行的 Python 列表。第 i 行由 m 个元组组成。每个元组将第 i 个推文与 m 个主题之一以随机顺序配对。这会有帮助吗?
  • @PM2Ring 是的,应该可以。我意识到我根本不需要 n x m 矩阵。
  • 看看random.choice; numpy 可能提供类似的东西,但我不知道 numpy。

标签: python arrays numpy random-sample


【解决方案1】:

我想这就是你所追求的。

>>> D = [1,2,3,4,5,6,7,8,9]
>>> Z = ['a','b','c','d','e','f','g']
>>> [[i, random.choice(Z)] for i in D]
[[1, 'a'], [2, 'd'], [3, 'c'], [4, 'f'], [5, 'b'], [6, 'g'], [7, 'f'], [8, 'f'], [9, 'f']]

此列表理解遍历D(您的语料库)并将每个元素与Z(您的主题)的随机元素匹配。

不过,元组可能比单个对的列表更好,因为它们更常用于表示不同事物的集合 - 请参阅 this 答案了解何时使用列表与元组。

【讨论】:

  • 我可能,事实上,毕竟需要元组。谢谢。
猜你喜欢
  • 2016-09-24
  • 1970-01-01
  • 1970-01-01
  • 2015-11-21
  • 1970-01-01
  • 2019-03-24
  • 1970-01-01
  • 2015-11-27
  • 2019-03-27
相关资源
最近更新 更多