基于医疗知识图谱的项目构建学习总结(一)—项目构建环境搭建及爬取数据部分

医疗知识图谱构建 上篇文章中笔者已经实现了对实体关系的抽取,形成了对应的三元组,这篇主要讲如何根据抽取的三元组去生成对应的医疗知识图谱。 前述部分 知识图谱构建的方式有很多,有基于Protege去构建,它是一个使用本体去一层层构建,手动定义一层一层关系,最终的结果是RDF或者OWL文件保存。具体的参考流程可以查看:Protege本体构建,另一种方法可以使用工业界比较常用的Neo4j图数据库管理工具,它操作简单,分为桌面版,社区版本。具体的可以根据用户需要去自行下载。笔者就是基于Neo4j去实现数据的批量读取最终生成医疗知识 阅读详情

由于工作需要,这里学习了中科院软件所刘焕勇老师在github上的开源项目,基于知识图谱的医药领域问答项目QABasedOnMedicaKnowledgeGraph。
原项目地址:https://github.com/liuhuanyong/QASystemOnMedicalKG
自己动手实现了环境的搭建,目前实践到爬虫部分,在此记录,欢迎大家提出意见。

首先是安装mongodb

参考博客mongodb安装及创建用户
按照文中的说明下载和配置mongodb,并启动服务,打开网址,出现如下语句说明启动成功:

It looks like you are trying to access MongoDB over HTTP on the native driver port.

为了便于验证数据库是否建立成功,这里给出了几个常用的数据库语法:

show dbs 查看已有的数据库
use db_name 如果该数据库存在则进入,若不存在则创建名称为db_name的数据库
db.dropDatabase() 删除该数据库
db.jc.find() 查看数据库中jc表中的数据

然后是爬取数据部分

在对症状的解析函数中,源代码对有的网页解析得到的结果是人名,因此我对其进行了修改,详见代码。运行之后就在数据库中建立该数据库,并存入了爬取的数据。

# -*- coding: utf-8 -*-
import urllib.request
import urllib.parse
from lxml import etree
import pymongo


# 创建数据库连接,开启Mongodb服务之后,不存在该数据库的话会自动创建该数据库
conn = pymongo.MongoClient()
db = conn['medical']
col = db['data']


# 爬取数据并解析
def get_html(url):
    headers = {'User-Agent':'Mozilla/5.0(Window Nt 10.0; WOW64) AppleWebKit/537.36 (KHTML, LIKE Gecko)'}
    req = urllib.request.Request(url=url, headers=headers)
    res = urllib.request.urlopen(req)
    html = res.read().decode('gbk')
    return html


def spider_main():
    for page in range(1, 11000):
        try:
            basic_url = 'http://jib.xywy.com/il_sii/gaishu/%s.htm'% page
            cause_url = 'http://jib.xywy.com/il_sii/cause/%s.htm' % page  # 病因
            prevent_url = 'http://jib.xywy.com/il_sii/prevent/%s.htm' % page  # 预防
            symptom_url = 'http://jib.xywy.com/il_sii/symptom/%s.htm' % page  # 症状
            inspect_url = 'http://jib.xywy.com/il_sii/inspect/%s.htm' % page  # 检查方法
            treat_url = 'http://jib.xywy.com/il_sii/treat/%s.htm' % page  # 治疗
            food_url = 'http://jib.xywy.com/il_sii/food/%s.htm' % page  # 饮食保健
            drug_url = 'http://jib.xywy.com/il_sii/drug/%s.htm' % page  # 好评药品
            data = {}
            data['url'] = basic_url
            data['basic_info'] = basicinfo_spider(basic_url)
            data['cause_info'] = common_spider(cause_url)
            data['prevent_info'] = common_spider(prevent_url)
            data['symptom'] = symptom_spider(symptom_url)
            data['inspect_info'] = inspect_spider(inspect_url)
            data['treat_info'] = treat_sipder(treat_url)
            data['food_info'] = food_spider(food_url)
            data['drug_info'] = drug_spider(drug_url)
            print(page, basic_url)
            col.insert(data)
        except:
            print('error')
    return


