首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检测散文中对话部分的开始和结束

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

Stack Overflow用户
提问于 2017-01-02 04:42:56
回答 2查看 149关注 0票数 0

我已经看了很多开源的自然语言处理工具(主要是OpenNLP),我没有看到任何可以自动检测对话开始和结束的工具。

句子检测工具可以找到完整句子的边界。标记器准确地标记化标点符号,但仍然不能检测开始和结束。我读过很多假定对话检测的学术文章(such as)。但是我没有看到任何工具可以将其自动化为通用的对话框检测。

例如,文本如下:

代码语言:javascript
复制
"I am happy," she said.

应该将“我很高兴”定义为对话。文本如下:

代码语言:javascript
复制
"This is a really long piece of dialog spoken by a character.

"That spans across multiple paragraphs."

应该将整个内容标识为对话框(即使第一段的末尾缺少右引号)。还有一些更奇怪的指定对话框的方式。例如使用破折号:

代码语言:javascript
复制
They were walking when Joe spoke up.
--I really like walking.

另外,内部对话框通常用斜体表示,例如:

代码语言:javascript
复制
Joe walked down the street. *I really hope I don't get hit by a bus.*

有没有NLP工具可以检测到这样的对话框部分?或者用我刚刚错过的OpenNLP来做这件事?

EN

回答 2

Stack Overflow用户

发布于 2017-01-02 17:29:29

我不知道有什么工具可以做到这一点,开箱即用,与领域无关。可能对于特定的领域,你可以训练一些东西。例如,在通话记录中,很可能是A-B-A-B (等)结构,两个人轮流说话。但是当更多的人参与到对话中时,事情就会变得复杂得多。此外,您是否可以使用拼写功能(如单引号/双引号)做到这一点,还取决于构建您的文本/语料库的人是否愿意以一种整洁和一致的方式做到这一点。

我最近偶然发现了一个执行话语解析的工具:http://alt.qcri.org/tools/discourse-parser/

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

无论如何,可能信息太多,答案很简短;据我所知,没有容易实现和使用的工具。

票数 1
EN

Stack Overflow用户

发布于 2017-01-03 02:04:23

经过一些搜索,看起来斯坦福自然语言处理工具有一个"QuoteAnnotator“,这正是我要找的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41418850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档