700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 农业领域的知识图谱构建(Agriculture_KnowledgeGraph)

农业领域的知识图谱构建(Agriculture_KnowledgeGraph)

时间:2023-04-13 08:33:17

相关推荐

农业领域的知识图谱构建(Agriculture_KnowledgeGraph)

Agriculture_KnowledgeGraph

demo:http://ecnukg.vicp.io

github:/qq547276542/Agriculture_KnowledgeGraph

欢迎star&fork~

命名实体识别

进入主页面,输入文本,即可看到以下命名实体和分词的结果(确保django和neo4j都处于开启状态):

点击实体的超链接,可以跳转到词条页面:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1arFxxGY-1575030509534)(/qq547276542/blog_image/master/agri/3.png)]

关系查询

关系查询部分,我们能够搜索出与某一实体相关的实体,以及它们之间的关系:

知识的树形结构

农业知识概览部分,我们能够列出某一农业分类下的词条列表,这些概念以树形结构组织在一起:

农业分类的树形图:

训练集标注

我们还制作了训练集的手动标注页面,每次会随机的跳出一个未标注过的词条。链接:http://localhost:8000/tagging-get , 手动标注的结果会追加到/label_data/labels.txt文件末尾:

思路

图谱实体获取:

1.根据19000条农业网词条,按照筛法提取名词(分批进行,每2000条1批,每批维护一个不可重集合)

2.将9批词做交集,生成农业词典

3.将词典中的词在互动百科中进行爬取,抛弃不存在的页面,提取页面内容,存到数据库中

4.根据页面内容,提取每一个词条页面的特征,构造相似度的比较方法,使用KNN进行分类

5.最后获取每个词条的所属类别,同时能够剔除不属于农业的无关词条

命名实体识别:

使用thulac工具进行分词,词性标注,命名实体识别(仅人名,地名,机构名)

为了识别农业领域特定实体,我们需要:

分词,词性标注,命名实体识别以识别为命名实体(person,location,organzation)的,若实体库没有,可以标注出来对于非命名实体部分,采用一定的词组合和词性规则,在O(n)时间扫描所有分词,过滤掉不可能为农业实体的部分(例如动词肯定不是农业实体)对于剩余词及词组合,匹配知识库中以分好类的实体。如果没有匹配到实体,或者匹配到的实体属于0类(即非实体),则将其过滤掉。实体的分类算法见下文。

HudongItem

页面分类

分类器:KNN算法

无需表示成向量,比较相似度即可K值通过网格搜索得到

定义两个页面的相似度sim(p1,p2):

title之间的词向量的余弦相似度(利用fasttext计算的词向量能够避免out of vocabulary)2组openType之间的词向量的余弦相似度的平均值相同的baseInfoKey的IDF值之和(因为‘中文名’这种属性贡献应该比较小)相同baseInfoKey下baseInfoValue相同的个数预测一个页面时,由于KNN要将该页面和训练集中所有页面进行比较,因此每次预测的复杂度是O(n),n为训练集规模。在这个过程中,我们可以统计各个分相似度的IDF值,均值,方差,标准差,然后对4个相似度进行标准化:(x-均值)/方差上面四个部分的相似度的加权和为最终的两个页面的相似度,权值由向量weight控制,通过10折叠交叉验证+网格搜索得到

Labels:(命名实体的分类)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。