'''基本信息解析'''
def basicinfo_spider(url):
    html = get_html(url)
    selector = etree.HTML(html)
    title = selector.xpath('//title/text()')[0]
    category = selector.xpath('//div[@class="wrap mt10 nav-bar"]/a/text()')
    desc = selector.xpath('//div[@class="jib-articl-con jib-lh-articl"]/p/text()')
    ps = selector.xpath('//div[@class="mt20 articl-know"]/p')
    infobox = []
    for p in ps:
        info = p.xpath('string(.)').replace('\r','').replace('\n','').replace('\xa0', '').replace('   ', '').replace('\t','')
        infobox.append(info)
    basic_data = {}
    basic_data['category'] = category
    basic_data['name'] = title.split('的简介')[0]
    basic_data['desc'] = desc
    basic_data['attributes'] = infobox
    return basic_data

# 对网页分别进行解析

def treat_sipder(url):
    html = get_html(url)
    selector = etree.HTML(html)
    ps = selector.xpath('//div[starts-with(@class, "mt20 articl-know")]/p')
    infobox = []
    for p in ps:
        info = p.xpath('string(.)').replace('\r','').replace('\n','').replace('\xa0','').replace('   ','').replace('\t','')
        infobox.append(info)
    # print(infobox)
    return infobox

def drug_spider(url):
    html = get_html(url)
    selector = etree.HTML(html)
    drugs = [i.replace('\n','').replace('\t', '').replace(' ','') for i in
             selector.xpath('//div[@class="fl drug-pic-rec mr30"]/p/a/text()')]
    # print(drugs)
    return drugs


'''food治疗解析'''
def food_spider(url):
    html = get_html(url)
    selector = etree.HTML(html)
    divs = selector.xpath('//div[@class="diet-img clearfix mt20"]')
    try:
        food_data = {}
        food_data['good'] = divs[0].xpath('./div/p/text()')
        food_data['bad'] = divs[1].xpath('./div/p/text()')
        food_data['recommand'] = divs[2].xpath('./div/p/text()')
    except:
        return {}
    return food_data


'''症状信息解析'''
def symptom_spider(url):
    html = get_html(url)
    selector = etree.HTML(html)
    
    # 源代码中的结果是人名,因此对其进行了修改。
    symptoms = selector.xpath('//span[@class="db f12 lh240 mb15 "]/a/text()')   
    ps = selector.xpath('//p')
    detail = []
    for p in ps:
        info = p.xpath('string(.)').replace('\r','').replace('\n','').replace('\xa0', '').replace('   ', '').replace('\t','')
        detail.append(info)
    symptoms_data = {}
    symptoms_data['symptoms'] = symptoms
    symptoms_data['symptoms_detail'] = detail
    # print(symptoms_data)
    return symptoms, detail

def inspect_spider(url):
    '''对检查项目的链接进行获取,有的网页时有检查链接的,有的是没有的'''
    html = get_html(url)
    selector = etree.HTML(html)
    inspects = selector.xpath('//li[@class="check-item"]/a/@href')
    return inspects


'''通用解析模块'''
def common_spider(url):
    html = get_html(url)
    selector = etree.HTML(html)
    ps = selector.xpath('//p')
    infobox = []
    for p in ps:
        info = p.xpath('string(.)').replace('\r', '').replace('\n', '').replace('\xa0', '').replace('   ','').replace('\t', '')
        if info:
            infobox.append(info)

    return '\n'.join(infobox)


'''检查项抓取模块'''
def inspect_crawl():
    for page in range(1, 3685):
        try:
            url = 'http://jck.xywy.com/jc_%s.html'%page
            html = get_html(url)
            data = {}
            data['url'] = url
            data['html'] = html
            db['jc'].insert(data)
            # print(data)
        except Exception as e:
            print(e)
spider_main()
inspect_crawl()

