【问题标题】:AI: What kind of process would sites like Wit use to train Natural language [closed]AI:像 Wit 这样的网站会使用什么样的过程来训练自然语言 [关闭]
【发布时间】:2014-01-28 23:13:43
【问题描述】:

我正在从事一个项目,我想实现对自然语言的理解。但是,我将从小处着手,并希望针对特定查询对其进行训练。

例如,一开始我可能会告诉它:

歌曲。

然后,如果它看到像“Kanye Wests song”这样的句子,它就可以与之匹配。

但是我想给它一些额外的句子,它们可能意味着同样的事情,以便它最终学会能够将未知句子预测到我训练过的集合中。

所以我可能会添加一句:“歌曲由

当然还有一个可以匹配的名称数据库。

我遇到了一个简洁的网站,Wit.ai,它做了我所说的事情。但是,他们将匹配项解析为一个意图,我希望将其匹配到一个简化的查询或更好的数据库之类的查询(如 facebook 图搜索)。

我知道上下文无关语法可以很好地解决这个问题(还有什么?)。但是有什么好的方法可以训练几个我说的具有相似含义的CFG,然后当它看到未知的句子时,它可以尝试和预测。

任何想法都会很棒。

基本上,我希望能够采用自然语言句子并将其转换为某种形式,这种形式可以更好地被我的系统理解并以一种很好的方式呈现给用户。不确定是否有更好的 stackexchange !

【问题讨论】:

    标签: regex nlp artificial-intelligence wit.ai


    【解决方案1】:

    首先,我认为 SO 非常适合这个问题(我检查了 Area 51,NLP 没有 stackexchange)。

    假设您已经熟悉 PCFG 语法的常规训练,我将介绍一些可能有助于您实现目标的细节:

    在语料库上训练的任何语法都将依赖于该训练语料库中的单词。未知词的糟糕表现不仅在 PCFG 训练中是一个众所周知的问题,而且在几乎任何概率学习框架中都是一个众所周知的问题。然而,我们可以做的是将问题视为释义问题。毕竟,您想将具有相同含义的句子组合在一起,对吗?

    在最近的研究中,检测具有相同(或相似)含义的句子或短语采用了一种称为分布相似度的技术。它旨在改进对看不见的共现的概率估计。基本概念是

    共享相同分布的单词或短语(语料库中相同上下文中的相同单词集)往往具有相似的含义。

    您可以只使用内在特征(例如 PCFG 中的生产规则)或使用额外的语义知识来支持这些特征(例如像 FreeBase 这样的本体)。使用额外的语义知识可以生成具有相似含义的更复杂的句子/短语,但这种方法通常只适用于特定领域。因此,如果您希望您的系统仅适用于音乐,这是个好主意。

    重现实际的分布相似性算法会使这个答案变得异常冗长,所以这里有一篇优秀文章的链接:

    Generating Phrasal and Sentential Paraphrases: A Survey of Data-Driven Methods Madnani 和 Dorr。

    对于您的工作,您只需完成第 3.2 节:使用单一单语语料库进行释义。我相信本文中标记为“算法 1”的算法会对您有用。但是,我不知道有任何公开可用的工具/代码可以做到这一点。

    【讨论】:

    • 这看起来很有用!谢谢。你碰巧知道这方面的任何开源实现吗?
    • 不,恐怕不会。事实上,我自己一直在编写分布相似性的通用框架。但是它不太可能很快就会处于可用状态:-( ...同时,如果您碰巧找到了实现,请在此处分享您的发现。
    • 我一定会的!谢谢你的帮助。我会看看我能从那张纸上做些什么:)
    • @Jonovono 你最终使用了什么框架?还是你自己建的?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-26
    • 1970-01-01
    • 2013-04-28
    • 2018-04-18
    • 2012-06-08
    • 2014-01-19
    • 1970-01-01
    相关资源
    最近更新 更多