![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
知识图谱+自然语言处理
文章平均质量分 59
知识图谱+自然语言处理
floracuu
这个作者很懒,什么都没留下…
展开
-
医药问答系统(三)将用户问题转化为neo4j的查询语句
1.将提取出的问题关键词按照类型合并2.循环取出问题字段,将其翻译成neo4j查询语句class QuestionPaser: '''合并同类型字段''' # 如: args={'青光眼': ['disease'], '肺气肿': ['disease'], '消化内科': ['department']} #合并后: entity_dict= {'disease': ['青光眼', '肺气肿'], 'department': ['消化内科']} def build_原创 2021-02-16 22:03:51 · 1207 阅读 · 0 评论 -
neo4j的使用
下文内容均是neo4j的示例代码的整理 1.插入结点和关系属性名可以有0个(直接省略花括号及其内容)或多个(在花括号内用逗号隔开),一个属性名也可以对应多个属性值(在[]数组中用逗号隔开,字符串要加单引号)1.1创建实例CREATE (实例名:所属类名 {属性名:属性值, 属性名:属性值})1.2创建关系(实例名1)-[:关系名 {属性名:['属性值1','属性值2']}]->(实例名2)1.3示例只粘贴了一部分代码CREATE (TheMatrix:Mo...原创 2021-01-26 18:48:52 · 276 阅读 · 0 评论 -
医药问答系统(四)执行neo4j查询语句并拼接成自然语言
上一篇:https://blog.csdn.net/floracuu/article/details/113828998此处的sqls写为固定的,是查询肺气肿和青光眼的症状和原因,由于数据库中并无青光眼的症状和原因,结果如下:代码如下:from py2neo import Graphclass AnswerSearcher: def __init__(self): #连接数据库 self.g = Graph("http://localhost:7原创 2021-02-17 21:58:52 · 1346 阅读 · 1 评论 -
医药问答系统(二)提取用户问题关键字以及识别问题类型
思路1.初始化词典:疾病、科室、检查项目、药物、食物、具体品牌的药、症状、表否定意义的词以及一个拥有全部词语的词典region_word 把region_word中所有的词取出构造actree(为了加快后面的搜索速度):region_tree 新建一个词典wdtype_dict,存储region_word中对应词汇的类型(疾病、科室...) 构造同义词词典,便于理解用户意思,适应不同的表述方法2.分析用户的问题问句过滤(过滤出用户提到的领域内信息):通过region_tree查找出...原创 2021-02-02 21:22:14 · 2132 阅读 · 0 评论 -
医药问答系统(一)python将excel或json数据处理后存入neo4j
1.将excel的数据存入neo4j本程序使用Jupyter运行,若使用pycharm还需安装py2neopip install py2neo==5.0b1 注意版本,要不对应不了文档:https://py2neo.org/v4/index.html在第一个文件中用panda读取excel中的数据将取出的数据中的实体去重,另外保存到变量中,最终用于创建结点:例中data_extraction()将读取到的数据抽取需要的列,再次拼成dataframe,最终用于创建关系:例中relation_原创 2021-03-17 20:24:40 · 5861 阅读 · 2 评论 -
pyltp句法分析
###分句-------import re'''文章分句处理, 切分长句,冒号,分号,感叹号等做切分标识'''def split_sents(content): return [sentence for sentence in re.split(r'[??!!。;;::\n\r]', content) if sentence]content = '我购买了一件玩具,孩子非常喜欢这个玩具,但是质量不太好。希望商家能够保障商品质量,不要再出现类似问题。'sentences = split_s原创 2021-04-17 09:53:32 · 866 阅读 · 9 评论