接着将解析的数据存入数据库中

  1. 在这一部分代码中,需要将max_cut中的disease.txt位置进行修改为…/dict/disease.txt,还需要在这个打开文件的时候加入encoding=‘utf-8’,即open(dict_path, encoding=‘utf-8’),不然会报错。
  2. 在下边的导入代码中有first_name.txt文件,在源文件中并没有给出,我猜想应该是这个症状描述不包含疾病名称,因此我使用了disease.txt文件代替的。
  3. 执行程序的时候,必须要先执行这个函数modify_jc(),更新jc表的值,这样在执行函数collect_medical()的时候才不会报name错误。
#!/usr/bin/env python3
# coding: utf-8
# File: build_data.py
# Author: lhy<lhy_in_blcu@126.com,https://huangyong.github.io>
# Date: 18-10-3
import pymongo
from lxml import etree
import os
from max_cut import *

class MedicalGraph:
    def __init__(self):
        self.conn = pymongo.MongoClient()
        # cur_dir = '/'.join(os.path.abspath(__file__).split('/')[:-1])
        self.db = self.conn['test']
        self.col = self.db['data']
        first_words = [i.strip() for i in open('../dict/disease.txt', encoding='utf-8')]
        alphabets = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y', 'z']
        nums = ['1','2','3','4','5','6','7','8','9','0']
        self.stop_words = first_words + alphabets + nums
        self.key_dict = {
            '医保疾病' : 'yibao_status',
            "患病比例" : "get_prob",
            "易感人群" : "easy_get",
            "传染方式" : "get_way",
            "就诊科室" : "cure_department",
            "治疗方式" : "cure_way",
            "治疗周期" : "cure_lasttime",
            "治愈率" : "cured_prob",
            '药品明细': 'drug_detail',
            '药品推荐': 'recommand_drug',
            '推荐': 'recommand_eat',
            '忌食': 'not_eat',
            '宜食': 'do_eat',
            '症状': 'symptom',
            '检查': 'check',
            '成因': 'cause',
            '预防措施': 'prevent',
            '所属类别': 'category',
            '简介': 'desc',
            '名称': 'name',
            '常用药品' : 'common_drug',
            '治疗费用': 'cost_money',
            '并发症': 'acompany'
        }
        self.cuter = CutWords()

    def collect_medical(self):
        cates = []
        inspects = []
        count = 0
        for item in self.col.find():
            data = {}
            basic_info = item['basic_info']
            name = basic_info['name']
            if not name:
                continue
            # 基本信息
            data['名称'] = name
            data['简介'] = '\n'.join(basic_info['desc']).replace('\r\n\t', '').replace('\r\n\n\n','').replace(' ','').replace('\r\n','\n')
            category = basic_info['category']
            data['所属类别'] = category
            cates += category
            inspect = item['inspect_info']
            inspects += inspect
            attributes = basic_info['attributes']
            # 成因及预防
            data['预防措施'] = item['prevent_info']
            data['成因'] = item['cause_info']
            # 并发症
            data['症状'] = list(set([i for i in item["symptom_info"][0] if i[0] not in self.stop_words]))
            for attr in attributes:
                attr_pair = attr.split(':')
                if len(attr_pair) == 2:
                    key = attr_pair[0]
                    value = attr_pair[1]
                    data[key] = value
            # 检查
            inspects = item['inspect_info']
            jcs = []
            for inspect in inspects:
                jc_name = self.get_inspect(inspect)
                if jc_name:
                    jcs.append(jc_name)
            data['检查'] = jcs
            # 食物
            food_info = item['food_info']
            if food_info:
                data['宜食'] = food_info['good']
                data['忌食'] = food_info['bad']
                data['推荐'] = food_info['recommand']
            # 药品
            drug_info = item['drug_info']
            data['药品推荐'] = list(set([i.split('(')[-1].replace(')','') for i in drug_info]))
            data['药品明细'] = drug_info
            data_modify = {}
            for attr, value in data.items():
                attr_en = self.key_dict.get(attr)
                if attr_en:
                    data_modify[attr_en] = value
                if attr_en in ['yibao_status', 'get_prob', 'easy_get', 'get_way', "cure_lasttime", "cured_prob"]:
                    data_modify[attr_en] = value.replace(' ','').replace('\t','')
                elif attr_en in ['cure_department', 'cure_way', 'common_drug']:
                    data_modify[attr_en] = [i for i in value.split(' ') if i]
                elif attr_en in ['acompany']:
                    acompany = [i for i in self.cuter.max_biward_cut(data_modify[attr_en]) if len(i) > 1]
                    data_modify[attr_en] = acompany

            try:
                self.db['medical'].insert(data_modify)
                count += 1
                print(count)
            except Exception as e:
                print(e)

        return


    def get_inspect(self, url):
        res = self.db['jc'].find_one({'url':url})
        if not res:
            return ''
        else:
            return res['name']

    def modify_jc(self):
        for item in self.db['jc'].find():
            url = item['url']
            content = item['html']
            selector = etree.HTML(content)
            name = selector.xpath('//title/text()')[0].split('结果分析')[0]
            desc = selector.xpath('//meta[@name="description"]/@content')[0].replace('\r\n\t','')
            self.db['jc'].update({'url':url}, {'$set':{'name':name, 'desc':desc}})


if __name__ == '__main__':
    handler = MedicalGraph()
    handler.modify_jc()
    handler.collect_medical()

完成之后,使用如下命令可以导出数据

mongoexport -d test -c medical -o medical.json

其中,-d test 是指明数据库,
-c medical 是指明要导出的列表
-o medical.json 是指明导出的文件名,可以在前边指定位置

基于知识图谱的问答系统1【代码学习系列】【知识图谱】【问答系统】 基于知识图谱的医疗领域问答系统【QASystemOnMedicalKG】 1 代码来源 本代码来源于github项目地址,主要是构建以疾病为中心的具有一定规模的医药领域知识图谱,并以该知识图谱完成自动问答与分析服务。其中知识图谱通过neo4j构建,代码采用python语言。 2 主要组成 ... 阅读详情

相关推荐

基于医疗知识图谱的问答系统思路分析

知识图谱在问答系统、语义搜索等领域得到了越来越多的应用,是目前人工智能领域的热点研究问题。笔者近期对中国科学院软件研究所刘焕勇老师的项目QABasedOnMedicaKnowledgeGraph(github链接:https://github.com/liuhuanyong/QASystemOnMedicalKG)进行了较为系统的梳理,受益匪浅,也对该项目的进一步完善进行了一些不成熟的思考。本着分...

u010404548的博客 4077

耗时一周时间,我构建了基于知识图谱的医生推荐系统(附完整版 Python 源码)

本项目主要实现了疾病自诊和医生推荐两个功能并构建了医生服务指标评价体系。疾病自诊主要通过利用BERT+CRF+BiLSTM的医疗实体识别, 建立医学知识图谱, 从而实现基于患者问诊文本的疾病初诊,这个功能帮助患者初步了解自身的疾病情况并为下一步与医生的交流提供支持。第二个功能是医生推荐,本平台采用基于Jacard距离的Minhash和minhashLSHForest算法来进行推荐, 匹配患者的咨询文本和医生的历史问诊信息,从而为患者推荐最适合的医生,最后我们使用Django框架进行项目发布。

Python数据挖掘 6388

构建医疗领域知识图谱的关键步骤

非常感谢您的邀请,我很荣幸能够为您撰写这篇技术博客文章。作为一位计算机领域的专家,我将以专业而深入的视角,为您详细介绍"构建医疗领域知识图谱的关键步骤"。让我们一起探索这个专题,希望能为读者带来实用价值。 1. 背景介绍 医疗行业是一个信息密集型的领域,包含了大量的医学知识、疾病诊断、治疗方案等内容。随着医疗数据的快

AI天才研究院 1237

知识图谱构建概述

知识图谱系列之知识图谱概述

jinhao_2008的专栏 3611

大数据知识图谱之深度学习——基于BERT+LSTM+CRF深度学习识别模型医疗知识图谱问答可视化系统_bert+lstm

知识图谱是将知识连接起来形成的一个网络。由节点和边组成,节点是实体,边是两个实体的关系,节点和边都可以有属性。知识图谱除了可以查询实体的属性外,还可以很方便的从一个实体通过遍历关系的方式找到相关的实体及属性信息。BERT是一种基于Transformer 架构的预训练语言模型,能够捕捉双向上下文信息。BERT 模型在大规模语料上进行预训练,然后可以通过微调来适应特定任务,BERT 可用于处理输入文本,提取丰富的语义信息。它可以用于文本的编码和表征学习,以便更好地理解医学问答中的问题和回答。

2401_84573112的博客 1387

【知识图谱】实践篇——基于医疗知识图谱的问答系统实践(Part1):项目介绍与环境准备

在我阅读这个项目时(2022-7-17),该项目的start数目大4.2k,fork达1.6k。从数据上来看,大家是比较认可该项目的。当然,原作者也是很厉害的,是中国科学院软件研究的所刘焕勇老师。该项目从无到有搭建一个以疾病为中心的一定规模医药领域知识图谱,并以该知识图谱完成自动问答与分析服务。适合一个初学人员了解该类项目的pipline过程。该项目立足医药领域,以垂直型医药网站为数据来源,以疾病为核心,构建起一个包含7类规模为4.4万的知识实体,11类规模约30万实体关系的知识图谱。......

让算法融入生活,改变生活! 4262

图谱实战 | 真实世界医疗知识图谱及临床事件图谱构建

转载公众号 | DataFunTalk分享嘉宾:李林峰博士医渡云 技术创新副总裁编辑整理:田育珍 搜狗出品平台:DataFunTalk导读:今天介绍的主题是真实世界医疗知识图谱及临床事件图谱的构建。数据源主要来自于医院的EMR、HIS、LIS、RIS等系统,以及医学文献、临床指南、书籍和药品说明书这类已经沉淀好的知识。首先简单介绍一下医渡云和几个医疗数据相关的概念。医渡云成立于2014年,公司以...

开放知识图谱 2811

【知识图谱】基于neo4j构建医疗领域知识图谱

根据字典形式的数据创建结点,以疾病为中心定义关系形成三元组表示的知识,将结点和关系导入neo4j数据库形成知识图谱,通过运行build_medicalgraph.py脚本构建图谱。

知识靠谱的博客 3749

知识图谱系列(二):构建一个医疗知识图谱

之前我们简单介绍了怎么构建一个知识图谱,这次就来看看一个完整的构筑流程,以QASystemOnMedicalKG作为参考,主要想展示一下从最初收集非结构化的数据、到一步步处理并通过知识图谱展示的简单流程。 具体的爬虫过程可以看看这个博客的文章,我主要想快速过一遍这个流程,看看最后知识图谱是如何辅助对话系统的。 首先,我们的数据来源是寻医问药,随便打开一个疾病,可以看到基本的信息: 需要爬取的信息包括疾病名、所属目录、症状、治疗方案等等,都可以从页面上获取, 得到了这些信息,我们就可以构建知识图谱,思路上

jesseyule的博客 1万+

【知识图谱】医疗知识图谱可视化及问答系统设计与实现(2024年最全教程)

基于知识图谱+flask的KBQA医疗可视化查询及问答系统,以neo4j作为存储,基于python+pycharm进行系统开发,前端HTML+JavaScript+CSS,利用echarts进行图谱可视化展示。使用爬虫算法和MongoDB数据库进行数据获取处理。

知识靠谱的博客 5332

基于python+django的知识图谱的医疗问答系统的实现.zip

基于python+django的知识图谱的医疗问答系统的实现.zip 运行步骤 需要先安装Python的相关依赖:requests,pymysql,Django==3.2.8,bs4,py2neo==4.3.0,pyahocorasick==1.4.2,urllib,jieba 安装jdk1.8,配置环境变量,neo4j图形数据库 第1步:创建数据库,数据库名:medical_care 第2步:安装neo4j 将文件夹下neo4j-community-3.1.0-windows\neo4j-community-3.1.0 放到环境变量中,添加NEO4J_HOME 第3步:执行SQL语句,Navicat打开medical_care.sql文件,运行该文件中的SQL语句 第4步:源码文件为medical_care.zip,修改源代码中的settings.py文件,改成自己的mysql数据库用户名和密码 第5步:运行命令:python manage.py runserver 8091 第6步:打开浏览器查看http://127.0.0.1:8091

知识图谱基础代码构建(医疗向)

医疗知识图谱构建过程

chen_nnn的博客 7571

【PVCodeNet】《Palm Vein Recognition Network Combining Transformer and CNN》

1]吴凯,沈文忠,贾丁丁,等.融合Transformer和CNN的手掌静脉识别网络[J].计算机工程与应用,2023,59(24):98-109.

