首页 文章

自然语言处理的机器学习 - 自定义翻译

提问于
浏览
-1

假设我有以下非常简化的培训和测试观察结果 .

Training

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

Testing

input: her favourite dog was a collie and her favourite cat was a moggie
desired output: dog=collie, cat=moggie
  • python中最好的机器学习方法是什么让我能够将测试输入转换成所需的输出?

  • 将此原始数据用于进行此预测涉及哪些步骤?

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

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

我认识到,对于这种特殊情况,机器学习是完全没有必要的,但是在实践中将会有更复杂,不同和众多的输入要翻译 .

1 回答

  • 0

    (1)我会重新解决你要解决的问题:给出一些特定的 animal Asentence S 找到最好的动物 class C . 所以给出了句子1:

    她最喜欢的狗是一只狗,她最喜欢的猫是豹子

    并且给定目标动物A =“huskey”,你会得到C =“dog”作为类;类似地,当A =“豹子”时,你会得到C =“cat” .

    (2)从您提出问题的方式来看,我假设您不想使用外部词典或其他数据(在C类中找到与其相关动物物种的搭配并训练一个相对微不足道的地方监督分类器) . 所以我假设你只限于你提到的数据类型 . 我还假设在每个句子中明确提到了C类 .

    (3)鉴于数据限制,您可能需要在功能中使用语法信息 . 在英语中,语法主要通过单词顺序传达,因此我将重点关注这些 . 将词性标注器应用于您的数据可能很有用 .

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

    行已发送 . 目标F1,F2,... FN等级

    1哈士奇......狗

    2 1豹...猫

    (5)作为特征包含目标的POS ...可能对你提供的示例数据没有用,对于更复杂的目标是有用的,例如,A =“大白哈士奇”应该将完整的名词短语映射到C =“狗” . 鉴于您的数据,上面的简单解决方案只会找到目标左侧最近的名词 .

    her.d favorite.a dog.n is.v a husky.n and her.d favorite.a cat.n is.v a leopard.n

    所以你可以有一个功能F_LftClosestNoun,F_RtClosestNoun,F_ClosestNoun . 然后只需在训练数据上训练您的分类器,并在看不见的数据上进行测试 . 如果您提供更逼真的样本,我们可能会发现其他有用的功能 .

相关问题