最新要闻
- 深圳三洲田(深圳三洲田房价
- 南宁雍禾种植毛发医院地址在哪里 是正规吗 带大家了解
- 李梦转发微博庆祝八一建军节:八一精神 永驻我心 沙场点兵耀中华
- 万事利(301066.SZ):累计耗资1567.33万元回购0.74%股份
- 香港2023年第二季度本地生产总值同比上升1.5%
- 爸爸抛弃脑积水的女儿和老婆 父亲在齐胸积水中肩扛女儿 基本情况讲解
- 北京保险业已收到因灾报损金额超1.66亿元
- 普冉股份预亏去年净利降7成 上市超募9亿中信证券保荐
- 想招财旺宅?学会正确摆放麒麟,财运滚滚来!
- 北京房山一男子开铲车在洪流中转移被困居民
- 访济南历城二中女足主教练姚波:夺冠后从零开始训练!
- 日租电池 一天只要50!蔚来:这波我在“大气层”
- 127岁!世界上最长寿男子去世 一生喜欢喝酒
- 卢伟冰预告Redmi发布会 米粉发现K60 Ultra玄机:搭载独显芯片
- 12.68万买合资紧凑SUV!新款福特领睿上市:压力给到国产
- 《仙剑世界》下个月开启付费测试 384平方公里无缝大地图
广告
手机

玻璃的主要成分是什么(玻璃是由什么材料构成的?)

紫罗兰玉是什么玉
- 玻璃的主要成分是什么(玻璃是由什么材料构成的?)
- 紫罗兰玉是什么玉
- 国创高新发布股价异动公告:已剥离房地产中介服务业务
- 超市哪个牌子的肥皂质量好?
- 建工修复:参展第四届湖南绿博会 助力“三湘大地”绿色低碳循环发展
- 北京因降雨引发交通断路等情况共88处,已恢复通行38处
家电
医疗知识图谱问答——文本分类解析
【资料图】
前言
Neo4j的数据库构建完成后,现在就是要实现医疗知识的解答功能了。因为是初版,这里的问题解答不会涉及深度学习,目前只是一个条件查询的过程。而这个过程包括对问题的关键词拆解分类,然后提取词语和类型去图数据库查询,最后就是根据查询结果和问题类型组装语言完成回答,那么以下就是完成这个过程的全部代码流程了。
环境
这里所需的环境除了前面提到的外,还需要ahocorasick库,用于从问题中提取关键词。另一个是colorama,用于给输出面板文字美化的库。
编码
1. 问答面板
from colorama import init,Fore,Style,Backfrom classifier import Classifierfrom parse import Parsefrom answer import Answerclass ChatRobot: def __init__(self): init(autoreset=True) print("====================================") print(Back.BLUE+"欢迎进入智慧医疗问答面板!") print("====================================") def main(self, question): print("") default_answer = "您好,小北知识有限,暂时回答不上来,正在努力迭代中!" final_classify = Classifier().classify(question) parse_sql = Parse().main(final_classify) final_answer = Answer().main(parse_sql) if not final_answer: return default_answer return "\n\n".join(final_answer)if __name__ == "__main__": robot = ChatRobot() while 1: print(" ") question = input("您问:") if "关闭" in question: print("") print("小北说:", "好的,已经关闭了哦,欢迎您下次提问~") break; answer = robot.main(question) print(Fore.LIGHTRED_EX+"小北答:", Fore.GREEN + answer)
2. 问题归类
import ahocorasickclass Classifier: def __init__(self): # print("开始初始化:", time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) self.checks_wds = [i.strip() for i in open("dict/checks.txt", encoding="utf-8", mode="r") if i.strip()] self.departments_wds = [i.strip() for i in open("dict/departments.txt", encoding="utf-8", mode="r") if i.strip()] self.diseases_wds = [i.strip() for i in open("dict/diseases.txt", encoding="utf-8", mode="r") if i.strip()] self.drugs_wds = [i.strip() for i in open("dict/drugs.txt", encoding="utf-8", mode="r") if i.strip()] self.foods_wds = [i.strip() for i in open("dict/foods.txt", encoding="utf-8", mode="r") if i.strip()] self.producers_wds = [i.strip() for i in open("dict/producers.txt", encoding="utf-8", mode="r") if i.strip()] self.symptoms_wds = [i.strip() for i in open("dict/symptoms.txt", encoding="utf-8", mode="r") if i.strip()] self.features_wds = set(self.checks_wds+self.departments_wds+self.diseases_wds+self.drugs_wds+self.foods_wds+self.producers_wds+self.symptoms_wds) self.deny_words = [name.strip() for name in open("dict/deny.txt", encoding="utf-8", mode="r") if name.strip()] # actree 从输入文本中提取出指定分词表中的词 self.actree = self.build_actree(list(self.features_wds)) # 给每个词创建类型词典(相当慢的操作) self.wds_dict = self.build_words_dict() # print("给每个词创建类型词典结束:", time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) # 问句疑问词 self.symptom_qwds = ["症状", "表征", "现象", "症候", "表现"] self.cause_qwds = ["原因", "成因", "为什么", "怎么会", "怎样才", "咋样才", "怎样会", "如何会", "为啥", "为何", "如何才会", "怎么才会", "会导致", "会造成"] self.acompany_qwds = ["并发症", "并发", "一起发生", "一并发生", "一起出现", "一并出现", "一同发生", "一同出现", "伴随发生", "伴随", "共现"] self.food_qwds = ["饮食", "饮用", "吃", "食", "伙食", "膳食", "喝", "菜", "忌口", "补品", "保健品", "食谱", "菜谱", "食用", "食物", "补品"] self.drug_qwds = ["药", "药品", "用药", "胶囊", "口服液", "炎片"] self.prevent_qwds = ["预防", "防范", "抵制", "抵御", "防止", "躲避", "逃避", "避开", "免得", "逃开", "避开", "避掉", "躲开", "躲掉", "绕开", "怎样才能不", "怎么才能不", "咋样才能不", "咋才能不", "如何才能不", "怎样才不", "怎么才不", "咋样才不", "咋才不", "如何才不", "怎样才可以不", "怎么才可以不", "咋样才可以不", "咋才可以不", "如何可以不", "怎样才可不", "怎么才可不", "咋样才可不", "咋才可不", "如何可不"] self.lasttime_qwds = ["周期", "多久", "多长时间", "多少时间", "几天", "几年", "多少天", "多少小时", "几个小时", "多少年"] self.cureway_qwds = ["怎么治疗", "如何医治", "怎么医治", "怎么治", "怎么医", "如何治", "医治方式", "疗法", "咋治", "怎么办", "咋办", "咋治"] self.cureprob_qwds = ["多大概率能治好", "多大几率能治好", "治好希望大么", "几率", "几成", "比例", "可能性", "能治", "可治", "可以治", "可以医"] self.easyget_qwds = ["易感人群", "容易感染", "易发人群", "什么人", "哪些人", "感染", "染上", "得上"] self.check_qwds = ["检查", "检查项目", "查出", "检查", "测出", "试出"] self.belong_qwds = ["属于什么科", "属于", "什么科", "科室"] self.cure_qwds = ["治疗什么", "治啥", "治疗啥", "医治啥", "治愈啥", "主治啥", "主治什么", "有什么用", "有何用", "用处", "用途", "有什么好处", "有什么益处", "有何益处", "用来", "用来做啥", "用来作甚", "需要", "要"] """构造actree,加速过滤""" def build_actree(self, wordlist): actree = ahocorasick.Automaton() for index, word in enumerate(wordlist): actree.add_word(word, (index, word)) actree.make_automaton() return actree # 构建特征词属性 def build_words_dict(self): words_dict = {} check_words = set(self.checks_wds) department_words = set(self.departments_wds) disease_words = set(self.diseases_wds) drug_words = set(self.drugs_wds) food_words = set(self.foods_wds) producer_words = set(self.producers_wds) symptom_words = set(self.symptoms_wds) for word in self.features_wds: words_dict[word] = [] if word in check_words: words_dict[word].append("check") if word in department_words: words_dict[word].append("department") if word in disease_words: words_dict[word].append("disease") if word in drug_words: words_dict[word].append("drug") if word in food_words: words_dict[word].append("food") if word in producer_words: words_dict[word].append("producer") if word in symptom_words: words_dict[word].append("symptom") return words_dict # 根据输入返回问题类型 def classify(self, sent): # 最终输入给解析器的字典 data = {} region_words = [] lists = self.actree.iter(sent) for ii in lists: cur_word = ii[1][1] region_words.append(cur_word) # {"职业黑变病": ["diseases"], "倒睫": ["diseases", "symptom"]} final_dict = {i_name: self.wds_dict.get(i_name) for i_name in region_words} data["args"] = final_dict question_type = "other" questions_type = [] # ["diseases", "diseases", "symptom"] type = [] for i_type in final_dict.values(): type += i_type # 判断type中是否有指定类型, 提出的问题是否包含指定的修饰词,给问题定类型 # 1. 如提问词是否出现状态词语,那就是问某种疾病会出现什么症状 if self.check_word_exist(self.symptom_qwds, sent) and ("disease" in type): question_type = "disease_symptom" questions_type.append(question_type) # 根据症状问疾病 if self.check_word_exist(self.symptom_qwds, sent) and ("symptom" in type): question_type = "symptom_disease" questions_type.append(question_type) # 原因 if self.check_word_exist(self.cause_qwds, sent) and ("disease" in type): question_type = "disease_cause" questions_type.append(question_type) # 并发症 if self.check_word_exist(self.acompany_qwds, sent) and ("disease" in type): question_type = "disease_acompany" questions_type.append(question_type) # 推荐食品 if self.check_word_exist(self.food_qwds, sent) and "disease" in type: deny_status = self.check_word_exist(self.deny_words, sent) if deny_status: question_type = "disease_not_food" else: question_type = "disease_do_food" questions_type.append(question_type) # 已知食物找疾病 if self.check_word_exist(self.food_qwds + self.cure_qwds, sent) and "food" in type: deny_status = self.check_word_exist(self.deny_words, sent) if deny_status: question_type = "food_not_disease" else: question_type = "food_do_disease" questions_type.append(question_type) # 推荐药品 if self.check_word_exist(self.drug_qwds, sent) and "disease" in type: question_type = "disease_drug" questions_type.append(question_type) # 药品治啥病 if self.check_word_exist(self.cure_qwds, sent) and "drug" in type: question_type = "drug_disease" questions_type.append(question_type) # 疾病接受检查项目 if self.check_word_exist(self.check_qwds, sent) and "disease" in type: question_type = "disease_check" questions_type.append(question_type) # 已知检查项目查相应疾病 if self.check_word_exist(self.check_qwds + self.cure_qwds, sent) and "check" in type: question_type = "check_disease" questions_type.append(question_type) # 症状防御 if self.check_word_exist(self.prevent_qwds, sent) and "disease" in type: question_type = "disease_prevent" questions_type.append(question_type) # 疾病医疗周期 if self.check_word_exist(self.lasttime_qwds, sent) and "disease" in type: question_type = "disease_lasttime" questions_type.append(question_type) # 疾病治疗方式 if self.check_word_exist(self.cureway_qwds, sent) and "disease" in type: question_type = "disease_cureway" questions_type.append(question_type) # 疾病治愈可能性 if self.check_word_exist(self.cureprob_qwds, sent) and "disease" in type: question_type = "disease_cureprob" questions_type.append(question_type) # 疾病易感染人群 if self.check_word_exist(self.easyget_qwds, sent) and "disease" in type: question_type = "disease_easyget" questions_type.append(question_type) # 若没有查到相关的外部查询信息,那么则将该疾病的描述信息返回 if questions_type == [] and "disease" in type: questions_type = ["disease_desc"] # 若没有查到相关的外部查询信息,那么则将该疾病的描述信息返回 if questions_type == [] and "symptom" in type: questions_type = ["symptom_disease"] # 将多个分类结果进行合并处理,组装成一个字典 data["question_types"] = questions_type return data def check_word_exist(self, word_list, words): for item in word_list: if item in words: return True return False
3. 类型解析(查询组装)
class Parse: def main(self, classify): entity = classify["args"] questions_type = classify["question_types"] entity_dict = self.entity_transform(entity) sqls = [] for question in questions_type: sql_dict = {} sql_dict["qustion_type"] = question sql_dict["sql"] = [] sql = [] if question == "disease_symptom": sql = self.sql_transfer(question, entity_dict.get("disease")) elif question == "symptom_disease": sql = self.sql_transfer(question, entity_dict.get("symptom")) elif question == "disease_cause": sql = self.sql_transfer(question, entity_dict.get("disease")) elif question == "disease_acompany": sql = self.sql_transfer(question, entity_dict.get("disease")) elif question == "disease_not_food": sql = self.sql_transfer(question, entity_dict.get("disease")) elif question == "disease_do_food": sql = self.sql_transfer(question, entity_dict.get("disease")) elif question == "food_not_disease": sql = self.sql_transfer(question, entity_dict.get("food")) elif question == "food_do_disease": sql = self.sql_transfer(question, entity_dict.get("food")) elif question == "disease_drug": sql = self.sql_transfer(question, entity_dict.get("disease")) elif question == "drug_disease": sql = self.sql_transfer(question, entity_dict.get("drug")) elif question == "disease_check": sql = self.sql_transfer(question, entity_dict.get("disease")) elif question == "check_disease": sql = self.sql_transfer(question, entity_dict.get("check")) elif question == "disease_prevent": sql = self.sql_transfer(question, entity_dict.get("disease")) elif question == "disease_lasttime": sql = self.sql_transfer(question, entity_dict.get("disease")) elif question == "disease_cureway": sql = self.sql_transfer(question, entity_dict.get("disease")) elif question == "disease_cureprob": sql = self.sql_transfer(question, entity_dict.get("disease")) elif question == "disease_easyget": sql = self.sql_transfer(question, entity_dict.get("disease")) elif question == "disease_desc": sql = self.sql_transfer(question, entity_dict.get("disease")) if sql: sql_dict["sql"] = sql sqls.append(sql_dict) return sqls def sql_transfer(self, question_type, entities): # 查询语句 sql = [] # 查询疾病的原因 if question_type == "disease_cause": sql = ["MATCH (m:Diseases) where m.name = "{0}" return m.name, m.cause".format(i) for i in entities] # 查询疾病的防御措施 elif question_type == "disease_prevent": sql = ["MATCH (m:Diseases) where m.name = "{0}" return m.name, m.prevent".format(i) for i in entities] # 查询疾病的持续时间 elif question_type == "disease_lasttime": sql = ["MATCH (m:Diseases) where m.name = "{0}" return m.name, m.cure_lasttime".format(i) for i in entities] # 查询疾病的治愈概率 elif question_type == "disease_cureprob": sql = ["MATCH (m:Diseases) where m.name = "{0}" return m.name, m.cured_prob".format(i) for i in entities] # 查询疾病的治疗方式 elif question_type == "disease_cureway": sql = ["MATCH (m:Diseases) where m.name = "{0}" return m.name, m.cure_way".format(i) for i in entities] # 查询疾病的易发人群 elif question_type == "disease_easyget": sql = ["MATCH (m:Diseases) where m.name = "{0}" return m.name, m.easy_get".format(i) for i in entities] # 查询疾病的相关介绍 elif question_type == "disease_desc": sql = ["MATCH (m:Diseases) where m.name = "{0}" return m.name, m.desc".format(i) for i in entities] # 查询疾病有哪些症状 elif question_type == "disease_symptom": sql = [ "MATCH (m:Diseases)-[r:has_symptoms]->(n:Symptoms) where m.name = "{0}" return m.name, r.name, n.name".format( i) for i in entities] # 查询症状会导致哪些疾病 elif question_type == "symptom_disease": sql = [ "MATCH (m:Diseases)-[r:has_symptoms]->(n:Symptoms) where n.name = "{0}" return m.name, r.name, n.name".format( i) for i in entities] # 查询疾病的并发症 elif question_type == "disease_acompany": sql1 = [ "MATCH (m:Diseases)-[r:acompany_with]->(n:Symptoms) where m.name = "{0}" return m.name, r.name, n.name".format( i) for i in entities] sql2 = [ "MATCH (m:Diseases)-[r:acompany_with]->(n:Symptoms) where n.name = "{0}" return m.name, r.name, n.name".format( i) for i in entities] sql = sql1 + sql2 # 查询疾病的忌口 elif question_type == "disease_not_food": sql = ["MATCH (m:Diseases)-[r:not_eat]->(n:Foods) where m.name = "{0}" return m.name, r.name, n.name".format(i) for i in entities] # 查询疾病建议吃的东西 elif question_type == "disease_do_food": sql1 = [ "MATCH (m:Diseases)-[r:do_eat]->(n:Foods) where m.name = "{0}" return m.name, r.name, n.name".format(i) for i in entities] sql2 = [ "MATCH (m:Diseases)-[r:recomment_eat]->(n:Foods) where m.name = "{0}" return m.name, r.name, n.name".format( i) for i in entities] sql = sql1 + sql2 # 已知忌口查疾病 elif question_type == "food_not_disease": sql = ["MATCH (m:Diseases)-[r:not_eat]->(n:Foods) where n.name = "{0}" return m.name, r.name, n.name".format(i) for i in entities] # 已知推荐查疾病 elif question_type == "food_do_disease": sql1 = [ "MATCH (m:Diseases)-[r:do_eat]->(n:Foods) where n.name = "{0}" return m.name, r.name, n.name".format(i) for i in entities] sql2 = [ "MATCH (m:Diseases)-[r:recomment_eat]->(n:Foods) where n.name = "{0}" return m.name, r.name, n.name".format( i) for i in entities] sql = sql1 + sql2 # 查询疾病常用药品-药品别名记得扩充 elif question_type == "disease_drug": sql1 = [ "MATCH (m:Diseases)-[r:common_drug]->(n:Drugs) where m.name = "{0}" return m.name, r.name, n.name".format( i) for i in entities] sql2 = [ "MATCH (m:Diseases)-[r:recommand_drug]->(n:Drugs) where m.name = "{0}" return m.name, r.name, n.name".format( i) for i in entities] sql = sql1 + sql2 # 已知药品查询能够治疗的疾病 elif question_type == "drug_disease": sql1 = [ "MATCH (m:Diseases)-[r:common_drug]->(n:Drugs) where n.name = "{0}" return m.name, r.name, n.name".format( i) for i in entities] sql2 = [ "MATCH (m:Diseases)-[r:recommand_drug]->(n:Drugs) where n.name = "{0}" return m.name, r.name, n.name".format( i) for i in entities] sql = sql1 + sql2 # 查询疾病应该进行的检查 elif question_type == "disease_check": sql = [ "MATCH (m:Diseases)-[r:need_check]->(n:Checks) where m.name = "{0}" return m.name, r.name, n.name".format( i) for i in entities] # 已知检查查询疾病 elif question_type == "check_disease": sql = [ "MATCH (m:Diseases)-[r:need_check]->(n:Checks) where n.name = "{0}" return m.name, r.name, n.name".format( i) for i in entities] return sql def entity_transform(self, entity): entity_dict = {} for args, types in entity.items(): for type in types: if type in entity_dict: entity_dict[type] = [args] else: entity_dict[type] = [] entity_dict[type].append(args) return entity_dict
4. 数据查询(回答组装)
from py2neo import Graph, Nodeclass Answer: def __init__(self): self.neo4j = Graph("bolt://localhost:7687", auth=("neo4j", "beiqiaosu123456")) self.num_limit = 20 def main(self, question_parse): answers_final = [] for item in question_parse: question_type = item["qustion_type"] sqls = item["sql"] answer = [] for sql in sqls: data = self.neo4j.run(sql) answer+=data.data() final_answer = self.answer_prettify(question_type, answer) if final_answer: answers_final.append(final_answer) return answers_final """根据对应的qustion_type,调用相应的回复模板""" def answer_prettify(self, question_type, answers): final_answer = [] if not answers: return "" if question_type == "disease_symptom": desc = [i["n.name"] for i in answers] subject = answers[0]["m.name"] final_answer = "{0}的症状包括:{1}".format(subject, ";".join(list(set(desc))[:self.num_limit])) elif question_type == "symptom_disease": desc = [i["m.name"] for i in answers] subject = answers[0]["n.name"] final_answer = "症状{0}可能染上的疾病有:{1}".format(subject, ";".join(list(set(desc))[:self.num_limit])) elif question_type == "disease_cause": desc = [i["m.cause"] for i in answers] subject = answers[0]["m.name"] final_answer = "{0}可能的成因有:{1}".format(subject, ";".join(list(set(desc))[:self.num_limit])) elif question_type == "disease_prevent": desc = [i["m.prevent"] for i in answers] subject = answers[0]["m.name"] final_answer = "{0}的预防措施包括:{1}".format(subject, ";".join(list(set(desc))[:self.num_limit])) elif question_type == "disease_lasttime": desc = [i["m.cure_lasttime"] for i in answers] subject = answers[0]["m.name"] final_answer = "{0}治疗可能持续的周期为:{1}".format(subject, ";".join(list(set(desc))[:self.num_limit])) elif question_type == "disease_cureway": desc = [";".join(i["m.cure_way"]) for i in answers] subject = answers[0]["m.name"] final_answer = "{0}可以尝试如下治疗:{1}".format(subject, ";".join(list(set(desc))[:self.num_limit])) elif question_type == "disease_cureprob": desc = [i["m.cured_prob"] for i in answers] subject = answers[0]["m.name"] final_answer = "{0}治愈的概率为(仅供参考):{1}".format(subject, ";".join(list(set(desc))[:self.num_limit])) elif question_type == "disease_easyget": desc = [i["m.easy_get"] for i in answers] subject = answers[0]["m.name"] final_answer = "{0}的易感人群包括:{1}".format(subject, ";".join(list(set(desc))[:self.num_limit])) elif question_type == "disease_desc": desc = [i["m.desc"] for i in answers] subject = answers[0]["m.name"] final_answer = "{0},熟悉一下:{1}".format(subject, ";".join(list(set(desc))[:self.num_limit])) elif question_type == "disease_acompany": desc1 = [i["n.name"] for i in answers] desc2 = [i["m.name"] for i in answers] subject = answers[0]["m.name"] desc = [i for i in desc1 + desc2 if i != subject] final_answer = "{0}的症状包括:{1}".format(subject, ";".join(list(set(desc))[:self.num_limit])) elif question_type == "disease_not_food": desc = [i["n.name"] for i in answers] subject = answers[0]["m.name"] final_answer = "{0}忌食的食物包括有:{1}".format(subject, ";".join(list(set(desc))[:self.num_limit])) elif question_type == "disease_do_food": do_desc = [i["n.name"] for i in answers if i["r.name"] == "可以吃"] recommand_desc = [i["n.name"] for i in answers if i["r.name"] == "推荐吃"] subject = answers[0]["m.name"] final_answer = "{0}宜食的食物包括有:{1}\n推荐食谱包括有:{2}".format(subject, ";".join(list(set(do_desc))[:self.num_limit]), ";".join(list(set(recommand_desc))[:self.num_limit])) elif question_type == "food_not_disease": desc = [i["m.name"] for i in answers] subject = answers[0]["n.name"] final_answer = "患有{0}的人最好不要吃{1}".format(";".join(list(set(desc))[:self.num_limit]), subject) elif question_type == "food_do_disease": desc = [i["m.name"] for i in answers] subject = answers[0]["n.name"] final_answer = "患有{0}的人建议多试试{1}".format(";".join(list(set(desc))[:self.num_limit]), subject) elif question_type == "disease_drug": desc = [i["n.name"] for i in answers] subject = answers[0]["m.name"] final_answer = "{0}通常的使用的药品包括:{1}".format(subject, ";".join(list(set(desc))[:self.num_limit])) elif question_type == "drug_disease": desc = [i["m.name"] for i in answers] subject = answers[0]["n.name"] final_answer = "{0}主治的疾病有{1},可以试试".format(subject, ";".join(list(set(desc))[:self.num_limit])) elif question_type == "disease_check": desc = [i["n.name"] for i in answers] subject = answers[0]["m.name"] final_answer = "{0}通常可以通过以下方式检查出来:{1}".format(subject, ";".join(list(set(desc))[:self.num_limit])) elif question_type == "check_disease": desc = [i["m.name"] for i in answers] subject = answers[0]["n.name"] final_answer = "通常可以通过{0}检查出来的疾病有{1}".format(subject, ";".join(list(set(desc))[:self.num_limit])) return final_answer
写在最后
以上就是这个医疗知识问答机器人的全部代码了,从上面的问答里也能看出,回答得还是很生硬。因为这就只是一个程序化得思维导图,所以修改完善空间还是很大,这个就要后期用深度学习得方式对分类解析部分进行改动。
关键词:
-
-
-
-
医疗知识图谱问答——文本分类解析
菏泽定陶:强降雨“来袭” 农技专家田间指导“保秋收”
“终身家庭医生,社区可靠”
陕西各县逃犯照片 “高颜值女逃犯”男友回忆相处细节 基本情况讲解
中国斯诺克大捷:5-2、5-3、5-4,吕昊天绝杀22年赛事冠军范争一
共创草坪筹码连续3期集中
拥抱注册制,共享高质量——投资者走进广州发展活动成功举办
玻璃的主要成分是什么(玻璃是由什么材料构成的?)
中国消费者协会消费提示:购买“剩菜盲盒”要注意这四点
新疆和田墨玉鉴别
深圳三洲田(深圳三洲田房价
梦幻西游:帮派联赛的黑马,【2.8.最帅】的崛起之路
紫罗兰玉是什么玉
北京强降雨引发多起险情 消防救援持续进行
2023年中国西柳交易会暨西柳国际服装周:北派服装产业集中出展
高端化与年轻化战略几乎折戟,古越龙山未来之路难走
鲜为人知揭秘蘑菇成圆形的秘密+20岁男生礼物推荐
经济犯罪达到多少可以立案
摩根大通预计年底前日元将走弱 兑美元汇率将达152
狐狸乌鸦吃肉的故事?
哈密瓜一般情况下亩产多少斤
补齐流动儿童关爱服务短板
金融科技安全重在“防未然”
国创高新发布股价异动公告:已剥离房地产中介服务业务
南宁雍禾种植毛发医院地址在哪里 是正规吗 带大家了解
直播:道琼斯收涨0.20%
铁西区全面振兴新突破 三年行动推进会召开
超市哪个牌子的肥皂质量好?
适合女生的大型网游(适合女生玩的游戏推荐)
李梦转发微博庆祝八一建军节:八一精神 永驻我心 沙场点兵耀中华
金泰美林(838194):2023年上半年净利润1505.96万元,同比增长27.91%
锦波生物(832982):功能蛋白一体化龙头 薇旖美快速放量驱动增长 敷料护肤前景可期
万事利(301066.SZ):累计耗资1567.33万元回购0.74%股份
古方今用、特色多多……长风这个中医药示范站点“老灵额”!
理想汽车-W(02015):截至7月30日的月销量已达3.25万辆
建工修复:参展第四届湖南绿博会 助力“三湘大地”绿色低碳循环发展
合同到期厂里不续签要赔偿吗
2023年全国职业院校技能大赛(高职组)康复治疗技术赛项圆满收官
开农场需要什么条件呢(开农场需要什么条件呢)
刚刚,常温常压超导首被证明理论可行:美顶尖实验室论文出炉
华纳药厂(688799.SH):公司多库酯钠片是国内独家制剂品种
长安期货8月1日原油早报:商品属性发力连续上行,金融压力降低油价或仍存上方空间
北京因降雨引发交通断路等情况共88处,已恢复通行38处
寂寞的鸭子加盟代理电话(寂寞的鸭子创始人吕浩资料)
香港2023年第二季度本地生产总值同比上升1.5%
宁波港:因工作原因 董事严俊辞职
贵阳:降低第二次住房公积金贷款最低首付款比例至20%
当代散文|南山竹海天目湖
爸爸抛弃脑积水的女儿和老婆 父亲在齐胸积水中肩扛女儿 基本情况讲解
世名科技:与中贝通信签订战略合作协议
北京保险业已收到因灾报损金额超1.66亿元
7月全国期货市场成交规模稳步增长
黑海运粮受阻,乌克兰找到这些替代路线?
深圳市龙华区未来小学对口小区
福事特(301446.SZ):拟使用不超1亿元暂时闲置募集资金和不超4.5亿元自有资金进行现金管理
普冉股份预亏去年净利降7成 上市超募9亿中信证券保荐
天津市会计网 天津市会计官网
2023打卡中国Vlog丨一条视频带你认识人类纸业“活化石”——新疆墨玉桑皮纸
超值福利实力宠粉,奇瑞818超级购车节钜惠来袭
2023南阳小学网上报名忘记账号了怎么办?
金融监管总局:交强险覆盖面持续扩大 保障程度稳步提升
国家发展改革委:推动重点区域营商环境一体化发展
PC也疯狂!戴尔:联手英伟达 全力开发生成式AI
成都大运会赛场,00后衡阳妹子王珂怡拿下湖南运动员首金
华灿光电Micro LED项目开工,抢占“终极显示技术”发展先机
28所公办中小学空调装配工作已高效完成
关联交易、突击入股、独立性审视 兴福电子“单飞”成色咋样?
蛋白质语言模型能否统一理解和生成任务?一文告诉你答案
96载浴血荣光 全军部队以多种形式庆祝八一建军节
异动直击 | Nikola大涨超20%,两日累涨超40%
翡翠紫罗兰细糯种手镯
招商证券(06099)拟提名张健为第七届董事会非执行董事候选人
图说大运|张雨霏覃海洋纷纷亮相 大运游泳健儿劈波斩浪
戈壁金丝玉紫罗兰原玉
天气预报更准了!我国全面启动气象探空系统升级换代
全市重点塘坝水雨情监测设备开始试运行
想招财旺宅?学会正确摆放麒麟,财运滚滚来!
关于香蕉植物的科学分类及送女生生日礼物的精选指南
在未来10年,财运一直居高不下,横财顺手拈来,势不可挡的生肖
恩华药业(002262):业绩符合预期 看好核心麻醉业务持续高增长
中国煤炭工业协会:维持高位
Uber将在东京部署100辆Model Y
英雄归来!神舟十五号航天员乘组与记者见面会精彩瞬间
北京房山一男子开铲车在洪流中转移被困居民
锐捷网络(301165):8月1日北向资金减持42.34万股
发改委:将持续调动民间投资的积极性 出台《意见》分工方案
更年轻、更个性,捷途X70 PRO上市 10.29万起
猪场不消毒,损失有多严重?如何守好消毒这道防治疫病的战线?
就这样坐着睡了一夜 他们一早再赴救援一线
潮声丨看了《热烈》才知道,这个夏天为什么需要热烈
铁姆肯公司携手武汉恒立钻具举办盾构行业轴承技术交流会
南极海冰面积创45年新低 专家呼吁采取行动
汇丰保险经纪获批基金销售业务资格
全方位夯实粮食安全根基(人民时评)
难怪快船不续约!乔治曝小卡特权:他训练三不沾,却拒绝做惩罚
沪苏湖铁路全线最长跨度悬灌梁合龙
百年大厂福特,有一匹已经安静的“电马”
北京此轮强降雨已致11人遇难,其中2人在抢险救灾中因公殉职
赛力斯:AITO 问界 M9 将搭载华为鸿蒙 HarmonyOS 4.0,预计四季度上市
访济南历城二中女足主教练姚波:夺冠后从零开始训练!