bryant_meng 1279

基于医疗知识图谱的问答系统源码详解

项目还是找的中科院软件所刘焕勇老师在github上的开源项目,基于知识图谱的医药领域问答项目QABasedOnMedicaKnowledgeGraph。 该项目立足医药领域,以垂直型医药网站为数据来源,以疾病为核心,构建起一个包含7类规模为4.4万的知识实体,11类规模约30万实体关系的知识图谱。 项目地址:https://github.com/liuhuanyong/QASystemOnMedi...

vivian_ll的博客 9万+

数字后端实现Innovus教程之手把手教你N种高亮timing path和clock tree方法

数字IC后端设计实现Innovus教程之手把手教你N种高亮timing path和clock tree方法

weixin_37584728的博客 3590

STM32F407控制舵机

STM32F407控制舵机运行 使用STM32F407控制舵机,首先来看下舵机图片 [黑红白,黑线接GND,红线接VCC,信号线接白色线(有的舵机线的颜色不同,例如褐色红色橘色,仅颜色不同接法还如上述)] 舵机需要信号的周期为20ms,即频率为50Hz。 接下来正式操作: 步骤一:STM32F4程序(本次程序的PWM信号产生的周期频率由定时器TIM14通道1产生(TIM14_CH1),想要使用其它定时器也没关系下面会讲到) #include "pwm.h" void TIM14_CH1_PWM_In

