# 基于知识图谱的文档搜索系统
## 系统架构 ##
1.构建图谱
(1)无监督新词发现
将文档的句子按NGram分块,构建字典树,筛选出词频、信息熵、PMI均满足要求的短语作为图谱标签库。
(2)构建三元组
挖掘标签之间的共现、类属、同义词等关系,构建三元组。利用共现窗口筛选满足阈值的共现标签,挖掘共现关系;基于后缀法和ngram生成候选中心词,挖掘isA关系等。
2.文档搜索
(1)召回
 a.将query分词,得到标签词(用前缀树匹配分词与图谱中的标签,匹配成功的词)和普通词
 b.根据图谱将标签词用bfs做扩展,得到更多标签,计算所有标签的权重
  权重计算:
  *i.*  标签词:(扩展词最大权重+扩展词权重和)* *w1*
  *ii.* 普通词:*w2* + *w3* *词权重
 c.根据标签以及得分,用倒排索引和bm25计算出query与文档的关系得分,返回一系列候选文档
(2)重排
训练数据:结合了华为方的标注数据和用户搜索日志
特征:文档的热度信息(浏览量、下载量、收藏量、评论量等)以及搜索日志中的特征
模型:ranknet
损失函数:二元交叉熵
## 目录结构 ##
KGSearch/
├── data (训练数据以及输出文件)
├── db (倒排索引库样例文件)
├── rerank (重排模型)
│  ├── rerank (ranknet模型)
│  ├── main (训练模型)
│  └── example (调用模型)
├── style
├── TagGraph (图谱构建)
│  ├── gen_rels_coocc.py (生成共现关系)
│  ├── gen_rels_isa.py (生成isA关系)
│  ├── new_word.py (新词发现)
│  └── tag_doc.py (给文档打标签)
├── BM25.py (召回)
├── gen_rels.py (生成关系)
├── gen_tags.py (生成标签)
├── kg_utils.py (操作库文件工具)
├── kw_api.py (CNDBPedia api )
├── make_docu_txts.py (文件处理)
├── search.py (搜索框架)
├── utils.py (常用工具)
└── wtrie.py(字典树)
----------
代码为系统核心框架及算法的复现,去除了意图识别等特征处理算法以及高度匹配华为数据需求的代码。
Others:
api调用kw实验室的中文知识图谱CNDBPedia,详情见 http://kw.fudan.edu.cn/cndbpedia/search/
## 运行步骤 ##
1.运行TagGraph模块构建图谱
2.rerank模块训练ranknet网络
3.运行search.py server 启动服务,端口号41324
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
知识图谱是一种结构化的知识表达形式,它以图形的方式组织和存储了大量实体(如人、地点、事件等)及其相互关系。在知识图谱中,实体作为节点,实体之间的各种语义关联则通过边进行连接,形成了一个庞大的数据网络。 知识图谱的核心价值在于其能够精确、直观地表示复杂世界中的知识,并支持高效的知识查询与推理。例如,在搜索引擎中,知识图谱可以提升搜索结果的相关性和准确性,为用户提供直接的答案而非仅仅是网页链接。同时,知识图谱还能支撑高级的人工智能应用,比如问答系统、推荐系统、决策支持等领域。 构建知识图谱的过程通常包括数据抽取、知识融合、实体识别、关系抽取等多个步骤,涉及到自然语言处理、机器学习、数据库技术等多种技术手段。知识图谱的不断完善有助于实现从海量信息中挖掘深层次、有价值的知识,从而推动人工智能向着更加理解人类世界的智慧方向发展。 总之,知识图谱是一个大规模、多领域、多源异构知识集成的载体,是实现智能化信息系统的基础工具和关键基础设施,对于提升信息检索质量、推动智能应用研发具有重要作用。
资源推荐
资源详情
资源评论
收起资源包目录
基于知识图谱的文档搜索系统.zip (51个子文件)
SJT-code
suggest_server.html 3KB
utils.py 7KB
start_server.bat 24B
gen_tags.py 4KB
data
output
v2.json 2KB
v1.json 14KB
phrases.txt 120B
rerank
data.txt 375B
main.py 154B
rerank
utils.py 285B
__init__.py 7KB
data
feat_list.txt 248B
type_list.txt 34B
model.h5 128KB
log.txt 7KB
ranknet.py 5KB
__pycache__
ranknet.cpython-36.pyc 5KB
__init__.cpython-36.pyc 9KB
utils.cpython-36.pyc 500B
.idea
rerank.iml 398B
workspace.xml 16KB
misc.xml 288B
modules.xml 264B
encodings.xml 135B
log.txt 4KB
example.py 329B
TagGraph
edge_cocco 50B
tag_doc.py 2KB
gen_rels_coocc.py 2KB
gen_rels_isa.py 7KB
new_word.py 6KB
doc_tags.txt 68B
style
img
bg2.png 1.98MB
bgnew.jpg 900KB
bg4.png 393KB
bg3.png 347KB
bg.jpg 32KB
bg.png 550KB
.project 435B
wtrie.py 3KB
gen_rels.py 3KB
make_docu_txts.py 2KB
config.json 232B
kg_utils.py 707B
__pycache__
gen_tags.cpython-36.pyc 5KB
utils.cpython-36.pyc 11KB
kw_api.py 6KB
README.md 3KB
BM25.py 12KB
db
doc_search_.agz 358B
search.py 10KB
共 51 条
- 1
资源评论
JJJ69
- 粉丝: 6222
- 资源: 5780
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功