医疗AI实战:如何用NLP技术从电子病历中提取科研特征(附Python代码)

news2026/4/2 22:50:26
医疗AI实战从电子病历中挖掘科研金矿的NLP技术指南在医疗健康领域电子病历EMR是一座尚未充分开发的数据金矿。据统计医疗机构产生的数据中超过70%是非结构化文本信息包括医生记录、检查报告和病程描述等。这些数据蕴含着丰富的临床知识和科研价值但传统人工提取方式效率低下且容易出错。本文将深入探讨如何利用自然语言处理NLP技术从海量电子病历中自动化提取有价值的科研特征并提供可直接应用于实际项目的Python代码示例。1. 电子病历数据的特点与挑战医疗文本数据具有鲜明的专业特性这为自动化处理带来了独特挑战。理解这些特点是构建有效NLP管道的前提。专业术语密集是医疗文本的首要特征。一份普通住院病历可能包含数百个医学术语从常见的高血压到专业的冠状动脉粥样硬化性心脏病。这些术语往往具有严格的层级关系和语义网络需要专业的医学知识库支持。术语变体丰富是另一大挑战。同一临床概念可能有多种表达方式比如心肌梗死可能被记录为心梗、MI或心脏病发作。医生个体化的书写习惯进一步增加了这种变体的多样性。上下文依赖性在医疗文本中表现尤为突出。例如糖尿病在不同上下文中可能指代不同的含义——可能是主诉、既往史、家族史或鉴别诊断。准确理解这些细微差别对特征提取至关重要。表格电子病历中常见的数据类型及其特点数据类型出现频率结构化程度NLP处理难度主诉高低中现病史高低高既往史中中中体格检查高中中诊断高高低医嘱高高低提示在实际项目中建议先从结构化程度较高的诊断和医嘱部分入手积累经验后再处理自由文本部分可降低初期项目风险。医疗文本还具有高度模糊性和隐含逻辑。医生常用简略表达或专业缩写如BP 140/90表示血压值。此外医疗决策的逻辑往往隐含在文本中如某种症状的出现可能导致特定的检查或治疗这些关联需要专业知识才能准确解读。面对这些挑战我们需要构建专门的NLP处理流程以下代码展示了如何初始化一个基础的医疗文本处理环境import spacy import pandas as pd from sklearn.feature_extraction.text import TfidfVectorizer # 加载专业的医疗语言模型 nlp spacy.load(en_core_sci_md) # 可使用中文医疗模型如bert-base-chinese-medical # 示例病历数据 emr_data pd.DataFrame({ text_id: [1, 2, 3], text: [ 患者主诉持续性头痛3天伴恶心呕吐无发热。既往有偏头痛史。, 体检发现血压升高(160/95mmHg)建议低盐饮食并定期监测。, 咳嗽、咳痰2周胸片示右下肺斑片影诊断社区获得性肺炎。 ], label: [神经系统, 心血管系统, 呼吸系统] })2. 医疗NLP技术栈构建构建高效的医疗文本处理管道需要精心选择技术组件并针对医疗场景进行优化。本节将详细介绍各环节的技术选型和实现方法。2.1 专业词典与知识库集成医疗领域NLP区别于通用NLP的核心在于专业知识的融入。UMLS统一医学语言系统是最全面的生物医学概念词典包含超过300万个概念和1,200多万个概念名称。虽然主要面向英语但其框架理念同样适用于中文场景。中文医疗NLP可结合以下资源中医药大学发布的《中医临床术语集》国家卫生健康委发布的《临床诊疗术语》各大医院自行维护的专科术语表以下代码演示了如何将专业词典集成到NLP管道中from spacy.matcher import PhraseMatcher # 初始化短语匹配器 matcher PhraseMatcher(nlp.vocab) # 加载自定义医学术语表 medical_terms [高血压, 糖尿病, 冠状动脉粥样硬化, 社区获得性肺炎] patterns [nlp(text) for text in medical_terms] matcher.add(MEDICAL_TERMS, patterns) # 应用匹配器 doc nlp(患者有高血压和糖尿病史本次因社区获得性肺炎入院) matches matcher(doc) for match_id, start, end in matches: span doc[start:end] print(f发现医学术语: {span.text})2.2 文本预处理流水线医疗文本预处理需要特别考虑保留关键临床信息的同时去除噪声。不同于通用文本医疗记录中的数字、剂量和测量值往往包含重要临床意义不应简单去除。优化的预处理流程应包括分段处理将长病历按章节主诉、现病史、既往史等拆分句子边界检测调整规则以处理医疗特有的缩写如q.d.表示每日一次特定保留保留数字、测量单位、药品剂量等关键信息否定检测识别并标记否定语境如无发热import re from functools import partial def medical_preprocessor(text): # 保留临床关键模式数字单位(如160/95mmHg)、药品(如阿司匹林100mg) protected_patterns [ r\d/\dmmHg, # 血压 r\dmg, # 剂量 r\d\.\dcm, # 测量 r[A-Za-z]\.\d, # 实验室代码如WBC.12 ] # 先标记保护区域 protected [] for i, pattern in enumerate(protected_patterns): for match in re.finditer(pattern, text): protected.append((match.group(), fPROTECTED_{i})) text text.replace(match.group(), f PROTECTED_{i} ) # 常规清洗 text re.sub(r[^\w\s./-], , text) # 保留分数和剂量符号 text re.sub(r\s, , text).strip() # 恢复保护区域 for original, placeholder in protected: text text.replace(placeholder, original) return text # 应用预处理 sample_text 血压160/95mmHg建议阿司匹林100mg q.d.WBC.12升高 clean_text medical_preprocessor(sample_text) print(clean_text) # 输出: 血压160/95mmHg 建议阿司匹林100mg q d WBC.12 升高2.3 临床实体识别模型基于规则的匹配虽然精确度高但召回率有限。现代医疗NLP多采用深度学习模型特别是基于Transformer的架构。对于中文医疗文本可选用以下预训练模型进行微调BERT-MED基于中文BERT在医疗文本上继续训练的版本BioBERT在生物医学文献上训练的BERT变体需中文化ClinicalBERT针对临床记录优化的模型实体识别任务通常采用BIO标注方案Begin, Inside, Outside。以下示例展示如何使用transformers库加载预训练模型from transformers import AutoTokenizer, AutoModelForTokenClassification # 加载预训练中文医疗NER模型 model_name bert-base-chinese-medical-ner tokenizer AutoTokenizer.from_pretrained(model_name) model AutoModelForTokenClassification.from_pretrained(model_name) # 示例NER识别 text 患者男性65岁主诉胸痛2小时心电图示ST段抬高诊断急性心肌梗死 inputs tokenizer(text, return_tensorspt) outputs model(**inputs) # 解码预测结果 predictions outputs.logits.argmax(dim-1)[0] tokens tokenizer.convert_ids_to_tokens(inputs[input_ids0]) for token, pred in zip(tokens, predictions): print(f{token}: {model.config.id2label[pred.item()]})3. 科研特征工程实践从识别出的临床实体到可用于研究的特征需要经过精心设计的特征工程流程。本节将介绍几种实用的特征构建方法。3.1 时间序列特征构建临床事件的时间关系对研究疾病进展和治疗效果至关重要。我们可以从病历文本中提取事件时间戳并构建时序特征。时间表达式识别是第一步。医疗文本中的时间表达有其特点相对时间入院后第3天模糊时间近日来绝对时间2023-05-10周期性每日两次以下代码展示了如何从中文医疗文本中提取和规范化时间信息import datetime from dateutil.relativedelta import relativedelta def parse_medical_time(text, reference_dateNone): 解析医疗文本中的时间表达式 if not reference_date: reference_date datetime.datetime.now() # 常见时间模式匹配 if 入院后第 in text: days int(re.search(r入院后第(\d)天, text).group(1)) return reference_date datetime.timedelta(daysdays) elif 年前 in text: years int(re.search(r(\d)年前, text).group(1)) return reference_date - relativedelta(yearsyears) elif 月前 in text: months int(re.search(r(\d)月前, text).group(1)) return reference_date - relativedelta(monthsmonths) # 其他模式处理... else: return None # 示例使用 adm_date datetime.datetime(2023, 5, 1) time_phrases [入院后第3天, 2年前, 1月前] for phrase in time_phrases: print(f{phrase}: {parse_medical_time(phrase, adm_date)})3.2 临床事件关系抽取单纯的实体列表不足以支持深入分析我们需要识别实体间的关系。例如将糖尿病与胰岛素关联为疾病-治疗关系。基于规则的关系抽取方法在医疗领域仍然有效因为临床实践遵循相对固定的模式。以下示例展示如何从用药描述中提取药物-剂量-频率关系import re def extract_medication_info(text): 从文本中提取药物相关信息 patterns { drug: r([\u4e00-\u9fa5]素|[\u4e00-\u9fa5]唑|[\u4e00-\u9fa5]汀|[\u4e00-\u9fa5]林), dose: r(\dmg|\dg|\dml), frequency: r(每日\d次|每\d小时一次|q\.?d|q\.?\dh) } result { drug: re.search(patterns[drug], text), dose: re.search(patterns[dose], text), frequency: re.search(patterns[frequency], text) } return {k: v.group() if v else None for k, v in result.items()} # 示例使用 med_texts [ 给予阿托伐他汀20mg qd, 静脉滴注头孢曲松2g q12h, 口服二甲双胍500mg 每日三次 ] for text in med_texts: print(extract_medication_info(text))3.3 特征表示与向量化将提取的医疗特征转化为机器学习模型可用的数值表示是最后一步。针对不同类型的特征应采用适当的向量化方法分类特征如诊断代码One-hot编码或嵌入表示数值特征如实验室值标准化或分箱处理文本特征如病程描述TF-IDF或现代嵌入模型以下代码展示如何使用临床BERT生成文本的语义表示from transformers import BertModel, BertTokenizer import torch # 加载临床BERT模型 tokenizer BertTokenizer.from_pretrained(bert-base-chinese-medical) model BertModel.from_pretrained(bert-base-chinese-medical) # 生成文本嵌入 text 患者男性68岁高血压病史10年糖尿病5年本次因胸痛2小时入院 inputs tokenizer(text, return_tensorspt, truncationTrue, max_length512) with torch.no_grad(): outputs model(**inputs) # 获取句子级表示平均所有token sentence_embedding outputs.last_hidden_state.mean(dim1).squeeze() print(f生成的嵌入向量维度: {sentence_embedding.shape})4. 端到端应用案例糖尿病并发症预测本节通过一个完整案例展示如何将从电子病历中提取的特征应用于实际临床研究问题——预测2型糖尿病患者发生微血管并发症的风险。4.1 数据准备与特征设计我们从虚构的糖尿病专科医院获取了5,000例2型糖尿病患者的电子病历包括人口统计学资料病史记录实验室检查结果用药记录病程描述文本设计的预测特征包括结构化特征基线HbA1c水平糖尿病病程血压控制情况血脂谱从文本提取的特征提及并发症的关键词频率用药依从性描述症状进展模式自我管理行为import pandas as pd from sklearn.model_selection import train_test_split # 模拟数据集 data pd.DataFrame({ age: [65, 58, 72, 45, 68], diabetes_duration: [10, 5, 15, 3, 12], hba1c: [7.8, 6.5, 9.2, 5.8, 8.5], text_notes: [ 患者血糖控制不佳已有视网膜病变, 规律用药血糖平稳无并发症, 糖尿病肾病III期合并高血压, 新诊断糖尿病开始生活方式干预, 双足麻木2年考虑糖尿病周围神经病变 ], has_complications: [1, 0, 1, 0, 1] }) # 文本特征提取 data[mentions_retinopathy] data[text_notes].str.contains(视网膜病变).astype(int) data[mentions_nephropathy] data[text_notes].str.contains(肾病).astype(int) data[mentions_neuropathy] data[text_notes].str.contains(神经病变).astype(int) # 准备建模数据 X data[[age, diabetes_duration, hba1c, mentions_retinopathy, mentions_nephropathy, mentions_neuropathy]] y data[has_complications] X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42)4.2 模型训练与评估我们选择梯度提升决策树GBDT作为基线模型因其能很好处理混合类型的特征并能自动学习特征交互。from sklearn.ensemble import GradientBoostingClassifier from sklearn.metrics import classification_report, roc_auc_score # 训练模型 model GradientBoostingClassifier( n_estimators100, learning_rate0.1, max_depth3, random_state42 ) model.fit(X_train, y_train) # 评估 y_pred model.predict(X_test) y_proba model.predict_proba(X_test)[:, 1] print(分类报告:) print(classification_report(y_test, y_pred)) print(fAUC分数: {roc_auc_score(y_test, y_proba):.3f}) # 特征重要性分析 feature_importance pd.DataFrame({ feature: X.columns, importance: model.feature_importances_ }).sort_values(importance, ascendingFalse) print(\n特征重要性:) print(feature_importance)4.3 结果解释与临床意义模型输出的特征重要性分析为临床决策提供了有价值的信息。在我们的示例中HbA1c水平和糖尿病病程是最强的预测因子这与临床经验一致。有趣的是从文本中提取的提及肾病特征也具有较高重要性提示病程描述中的特定关键词可能包含结构化数据未能捕获的风险信息。将模型集成到临床工作流程中时可考虑以下应用场景风险分层自动识别高风险患者优先安排专科会诊个性化筛查根据预测风险调整并发症筛查频率患者教育针对高风险患者加强自我管理教育资源分配优化有限的专科医疗资源分配注意实际临床部署前必须进行严格的验证包括在不同人群中的外部验证和可能的风险效益分析。AI模型应始终作为临床决策的支持工具而非替代。5. 部署优化与持续学习将NLP特征提取模型投入实际生产环境面临诸多挑战包括处理速度、隐私保护和模型更新等。本节讨论几个关键优化方向。5.1 处理流水线加速医疗文本处理通常需要串联多个NLP组件导致延迟累积。以下优化策略可显著提升吞吐量批处理设计支持批量文本处理的流水线模型蒸馏用更小的学生模型近似大教师模型的行为缓存机制缓存常见临床实体的识别结果并行化利用GPU加速和任务并行from joblib import Parallel, delayed from tqdm import tqdm def process_text(text): # 模拟耗时的NLP处理 doc nlp(text) entities [(ent.text, ent.label_) for ent in doc.ents] return entities # 并行处理大批量文本 texts [文本1内容..., 文本2内容..., ...] # 实际应用中可能是数千份病历 results Parallel(n_jobs4)( delayed(process_text)(text) for text in tqdm(texts) )5.2 隐私保护设计医疗数据的高度敏感性要求特殊的隐私保护措施去标识化自动识别并移除或替换直接标识符姓名、身份证号等差分隐私在特征提取或模型训练中注入可控噪声联邦学习模型训练无需集中原始数据访问控制严格的基于角色的数据访问机制以下代码展示了一个简单的去标识化处理示例import re def deidentify_chinese_medical_text(text): 中文医疗文本去标识化 # 移除姓名 (中文姓名通常2-3个汉字) text re.sub(r[张李王刘陈杨赵黄周吴][\u4e00-\u9fa5]{1,2}, [姓名], text) # 移除身份证号 text re.sub(r[1-9]\d{5}(19|20)\d{2}[01]\d[0123]\d\d{3}[\dXx], [身份证号], text) # 移除电话号码 text re.sub(r1[3-9]\d{9}, [电话], text) # 移除详细地址 text re.sub(r[\u4e00-\u9fa5]{2,10}(省|市|区|县|镇|乡|村|路|街|巷|号), [地址], text) return text # 示例使用 original_text 患者张三男35岁身份证号110105199003072134联系电话13800138000住北京市海淀区中关村南大街5号 clean_text deidentify_chinese_medical_text(original_text) print(clean_text) # 输出: 患者[姓名]男35岁身份证号[身份证号]联系电话[电话]住[地址]5.3 持续学习框架医疗知识不断更新NLP模型需要持续学习以保持准确性。设计有效的持续学习机制需要考虑数据漂移检测监控输入数据分布变化自动化再训练设定性能阈值触发模型更新版本控制维护模型版本以便回滚专家反馈环将临床医生的修正反馈纳入训练数据from datetime import datetime import pickle import os class MedicalNLPPipeline: def __init__(self, model_pathNone): self.model self.load_model(model_path) if model_path else None self.last_trained None self.performance_history [] def load_model(self, path): with open(path, rb) as f: return pickle.load(f) def save_model(self, path): with open(path, wb) as f: pickle.dump(self.model, f) def monitor_performance(self, X_test, y_test): current_acc self.model.score(X_test, y_test) self.performance_history.append({ date: datetime.now(), accuracy: current_acc }) # 如果性能下降超过阈值触发再训练 if len(self.performance_history) 1 and \ (self.performance_history[-2][accuracy] - current_acc) 0.05: print(性能下降超过5%建议重新训练模型) return False return True def retrain(self, new_data): print(启动模型再训练...) # 实际实现中应包括完整的训练流程 self.model.fit(new_data[X], new_data[y]) self.last_trained datetime.now() return True6. 前沿方向与挑战医疗NLP领域发展迅速以下几个方向特别值得关注多模态学习整合文本、影像、基因组和传感器数据提供更全面的患者表征。例如将放射学报告文本与对应影像关联分析。大型语言模型在医疗领域展现出惊人潜力。专业化的医疗LLM如Med-PaLM 2在USMLE风格问题上达到专家水平。中文领域也有类似探索如华佗GPT等。可解释AI对医疗应用至关重要。医生需要理解模型的决策依据才能建立信任。技术如注意力可视化、特征归因和反事实解释正被积极研究。领域适应技术帮助解决医疗机构间的数据分布差异。迁移学习、领域对抗训练等方法可提升模型在新环境中的表现。然而这些技术进步也面临现实挑战数据孤岛医疗数据分散在不同系统整合困难标注成本高质量医学标注需要专业医生参与成本高昂评估标准缺乏统一的医疗NLP评估基准伦理约束算法偏见、责任认定等问题尚未完全解决以下代码展示了如何使用领域适应技术提升模型在新医院数据上的表现from sklearn.linear_model import LogisticRegression from sklearn.ensemble import RandomForestClassifier from sklearn.calibration import CalibratedClassifierCV def domain_adaptation_pipeline(source_X, source_y, target_X, target_y): 领域自适应分类管道 # 源领域训练基础模型 base_model LogisticRegression(max_iter1000) base_model.fit(source_X, source_y) # 在目标领域少量标注数据上校准 calibrated_model CalibratedClassifierCV(base_model, cvprefit) calibrated_model.fit(target_X, target_y) return calibrated_model # 示例使用 # source_X, source_y 来自源医院的丰富数据 # target_X, target_y 来自目标医院的少量标注数据 da_model domain_adaptation_pipeline(source_X, source_y, target_X[:100], target_y[:100]) da_score da_model.score(target_X[100:], target_y[100:]) print(f领域自适应模型准确率: {da_score:.3f})医疗AI的发展正在重塑临床研究和实践的面貌。从电子病历中自动化提取科研特征不仅提高了研究效率还开启了新的科学发现路径。通过精心设计的NLP流水线我们可以将非结构化文本转化为结构化知识为精准医学和转化研究提供动力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2476868.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…