Ievn_Hare的博客 1万+

医疗知识图谱问答系统探究(一)

1、项目背景 为通过项目实战增加对知识图谱的认识,几乎找了所有网上的开源项目及视频实战教程。 果然,功夫不负有心人,找到了中科院软件所刘焕勇老师在github上的开源项目,基于知识图谱的医药领域问答项目QABasedOnMedicaKnowledgeGraph。 项目地址:https://github.com/liuhuanyong/QASystemOnMedicalKG 用了两个晚上搭建了两套,Mac版与Windows版,哈哈,运行成功!!! 从无到有搭建一个以疾病为中心的一定规模医药领域知识图

朝闻道 6062

VisionMaster图像源模块的5个隐藏功能:从自动切换到二次开发接口

本文深入解析了VisionMaster图像源模块的5个隐藏功能,从基础的自动切换与字符触发过滤,到高级的脚本扩展与基于COM组件的二次开发接口。这些功能能显著提升工业视觉项目的自动化水平、灵活性与系统集成能力,帮助开发者实现更高效的离线测试流水线和外部精确控制。

rgv23456789的博客 651

大数据知识图谱之深度学习:基于BERT+LSTM+CRF深度学习识别模型医疗知识图谱问答可视化系统

基于BERT+LSTM+CRF深度学习识别模型医疗知识图谱问答可视化系统通过构建医疗领域的知识图谱来实现计算机的深度学习,并且能够实现自动问答的功能。本次的内容研究主要是通过以Python技术来对医疗相关内容进行数据的爬取,通过爬取足量的数据来进行知识图谱的的搭建,基于Python语言通过echarts、Neo4j来实现知识图谱的可视化。通过智慧问答的方式构建出以BERT+LSTM+CRF的深度学习识别模型,从而完成对医疗问句主体的识别,构建出数据集以及实现文本的训练。通过Django来进行web网页的开发

