CN105760514B - 一种从社区问答网站自动获取知识领域短文本的方法 - Google Patents

一种从社区问答网站自动获取知识领域短文本的方法 Download PDF

Info

Publication number
CN105760514B
CN105760514B CN201610101431.6A CN201610101431A CN105760514B CN 105760514 B CN105760514 B CN 105760514B CN 201610101431 A CN201610101431 A CN 201610101431A CN 105760514 B CN105760514 B CN 105760514B
Authority
CN
China
Prior art keywords
page
short text
field
ken
answer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610101431.6A
Other languages
English (en)
Other versions
CN105760514A (zh
Inventor
魏笔凡
郑元浩
刘均
郑庆华
吴蓓
闫彩霞
郭朝彤
张玲玲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CN201610101431.6A priority Critical patent/CN105760514B/zh
Publication of CN105760514A publication Critical patent/CN105760514A/zh
Application granted granted Critical
Publication of CN105760514B publication Critical patent/CN105760514B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种从社区问答网站自动获取知识领域短文本的方法,能够爬取社区问答网站知识领域相应领域下每个主题的问题网页和作者网页,获取数据全面系统,方便用户学习和使用。其包括如下步骤:步骤1,爬取社区问答网站中知识领域的Web页面;步骤2,抽取网页数据集中的知识领域短文本;步骤3,构建领域主题树;步骤4,领域主题树的存储。其能够从社区问答网站半结构化数据中自动抽取知识领域短文本,通过爬取社区问答网站知识领域相应领域下每个主题的问题网页和作者网页,构建了知识领域的网页数据集,然后自动抽取其中的知识领域短文本并发现其中的父子关系,从而构建了领域主题树并实现了领域主题树的存储,最终方便用户学习和使用。

Description

一种从社区问答网站自动获取知识领域短文本的方法
技术领域
本发明涉及对网站信息的获取方法,具体为一种从社区问答网站自动获取知识领域短文本的方法。
背景技术
以社区问答网站为代表的开放知识源已成为人们获取知识的重要来源。这些知识源由于具有开放、协作式的知识共享机制,可以有效地促进知识的传播和应用,但同时也加剧了知识碎片化,日积月累的碎片化知识以短文本的形式分散在不同的角落且存在重复。以社区问答网站Quora为例,Quora是一个有着快速增长的知识领域短文本的社区问答网站(英文网站),Quora网站中的问题主要是以话题(也称主题)的形式组织的,它的问题数据规模从2009年的102的数量级增长到2012年的106的数量级。
现有技术中公开的,专利号为CN201210484746.5的中国专利“一种聚焦爬虫的设计方法”包括三个步骤:(1)配置领域本体的描述信息并作为聚焦爬虫的模板,这些描述信息包括:搜索关键词、筛选关键词、爬取关键词;(2)选择爬虫模板的搜索关键词提交给搜索引擎进行资源检索,获取本领域网页URL信息,形成初始种子URL序列N;(3)从初始种子URL序列N中依次取出种子URL交给爬虫处理线程。
上述专利通过搜索引擎检索到与领域相关的本领域网页URL资源,针对URL资源与领域的相关性强弱,采用一定的概率选取种子URL进行资源爬取。因此,上述专利根据URL爬取的资源可能不是完整的,不能完全覆盖某个领域的所有资源,不利于学习者使用和学习。
发明内容
针对现有技术中存在的问题,本发明提供一种从社区问答网站自动获取知识领域短文本的方法,能够爬取社区问答网站知识领域相应领域下每个主题的问题网页和作者网页,获取数据全面系统,方便用户学习和使用。
本发明是通过以下技术方案来实现:
一种从社区问答网站自动获取知识领域短文本的方法,包括如下步骤:
步骤1,爬取社区问答网站中知识领域的Web页面;按照领域的不同,基于深度优先遍历算法爬取社区问答网站的动态网页,解析得到含有知识领域知识的网页中的主题页面、问题页面和作者页面的基本信息,构建包含这三类页面的集合,形成知识领域的网页数据集;
步骤2,抽取网页数据集中的知识领域短文本;通过使用HTML解析工具分别对网页数据集中的主题页面、问题页面和作者页面进行解析,得到每类页面包含的知识领域短文本,构建短文本数据集;
步骤3,构建领域主题树;通过分析短文本数据集,得到每个领域对应主题下的短文本及其父子关系,构建多棵以领域名为树根和以知识领域短文本为树节点的树,将其命名为领域主题树;
步骤4,领域主题树的存储;首先将领域主题树中的节点信息存入相应的树节点集合中,然后根据领域分别设计得到对应的领域表格;其次将树节点集合的信息存入领域表格的对应列中,补全每张领域表格的信息,构建用于存储每个领域所有短文本的知识领域数据库。
优选的,步骤1中基于深度优先遍历算法爬取社区问答网站的动态网页时;首先,根据主题页面地址爬取主题页面,通过HTML解析获得主题页面中指向问题页面的超链接,并将这些超链接存入URL池;其次,根据URL池中问题页面的地址爬取问题页面,问题页面包含一个问题及0条或多条回答,解析问题页面的每条回答得到指向作者页面的超链接,存入URL池;最后,根据URL池中作者页面的地址爬取作者页面,解析作者页面的基本信息。
优选的,步骤1中爬取社区问答网站中知识领域的Web页面,具体包括如下步骤;
1.1对于每个领域根据已有的主题词集合,爬取该领域的网页数据集;
1.2从已有的主题开始,根据主题词得到主题页面的链接,将每个领域下的所有主题链接存入URL池中,并去除重复链接;爬取网页得到主题页面集,并将其加入网页数据集;
1.3解析主题页面集中每个主题页面的问题列表,分析问题列表的HTML标签,得到所包含问题页面的链接;选择问题与主题相关性高的若干问题网页的链接存入URL池中,并去除重复链接;爬取网页得到问题网页集,将其加入网页数据集;
1.4解析问题页面集中每个问题页面的回答列表,根据问题页面是否含有回答列表的HTML标签,得到每条回答的作者页面链接;将每条回答的作者链接存入URL池中,并去除重复链接;爬取网页得到作者网页集,并将其加入网页数据集,得到包含三类页面的网页数据集。
优选的,步骤2中抽取网页数据集中的知识领域短文本时;首先,设计主题页面的抽取规则,使用该规则解析主题页面对应的问题列表,得到每个主题页面包含的所有问题;其次,设计问题页面的抽取规则,使用该规则解析问题页面的回答列表,获取相应知识领域短文本,包括描述问题的短文本、回答问题的短文本、问题及回答的支持票数和评论数;再次,设计作者页面的抽取规则,使用该规则解析作者页面的个人信息列表,获取相应作者信息,包括作者姓名、作者粉丝数和作者擅长领域;最后,利用解析得到的所有短文本信息,构建短文本数据集。
优选的,步骤2中抽取网页数据集中的知识领域短文本,具体包括如下步骤;
2.1解析每个领域对应的的网页数据集,包括主题页面、问题页面和作者页面这三类页面的HTML结构,根据页面HTML标签定位相应的逻辑块,逻辑块中的每段短文本表示一个实体;
定义短文本数据集TFS={domainc}s,其中s表示网页数据集中的领域数量,domainc表示网页数据集中的第c个领域;如果一段文本隶属于另外一段文本,则称它们之间存在父子关系;
2.2解析主题页面,依据HTML标签定位并解析主题块,得到主题短文本及所属领域,所属领域与主题短文本集合形成父子关系集,并将其加入短文本数据集TFS;
2.3二次解析主题页面,依据HTML标签定位并解析问题块,得到描述问题的短文本,得到所有问题短文本的集合,即问题集合;主题短文本与问题块中的问题短文本集合形成父子关系集,并将其加入短文本数据集TFS;
2.4解析问题页面,解析问题页面的HTML标签,得到问题的评论数和投票数,得到所有问题的评论数和投票数的集合;问题集合与问题的评论数集和投票数集分别形成父子关系集,并将其加入短文本数据集TFS;
2.5二次解析问题页面,解析问题页面的HTML标签,得到问题的回答,得到所有回答的集合;问题与回答集合形成父子关系集,将其加入短文本数据集TFS;
2.6三次解析问题页面,解析问题页面的HTML标签,得到答案的评论数和投票数,得到所有评论数和投票数的集合;回答集合与回答的评论数集和投票数的集合分别形成父子关系集,将其加入短文本数据集TFS;
2.7解析作者页面,解析作者页面的HTML标签,得到作者的姓名;解析HTML标签得到作者的粉丝数;解析HTML标签得到作者擅长领域;得到所有作者信息,包括分别构成的作者姓名集合、作者粉丝数集合和作者擅长领域集合;回答集合与回答的作者信息集形成父子关系集并将其加入短文本数据集TFS。
进一步,步骤3中构建领域主题树时;首先,依据短文本数据集中的所有短文本和父子关系构建一个有向无权图G=(V,E),其中V表示实体集合,它是由短文本数据集中的所有短文本构成的节点集合,E表示实体间的父子关系,它是根据实体间的父子关系生成的有向边集合;其次,根据领域名domain∈V及有向图G,基于有向图的深度优先遍历算法,生成以domain为根的领域主题树T(domain)=(V',E',domain),其中
进一步,步骤3中构建领域主题树时,具体包括如下步骤;
3.1针对短文本数据集TFS,构建一个有向无权图G=(V,E),其中V表示由短文本数据集TFS中的所有短文本构成的实体集合,E表示实体间的父子关系,开始G为空;
3.2从TFS中取出一个父子关系ei=<parent,child>∈TFS,其中parent表示父亲节点,child表示父子关系中的儿子对象,同时执行TFS=TFS-{ei};
3.3判断在V中某个实体与parent是否等价;如果不存在等价实体,则将parent加入V;判断在V中某个实体与child是否等价;如果不存在等价实体,则将child加入V;
3.4如果parent或child任何一个在V中不存在等价实体,则将ei作为G的一条新的边;
3.5执行步骤3.2,直到TFS为空;
3.6根据领域名domain∈V及有向图G,基于有向图的深度优先遍历算法,生成多棵以domain为根的领域主题树T(domain)=(V',E',domain),其中
优选的,步骤4中领域主题树存储时,具体包括如下步骤;
4.1建立知识领域数据库,针对不同的领域分别设计得到对应的领域表格,领域表格包含若干列信息;
4.2领域表格的每列包含一个树节点在领域主题树中的层数属性;
4.3对领域的领域主题树,定义根节点的层数为1,且每个树节点的层数都是其父节点层数加1;深度优先遍历从根节点到叶子节点每条路径上的节点,记录每个树节点的层数及其短文本内容;用Hashmap将树节点的这两个属性值封装到对应的树节点对象中;每个领域可以得到一个树节点集合;
4.4针对步骤4.3中的领域的树节点集合和步骤4.1中的领域表格,对比树节点的层数信息和领域表格每列的层数属性,若相同,则将树节点的短文本内容存入领域表格的对应列中,补全每张领域表格的信息;最终,得到存储所有领域下的所有短文本的知识领域数据库。
与现有技术相比,本发明具有以下有益的技术效果:
本发明能够从社区问答网站半结构化数据中自动抽取知识领域短文本,通过爬取社区问答网站知识领域相应领域下每个主题的问题网页和作者网页,构建了知识领域的网页数据集,然后自动抽取其中的知识领域短文本并发现其中的父子关系,从而构建了领域主题树并实现了领域主题树的存储,最终方便用户学习和使用。其主要有如下几个优点。
(1)对于步骤一,一方面使用基于队列管理和集合去重的URL池存储URL链接,减少了对于重复链接的爬取,降低了爬虫的工作量,并且方便了多线程爬取;另一方面构建了知识领域的网页数据集,作为原始知识源进行存储,方便定位处理。
(2)对于步骤二,使用基于包装器的信息抽取模型,使得信息抽取更加的简单且易于实现,方便用户使用。
(3)对于步骤三,使用领域主题树的形式将知识生动形象地展现给学习者,方便学习者了解知识之间的父子关系,使得学习者可以更加全面地掌握知识点。
(4)对于步骤四,提供一种知识存储方案,保证了数据的持久化,提供了学习者的知识库。
附图说明
图1是本发明实例中所述方法的流程框图。
图2是本发明实例中所述网页数据集爬取流程图。
图3是本发明实例中所述知识领域短文本抽取流程图。
图4是本发明实例中所述基于包装器的信息抽取模型图。
图5是本发明实例中所述的Quora网站的主题页面图。
图6是本发明实例中所述的Quora网站的问题页面图。
图7是本发明实例中所述的Quora网站的作者页面图。
图8是本发明实例中所述的以“Data structure”为根的领域主题树。
图9是本发明实例中所述的存储知识领域短文本的知识领域数据库。
具体实施方式
下面结合具体的实施例对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。
本发明一种从社区问答网站自动获取知识领域短文本的方法,实现了对社区问答网站的知识领域短文本进行自动采集与整理。其包括如下步骤。
(1)爬取社区问答网站中知识领域的Web网页:爬取社区问答网站的动态网页并保证其中数据的完整性。以Quora网站为例,含有知识领域知识的网页包括主题页面、问题页面和作者页面,依照深度优先遍历算法爬取这些网页。首先,根据Quora主题页面地址爬取主题页面,通过HTML解析获得主题页面中指向问题页面的超链接,并将这些超链接存入URL池;其次,根据URL池中问题页面的地址爬取问题页面,问题页面包含一个问题及多条回答(可能为0条),解析问题页面的每条回答得到指向作者页面的超链接,存入URL池;最后,根据URL池中作者页面的地址爬取作者页面,解析作者页面的基本信息,构建这三类页面的集合,形成网页数据集。
(2)抽取网页数据集中的知识领域短文本:通过使用HTML解析工具对(1)中的网页数据集进行解析,得到每类页面包含的知识领域短文本,从而构建短文本数据集。首先,设计主题页面的抽取规则,使用该规则解析主题页面对应的问题列表,得到每个主题页面包含的所有问题;其次,设计问题页面的抽取规则,使用该规则解析问题页面的回答列表,获取相应知识领域短文本,包括描述问题的短文本、回答问题的短文本、问题及回答的支持票数、评论数等;再次,设计作者页面的抽取规则,使用该规则解析作者页面的个人信息列表,获取相应作者信息,包括作者姓名、作者粉丝数、作者擅长领域等。最后,利用解析得到的所有短文本信息,包括领域、主题、问题、回答、支持票数等信息,构建短文本数据集TFS。
(3)构建领域主题树:通过分析(2)中的短文本数据集TFS,得到每个领域对应主题下的短文本及其父子关系,最终构建多棵以领域名为树根、以知识领域短文本为树节点的树,将其命名为领域主题树。首先,依据短文本数据集中的所有短文本和父子关系构建一个有向无权图G=(V,E),其中V表示实体集合,它是由短文本数据集中的所有短文本构成的节点集合,E表示实体间的父子关系,它是根据实体间的父子关系生成的有向边集合;其次,根据领域名domain∈V及有向图G,基于有向图的深度优先遍历算法,生成以domain为根的领域主题树T(domain)=(V',E',domain),其中
(4)领域主题树的存储:负责将(3)中的领域主题树按领域分别保存到知识领域数据库相应的领域表格中,提供了一种知识领域短文本的存储方案。首先,针对每个领域domain设计一个领域表格TABLE(domain),包含10列信息,即主题名、问题或回答id、问题或回答内容、投票数、评论数、作者姓名、作者粉丝数和作者擅长领域等,且每列包含一个树节点在领域主题树中的层数属性;其次,对每个领域的领域主题树T(domain)进行深度优先遍历,并在遍历过程中将树节点在树中的层数及其短文本内容封装到树节点对象中,就可以构建每个领域的树节点集合NODE(domain);最后,对于每个领域的领域表格及其树节点集合,对比领域表格每列的层数属性与树节点的层数信息,若相同,则将树节点的短文本内容存入领域表格的列中,就可以补全每张领域表格TABLE(domain)的信息。最终构建了用于存储每个领域所有短文本的知识领域数据库DATABASE(knowledgeDomain)。
具体的,如图1所示,可以分为如下四个过程:
(1)爬取社区问答网站中知识领域的Web页面,包括4个步骤。
第1步:对于每个领域domain,根据已有的主题词集合{topici}n,爬取该领域的网页数据集PAGE(domain),并设PAGE(domain)=Φ;
第2步:从已有的主题开始,根据主题词得到主题页面的链接为:http://www.quora.com/search?q=topici,即主页链接(http://www.quora.com/)拼接(search?q=)再拼接主题名称topici。将每门学科下的所有主题链接存入URL池中,并去除重复链接。最后,在主程序中设置多个线程并爬取网页,从而得到主题页面集PAGE(topic),并将其加入PAGE(domain),
即PAGE(domain)=PAGE(domain)∪PAGE(topic);
第3步:解析主题页面集中每个主题页面的问题列表,分析HTML标签(<a class="question_link">),得到所包含问题页面的链接。实证分析发现主题页面搜索结果中的平均前50条问题与主题相关性较高,之后的问题与主题相关性较低。因此,选择前50条问题网页的链接存入URL池中,并去除重复链接。最后,在主程序中设置多个线程并爬取网页,从而得到问题网页集PAGE(question),将其加入PAGE(domain),
即PAGE(domain)=PAGE(domain)∪PAGE(question);
第4步:解析问题页面集中每个问题页面的回答列表,根据问题页面是否含有HTML标签(<div class="author_info">),得到每条回答的作者页面链接。将每条回答的作者链接存入URL池中,并去除重复链接。最后,在主程序中设置多个线程并爬取网页,从而得到作者网页集PAGE(author),并将其加入PAGE(domain),
即PAGE(domain)=PAGE(domain)∪PAGE(author)。
这四个步骤的流程如图2所示,比如图5、图6及图7分别给出主题页面、问题页面和作者页面的页面结构,即网页集中包含的三种不同类型的页面。
(2)抽取网页数据集中的知识领域短文本,包括7个步骤。
第1步:解析每个领域domain对应的的网页数据集PAGE(domain),包括主题页面、问题页面和作者页面这三类页面的HTML结构,根据页面HTML标签定位相应的逻辑块,包括主题块、问题块、答案块、作者块等,逻辑块中的每段短文本表示一个实体。定义短文本数据集TFS,并设TFS={domainc}s,其中s表示网页数据集中的学科数量。如果一段文本隶属于另外一段文本,则称它们之间存在父子关系;
第2步:解析主题页面,依据HTML标签定位并解析主题块,得到主题短文本及所属领域,表示为topicl和domain;所有主题短文本的集合表示为{topicl}t,其中t表示领域domain包含的主题短文本数目,该表达式等同{topic1,…,topict};领域domain与主题短文本集合{topicl}t形成父子关系集{<domain,topicl>}t,并将其加入TFS,
即TFS=TFS∪{<domain,topicl>}t
第3步:解析主题页面,依据HTML标签定位并解析问题块,得到描述问题的短文本,表示为questioni;所有问题短文本的集合表示为{questioni}m,其中m表示该主题下的问题短文本的数目,该表达式等同{question1,…,questionm};主题短文本topic与问题块中的问题短文本集合{questioni}m形成父子关系集{<topic,questioni>}m,并将其加入TFS,
即TFS=TFS∪{<topic,questioni>}m
第4步:解析问题页面,设计问题页面的抽取规则,获得问题页面附加信息,即解析问题页面的HTML标签,得到问题的评论数和投票数,分别表示为:qcommenti和qupvotei;所有问题的评论数和投票数的集合表示为{qcommenti}m和{qupvotei}m,其中m表示问题总数;问题名集合{questioni}m与问题的评论数集和投票数集分别形成父子关系集{<questioni,qcommenti>}m和{<questioni,qupvotei>}m,并将其加入TFS,
即TFS=TFS∪{<questioni,qcommenti>}m∪{<questioni,qupvotei>}m
第5步:解析问题页面,获得问题页面的答案信息,即解析问题页面的HTML标签,得到问题的回答,表示为answerk;所有回答的集合表示为{answerk}n,其中n表示该问题下回答的个数;问题question与回答集合{answerk}n形成父子关系,将其加入TFS,即TFS=TFS∪{<question,answerk>}n
第6步:解析问题页面,获得每条答案的附加信息,即解析问题页面HTML标签,得到答案的评论数和投票数,分别表示为:acommentk和aupvotek;所有评论数和投票数的集合表示为{acommentk}n和{aupvotek}n,其中n表示回答总数;回答集合{answerk}n与回答的评论数集和投票数集分别形成父子关系集{<answerk,acommentk>}n和{<answerk,aupvotek>}n,并将其加入TFS,
即TFS=TFS∪{<answerk,acommentk>}n∪{<answerk,aupvotek>}n
第7步:解析作者页面,设计作者页面的抽取规则,获得每条回答的作者信息,即解析作者页面的HTML标签,得到作者的姓名,表示为authork;解析HTML标签得到作者的粉丝数,表示为followerk;解析HTML标签得到作者擅长领域,表示为majork;所有作者信息分别构成集合为:{authork}n、{followerk}n和{majork}n,其中n表示回答总数;回答集合{answerk}n与回答的作者信息集形成父子关系集并将其加入TFS可以得到:
TFS=TFS∪{<answerk,authork>}n∪{<answerk,followerk>}n∪{<answerk,majork>}n
这七个步骤的流程如图3所示,比如基于图4的包装器模型进行信息抽取,抽取的碎片化知识在图5、图6和图7中都可以找到相应的栏目和模块。
(3)构建领域主题树,包括6个步骤。
第1步:针对短文本数据集TFS,构建一个有向无权图G=(V,E),其中V表示由短文本数据集TFS中的所有短文本构成的实体集合,E表示实体间的父子关系,开始G为空;
第2步:从TFS中取出一个关系ei=<parent,child>∈TFS,其中parent表示父亲节点,child表示父子关系中的儿子对象,同时执行TFS=TFS-{ei};
第3步:判断在V中某个实体与parent是否等价。如果不存在等价实体,则将parent加入V,V=V∪{parent};判断在V中某个实体与child是否等价。如果不存在等价实体,则将child加入V,V=V∪{child};
第4步:如果parent或child任何一个在V中不存在等价实体,则将ei作为G的一条新的边,即E=E∪{ei};
第5步:执行步骤第2步,直到TFS为空;
第6步:根据领域名domain∈V及有向图G,基于有向图的深度优先遍历算法,生成多棵以domain为根的领域主题树T(domain)=(V',E',domain),其中
基于这六个步骤构建的领域主题树如图8所示。选择领域名“Data Structure”作为根节点,通过有向图的深度遍历即可获得以“Data Structure”为根的领域主题树。对于不同的领域,可以得到不同的领域主题树。
(4)领域主题树的存储,包括4个步骤。
第1步:建立知识领域数据库DATABASE(knowledgeDomain),针对领域domain设计一个领域表格TABLE(domain)。该表格包含10列信息,包括主题名topic、问题或回答id、问题或答案内容(questioni和answerk)、投票数upvote、评论数comment、作者姓名author、作者粉丝数follower和作者擅长领域major等。
第2步:领域表格的每列包含一个树节点在领域主题树中的层数属性depth(column),如:depth(topic)=2,表示主题名的层数是2;
depth(id)=3,表示问题和答案ID对应的层数为3;
depth(question)=depth(answer)=depth(qupvote)=…=4,表示问题和答案内容、问题投票数和问题评论数等对应的层数为3;
depth(aupvote)=depth(acomment)=depth(author)=…=5,回答的投票数、评论数和作者信息等对应的层数为5。
第3步:对领域domain的领域主题树T(domain),定义根节点的层数为1(即:depth(domain)=1),且每个树节点的层数都是其父节点层数加1(即:depth(child)=depth(parent)+1)。深度优先遍历从根节点(领域)到叶子节点每条路径上的节点(知识领域短文本),记录每个树节点的层数depth(nodei)及其短文本内容content(nodei);用Hashmap将树节点的这两个属性值封装到对应的树节点对象nodei中。最终每个领域domain可以得到一个树节点集合NODE(domain)。
第4步:针对第3步中的领域domain的树节点集合NODE(domain)和第1步中的领域表格TABLE(domain),对比树节点的层数信息depth(nodei)和学科表格每列的层数属性depth(column),若相同,则将树节点的短文本内容content(nodei)存入领域表格的对应列中,就可以补全每张领域表格TABLE(domain)的信息。最终,可以得到存储所有领域domain下的所有短文本的知识领域数据库DATABASE(knowledgeDomain)。
基于这四个步骤构建的知识领域数据库如图9所示。选择Mysql作为存储数据库,其中包含了三个领域的知识领域的短文本,图9以“Data_Structure”为例展示了数据集构造结果。

Claims (7)

1.一种从社区问答网站自动获取知识领域短文本的方法,其特征在于,包括如下步骤:
步骤1,爬取社区问答网站中知识领域的Web页面;按照领域的不同,基于深度优先遍历算法爬取社区问答网站的动态网页,解析得到含有知识领域知识的网页中的主题页面、问题页面和作者页面的基本信息,构建包含这三类页面的集合,形成知识领域的网页数据集;
步骤2,抽取网页数据集中的知识领域短文本;通过使用HTML解析工具分别对网页数据集中的主题页面、问题页面和作者页面进行解析,得到每类页面包含的知识领域短文本,构建短文本数据集;
步骤3,构建领域主题树;通过分析短文本数据集,得到每个领域对应主题下的短文本及其父子关系,构建多棵以领域名为树根和以知识领域短文本为树节点的树,将其命名为领域主题树;
步骤4,领域主题树的存储;首先将领域主题树中的节点信息存入相应的树节点集合中,然后根据领域分别设计得到对应的领域表格;其次将树节点集合的信息存入领域表格的对应列中,补全每张领域表格的信息,构建用于存储每个领域所有短文本的知识领域数据库;
步骤2中抽取网页数据集中的知识领域短文本,具体包括如下步骤;
2.1解析每个领域对应的的网页数据集,包括主题页面、问题页面和作者页面这三类页面的HTML结构,根据页面HTML标签定位相应的逻辑块,逻辑块中的每段短文本表示一个实体;
定义短文本数据集TFS={domainc}s,其中s表示网页数据集中的领域数量,domainc表示网页数据集中的第c个领域;如果一段文本隶属于另外一段文本,则称它们之间存在父子关系;
2.2解析主题页面,依据HTML标签定位并解析主题块,得到主题短文本及所属领域,所属领域与主题短文本集合形成父子关系集,并将其加入短文本数据集TFS;
2.3二次解析主题页面,依据HTML标签定位并解析问题块,得到描述问题的短文本,得到所有问题短文本的集合,即问题集合;主题短文本与问题块中的问题短文本集合形成父子关系集,并将其加入短文本数据集TFS;
2.4解析问题页面,解析问题页面的HTML标签,得到问题的评论数和投票数,得到所有问题的评论数和投票数的集合;问题集合与问题的评论数集和投票数集分别形成父子关系集,并将其加入短文本数据集TFS;
2.5二次解析问题页面,解析问题页面的HTML标签,得到问题的回答,得到所有回答的集合;问题与回答集合形成父子关系集,将其加入短文本数据集TFS;
2.6三次解析问题页面,解析问题页面的HTML标签,得到答案的评论数和投票数,得到所有评论数和投票数的集合;回答集合与回答的评论数集和投票数的集合分别形成父子关系集,将其加入短文本数据集TFS;
2.7解析作者页面,解析作者页面的HTML标签,得到作者的姓名;解析HTML标签得到作者的粉丝数;解析HTML标签得到作者擅长领域;得到所有作者信息,包括分别构成的作者姓名集合、作者粉丝数集合和作者擅长领域集合;回答集合与回答的作者信息集形成父子关系集并将其加入短文本数据集TFS。
2.根据权利要求1中所述的一种从社区问答网站自动获取知识领域短文本的方法,其特征在于,步骤1中基于深度优先遍历算法爬取社区问答网站的动态网页时;首先,根据主题页面地址爬取主题页面,通过HTML解析获得主题页面中指向问题页面的超链接,并将这些超链接存入URL池;其次,根据URL池中问题页面的地址爬取问题页面,问题页面包含一个问题及0条或多条回答,解析问题页面的每条回答得到指向作者页面的超链接,存入URL池;最后,根据URL池中作者页面的地址爬取作者页面,解析作者页面的基本信息。
3.根据权利要求1中所述的一种从社区问答网站自动获取知识领域短文本的方法,其特征在于,步骤1中爬取社区问答网站中知识领域的Web页面,具体包括如下步骤;
1.1对于每个领域根据已有的主题词集合,爬取该领域的网页数据集;
1.2从已有的主题开始,根据主题词得到主题页面的链接,将每个领域下的所有主题链接存入URL池中,并去除重复链接;爬取网页得到主题页面集,并将其加入网页数据集;
1.3解析主题页面集中每个主题页面的问题列表,分析问题列表的HTML标签,得到所包含问题页面的链接;选择问题与主题相关性高的若干问题网页的链接存入URL池中,并去除重复链接;爬取网页得到问题网页集,将其加入网页数据集;
1.4解析问题页面集中每个问题页面的回答列表,根据问题页面是否含有回答列表的HTML标签,得到每条回答的作者页面链接;将每条回答的作者链接存入URL池中,并去除重复链接;爬取网页得到作者网页集,并将其加入网页数据集,得到包含三类页面的网页数据集。
4.根据权利要求1中所述的一种从社区问答网站自动获取知识领域短文本的方法,其特征在于,步骤2中抽取网页数据集中的知识领域短文本时;首先,设计主题页面的抽取规则,使用该规则解析主题页面对应的问题列表,得到每个主题页面包含的所有问题;其次,设计问题页面的抽取规则,使用该规则解析问题页面的回答列表,获取相应知识领域短文本,包括描述问题的短文本、回答问题的短文本、问题及回答的支持票数和评论数;再次,设计作者页面的抽取规则,使用该规则解析作者页面的个人信息列表,获取相应作者信息,包括作者姓名、作者粉丝数和作者擅长领域;最后,利用解析得到的所有短文本信息,构建短文本数据集。
5.根据权利要求1中所述的一种从社区问答网站自动获取知识领域短文本的方法,其特征在于,步骤3中构建领域主题树时;首先,依据短文本数据集中的所有短文本和父子关系构建一个有向无权图G=(V,E),其中V表示实体集合,它是由短文本数据集中的所有短文本构成的节点集合,E表示实体间的父子关系,它是根据实体间的父子关系生成的有向边集合;其次,根据领域名domain∈V及有向图G,基于有向图的深度优先遍历算法,生成以domain为根的领域主题树T(domain)=(V',E',domain),其中
6.根据权利要求1中所述的一种从社区问答网站自动获取知识领域短文本的方法,其特征在于,步骤3中构建领域主题树时,具体包括如下步骤;
3.1针对短文本数据集TFS,构建一个有向无权图G=(V,E),其中V表示由短文本数据集TFS中的所有短文本构成的实体集合,E表示实体间的父子关系,开始G为空;
3.2从TFS中取出一个父子关系ei=<parent,child>∈TFS,其中parent表示父亲节点,child表示父子关系中的儿子对象,同时执行TFS=TFS-{ei};
3.3判断在V中某个实体与parent是否等价;如果不存在等价实体,则将parent加入V;判断在V中某个实体与child是否等价;如果不存在等价实体,则将child加入V;
3.4如果parent或child任何一个在V中不存在等价实体,则将ei作为G的一条新的边;
3.5执行步骤3.2,直到TFS为空;
3.6根据领域名domain∈V及有向图G,基于有向图的深度优先遍历算法,生成多棵以domain为根的领域主题树T(domain)=(V',E',domain),其中
7.根据权利要求1中所述的一种从社区问答网站自动获取知识领域短文本的方法,其特征在于,步骤4中领域主题树存储时,具体包括如下步骤;
4.1建立知识领域数据库,针对不同的领域分别设计得到对应的领域表格,领域表格包含若干列信息;
4.2领域表格的每列包含一个树节点在领域主题树中的层数属性;
4.3对领域的领域主题树,定义根节点的层数为1,且每个树节点的层数都是其父节点层数加1;深度优先遍历从根节点到叶子节点每条路径上的节点,记录每个树节点的层数及其短文本内容;用Hashmap将树节点的这两个属性值封装到对应的树节点对象中;每个领域可以得到一个树节点集合;
4.4针对步骤4.3中的领域的树节点集合和步骤4.1中的领域表格,对比树节点的层数信息和领域表格每列的层数属性,若相同,则将树节点的短文本内容存入领域表格的对应列中,补全每张领域表格的信息;最终,得到存储所有领域下的所有短文本的知识领域数据库。
CN201610101431.6A 2016-02-24 2016-02-24 一种从社区问答网站自动获取知识领域短文本的方法 Active CN105760514B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610101431.6A CN105760514B (zh) 2016-02-24 2016-02-24 一种从社区问答网站自动获取知识领域短文本的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610101431.6A CN105760514B (zh) 2016-02-24 2016-02-24 一种从社区问答网站自动获取知识领域短文本的方法

Publications (2)

Publication Number Publication Date
CN105760514A CN105760514A (zh) 2016-07-13
CN105760514B true CN105760514B (zh) 2018-12-07

Family

ID=56331151

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610101431.6A Active CN105760514B (zh) 2016-02-24 2016-02-24 一种从社区问答网站自动获取知识领域短文本的方法

Country Status (1)

Country Link
CN (1) CN105760514B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106845798A (zh) * 2016-12-29 2017-06-13 兰州大学淮安高新技术研究院 一种基于多叉树的跨领域专利预警信息分析方法
CN107329969A (zh) * 2017-05-23 2017-11-07 合肥智权信息科技有限公司 一种基于多次校验的数据信息更新系统和方法
CN107808014B (zh) * 2017-11-06 2020-02-21 北京中科智营科技发展有限公司 一种基于自然语言处理的知识库建立方法
CN108052454A (zh) * 2017-12-29 2018-05-18 广州品唯软件有限公司 一种h5页面扫描方法、装置和系统
CN109165289B (zh) * 2018-08-31 2022-08-16 西安交通大学 一种通过深度卷积神经网络进行社区问答网站问题质量预测的方法
CN110019687B (zh) * 2019-04-11 2021-03-23 宁波深擎信息科技有限公司 一种基于知识图谱的多意图识别系统、方法、设备及介质
CN110209814B (zh) * 2019-05-23 2021-02-02 西安交通大学 一种利用领域建模从百科知识网站抽取知识主题的方法
CN110502689A (zh) * 2019-08-28 2019-11-26 上海智臻智能网络科技股份有限公司 知识点的爬取方法及装置、存储介质、终端

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2456049A (en) * 2007-11-12 2009-07-08 Javid Zeeshan Visual web crawler
CN102194013A (zh) * 2011-06-23 2011-09-21 上海毕佳数据有限公司 一种基于领域知识的短文本分类方法及文本分类系统
CN103186676A (zh) * 2013-04-08 2013-07-03 湖南农业大学 一种主题知识自增长型聚焦网络爬虫搜索方法
CN103778238A (zh) * 2014-01-27 2014-05-07 西安交通大学 一种从维基百科半结构化数据自动构建分类树的方法
CN103886053A (zh) * 2014-03-13 2014-06-25 电子科技大学 一种基于短文本评论的知识库构建方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2456049A (en) * 2007-11-12 2009-07-08 Javid Zeeshan Visual web crawler
CN102194013A (zh) * 2011-06-23 2011-09-21 上海毕佳数据有限公司 一种基于领域知识的短文本分类方法及文本分类系统
CN103186676A (zh) * 2013-04-08 2013-07-03 湖南农业大学 一种主题知识自增长型聚焦网络爬虫搜索方法
CN103778238A (zh) * 2014-01-27 2014-05-07 西安交通大学 一种从维基百科半结构化数据自动构建分类树的方法
CN103886053A (zh) * 2014-03-13 2014-06-25 电子科技大学 一种基于短文本评论的知识库构建方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
一种基于文本分类的知识树自动构建方法;钟将;《计算机应用研究》;20100228;第27卷(第2期);全文 *
基于概念树的主题爬取技术研究;曾义聪等;《科学技术与工程》;20050630;第5卷(第12期);正文第2段、第2节、正文3.2节、3.3.2节,图1 *
基于领域本体的主题爬虫研究及实现;林碧霞;《西南交通大学硕士学位论文》;20100601;全文 *
短文本分类在问答系统中的应用研究;刘鑫;《长春工业大学硕士学位论文》;20130401;正文第3章第3.3节、图3-5、第4章4.1节 *

Also Published As

Publication number Publication date
CN105760514A (zh) 2016-07-13

Similar Documents

Publication Publication Date Title
CN105760514B (zh) 一种从社区问答网站自动获取知识领域短文本的方法
KR101895249B1 (ko) 지능 문답 구현 방법, 시스템 및 저장 매체
Earle Phenomenology as research method or substantive metaphysics? An overview of phenomenology's uses in nursing
Rusk et al. Tracing the size, reach, impact, and breadth of positive psychology
CN109543086A (zh) 一种面向多数据源的网络数据采集与展示方法
CN106156335A (zh) 一种教材知识点的挖掘整理方法和系统
US20160378853A1 (en) Systems and methods for reducing search-ability of problem statement text
DE102019001267A1 (de) Dialogartiges System zur Beantwortung von Anfragen
Steiner et al. Evaluating a digital humanities research environment: the CULTURA approach
Joorabchi et al. Text mining stackoverflow: An insight into challenges and subject-related difficulties faced by computer science learners
CN103136305A (zh) 用于试题资源的处理方法和装置
CN102750316A (zh) 基于语义共现模型的概念关系标签抽取方法
White Examining scientific vocabulary: mapping controlled vocabularies with free text keywords
CN103699370B (zh) 一种基于xml的问卷脚本语言设计和开发方法
Jauhar et al. Tabmcq: A dataset of general knowledge tables and multiple-choice questions
Meyer et al. Students' conceptions of research. 2: An exploration of contrasting patterns of variation
Kim et al. An issue attention cycle analysis of the network agenda setting model: A case study of the nuclear issue in South Korea
Tordai On combining alignment techniques
Laender et al. Ciência Brasil-the brazilian portal of science and technology
Poibeau et al. Generating navigable semantic maps from social sciences corpora
Morgan et al. Questions related to theory
Yu et al. An automated analytics engine for college program selection using machine learning and big data analysis
Fisichella et al. Who are you working with? Visualizing TEL Research Communities
Zheng et al. What Makes a Turing Award Winner?
Cunha de Araújo et al. Apinayé art: A case study in a Brazilian indigenous school

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant