Nlp 检测散文中对话部分的开始和结束

Nlp 检测散文中对话部分的开始和结束,nlp,opennlp,Nlp,Opennlp,我已经浏览了很多开源NLP工具(主要是OpenNLP),但我没有看到任何能够自动检测对话框开始和结束的任务 句子检测工具可以找到完整句子的边界。标记器准确地标记标点符号,但仍然无法检测开始和结束。我读过很多学术文章(),其中假设了对话检测。但是,我没有看到任何工具能够像通用对话框检测那样自动执行此操作 例如,像这样的文本: "I am happy," she said. "This is a really long piece of dialog spoken by a character.

我已经浏览了很多开源NLP工具(主要是OpenNLP),但我没有看到任何能够自动检测对话框开始和结束的任务

句子检测工具可以找到完整句子的边界。标记器准确地标记标点符号,但仍然无法检测开始和结束。我读过很多学术文章(),其中假设了对话检测。但是,我没有看到任何工具能够像通用对话框检测那样自动执行此操作

例如,像这样的文本:

"I am happy," she said.
"This is a really long piece of dialog spoken by a character.

"That spans across multiple paragraphs."
应该有“我很高兴”,定义为对话。文本如下:

"I am happy," she said.
"This is a really long piece of dialog spoken by a character.

"That spans across multiple paragraphs."
应该将整个内容标识为dialog(即使第一段末尾缺少结束引号)。还有一些更奇怪的方法来指定对话框。例如用破折号:

They were walking when Joe spoke up.
--I really like walking.
此外,内部对话框通常用斜体表示,例如:

Joe walked down the street. *I really hope I don't get hit by a bus.*

是否有NLP工具可以检测这样的对话框部分?或者是我刚刚错过的一种用OpenNLP实现这一点的方法?

我不知道有哪种工具能够做到这一点,即开箱即用,与域无关。可能对于特定领域,您可以进行培训。例如,在通话记录中,你很可能有一个a-B-a-B(等)结构,两个人轮流交谈。但当更多的人参与对话时,事情就会变得复杂得多。此外,你是否可以使用正交特征(如单引号/双引号)来实现这一点,还取决于构建文本/语料库的人是否愿意以整洁一致的方式实现这一点

我最近偶然发现了一个可以进行语篇分析的工具:

这为您提供了一种称为修辞结构树的东西,它是输入文档的一种表示形式,用于澄清哪个句子与另一个句子之间的关系。我没有试过对话,也不知道那里的性能。但它是/依赖于一种更具语义意识的将文本切碎的方法。也许这对你有帮助。不过,这个工具并不像corenlp/opennlp那样对用户友好,而且它需要(至少对我来说是这样)相当多的时间来启动和运行


无论如何;可能(方式)信息太多,回答简短;据我所知,这方面没有易于实现和使用的工具。

我不知道有任何工具能够做到这一点,即开箱即用,独立于域。可能对于特定领域,您可以进行培训。例如,在通话记录中,你很可能有一个a-B-a-B(等)结构,两个人轮流交谈。但当更多的人参与对话时,事情就会变得复杂得多。此外,你是否可以使用正交特征(如单引号/双引号)来实现这一点,还取决于构建文本/语料库的人是否愿意以整洁一致的方式实现这一点

我最近偶然发现了一个可以进行语篇分析的工具:

这为您提供了一种称为修辞结构树的东西,它是输入文档的一种表示形式,用于澄清哪个句子与另一个句子之间的关系。我没有试过对话,也不知道那里的性能。但它是/依赖于一种更具语义意识的将文本切碎的方法。也许这对你有帮助。不过,这个工具并不像corenlp/opennlp那样对用户友好,而且它需要(至少对我来说是这样)相当多的时间来启动和运行


无论如何;可能(方式)信息太多,回答简短;据我所知,这方面没有易于实现和使用的工具。

经过一些搜索,斯坦福NLP工具似乎有一个“”正是我要寻找的。经过一些搜索,斯坦福NLP工具似乎有一个“”这正是我想要的。

我认为你是对的,这不是一个有现成工具的标准任务。我认为你是对的,这不是一个有现成工具的标准任务。感谢你花时间回答!感谢您抽出时间回答!