专注 AI、大数据、Python、爬虫、数据分析可视化、机器学习、推荐算法、知识图谱、大模型应用与全栈系统开发,长期沉淀真实项目案例、源码解析、系统设计、部署经验与工程化实践,分享可运行、可复用、可落地的技术方案。 1万+

DOTween回调函数的隐藏技巧:优化你的Unity动画流程

本文深入探讨了DOTween回调函数在Unity动画开发中的高级应用技巧,帮助开发者优化动画流程。通过分析回调机制、链式应用模式和大规模动画系统管理,提升性能与可维护性,特别适合需要高效处理复杂动画场景的Unity开发者。

weixin_27945229的博客 319

三相五柱式消弧线圈自动测控装置设计与实现

本文设计了一种基于STM32的三相五柱式消弧线圈自动测控装置。该装置采用信号注入法检测系统对地电容电流,通过PID自适应算法调节消弧线圈电感值,实现单相接地故障时的快速补偿。硬件系统包含信号采集、注入、控制执行等模块,软件采用Goertzel算法提取特征频率信号,结合增量式PID实现精确控制。实验结果表明,装置电容检测误差小于2%,调谐响应时间小于50ms,满足配电网对消弧线圈自动调谐的技术要求。

AI的内部世界的博客 236

基于知识图谱的医疗诊断系统论文

本作品禁止任何人/企业申请专利,禁止任何人使用本作品参加任何比赛或作为毕业设计,如使用本作品源码进行商业用途务必联系作者。 一.科学性 1.研究意义 信息科技经过 60 余年的发展,已经普及到社会生活的每一个角落。随着信息技术在国家治理、经济运行的方方面面的应用,大量的数据随之产生。而互联网技术的爆发式发展使得近年来产生的数据总量超过了人类以往产生的历史数据的总和,医疗行业的数据增长幅度...

weixin_30577801的博客 3868

第29章:PCL PrincipalCurvatures 曲率估计

PrincipalCurvatures(主曲率估计)是一种用于计算点云表面曲率的算法。曲率描述了曲面局部的弯曲程度,是表面几何特征的重要指标。在点云处理中,估计表面的曲率对于形状分析、物体识别、表面重建等任务非常重要。主曲率是曲面上某一点的最大和最小曲率方向。通过计算点云的主曲率,我们可以获得点云中每个点的局部形状特征。通常情况下,主曲率包括两个主要参数:最大主曲率(最大曲率方向上的曲率)和最小主曲率(最小曲率方向上的曲率)。优点缺点提供了对点云表面局部形状的深入分析。

yumeiguo的博客 211

(一)基于知识图谱的医疗问答系统(实例+代码理解)保姆级教程

基于知识图谱的医疗问答系统,超详细!!!

weixin_44516623的博客 2万+

YOLOv13全网首发:CVPR2026 MixerCSeg | DEGConv方向引导边缘门控,破解细长裂缝检测难题

DEGConv通过方向先验嵌入、边缘增强卷积和动态门控三大机制,针对性解决了YOLO在处理裂缝类细长、多方向、低对比度目标时的特征提取不足问题,显著提升了裂缝检测的精度与鲁棒性。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 438

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

医疗数据大集结

上表主要聚焦中文数据集(和少量混合),其中个别英文数据集或多语数据集也附在最后以便参考。更多“英文”数据集将在后文的**“1.2 英文/多语言数据集”**或“其他附录”中进一步列出。当前出现了大量专注“图像+文本多模态”的医疗模型与评测,主要解决放射学影像、内窥镜图像、病理图像等结合文字报告的多模态理解、问答和生成。的医疗/生物医学相关数据集,涵盖问答、对话、知识图谱、文本抽取等任务。除上述大语言模型及数据集外,以下是一些常见的。

Debroon 1万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

上一篇: proto3定义数据类型,含二维数组及解析
下一篇: 爬取网页文本数据--Python
这般女子
博客等级 码龄7年 22粉丝 30原创
评论 13
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值