Parsing 自然语言处理项目的想法?

Parsing 自然语言处理项目的想法?,parsing,nlp,ocaml,Parsing,Nlp,Ocaml,我得为我的计算语言学课做一个期末专题。我们一直在使用OCaml,但我对Java也很熟悉。我们学习了形态学、FSMs、收集解析树、CYK解析、尝试、下推自动机、正则表达式、形式语言理论、一些语义等 以下是我想到的一些想法。你有什么你认为很酷的吗 一个脚本,它扫描Facebook线程中的讨厌的*评论,并用JS悄悄隐藏它们(显然,这将在用户同意的情况下运行) 使用语义、语法、标点符号使用和其他指标对一篇文章进行分析,试图“指认”作者。它可以用来确定两部作品是否可能由同一位作者所写。或者,有人可以把他随

我得为我的计算语言学课做一个期末专题。我们一直在使用OCaml,但我对Java也很熟悉。我们学习了形态学、FSMs、收集解析树、CYK解析、尝试、下推自动机、正则表达式、形式语言理论、一些语义等

以下是我想到的一些想法。你有什么你认为很酷的吗

  • 一个脚本,它扫描Facebook线程中的讨厌的*评论,并用JS悄悄隐藏它们(显然,这将在用户同意的情况下运行)

  • 使用语义、语法、标点符号使用和其他指标对一篇文章进行分析,试图“指认”作者。它可以用来确定两部作品是否可能由同一位作者所写。或者,有人可以把他随着时间的推移所写的一大堆东西放进去,了解他的风格是如何变化的

  • 聊天机器人(不太有趣/原创)

  • 我可能被允许使用已有的库来完成这项工作。OCaml是否存在任何问题?如果没有库/工具包,上述三个想法可能是不可行的,除非我将其限制在一个非常特定的领域

    较低层次的想法:

  • 有限状态机上的操作-最小化、组合传感器,证明FSM处于最小可能状态。我对图论非常感兴趣,因此与FSM的任何重叠都可能是一个很好的探索场所。(我还可以用FSMs做什么?)

  • 用regex来点酷的吗

  • 赛克有什么好东西吗

  • 还有其他人有什么好主意吗


    *讨厌的被定义为遵循初中生典型的某些模式。这个术语的模糊性不是一个问题;为了获得荣誉,我可以定义我想要的任何东西,并以此为目标。

    我只想说我喜欢你的第二个想法。看起来这一切都与NLP有关。我觉得很有趣。依我看,我肯定会选择这个。但你也应该考虑一个更吸引你的人,而不仅仅是别人的意见。


    至于要选择的语言,我认为你应该选择一种你更熟悉的语言。我不熟悉库,但我见过许多用Python和Java实现NLP的东西。

    1a。扫描facebook的脚本。。。 你打算如何定义“讨厌的”。听起来很难

    2a。相似性语法和语义,以及其他“语言学”的东西听起来很难。然而,人们已经用其他数值方法做了类似的事情,并取得了巨大的成功,例如使用奇异值分解。我认为,这种方法也已被纳入用于检查剽窃的软件中。这种方法也经常被称为潜在语义分析或潜在语义映射

    svdlibc:

    1b。fsm的东西。我不知道你所说的“证明传感器最小”是什么意思。这是一个相当标准的操作,几乎包含在您可能遇到的任何工具包中。如果您对FSM感兴趣,请查看

    AT&T工具包:

    或 OpenFST工具包:

    FSM作为一种有原则的、统一的语音识别方法,正日益受到人们的欢迎。我的研究生工作集中在这个主题上,它确实非常有趣


    构建一个基于hmm的解析器或分块器,或者一个简单的维特比解码器怎么样?如果你把一个像样的训练集放在一起(首先你必须自己给它贴标签),你可以近似地使用一个简单版本的“讨厌的评论”标签,并使用它,也许可以使用某种分类器来“审查”或删除讨厌的评论

    使用推特API从社交对话中提取所有推特,并将内容合并\汇总\发布为一篇文章\文章\博客\等,以便有人可以在一篇文章中阅读。关联概念和想法,扩展参考文献,改进语法。有点像,但是用NLP增强了

  • 讨厌的语言过滤-我认为这将简化为一个与垃圾邮件过滤非常相似的过程。也就是说,计算一组或多或少“讨厌”的单词的频率。听起来你没有机会做任何特别聪明的事情,除非你还使用其他信息来源(例如,发送者和接收者之间共享的社交链接的结构)。另一方面,在线欺凌是一件非常严重的事情,你可以打赌Facebook/Myspace和其他社交网站非常关心如何应对它

  • 文体分析-在这方面已经有一些工作以各种形式进行,通常以作者分析的名义进行。他在这方面做了很多工作,你可能会从他论文中的参考文献中发现更多。描述作者的最佳方法之一是了解他们使用一组停止词(也称为虚词)的分布情况,如“and”、“but”、“if”等。我认为在这一领域有更多的空间做一些新的和有趣的事情——对互联网数据的作者身份分析是一个困难的问题——但也有更多的空间失败

  • 聊天机器人-没错,这是一个相当标准的项目。也很难衡量成功/失败。我认为如果这个项目是一个有某种目的的聊天机器人,比如在有限的领域里回答问题,那么这个项目会更有吸引力,但这是很难做好的事情

  • 其余的内容实在太模糊了,无法发表任何评论,对不起

    据我所知,OCaml中没有任何NLP库,只是它不是一种特别流行的编程语言。然而,我确实知道Ocaml中有一个机器学习库,名为,由Hal Daume编写,他是一位非常优秀的NLP研究人员,用于NLP任务。我觉得搞清楚MEGAM并用它做一些NLP任务可能太难了