将关系表示为监督学习任务的特征

时间:2013-07-10 04:41:26

标签: machine-learning nlp

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

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

2 个答案:

答案 0 :(得分:0)

我建议为所有可能的关系类型制作(非常大的数字)二进制特征,然后可能在生成的(非常稀疏的)特征空间上运行某种形式的维数减少。

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

答案 1 :(得分:0)

如何通过能够表达动词前面的典型单词(通常是主语)和动词后面的典型单词(通常是对象)来表示动词。假设您可以采用500个最常用的单词(甚至更好的最具辨别力的单词),那么每个动词将被表示为1000维向量。向量中的每个特征可以是二进制(是否有频率高于某个阈值的单词),或纯数,或者最好是对数。然后,您可以运行PCA将向量缩小到更小的维度。

上述方法是概率性的,根据您的需要可能有好有坏。如果您想通过大量手动输入精确地完成它,那么请查看情境语义。