一种基于邮件列表的开源软件问答信息抽取方法与流程

文档序号:12665988阅读:来源:国知局

技术特征:

1.一种基于邮件列表的开源软件问答信息抽取方法,其步骤为:

1)从邮件归档服务器上爬取目标开源软件的邮件归档文件;依据邮件头部域将所述邮件归档文件分割成多封单独的邮件;

2)将回复信息域为空的邮件设为一个会话的提问邮件,然后从步骤1)得到的邮件中查找回复信息域的域值为该提问邮件的邮件标识ID的邮件,将其加入该会话;从而将同一主题下的邮件组织成邮件对话的形式;

3)提取各邮件的正文信息并对邮件内容中代码元素进行标注;

4)从提问邮件的所述正文信息中提取问题句及其上下文信息;然后基于问题句及其上下文信息和标注的代码元素构建查询条件,在该提问邮件的会话邮件中进行检索;然后从检索结果中选取一邮件作为回答信息。

2.如权利要求1所述的方法,其特征在于,从检索结果中选取一邮件作为回答信息的方法为:

21)选取检索结果中的前若干封邮件作为候选答案邮件;

22)根据作者权威度、邮件位置以及回复邮件的态度计算每一候选答案邮件的权重;

23)选取权重最高的候选答案邮件作为回答信息。

3.如权利要求2所述的方法,其特征在于,所述邮件的作者分为项目开发人员、资深用户和普通用户;其中,项目开发人员的权威度>资深用户的权威度>普通用户的权威度,候选答案邮件的作者权威度越大,该候选答案邮件权重越大;根据候选答案邮件的回复时间确定邮件位置对应的权重,候选答案邮件的回复时间越早,该候选答案邮件的权重越大;在邮件会话中,若提问邮件的作者对候选答案邮件做出了肯定的回复,则增大该候选答案邮件的权重。

4.如权利要求1所述的方法,其特征在于,所述问题句的上下文信息包括该问题句所在段落、与该问题句临近的代码和与该问题句临近的异常信息。

5.如权利要求4所述的方法,其特征在于,根据邮件标题中的内容词、问题句中的内容词以及问题句段落的代码元素、异常文本段落的异常信息词汇构建所述查询条件。

6.如权利要求1所述的方法,其特征在于,对步骤1)得到的邮件进行预处理,其方法为:首先对每一邮件进行分段;然后识别出邮件中的冗余文本段落、邮件引用段落、异常信息段落、代码文本段落、正文信息段落。

7.如权利要求6所述的方法,其特征在于,所述冗余文本段落的识别方法为:检测邮件第一段落的前两句,若是问候句则将该句从当前段落移除,划分到冗余文本段落;检测邮件结尾之前的两个段落,如果只包含两个以内短句或包含人名、感谢语,则划分到冗余文本段落;所述邮件引用段落的识别方法为:如果段落的第一句匹配某人在某天写道的句式且该段以设定符合“>”开始的行数超过段落总行数的设定比例H,则该段为邮件引用段落;所述异常信息段落的识别方法为:统计段落的总行数和位于行的行数,若位于行的行数占总行数比例超过设定比例L且存在导致行和省略行,则认为该段落是异常信息段落;所述异常描述行为包含设定异常特征词语的行,所述位于行为包含堆栈信息中某个方法的行号的行,所述导致行为包含说明异常出现的原因及位置的行,所述省略行为以省略号开头、以数字后接“more”结尾的行;所述代码文本段落的识别方法为:利用语法解析器从邮件文本段落中抽取符合语法的文本块作为代码文本段落,如果文本段落中包含Java关键词的句子超过该文本段落中句子总数的一半,则判定该文本段落为代码文本段落;将该邮件剩余未识别部分作为该邮件的所述正文信息段落。

8.如权利要求1~7任一所述的方法,其特征在于,所述邮件归档文件为Unix mbox格式的邮件归档文件。

9.如权利要求1所述的方法,其特征在于,对邮件内容中代码元素进行标注的方法为:将邮件内容中的代码元素与目标开源软件的代码元素列表进行比对,将邮件内容中的代码元素分为目标开源软件的代码元素和其他项目的代码元素;然后对目标开源软件的代码元素进行标注:从目标开源软件的代码元素中抽取出类、方法、接口代码元素;对邮件内容去除停用词后,将剩余单词与抽取的代码元素进行匹配标注。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1