-1

可以说我有以下非常简化的培训和测试观察。机器学习自然语言处理 - 自定义翻译

培训

input: her favourite dog was a huskey and her favourite cat was a leopard 
output: dog=huskey, cat=leopard 

input: her favourite dog was a beagle and her favourite cat was a lion 
output: dog=beagle, cat=lion 

input: her favourite dog was a poodle and her favourite cat was a burmese 
output: dog=poodle, cat=burmese 

测试

input: her favourite dog was a collie and her favourite cat was a moggie 
desired output: dog=collie, cat=moggie 
  • 什么是蟒蛇最好的机器学习的方法,让我有测试输入转换成所需的输出?
  • 将这些原始数据用于做出这一预测会涉及哪些步骤?

从该地区的一些研究似乎很多现有的机器学习的包都是围绕分类,回归和聚类(例如http://scikit-learn.org/stable/),而我所要做的是翻译的一种形式。

我也研究了一些NLP软件包,其功能更多地涉及关键字识别,词类型识别和情感分析(例如http://www.nltk.org/)。也有一些翻译包可用,但这些是用于预先存在的语言(http://pythonhosted.org/goslate/

我认识到,对于这种特殊情况,机器学习是完全没有必要的,但实际上会有更复杂,不同和大量的输入翻译。

回答

0

(1)我将再次表述你正在试图解决的问题:由于某些特定动物句子S找到最好的动物C类。因此,考虑第1句:

她最喜欢的狗是一个huskey和她最喜欢的猫豹

与既定的目标动物=“huskey”,你会得到C =“狗”为类;同样,当A =“豹”时,你会得到C =“猫”。 (2)从你问你问题的方式来看,我假设你不想使用外部字典或其他数据(如果找到C类与其相关动物物种的搭配相对来说比较微不足道并训练一个监督分类器)。所以我认为你仅限于你提到的数据类型。我还会假设每个句子都明确提到了C类。

(3)鉴于数据限制,您可能需要在功能中使用语法信息。在英语语法主要是通过词序来传达,所以我会专注于这些。对你的数据应用一个词性标记器可能很有用。

(4)对于句子S中的每个可能的目标A,您将创建一行数据。因此,句子#1有两个目标A = {husky,leopard},所以你的训练数据中将有两行将映射到相应的类,狗和猫。

row已发送。目标F1,F2,...FN类

1哈士奇狗...

2 1豹猫...

(5)包括作为特征目标的POS ...大概在示例数据没有用的你提供的对于更复杂的目标将是有用的,例如,A =“大白色沙哑”应该将全名词短语映射到C =“狗”。鉴于上述数据,简单解决方案只需找到目标左侧最近的名词。

her.d favorite.a dog.n is.va husky.n和her.d favorite.a cat.n is.va leopard.n

所以,你可以有一个特点F_LftClosestNoun,F_RtClosestNoun,F_ClosestNoun 。然后,只需在训练数据上训练分类器,然后在未查看的数据上进行测试。如果您提供更逼真的样本,也许我们可以确定其他有用的功能。