HintMiner:基于自监督学习的语言模型从问答网络帖子中自动挖掘问题提示
摘要
HintMiner是一个新颖的工具,它利用通过自监督学习训练的语言模型,从类似Stack Overflow的问答网络帖子中自动挖掘用户问题的提示,在评估中实现了有效性能。
arXiv:2609.16060v1 公告类型:新
摘要:用户经常需要在线提问并寻求答案。问答论坛如Stack Overflow无法总是及时且恰当地响应问题。在本文中,我们提出HintMiner,一个新颖的自动问题提示挖掘工具,帮助用户找到答案。HintMiner利用机器理解技术和序列生成技术来自动生成用户问题的提示。它首先检索许多网络问答帖子,然后使用通过语言模型构建的MiningNet从帖子中提取一些提示。利用大量的在线问答帖子,我们设计了一个自监督目标来训练MiningNet,这是一个基于Transformer和复制机制的神经编码器-解码器模型。我们在60,000个Stack Overflow问题上评估了HintMiner。实验结果表明,所提方法是有效的。例如,HintMiner实现了平均BLEU分数36.17\%和平均ROUGE-2分数36.29\%。我们的工具和实验数据是公开可用的。
查看缓存全文
缓存时间: 2026/09/16 08:36
# 1 引言
来源:https://arxiv.org/html/2609.16060
HintMiner:基于语言模型与自监督学习的问答网页帖子自动问题提示挖掘
张振宇,杨久东
独立研究者,独立研究者
###### 摘要
用户经常需要在线提问并寻求答案。诸如Stack Overflow之类的问答论坛无法始终及时、恰当地响应问题。本文中,我们提出了HintMiner,一个新颖的自动问题提示挖掘工具,旨在帮助用户找到答案。HintMiner利用机器阅读理解和序列生成技术,为用户的问题自动生成提示。它首先检索大量网络问答帖子,然后使用通过语言模型构建的MiningNet从这些帖子中提取一些提示。借助海量的在线问答帖子,我们设计了一个自监督目标来训练MiningNet,这是一个基于Transformer和复制机制的神经编码器-解码器模型。我们在60,000个Stack Overflow问题上评估了HintMiner。实验结果表明,所提出的方法是有效的。例如,HintMiner的平均BLEU分数为36.17%,平均ROUGE-2分数为36.29%。我们的工具和实验数据已公开发布。111https://github.com/zhangzhenyu13/HintMiner。
## 1 引言
在线问答论坛(如Stack Overflow、Data Science等)寻求答案是一种常见做法\[29 (https://arxiv.org/html/2609.16060#bib.bib23),5 (https://arxiv.org/html/2609.16060#bib.bib37),3 (https://arxiv.org/html/2609.16060#bib.bib36)\]。这些问答论坛积累了多年来大量与问题相关的帖子。然而,由于问答网站中提出的问题依赖社区成员的自愿回答,无法保证每个问题都能获得及时和满意的答案。事实上,我们发现Stack Exchange中大量问题缺乏被接受的答案。用户在这些网站上搜索也耗费大量时间,因此问答资源的聚合与重构方法显得尤为必要。近年来,已有一些方法被提出以帮助用户进行问答。一些基于检索的方法,如AnswerBot\[36 (https://arxiv.org/html/2609.16060#bib.bib22)\]或Stack-Overflow官方网站,通过从检索到的相关帖子中选择最重要的段落来指定答案的要点。另一种有效的问答方法是机器阅读理解(MRC),其旨在理解问题的语义,然后从给定段落中选择一个文本片段\[23 (https://arxiv.org/html/2609.16060#bib.bib14),31 (https://arxiv.org/html/2609.16060#bib.bib16),30 (https://arxiv.org/html/2609.16060#bib.bib33),6 (https://arxiv.org/html/2609.16060#bib.bib12)\]作为问题的答案。然而,MRC无法组合多个片段以形成更丰富、语义更完整的结果。受基于检索和MRC的问答系统(如DrQA\[6 (https://arxiv.org/html/2609.16060#bib.bib12)\]等)的启发,我们构建了一个专用的自动问题提示挖掘系统来帮助用户。我们的目标是从问答论坛中挖掘提示,而这些方法并未利用特定的问答网络资源。同时,我们也尝试合并多个选定的片段来生成语义丰富、完整的结果,而以前的工作只能检索段落或选择独立的文本片段。
本文中,我们的目标是重用在线问答论坛中的现有资源,为用户问题生成有用的提示。为此,我们提出了一个名为HintMiner的问题提示挖掘工具,它选择并合并多个有用的文本片段,为问题提供一些提示。我们将HintMiner表述为:从问答论坛的相关帖子中找出最有用的文本片段,并将它们组合起来为问题生成提示。基于提供的提示,用户将更容易获得最终答案,或帮助用户澄清和理解问题。
HintMiner首先利用Elastic Search(ES222https://www.elastic.co/elasticsearch/)查找与问题相关的信息。然后,它通过机器阅读理解\[6 (https://arxiv.org/html/2609.16060#bib.bib12)\]选择几个能为问题提供提示的文本来形成答案。最后,HintMiner通过序列生成\[24 (https://arxiv.org/html/2609.16060#bib.bib19)\]合并这些文本片段,生成语义丰富且完整的提示。
为了实现这一点,我们为MiningNet设计了一个自监督学习(SSL)目标,以捕捉问题和相关帖子的语义并生成合适的提示。我们从数百万个Stack Overflow在线帖子中构建“问题”+“相关帖子”+“适当提示/答案”的三元组。然后训练MiningNet学习以“问题”+“相关帖子”作为输入来生成这样的“提示/答案”。MiningNet利用BERT\[8 (https://arxiv.org/html/2609.16060#bib.bib17)\]对问题和其相关帖子进行编码,以捕捉它们的深层语义。深层语义表示进一步被输入到Transformer解码器\[27 (https://arxiv.org/html/2609.16060#bib.bib18)\],该解码器可以通过注意力机制捕捉每个输入词元的重要性。基于学习到的词元重要性,我们使用复制机制\[13 (https://arxiv.org/html/2609.16060#bib.bib39),41 (https://arxiv.org/html/2609.16060#bib.bib38)\]构建了一个CopyNet,从输入中选择一组相关词元来生成提示。
我们进行了大量实验来评估HintMiner。结果表明HintMiner优于几种基于信息检索的方法。例如,HintMiner的平均BLEU分数为36.17%,ROUGE-2分数为36.29%。此外,MiningNet也优于几种强大的检索基线和生成语言模型基线。我们的贡献可总结如下:
- • 我们构建了一个名为HintMiner的自动问题提示挖掘工具,可帮助开发者解决问题。我们从在线问答论坛提取段落以构建有用的帖子数据集。我们也公开了我们的代码和数据。
- • 我们开发了MiningNet,一个新颖的基于自监督学习的模型,能够捕捉问答论坛中问题和相关帖子的语义,并能为问题生成语义丰富且完整的提示。
- • 我们对所提出的方法进行了广泛的评估。我们的结果表明HintMiner是有效的,并且优于几种强大的基线方法。我们的工作是朝着问答论坛智能提示挖掘迈出的重要一步。
## 2 问答论坛与数据集
### 2.1 问答网页资源
网络用户总是会在线提出问题或搜索相关答案。为了解决他们的问题,各类用户都严重依赖在线问答网站。例如,Stack Overflow已成为开发者最受欢迎的问答网站之一,它积累了大量(超过1600万)的问答帖子。图1 (https://arxiv.org/html/2609.16060#S2.F1)展示了Stack Overflow网站帖子的一个示例。一个帖子主要包含六个部分:1)问题标题,显示问题的简明概要描述;2)问题的详细描述;3)由提问者分配的标签,表示问题的类别;4)问题的答案列表,包括被接受的答案(如果有);5)由Stack Overflow社区标记的与当前帖子相关的链接帖子;6)由Stack Overflow系统检索的相关帖子。研究发现,响应时间可能很长,许多问题可能永远不会被回答\[29 (https://arxiv.org/html/2609.16060#bib.bib23)\]。因此,通过自动化问答过程来提高问题解决效率是可取的。因此,为用户问题找到合适的提示非常必要。
参考标题 图 1: Stack Overflow 网站帖子的一个示例
### 2.2 问答数据集构建
我们通过archive\.org从四个Stack Exchange网站收集了约1700万个帖子,包括Stack Overflow333https://stackoverflow\.com/、Artificial Intelligence444https://ai\.stackexchange\.com/、Data Science555https://datascience\.stackexchange\.com/和Cross Validated666https://stats\.stackexchange\.com/。如图1 (https://arxiv.org/html/2609.16060#S2.F1)所示,链接帖子由社区标记,对当前问题有用。大约19%的帖子与超过500万(5M)条链接相关联。我们构建了一个帖子链接图(Post\-Link Graph),其中节点是帖子,边是加权链接。社区标记的链接有两种类型。我们将标记重复帖子的链接权重设置为0,其他链接权重设置为1。然后应用Dijkstra算法计算每对节点之间的最短链接距离。最后,我们获得了4种链接距离(“0”、“1”、“2”和“≥3”),因为先前的研究\[35 (https://arxiv.org/html/2609.16060#bib.bib8),38 (https://arxiv.org/html/2609.16060#bib.bib35)\]表明,链接距离d≥3的两个帖子彼此不相关。例如,在图2 (https://arxiv.org/html/2609.16060#S2.F2)中,A, B, C, D, E之间有6条标记链接,我们补全了其余链接(虚线),除了B, D(因为d_{B,D}≥3)。链接距离表示帖子内容对另一个帖子问题的有用程度。链接距离越短,该帖子对问题就越有用。
#### 2.2.1 选择用于训练的相关帖子
为了训练MiningNet(第3.2节 (https://arxiv.org/html/2609.16060#S3.SS2)),我们构建了一个“问题-段落-提示”三元组数据集。对于帖子链接图中一个节点(即帖子)的问题,我们选择距离为0、1、2和≥3的帖子中前2、1、1、1个段落来构建当前问题的相关段落。段落顺序被打乱,这样模型就不能简单地记住句子的顺序。我们选择帖子中超过10个词的第一个被接受答案的段落作为问题的“黄金提示”,认为这是有意义的。我们移除了那些没有距离为1邻居的问题。最后,我们构建了大约360万个“问题-段落-提示”三元组。注意,我们添加了一些相关性较低(距离大于1)的段落,以增加噪声和负面内容,从而提高数据集的鲁棒性和难度。
参考标题 图 2: 帖子链接图的一个示例
#### 2.2.2 选择用于推理的相关帖子
我们首先将帖子转储到Elastic Search引擎(ES),然后从各种问答论坛中检索相关帖子。然后我们对选定的帖子进行预处理。在本文中,我们的目标是生成提示,而不是生成通常存在于那些科学论坛中的代码或数学表达式。因此,我们将代码片段替换为[CODE],数学表达式替换为[NUM]。我们也不考虑超链接。为了减小词汇表大小,我们使用BPE算法\[34 (https://arxiv.org/html/2609.16060#bib.bib32)\]进行分词,它可以将复合词分解为几个词元。对于每个问题,我们总共检索5个帖子。检索到的帖子通常包含许多非必需的、无用的句子,这会使深度神经网络难以处理极长的输入\[16 (https://arxiv.org/html/2609.16060#bib.bib41)\]。此类句子的示例包括“也许我的答案能帮到你”、“谢谢你的建议”等。因此,我们利用一种集成方法来过滤这些句子,该方法结合了三种基础算法的结果,这三种算法可以识别重要的句子。
1) *Lexrank* \[10 (https://arxiv.org/html/2609.16060#bib.bib26)\],一种受Pagerank算法\[32 (https://arxiv.org/html/2609.16060#bib.bib31)\]启发的基于图的方法,它使用句子的特征向量中心性来选择重要的句子。
2) *KL greedy search* \[14 (https://arxiv.org/html/2609.16060#bib.bib28)\],一种基于信息熵最大化的方法,它使用KL散度计算相对信息增益,以贪婪方式选择句子,从而使所选句子的信息熵最大化。
3) *潜在语义分析(LSA)* \[26 (https://arxiv.org/html/2609.16060#bib.bib25)\],它使用SVD分解句子-词项矩阵,并通过右奇异向量选择主题最显著的句子。
这三种基础算法关注句子重要性的不同方面。因此,我们合并它们的结果并消除句子重复。得到的句子集构成了MiningNet的上下文段落。
## 3 HintMiner:为用户问题生成提示
### 3.1 系统概述
在我们的工作中,我们将问题表述如下:给定一个问题和一组相关帖子,核心问题是从现有帖子中选择一组有用的文本片段,并为问题生成提示。我们处理帖子以形成用于训练(第2.2.1节 (https://arxiv.org/html/2609.16060#S2.SS2.SSS1))和推理(第2.2.2节 (https://arxiv.org/html/2609.16060#S2.SS2.SSS2))的上下文段落。然后由MiningNet生成提示。
参考标题 图 3: HintMiner 概览
为此,我们构建了HintMiner,它利用了机器阅读理解\[6 (https://arxiv.org/html/2609.16060#bib.bib12)\]和序列生成\[24 (https://arxiv.org/html/2609.16060#bib.bib19)\]技术。图3 (https://arxiv.org/html/2609.16060#S3.F3)展示了HintMiner的概览。给定一个问题,我们首先从问答论坛中选择相关帖子以形成上下文段落(第2.2.2节 (https://arxiv.org/html/2609.16060#S2.SS2.SSS2))。然后我们将上下文和问题输入MiningNet,这是一个有效的深度神经网络,可以通过从上下文中复制和生成词元来为问题生成提示。
### 3.2 MiningNet 模型
参考标题 图 4: MiningNet 概览
#### 3.2.1 模型结构
图4 (https://arxiv.org/html/2609.16060#S3.F4)展示了MiningNet的结构,它由四个部分组成:一个BERT编码器、一个Transformer解码器和一个CopyNet。输入表示中有三个嵌入,它接收问答数据作为输入并输出输入的嵌入。这些嵌入是从BERT\[8 (https://arxiv.org/html/2609.16060#bib.bib17)\]中提取的。值得注意的是,问题中词元的段落ID为0,上下文词元的段落ID为1。当生成第t个答案词元(A_t)时,步骤t之前生成的答案词元(A_1,...,A_{t-1})仅使用位置嵌入和词元嵌入进行嵌入,然后被馈送到Transformer解码器。图4 (https://arxiv.org/html/2609.16060#S3.F4)中的⊕指的是使用BERT嵌入层来嵌入文本中的词元。公式1 (https://arxiv.org/html/2609.16060#S3.E1)展示了BERT如何在我们模型中用于编码序列。问题q和上下文c中的每个词元都被编码为一个dim维稠密向量T_{i}^{q}/T_{j}^{c},而T_{cls}表示池化向量。
T = [T_{CLS}, T_{1}^{q}, ..., T_{m}^{q}, T_{1}^{c}, ..., T_{n}^{c}] = BERT([q, c]),
其中 T_{i}^{q}, T_{j}^{c} ∈ R^{dim}, 1 ≤ i ≤ m, 1 ≤ j ≤ n (1)相似文章
自我演进的视觉提问器
本文介绍了一种面向视觉语言模型的自我演进框架,使其在没有外部监督的情况下提升提问能力,不仅提高了问题质量,还增强了回答者的表现。
J-Miner: 从语言模型分类器中恢复可执行决策知识
J-Miner 通过挖掘命名概念和学习决策规则,从微调的语言模型分类器中恢复可执行决策知识,实现检查并高保真地转移到轻量级模型。
Diff Mining:逻辑值差异揭示微调目标
本文介绍了Diff Mining,一个通过分析微调模型和基础模型之间的逻辑值差异来识别语言模型中微调目标的框架,从而实现对学习行为的可解释审计。
语言模型去偏的启发式视角
本文提出了HEIMAT,一种针对语言模型的启发式自动去偏框架,利用启发式提示揭示偏见,并通过微调模型来减少偏见,同时保持自然语言理解(NLU)性能。
超越直接回答:通过启发式强化学习将教育大语言模型对齐为苏格拉底式引导者
本文提出了HeuristicEdu,一个通过监督预热和带有启发式奖励的GRPO将Qwen2.5-7B对齐为苏格拉底式导师的流程,并在新数据集SocraticEdu上进行评估,展示了改进的脚手架有效性和减少的关键词泄露。