As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center获取指导。




7年前关闭。





我必须为我的计算语言学课程做最后的项目。我们一直在使用OCaml,但我也熟悉Java。我们研究了形态学,FSM,收集解析树,CYK解析,尝试,下推自动机,正则表达式,形式语言理论,某些语义等。

这是我提出的一些想法。您有什么觉得很酷的东西吗?


脚本会扫描Facebook线程中令人讨厌的评论,并使用JS静默隐藏它们(显然,这需要用户的同意才能运行)
使用语义,语法,标点符号用法和其他度量标准对文章进行分析,以尝试“指纹化”作者。它可以用于确定同一作者是否可能撰写了两本作品。或者,某人可以写一些他随着时间的推移所做的工作,并了解他的风格如何变化。
聊天机器人(不太有趣/原创)


我可能被允许使用预先存在的库来执行此操作。 OCaml是否存在?没有库/工具包,以上三个想法可能是不可行的,除非我将其限制在非常特定的领域。

下层思路:


在有限状态机上的操作-最小化,组成换能器,证明FSM处于最小可能状态。我对图论非常感兴趣,因此与FSM的任何重叠都可能是一个探索的好地方。 (我还能对FSM做什么?)
正则表达式很酷吗?
CYK很棒吗?


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

*令人讨厌的定义为具有以下初中生典型的某些模式。这个词的模糊性不是问题。为了功劳,我可以定义我想要的任何东西并以此为目标。

最佳答案

令人讨厌的语言过滤-我认为这将简化为类似于垃圾邮件过滤的过程。也就是说,计算一组或多或少“令人讨厌”的单词的频率。除非您还使用其他信息源(例如,发送方和接收方之间可能共享的社交链接的结构),否则听起来似乎您无权做任何特别聪明的事情。另一方面,在线欺凌是一件非常严肃的事情,您可以打赌Facebook / Myspace,其他社交网站也非常在意解决它。
文体分析-已经以各种形式进行了一些工作,通常以作者分析为名。 Shlomo Argamon在这方面做了很多工作,您可能可以从他的论文中的参考文献中发现更多内容。描述作者的最佳方法之一是了解他们使用一组停用词(也称为功能词)的分布情况,例如'and','but','if'等。我认为还有很多在此领域中进行新的有趣研究的范围-对互联网数据进行作者分析是一个难题-但还有很多失败的范围。
聊天机器人-没错,这是一个非常标准的项目。衡量成功/失败的难度也很大。我认为,如果该项目是一个具有某种目的的聊天机器人,例如在有限的领域中回答问题,那么它将更加引人注目,但这很难做好。


其余部分确实太含糊,无法对此发表任何评论,对不起。

我在OCaml中没有了解任何NLP库,它不是一种特别流行的编程语言。但是,我确实知道Ocaml中的一个名为MEGAM的机器学习库,该库是由NLP很好的研究者Hal Daume编写的,已经用于NLP任务。我觉得搞清楚MEGAM并用它来执行一些NLP任务可能是一个太大的项目。

其他一些想法:


Sentiment Analysis-一个非常新潮的研究领域。从为文档打分积极/消极到提取特定主题并为每个主题生成情感分数,您都可以使此任务变得容易或困难。
Coreference/Anaphora resolution-一项艰巨的任务,但非常重要。一些方法使用图形表示法(如果它们共同引用,则每个提述是一个在其间具有边的节点)来强制执行诸如传递性之类的操作。
Document Classification-您可以尝试在StackOverflow data set上学习系统以为给定问题建议标签。对于某些已建立的技术来说,这是一个众所周知的问题,但是它是一个有趣的数据集,并且在现实世界中具有明显而有用的应用程序。您还可以查看是否可以找到问题的特定功能(单词选择,长度,格式,标点符号等),使它们获得很高的评价。
Haiku Generation-一种愚蠢的想法,但我一直认为这是一个有趣的想法。音节计数可以用CMU pronouncing dictionary完成。如果不是特别有用,应该会很有趣。

10-08 09:12