【问题标题】:Representing relations as features for supervised learning tasks将关系表示为监督学习任务的特征
【发布时间】:2013-07-10 04:41:25
【问题描述】:

我正在尝试将对象之间的关系用于监督学习任务。 例如,给定一个像“Cats eat fish”这样的文本,我想使用关系 Cats-eat-fish 作为学习任务的特征(即识别词义)。因此,我想用数字表示这种关系,以便我可以将其用作学习模型的特征。关于我如何做到这一点的任何建议。我正在考虑将其散列为一个整数,但这可能会带来挑战,例如语义上相同的两个关系可能具有 2 个非常不同的散列值。理想情况下,我希望 2 个相似的关系(例如生活和居住)散列到相同的值。我想我还需要弄清楚是否可以在散列之前规范化关系。

可能不使用数字特征的其他方法也很有用。我也想知道是否有基于图形的方法来解决这个问题。

【问题讨论】:

  • 你最后做了什么?
  • 我刚刚使用了基于图的方法,其中关系是两个实体之间的边。

标签: machine-learning nlp


【解决方案1】:

我建议为所有可能的关系类型制作(非常大量的)二元特征,然后可能在得到的(非常稀疏的)特征空间上运行某种形式的降维。

另一种可以减少稀疏性的方法是将裸词替换为实体类型,例如 [animal] 吃 [animal],甚至 [animate] 吃 [animate],然后使用二元特征在这个空间里。您希望避免映射到单个维度上的数值,因为这样做会在特征之间施加虚假的序数关系。

【讨论】:

    【解决方案2】:

    如何通过表示动词前面的典型词(通常是主语)和动词后面的典型词(通常是宾语)的特征来表示动词。假设你可以取 500 个最常用的词(或者更好的是最有区别的词),那么每个动词将被表示为一个 1000 维的向量。向量中的每个特征都可以是二进制的(是否存在频率高于某个阈值的词),也可以是纯计数,或者可能最好是对数。然后您可以运行 PCA 以将向量减少到更小的维度。

    上面的方法是概率性的,取决于你想要什么,它可能是好是坏。如果您想通过大量手动输入精确地做到这一点,那么请查看情境语义。

    【讨论】:

      猜你喜欢
      • 2014-12-21
      • 1970-01-01
      • 2014-04-20
      • 2013-03-24
      • 2010-12-22
      • 2021-10-17
      • 2013-12-01
      • 2019-02-20
      • 2018-10-01
      相关资源
      最近更新 更多