NLP:基于意图的句子切分

NLP:基于意图的句子切分,nlp,Nlp,我正试图找到一个解决办法,通过故意的句子隔离。由于一个句子可能有多个意图,我想将一段文本按意图分成短句 例如:将“今天发送电子邮件给我的团队会议,并附上日程文件”分离到“今天发送电子邮件给我的团队会议”,并附上日程文件。或者“我想要苹果和橘子,我今晚会迟到”变成“我想要苹果和橘子”,“我今晚会迟到”。 我已经检查了组块和句子标记化,我认为组块可能是一个起点,但它没有给出一个接近的方法。有人能给我一些建议吗?非常感谢 根据您的评论,我会将您的问题解释为多标签分类问题,这可能比第一次尝试分句更容易(

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

例如:将“今天发送电子邮件给我的团队会议,并附上日程文件”分离到“今天发送电子邮件给我的团队会议”,并附上日程文件。或者“我想要苹果和橘子,我今晚会迟到”变成“我想要苹果和橘子”,“我今晚会迟到”。


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

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

您可以通过实现一个。这将为每个标签训练一个分类器,但标签不是互斥的。这基本上意味着每个标签将有自己的分类器训练,每个人,给出一个句子,将决定其标签是否合适。如果两个标签合适,则会指定两个标签


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

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

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

标签可以如下所示:

“这是一个意图1的句子,这是一个意图2的句子”
[“开始”、“O”、“O”、“O”、“O”、“结束”、“O”、“开始”、“O”、“O”、“O”、“结束”]

对你来说,句子切分是主要目标还是仅仅是为更高目标服务的工具?我认为还有其他可能更简单的解决方案,在一句话中捕捉多个意图——如果这是目标的话。to Bau:是的,最终捕捉多个意图是我们的最终目标。然而,我的团队决定首先打破它,这是我们的第一次尝试。如果您能建议一种替代方法,我们将不胜感激!谢谢谢谢你的建议!然而,事实是,我们缺乏训练/测试数据,我们确实有一个现有的黑盒API,可以为我们检测句子意图。因此,在这种情况下,我们试图将句子分解,并将其逐一输入API。