对自然语言处理感兴趣的人有什么好的出发点? [关闭]
nlp
6
0

因此,我最近提出了一些新的可能项目,这些项目必须处理从用户提交和生成的文本中获取“含义”的问题。

自然语言处理是处理此类问题的领域,经过一些初步研究,我发现了OpenNLP Hub和大学合作(例如trypo项目) 。和stackoverflow有这个

如果有人可以将我链接到一些不错的资源,从研究论文和介绍性文本到api,我都会比一个6岁的孩子打开他的圣诞礼物要开心!

更新资料

通过您的建议之一,我找到了opencyc“世界上最大,最完整的通用知识库和常识推理引擎” )。更令人惊奇的是,有一个项目是opencyc的精简版本,称为UMBEL 。它以rdf / owl / skos n3语法提供语义数据。

我还偶然发现了antlr ,一个解析器生成器,用于“从语法描述中构造识别器,解释器,编译器和翻译器”

我在这里有一个问题,其中列出了大量免费和开放的数据

谢谢stackoverflow社区!

参考资料:
Stack Overflow
收藏
评论
共 7 个回答
高赞 时间 活跃

乔姆斯基完全是找NLP的错误来源(他会大声疾呼自己)。请参阅:阿伯尼撰写的“ 统计方法和语言学 ”。

上面提到的Jurafsky和Martin是标准参考书,但是我自己更喜欢Manning和Schütze 。如果您对NLP感到认真,则可能需要阅读两者。 网上有曼宁课程之一的视频。

收藏
评论

我强烈建议您与NLTK一起玩并阅读NLTK书 。 NLTK非常强大且易于使用。

收藏
评论

如果您了解Prolog,请直到立即学习Prolog中的DCG章节!上面的Dimitrov先生提到的,由于Prolog为您提供了一种非常简单的方法来维护知识和信念数据库,可以通过提问来进行更新,这将为您在系统中引入一些语义学提供一个良好的开端。

关于文献,我对您有一个主要建议:用完并购买Jurafsky&Martin的语音和语言处理 。这几乎有关NLP 书(第一章在线提供)。在数以十亿计的大学课程中使用,但对于非语言学家和实用型读者也非常可读,与此同时,它也相当深入地探讨了语言学问题。我真的不能推荐它。您正在寻找第17、18和21章(第一版中的第14、15和18章);它们向您展示了简单的lambda表示法,它很好地转换为具有功能的Prolog DCG。

哦,顺便说一下,要获得语言学方面的硕士学位;如果您喜欢NL语义学,我建议您参加所有与AI相关的课程(尽管有关“普通”语言语义学,逻辑,逻辑语义学, DRTLFG / HPSG / CCG,NL的所有课程)解析,形式语言学理论等都不会受到伤害...)

阅读乔姆斯基的原始文献并没有真正的用处。据我所知,目前没有与他的理论直接对应的实现,他的所有有用的东西几乎都被其他理论所包容(任何在任何时间停留在语言学家身边的人都会通过渗透吸收乔姆斯基的知识) 。

收藏
评论

艰难的呼吁是,NLP的领域比大多数人想象的要广得多。基本上,语言可以分为几类,这将要求您学习完全不同的事物。

在开始之前,请允许我告诉您,我怀疑如果没有某个(密切相关的)领域的学位,您是否会取得任何显着的成功(至少是作为专业人士)。涉及到很多理论,其中大部分是枯燥的东西,很难学习。您将需要很多耐力,而最重要的是:时间。

如果您对文本的含义感兴趣,那就是下一件大事。语义搜索引擎被认为可以启动Web 3.0,但是我们还远远没有。从文本中提取逻辑取决于几个步骤:

  • 令牌化,分块
  • 在词汇层面上消除歧义(时间像箭一样飞,但是水果像香蕉一样飞。)
  • 句法解析
  • 形态分析(时态,方面,案例,数字,诸如此类)

一个小清单,离我远去。还有更多的:-)以及每个点的更多细节。例如,当我说“解析”时,这是什么?有许多不同的分析算法,并且有同样多的分析形式主义。最强大的是树连接语法头驱动短语结构语法 。但是,这两种方法几乎都没有在现场使用(目前)。通常,您将要处理一些半生不熟的生成方法,并且必须自己进行形态分析。

从那里转到语义是一大步。语法/语义接口既依赖于所采用的句法语义框架,又没有单一的可行解决方案。在语义方面,有经典的生成语义,还有话语表示理论动态语义等等。甚至所有事物所基于的逻辑形式主义都没有被很好地定义。有人说应该使用一阶逻辑,但这似乎还不够。然后是Montague使用的内涵逻辑,但这似乎过于复杂,在计算上也不可行。还有动态逻辑(Groenendijk和Stokhof率先提出了这种东西。太好了!),最近,实际上,今年夏天, Jeroen Groenendijk提出了一种新的形式主义,即“ 好奇 语义学” ,也很有趣。

如果您想从一个非常简单的层次开始,请阅读Blackburn和Bos(2005) ,它是很棒的东西,以及《计算语义学》的实际介绍!正如Groenendijk和Stokhof(1982)所提出的,我最近扩展了他们的系统,以涵盖问题的分区理论(问题回答是野兽!),但不幸的是,该理论在个人领域具有O(n²)的复杂性。 。这样做的时候,我发现B&B的实现在某些地方有点笨拙……有点黑。尽管如此,它确实会真正帮助您深入了解计算语义,它仍然是可以做的非常令人印象深刻的展示。同样,它们值得为实现在低俗小说(电影)中建立的语法提供额外的便利。

当我在这里时,请选择Prolog。计算语义方面的许多研究都是基于Prolog。 立即学习Prolog!是一个很好的介绍。我还可以推荐“ Prolog的艺术”和Covington的“ Prolog深度编程”和“ Prolog程序员的自然语言处理”,前者可免费在线获得。

收藏
评论

您可以尝试阅读一些短语结构化语法 ,这基本上是许多语言处理背后的数学原理 。实际上并没有那么重,主要是基于集合和图论。我是在不连续的数学课程中学习过许多月球的,并且我猜想在现阶段有很多很好的参考资料。

编辑:不,就像我期待的谷歌,虽然这一个看起来像一个良好的学习来源。

收藏
评论

Noam Chomsky是NLP的早期探索者之一。他在20世纪50年代到70年代写了有关该主题的小书。您可能会发现有趣的阅读。

收藏
评论

Cycorp对他们的Cyc知识库如何从句子中获取含义进行了简短描述

通过利用大量的常见事实知识库,系统可以确定句子的最逻辑解析。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号