NLP:按意图进行句子分割

问题描述 投票:0回答:2

我试图通过意图找到句子隔离的解决方案。由于一个句子可能有多个意图,我想通过意图将一段文本分成短句。

例如:要分开'今天发送电子邮件我的团队会议,并将计划文件附加到'今天发送电子邮件我的团队会议',并附上计划文件'。或者'我想要苹果和橘子,今晚我会迟到'进入'我想要苹果和橙子','我今晚会迟到'。

我已经检查了分块和句子标记,我认为分块可能是一个起点,但它没有给出一个接近的方法。有人可以给我一些建议吗?非常感谢!

nlp
2个回答
0
投票

根据您的评论,我会将您的问题解释为多标签分类问题,这可能(至少从我过去所做的)比首先尝试分割句子更容易。每个句子可以有多个标签,例如“用户想要水果”和“用户将迟到”。

您可以通过实施One-Vs-Rest classifier来解决这个问题。这将为每个标签训练分类器,但标签不是互斥的。这基本上意味着每个标签都有自己的分类器进行训练,每个标签给出一个句子,将决定其标签是否合适。如果两个标签合适,则分配两个标签。

根据我的经验,如果您使用简单的TFIDF和一些简单的预处理进行矢量化,然后使用一些经典的分类器,如果您有良好的训练数据,您已经可以获得相当好的结果。


0
投票

句子分割是我想要的解决方案,假设您为每个意图分离训练数据,您可以通过简单地增加每个意图的话语来训练合成生成数据的句子分段符(序列标记模型)。

例如,假设我们有4个具有多个训练话语的意图,您可以通过随机选择句子数“s_num”来生成句子分段器的训练文本,该句号表示将包含在此训练话语中的意图/句子数量,然后根据对这个数字随机挑选一个“s_num”个句子并将它们附加在一起,为分段器制作一个训练实例。

标签可以如下:

“这是一个intent1句子,这是一个intent2句子”[“开始”,“O”,“O”,“O”,“结束”,“O”,“开始”,“O”,“O”, “O”,“END”]

© www.soinside.com 2019 - 2024. All rights reserved.