与示例句子列表相比,如何提取具有相似含义/意图的句子
Posted
技术标签:
【中文标题】与示例句子列表相比,如何提取具有相似含义/意图的句子【英文标题】:How to extract sentences which has similar meaning/intent compared against a example list of sentences 【发布时间】:2020-08-10 10:03:59 【问题描述】:我在客户和顾问之间有聊天互动 [Utterances],想知道顾问互动是否包含以下列表中的特定句子或类似句子:
我在顾问交互中寻找的例句
["I would be more than happy to help you with this",
"I would be happy to look over the account to see how I can help get this sorted out for you",
"I’d be more than happy to look into this for you!",
"Oh, I see, let me assist you with this concern.",
"I am more than happy to do everything I can to resolve this matter for you.",
"I would be happy to look over the account to see how I can help get this sorted out for you.",
"I am happy to have a look."]
I have a dataset which contains the list of interaction_id and Utterances(Sample below)
```Example Chat interaction between Advisor and CLient :
Client : Hello I would like to place an order for replacement battery
Agent: Hi Welcome to Battery service department. I would be happy to help you with your battery replacement Order.
如何获取/提取具有相似意图或含义的句子。 我是 NLP 的新手,我相信我手头有一个句子分类/提取问题,我想知道有什么方法可以实现我所需要的
基本上我正在尝试实现以下目标:
ID Utt Help_Stmt_Present
IRJST Hi Welcome to Battery service department.
I would be happy to help you with your battery
replacement Order. Yes
【问题讨论】:
【参考方案1】:可能有多种方法可以在多个步骤中执行此操作:1.计算句子向量
一个。使用预训练的词嵌入(glove、word2vec、fasttext 等)并计算每个词的词嵌入,然后在句子中的词之间进行平均以计算句子嵌入。 湾。使用Universal Sentence Encoder 获取句子嵌入。
2。计算相似度匹配
一个。使用欧几里得或余弦或任何其他最适合您的问题的距离度量计算目标与所有其他 N 个句子之间的距离。 湾。用你拥有的 N 个句子向量训练一个 KNN 模型,并对目标句子应用 K-NN 预测以获得 K 个最相似的句子。
要获得更好的结果,您可以使用基于深度学习的技术和 SOTA 架构,例如转换器和基于它构建的架构。您可以结帐this repository,它使用变压器解决了您的任务。还可以使用不同的架构和其他 NLP 任务查看Hugging Face Repository
【讨论】:
谢谢阿卡什。感谢您的快速回复。因此,如果我理解正确,我必须对 sentence_list 中的所有句子使用通用句子编码器 =[“我很乐意为您提供帮助”、“我很乐意查看帐户,看看我如何帮助解决这个问题]并与我的训练数据集中的话语进行相似性匹配。正确吗? 是的,这是您可以使用的一种快速方法。此处链接的笔记本为您的用例提供了代码!也许你可以从那个开始,然后即兴发挥。以上是关于与示例句子列表相比,如何提取具有相似含义/意图的句子的主要内容,如果未能解决你的问题,请参考以下文章