我正在开展一个项目,目前能够检测文本正文中何时提到某个主题/想法非常有用。例如,如果文本包含:
也许如果你再多告诉我琼斯先生是谁,那会有所帮助。如果我可以描述他的外表,甚至更好的照片,那也会很有用吗?
能够发现这个人要求拍摄琼斯先生的照片真是太棒了。我可以采取一种非常天真的方法,只是寻找“照片”或“照片”这个词,但如果他们写下这样的话,这显然是不好的:
请不要给我发一张琼斯先生的照片。
有谁知道从哪里开始?它甚至可能吗?
我已经研究过像nltk这样的东西了,但是我还没有找到一个人做类似事情的例子,我仍然不完全确定这种分析是什么。任何可以让我离开的帮助都会很棒。
谢谢!
答案 0 :(得分:3)
可能对您有用的最好的事情是自动情绪分析。例如,这用于判断客户评论是正面还是负面。我不能直接指出可用的工具,但这正是你要找的。 p> 但是,我必须说,这是当前自然语言处理的热门话题,我在会议上看过很多论文。这绝对是一件非常复杂的事情,如果你从头开始,可能需要一段时间才能得到你想要的结果。
答案 1 :(得分:1)
NLTK对于解析自然语言来说不是一个糟糕的框架,但要注意这不是一件简单的事情。做这样的事情实际上是研究水平的编程。
一个让事情变得更容易的好事是,如果你的域名非常有限 - 比如你的应用程序专注于有关着名作家的信息,那么你就可以避免某些类型的歧义等自然语言的复杂性。
从哪里开始?好问题。我不知道有关该主题的任何教程(我认为你尝试过谷歌选项),但我想iTunes U会有关于这个主题的课程。如果没有,我可以发布一个链接到我已经完成的课程,提到这个主题,并不是完全可怕的:http://www.inf.ed.ac.uk/teaching/courses/inf2a/lecturematerials/index.html#lecture01
答案 2 :(得分:1)
你解决的问题非常具有挑战性。
我首先要确定文本中的实体(问题称为命名实体识别,谷歌),然后我会尝试识别概念。
如果想要粗略地确定有关文本的内容,我建议您首先使用WordNet并根据层次结构中的单词及其位置来确定所涉及的概念。 如果你想创建一个显示真实智能的系统,你应该开始研究CYC(OpenCYC)等资源,这样你就可以将句子转换成FOL句子。
这种核心人工智能,解决问题的方法。对于简单的聊天机器人来说,依靠简单的统计方法会更容易。
祝你好运