什么是共生矩阵以及它们如何在NLP中使用?

时间:2014-06-06 02:01:17

标签: nlp

pypi docs for a google ngram downloader说"有时您需要数据集上的汇总数据。例如,建立共生矩阵。"

维基百科的共谋矩阵与图像处理和谷歌搜索有关,这个词似乎带来了某种搜索引擎优化技巧。

那么什么是共生矩阵(在计算语言学/ NLP中)?他们如何在NLP中使用?

2 个答案:

答案 0 :(得分:11)

什么是共生矩阵?

一般而言,共生矩阵将在行(ER)和列(EC)中具有特定实体。此矩阵的目的是显示每个ER在与每个EC相同的上下文中出现的次数。 因此,为了使用共生矩阵,您必须定义您的entites以及它们共同出现的上下文。

在NLP中,最经典的方法是将每个实体(即行和列)定义为文本中存在的单词,将上下文定义为句子。

考虑以下文字:

  

玫瑰是红色的。天空是蓝色的。

使用前面描述的经典方法,我们将得到以下矩阵:

      |  Roses | are | red | Sky | is | blue
Roses |    1   |  1  |  1  |  0  |  0 |   0
are   |    1   |  1  |  1  |  0  |  0 |   0
red   |    1   |  1  |  1  |  0  |  0 |   0
Sky   |    0   |  0  |  0  |  1  |  1 |   1
is    |    0   |  0  |  0  |  1  |  1 |   1
Blue  |    0   |  0  |  0  |  1  |  1 |   1

这里,每个单元格表示两个项目共同发生与否。您可以使用它出现的次数或更复杂的方法来替换它。您也可以通过将名词放在行中而不是每个单词的行和形容词来更改实体本身。

他们在NLP中使用了什么?

这些矩阵的最明显用途是它们能够在概念之间提供链接。我们假设您正在进行产品评论。为简单起见,我们还假设每个评论仅由短句组成。你会有类似的东西:

  

ProductX很棒。

     

我讨厌产品。

将这些评论表示为一个共现矩阵,可以让您将产品与赞赏联系起来。

答案 1 :(得分:3)

共现矩阵表示行词(例如'digital')被包围的次数(在一个句子中,或在±4个词窗口中 - 取决于应用程序)通过列词(例如'pie')。

例如,下表中的条目 '5' 表示我们的文本中有 5 个句子,其中 'digital''pie' 包围。< /p>

enter image description here

这些句子可能是:

  • 我喜欢数字馅饼。
  • 什么是数字通常是一个馅饼。
  • 我可以吃一些数字馅饼吗?
  • 数字化世界需要吃馅饼。
  • 这个馅饼有一些数字

请注意,共现矩阵始终是对称的 - 行词 'pie'列词 'digital' 的条目将是5 以及(因为这些词同时出现在相同的句子中!)。