我想做的与这里描述的相反:Tools for text simplification (Java)
Finding meaningful sub-sentences from a sentence
也就是说,把两个简单的句子组合成一个复合句。
有什么算法可以做到这一点吗?

最佳答案

我特别确信你将不能像例子中所说的那样从链接的问题(John played golf. John was the CEO of a company. -> John, who was the CEO of a company, played golf)中复句,因为它需要这样的语言理解,而这离现在太远了。
因此,最好的选择是直截了当地用逗号替换点并连接简单的句子(如果你必须选择句子从文本中复合体,你可以尝试简单的试探法,比如通过一些常用词或类似于基于WordNet的工具来近似语义相似度)。我想,在大多数情况下,人类读者可以从上下文中推断漏掉的连词。
当然,你可以开发更复杂的解决方案,但它需要要么是狭窄的领域(例如,所有句子都有非常相似的结构),要么是可以确定句子之间关系的工具,例如因果关系。我不知道这些工具和存在的疑问,因为这个级别(句子和短语)比词和搭配的水平更多样化和稀疏。

10-02 12:03
查看更多