我想知道是否有NLP / ML技术。
假设给出了一组句子,
如果我必须为每个句子分配一个概率,他们“实际”观看了这部电影,我会按照1,4,3,2的降序分配它。
有没有办法使用一些分类器或规则自动执行此操作?任何纸张/链接都会有所帮助。
答案 0 :(得分:5)
这些是文字蕴涵中的常见问题。我会把你推荐给一些论文。虽然他们的动机是文字蕴涵,但我相信你的问题应该比这更容易。
Determining Modality and Factuality for Textual Entailment
Learning to recognize features of valid textual entailments
其中一些建议可以帮助您确定排名时要考虑的一些功能/关键字。
答案 1 :(得分:2)
除了1之外,其他任何陈述都不一定意味着该人观看了该电影。他们本可以为其他人购买门票(3),可能是在大厅外卖爆米花的人(4)。我不认为那里有任何聪明的系统会在每个句子的行之间进行读取,并返回一个与你的直觉完全一致的答案(可能与其他人的同一句话不同)。
如果这种奇怪的情况是您唯一关心的情况(如果您明确处理电影评论,这是可能的),那么您可能值得花时间将大量的启发式修补程序一起修复,从而产生一个函数几乎完全同意你对此的直觉。
否则,在这些句子的所有其他句子中查找可用的上下文,以找到相关的线索。实际上看过这部电影的人可能会评论他们喜欢它的方式,表达对电影中特定场景,角色和演员的看法等等。所以如果文本包含很多高情绪句子并且指的是电影中的单词和短语那个人可能已经看了这部电影。如果其中很多是将来时,那么也许不是。
答案 2 :(得分:1)
如果您正在使用某个特定的域名,例如“是否观看了该电影”,或者更常见的是“参与某个活动”,那么基本上是文本分类任务的一种情况。
NLP中的常见方法是使用标记为观看或不观看的大量句子来训练基于机器学习的分类器。最常用的功能是关键字的存在/不存在,bigrams(2个单词的序列)和可能是三元组(3个单词的序列)。
既然你谈到了概率,事情可能会变得更复杂一些。正如adi92所指出的,在你的3个句子里,答案并不清楚。在训练数据中表示这一点的方法可能是,观看的概率为0.3的句子出现3次被标记为观看而7被标记为未观看< / em>的。大多数分类器的输出很容易变成概率。
无论如何,我认为主要的困难是为任务创建一个训练数据集。