基于机器学习的肝脏疾病信息智能咨询系统
技术领域
本发明涉及肝脏疾病医疗领域,尤其涉及基于机器学习的肝脏疾病信息智能咨询方法及系统领域。
背景技术
当前,人工智能尤其是机器学习领域的快速发展为医疗健康行业的智能化和信息化提供了重要技术基础。由于当前的机器学习技术具有分析效率高、扩展性强等特点,并可在应用中通过训练不断实现优化,其在解决包含海量数据、多维度复杂特征和多场景推理决策的问题中具有明显优势,而疾病与医疗信息的咨询应用中信息量大、样本类型多、分析过程复杂,属于具备上述问题特征的典型应用,因此人工智能技术为实现疾病信息的智能咨询提供了有效技术手段。
另一方面,肝脏疾病是当前危害人类健康的主要疾病类型之一,患有肝脏疾病或存在肝脏健康问题的人群规模巨大,且病情周期长,该群体对于肝脏疾病的病因、进程与干预等过程的信息咨询需求量大且持续性强,在医疗资源紧张与人工成本提高的趋势下,医患双方均对实现肝脏疾病信息的智能和自动咨询具有迫切需求。
目前医疗健康领域自动咨询系统大多基于对话逻辑和知识库,该类系统通过事先设计的逻辑对问题输入进行处理,进而从知识库中搜索对应的信息输出。这些系统存在以下缺陷:1.需要对对话逻辑进行精确设计,设计过程复杂,精确性低;2.预先设计的逻辑和知识库仅能应对极为有限的问题输入,难以应对系统设计范围外的问题输入,扩展性差;3.知识库的动态更新困难;4.当前的医疗健康自动咨询系统大多仅提供一般性的医疗和保健信息,无法具体针对肝脏疾病的特征进行精准咨询。因此当前的医疗健康自动咨询系统难以实现对肝脏疾病信息的智能化和精准化咨询。
发明内容
针对上述技术问题,本发明提供一种基于机器学习的肝脏疾病信息智能咨询方法及系统,可根据用户输入的问题和电子体检化验报告,通过自动语义分析识别和体检化验报告分析精确分析用户的输入信息,进一步将机器学习模型生成的回复与知识库的检索结果结合,可快速地为用户提供精准的、符合用户自身具体状况的肝脏疾病信息。
为解决上述技术问题,本发明提供的技术方案是:
第一方面,本发明提供一种基于机器学习的肝脏疾病信息智能咨询方法,包括:
步骤S1,获取用户输入的问题语句和上传的电子体检化验报告;
步骤S2,通过预先训练的深度学习网络对所述用户输入的问题语句进行自然语言处理,将所述用户输入的问题语句划分为带有标签的语义元素序列;
步骤S3,根据所述语义元素序列,抽取语义特征对象,将所述语义元素序列转换为带有标签的语义特征对象序列;
步骤S4,对所述用户上传的电子体检化验报告进行识别处理,提取所述电子体检化验报告中的各项指标名称和对应指标数值,并将所述各项指标名称和对应指标数值生成用户体检化验指标向量;
步骤S5,根据所述带有标签的语义特征对象序列,在预先建立的肝脏疾病医疗知识库中查找对应的候选咨询回复语句序列;
步骤S6,根据所述带有标签的语义特征对象序列,通过预先训练的序列-序列咨询回复模型产生咨询回复解码序列,并结合所述候选咨询回复语句序列和所述用户体检化验指标向量,生成咨询回复语句,并将所述咨询回复语句以文字和消息方式显示给用户。
本发明提供的一种基于机器学习的肝脏疾病信息智能咨询方法,其技术方案为,获取用户输入的问题语句和上传的电子体检化验报告;通过预先训练的深度学习网络对所述用户输入的问题语句进行自然语言处理,将所述用户输入的问题语句划分为带有标签的语义元素序列;根据所述语义元素序列,抽取语义特征对象,将所述语义元素序列转换为带有标签的语义特征对象序列;对所述用户上传的电子体检化验报告进行识别处理,提取所述电子体检化验报告中的各项指标名称和对应指标数值,并将所述各项指标名称和对应指标数值生成用户体检化验指标向量;根据所述带有标签的语义特征对象序列,在预先建立的肝脏疾病医疗知识库中查找对应的候选咨询回复语句序列;根据所述带有标签的语义特征对象序列,通过预先训练的序列-序列咨询回复模型产生咨询回复解码序列,并结合所述候选咨询回复语句序列和所述用户体检化验指标向量,生成咨询回复语句,并将所述咨询回复语句以文字和消息方式显示给用户。
本发明提供的一种基于机器学习的肝脏疾病信息智能咨询方法,可根据用户输入的问题和电子体检化验报告,通过自动语义分析识别和体检化验报告分析精确分析用户的输入信息,进一步将机器学习模型生成的回复与知识库的检索结果结合,可快速地为用户提供精准的、符合用户自身具体状况的肝脏疾病信息。
进一步地,所述步骤S2,具体为:
根据所述用户输入的问题语句,通过深度神经网络建立三个处理层,分别为字向量层、特征对象抽取层和标签推理层;
在所述字向量层,将所述用户输入的问题语句中的离散汉字符号转换为连续的语义元素向量表示;
在所述特征对象抽取层,抽取所述连续的向量表示中的语义特征对象,得到所述用户输入的问题语句中的语义特征对象向量;
在所述标签推理层,基于所述语义特征对象向量通过深度神经网络推理生成带有标签的语义特征对象序列。
进一步地,所述步骤S5中,所述肝脏疾病医疗知识库的建立方法为:
获取肝脏疾病与医疗分类信息;
根据所述肝脏疾病与医疗分类信息,建立分类信息索引;
根据所述分类信息索引,形成肝脏疾病医疗知识库。
进一步地,所述步骤S5,具体为:
将所述带有标签的语义特征对象序列对应标签中的主题分类信息,结合所述带有标签的语义特征对象序列中的关键词,通过分类信息索引进行搜索匹配,生成候选咨询回复语句序列。
进一步地,所述序列-序列咨询回复模型的训练方法为:
获取人工咨询与回复样本数据,获取咨询过程中生成的真实咨询与回复数据;
通过语义分析处理所述人工咨询与回复样本数据和真实咨询与回复数据,建立序列-序列咨询回复模型,并根据机器学习方法不断更新所述序列-序列咨询回复模型。
进一步地,所述带有标签的语义特征对象序列,其中标签指所述用户输入的问题语句的每个汉字对应的分词标签,可表示为L={B;M;E;S;T;I},L中的每个标签分别表示汉字词的起始B、词中M、词尾E和单字词S,所述标签还包含所述用户输入的问题语句的主题分类信息T和用户个体特征信息I。
进一步地,所述步骤S6,具体为:
将所述带有标签的语义特征对象序列和所述候选咨询回复语句序列进行编码处理,生成所述问题语句的状态向量;
对所述状态向量进行信息解码,生成咨询回复解码语句序列;
对所述咨询回复解码语句序列和所述候选咨询回复语句序列进行评价和选择,结合所述用户体检化验指标向量,生成咨询回复语句,并将所述咨询回复语句以文字和消息方式显示给用户。
进一步地,还包括肝脏疾病医疗知识库更新步骤:
周期性地从预先设定的医学药学文献数据库、电子图书馆和互联网数据源获取用于更新的数据;
根据所述用于更新的数据,对所述肝脏疾病医疗知识库进行更新。
进一步地,还包括,序列-序列咨询回复模型更新步骤:
获取人工咨询与回复样本数据,获取咨询过程中生成的真实咨询与回复数据;
将所述人工咨询与回复样本数据和真实咨询与回复数据转换为样本语句序列对;
将所述样本语句序列对进行循环训练,通过所述序列-序列咨询回复模型确定模型参数;
根据所述咨询回复解码序列,生成回馈系数;
将所述回馈系数与所述模型参数结合生成新的模型参数;
根据所述新的模型参数,更新所述序列-序列咨询回复模型,得到新的序列-序列咨询回复模型。
第二方面,本发明提供一种基于机器学习的肝脏疾病信息智能咨询系统,包括:
用户输入与数据上传模块,用于获取用户输入的问题语句和上传的电子体检化验报告;
语义元素序列生成模块,用于通过预先训练的深度学习网络对用户输入的问题语句进行自然语言处理,将所述用户输入的问题语句划分为带有标签的语义元素序列;
语义特征对象序列生成模块,用于根据所述语义元素序列,抽取语义特征对象,将所述语义元素序列转换为带有标签的语义特征对象序列;
电子体检化验报告分析模块,用于对所述用户上传的电子体检化验报告进行识别处理,提取所述电子体检化验报告中的各项指标名称和对应指标数值,并将所述各项指标名称和对应指标数值生成用户体检化验指标向量;
候选咨询回复语句序列生成模块,用于根据所述带有标签的语义特征对象序列,在预先建立的肝脏疾病医疗知识库中查找对应的候选咨询回复语句序列;
咨询回复语句模块,用于根据所述带有标签的语义特征对象序列,通过预先训练的序列-序列咨询回复模型产生咨询回复解码序列,并结合所述候选咨询回复语句序列和所述用户体检化验指标向量,生成咨询回复语句,并将所述咨询回复语句以文字和消息方式显示给用户。
本发明提供一种基于机器学习的肝脏疾病信息智能咨询系统,其技术方案为:通过用户输入与数据上传模块,获取用户输入的问题语句和上传的电子体检化验报告;通过语义元素序列生成模块,通过预先训练的深度学习网络对所述用户输入的问题语句进行自然语言处理,将所述用户输入的问题语句划分为带有标签的语义元素序列;通过语义特征对象序列生成模块,根据所述语义元素序列,抽取语义特征对象,将所述语义元素序列转换为带有标签的语义特征对象序列;
通过电子体检化验报告分析模块,对所述用户上传的电子体检化验报告进行识别处理,提取所述电子体检化验报告中的各项指标名称和对应指标数值,并将所述各项指标名称和对应指标数值生成用户体检化验指标向量;通过候选咨询回复语句序列生成模块,根据所述带有标签的语义特征对象序列,在预先建立的肝脏疾病医疗知识库中查找对应的候选咨询回复语句序列;通过咨询回复语句模块,根据所述带有标签的语义特征对象序列,通过预先训练的序列-序列咨询回复模型产生咨询回复解码序列,并结合所述候选咨询回复语句序列和所述用户体检化验指标向量,生成咨询回复语句,并将所述咨询回复语句以文字和消息方式显示给用户。
本发明提供的基于机器学习的肝脏疾病信息智能咨询系统,可根据用户输入的问题和电子体检化验报告,通过自动语义分析识别和体检化验报告分析精确分析用户的输入信息,进一步将机器学习模型生成的回复与知识库的检索结果结合,可快速地为用户提供精准的、符合用户自身具体状况的肝脏疾病信息。
与现有技术相比,本发明的有益效果是:
本发明提供的基于机器学习的肝脏疾病信息智能咨询方法及系统,可根据用户输入的问题和电子体检化验报告,通过自动语义分析识别和体检化验报告分析精确分析用户的输入信息,进一步将机器学习模型生成的回复与知识库的检索结果结合,可快速地为用户提供精准的、符合用户自身具体状况的肝脏疾病信息。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。
图1示出了本发明实施例所提供的一种基于机器学习的肝脏疾病信息智能咨询方法的流程图;
图2示出了本发明实施例所提供的一种基于机器学习的肝脏疾病信息智能咨询方法中语义分析理解流程图;
图3示出了本发明实施例所提供的一种基于机器学习的肝脏疾病信息智能咨询系统的示意图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只是作为示例,而不能以此来限制本发明的保护范围。
实施例一
图1示出了本发明实施例所提供的一种基于机器学习的肝脏疾病信息智能咨询方法的流程图;如图1所示,实施例一提供的一种基于机器学习的肝脏疾病信息智能咨询方法,包括:
步骤S1,获取用户输入的问题语句和上传的电子体检化验报告;
步骤S2,通过预先训练的深度学习网络对用户输入的问题语句进行自然语言处理,将用户输入的问题语句划分为带有标签的语义元素序列;
步骤S3,根据语义元素序列,抽取语义特征对象,将语义元素序列转换为带有标签的语义特征对象序列;
步骤S4,对用户上传的电子体检化验报告进行识别处理,提取电子体检化验报告中的各项指标名称和对应指标数值,并将各项指标名称和对应指标数值生成用户体检化验指标向量;
步骤S5,根据带有标签的语义特征对象序列,在预先建立的肝脏疾病医疗知识库中查找对应的候选咨询回复语句序列;
步骤S6,根据带有标签的语义特征对象序列,通过预先训练的序列-序列咨询回复模型产生咨询回复解码序列,并结合候选咨询回复语句序列和用户体检化验指标向量,生成咨询回复语句,并将咨询回复语句以文字和消息方式显示给用户。
本发明提供的一种基于机器学习的肝脏疾病信息智能咨询方法,其技术方案为,获取用户输入的问题语句和上传的电子体检化验报告;通过预先训练的深度学习网络对用户输入的问题语句进行自然语言处理,将用户输入的问题语句划分为带有标签的语义元素序列;根据语义元素序列,抽取语义特征对象,将语义元素序列转换为带有标签的语义特征对象序列;对用户上传的电子体检化验报告进行识别处理,提取电子体检化验报告中的各项指标名称和对应指标数值,并将各项指标名称和对应指标数值生成用户体检化验指标向量;根据带有标签的语义特征对象序列,在预先建立的肝脏疾病医疗知识库中查找对应的候选咨询回复语句序列;根据带有标签的语义特征对象序列,通过预先训练的序列-序列咨询回复模型产生咨询回复解码序列,并结合候选咨询回复语句序列和用户体检化验指标向量,生成咨询回复语句,并将咨询回复语句以文字和消息方式显示给用户。
本发明提供的一种基于机器学习的肝脏疾病信息智能咨询方法,可根据用户输入的问题和电子体检化验报告,通过自动语义分析识别和体检化验报告分析精确分析用户的输入信息,进一步将机器学习模型生成的回复与知识库的检索结果结合,可快速地为用户提供精准的、符合用户自身具体状况的肝脏疾病信息。
其中,带有标签的语义特征对象序列中包含索引所对应的关键词,基于关键词查找对应的候选咨询回复语句序列。
本实施例中基于深度深度学习的肝脏疾病信息与医疗智能咨询服务系统采用循环神经网络(RNN)建立序列-序列咨询回复模型,基于RNN的序列-序列咨询模型通过事先收集的带有标签的咨询-回复样本数据(人工咨询-回复对话文本)训练建立,咨询-回复样本数据的标签为二值参数,表征某一回复语句与咨询语句是否相关。
参见图2,优选地,步骤S2,具体为:
根据用户输入的问题语句,通过深度神经网络建立三个处理层,分别为字向量层、特征对象抽取层和标签推理层;
在字向量层,将用户输入的问题语句中的离散汉字符号转换为连续的语义元素向量表示;
在特征对象抽取层,抽取连续的向量表示中的语义特征对象,得到用户输入的问题语句中的语义特征对象向量;
在标签推理层,基于语义特征对象向量通过深度神经网络推理生成带有标签的语义特征对象序列。
更优选地,带有标签的语义特征对象序列,其中标签指用户输入的问题语句的每个汉字对应的分词标签,可表示为L={B;M;E;S;T;I},L中的每个标签分别表示汉字词的起始B、词中M、词尾E和单字词S,标签还包含用户输入的问题语句的主题分类信息T和用户个体特征信息I。
其中,肝脏疾病与医疗知识库中的肝脏疾病与医疗分类信息包括流行病学、疾病病因、发病机制、病理、临床症状、体征、病情特点、诊断方法、鉴别诊断、治疗方法和疾病预后信息,肝脏疾病与医疗相关分类信息来源包括:医学药学教材、医学期刊文献、肝病诊疗指南、专家学会共识、协会推荐疗法、肝病临床综述、经典诊疗案例和询证医学数据。
其中,步骤S4中,对用户上传的电子体检化验报告进行识别处理,具体为:通过事先训练的深度卷积网络识别用户上传的电子体检化验报告文件中的各项体检化验指标名称及对应数值,其中,本实施例中的体检化验指标及对应数值的识别采用卷积神经网络(CNN)实现,首先将用户上传的电子体检化验报告转化为灰度像素图,并将灰度像素图输出至CNN进行识别分类,从而提取出电子体检化验报告中的化验指标词组及对应的体检化验指标数值。
具体地,步骤S5中,肝脏疾病医疗知识库的建立方法为:
获取肝脏疾病与医疗分类信息;
根据肝脏疾病与医疗分类信息,建立分类信息索引;
根据分类信息索引,形成肝脏疾病医疗知识库。
更具体地,基于上述肝脏疾病医疗知识库的建立方法,步骤S5,具体为:
将带有标签的语义特征对象序列对应标签中的主题分类信息,结合带有标签的语义特征对象序列中的关键词,通过分类信息索引进行搜索匹配,生成候选咨询回复语句序列。
更优选地,还包括肝脏疾病医疗知识库更新步骤:
周期性地从预先设定的医学药学文献数据库、电子图书馆和互联网数据源获取用于更新的数据;
根据用于更新的数据,对肝脏疾病医疗知识库进行更新。
优选地,步骤S6,具体为:
将带有标签的语义特征对象序列q和候选咨询回复语句序列r*进行编码处理,生成问题语句的状态向量;
对状态向量进行信息解码,生成咨询回复解码语句序列r’;
对咨询回复解码语句序列r’和候选咨询回复语句序列r*进行评价和选择,结合用户体检化验指标向量,生成咨询回复语句r,并将咨询回复语句以文字和消息方式显示给用户。
优选地,还包括,序列-序列咨询回复模型更新步骤:
获取人工咨询与回复样本数据,获取咨询过程中生成的真实咨询与回复数据;
将人工咨询与回复样本数据和真实咨询与回复数据转换为样本语句序列对;
将样本语句序列对进行循环训练,通过序列-序列咨询回复模型确定模型参数;
根据咨询回复解码序列,生成回馈系数;
将回馈系数与模型参数结合生成新的模型参数;
根据新的模型参数,更新序列-序列咨询回复模型,得到新的序列-序列咨询回复模型。
更优选地,人工咨询与回复样本数据包括PC端即时通讯软件咨询与回复数据和移动端咨询与回复数据。
优选地,序列-序列咨询回复模型的训练方法为:
获取人工咨询与回复样本数据,获取咨询过程中生成的真实咨询与回复数据;
通过语义分析处理人工咨询与回复样本数据和真实咨询与回复数据,建立序列-序列咨询回复模型,并根据机器学习方法不断更新序列-序列咨询回复模型。
优选地,步骤S4,具体为:
通过预先训练的深度卷积网络识别用户上传的电子体检化验报告,提取电子体检化验报告中的各项指标名称和对应指标数值,并将各项指标名称和对应指标数值生成用户体检化验指标向量R={r1,r2…rn},其中ri代表体检化验指标的对应具体数值。
第二方面,参见图3,本发明提供一种基于机器学习的肝脏疾病信息智能咨询系统10,包括:
用户输入与数据上传模块101,用于获取用户输入的问题语句和上传的电子体检化验报告;
语义元素序列生成模块102,用于通过预先训练的深度学习网络对用户输入的问题语句进行自然语言处理,将用户输入的问题语句划分为带有标签的语义元素序列;
语义特征对象序列生成模块103,用于根据语义元素序列,抽取语义特征对象,将语义元素序列转换为带有标签的语义特征对象序列;
电子体检化验报告分析模块104,用于对用户上传的电子体检化验报告进行识别处理,提取电子体检化验报告中的各项指标名称和对应指标数值,并将各项指标名称和对应指标数值生成用户体检化验指标向量;
候选咨询回复语句序列生成模块105,用于根据带有标签的语义特征对象序列,在预先建立的肝脏疾病医疗知识库中查找对应的候选咨询回复语句序列;
咨询回复语句模块106,用于根据带有标签的语义特征对象序列,通过预先训练的序列-序列咨询回复模型产生咨询回复解码序列,并结合候选咨询回复语句序列和用户体检化验指标向量,生成咨询回复语句,并将咨询回复语句以文字和消息方式显示给用户。
本发明提供一种基于机器学习的肝脏疾病信息智能咨询系统10,其技术方案为:通过用户输入与数据上传模块101,获取用户输入的问题语句和上传的电子体检化验报告;通过语义元素序列生成模块102,通过预先训练的深度学习网络对用户输入的问题语句进行自然语言处理,将用户输入的问题语句划分为带有标签的语义元素序列;通过语义特征对象序列生成模块103,根据语义元素序列,抽取语义特征对象,将语义元素序列转换为带有标签的语义特征对象序列;
通过电子体检化验报告分析模块104,对用户上传的电子体检化验报告进行识别处理,提取电子体检化验报告中的各项指标名称和对应指标数值,并将各项指标名称和对应指标数值生成用户体检化验指标向量;通过候选咨询回复语句序列生成模块105,根据带有标签的语义特征对象序列,在预先建立的肝脏疾病医疗知识库中查找对应的候选咨询回复语句序列;通过咨询回复语句模块106,根据带有标签的语义特征对象序列,通过预先训练的序列-序列咨询回复模型产生咨询回复解码序列,并结合候选咨询回复语句序列和用户体检化验指标向量,生成咨询回复语句,并将咨询回复语句以文字和消息方式显示给用户。
本发明提供的基于机器学习的肝脏疾病信息智能咨询系统10,可根据用户输入的问题和电子体检化验报告,通过自动语义分析识别和体检化验报告分析精确分析用户的输入信息,进一步将机器学习模型生成的回复与知识库的检索结果结合,可快速地为用户提供精准的、符合用户自身具体状况的肝脏疾病信息。
实施例二
基于实施例一中的基于机器学习的肝脏疾病信息智能咨询方法及系统,其中,根据带有标签的语义特征对象序列,在预先建立的肝脏疾病医疗知识库中查找对应的候选咨询回复语句序列;在生成咨询回复的过程中,基于同样的表征,可能在肝脏疾病医疗知识库中查找到多个相似的候选咨询回复语句,这样可以让用户进一步了解自己的病情,基于此,本实施例提出一种咨询回复语句的处理方法,具体如下:
步骤201,将带有标签的语义特征对象序列作为检索条件;
步骤202,根据检索条件在预先建立的肝脏疾病医疗知识库中进行查询,以得到多条查询结果数据;
步骤203,计算多条查询结果数据之间的相似度,并根据相似度的大小将查询结果数据分为至少一个类别;
步骤204,对每个类别的查询结果数据进行归并,得到多个类别的候选咨询回复语句。
通过对查询结果数据进行相似度的比较,可以将相似的数据进行归并,从而对于用户而言,可以得到更好的查看效果,便于从中进行选择。
优选地,步骤203包括:
计算多条查询结果数据中包含的每个字段的概率分值;
通过统计每个字段的概率分值,确定多条查询结果数据的相似度。
在该技术方案中,通过将查询结果数据拆分为字段进行匹配,并对匹配结果进行统计和计算,从而确定最终的相似度,有助于提升匹配的准确性,使得结果的分类呈现更加贴近实际,更具有参考价值。
优选地,步骤202之前,还包括:
创建类比模板,类比模板中包含特定的字段结构、采用的相似度算法、预设的匹配阈值、预设的正向概率和逆向概率;
创建对比模板,每个对比模板关联至一个或多个类比模板,对比模板还包含采用的统计算法;以及
步骤203包括:
根据查询结果数据中的每个字段的结构,选择对应的类比模板,并利用选中的类比模板中预设的相似度算法,计算对应的相似度数值,若相似度数值大于或等于预设的匹配阈值,则利用预设的正向概率计算对应的分值,否则利用预设的逆向概率计算对应的分值;以及
根据所有被选中的类比模板,确定对应的对比模板,并利用该对比模板中预设的统计算法对所有字段的分值进行统计,以确定每条查询结果数据之间的相似度。
在该技术方案中,可以通过预设的类比模板和对比模板,使得对查询结果数据的比较过程更为方便、快捷,以便于得到更为准确的分类结果。其中,类比模板和对比模板设置在肝脏疾病医疗知识库中,基于肝脏疾病医疗知识库中的肝脏疾病知识创建得到。
基于得到的多个类别的候选咨询回复语句,结合咨询回复解码序列和用户体检化验指标向量,生成咨询回复语句,基于咨询回复语句,步骤204还包括:
根据相似度的大小,设置每个类别中的每条咨询回复语句对应的显示属性。
在该技术方案中,显示属性包括字体颜色、背景颜色、字体大小等,通过对显示属性的变化,有利于用户得到更好的查看体验。
优选地,步骤204还包括:
将所有类别的咨询回复语句生成为树形目录以进行显示。
在该技术方案中,通过将咨询回复语句生成为树形结果,便于用户查看。
实施例三
基于实施例二中的树形咨询回复语句,便于用户进行查看,基于此,通过树形显示进行回复语句查看的方法,具体为:
步骤a:用户通过客户端发送数据查看请求;
步骤b:根据数据查看请求,从存储咨询回复语句的数据库中查询出前两级机构数据;
步骤c:将的数据从控制层传输至相应的页面上;
步骤d:页面接受到数据后,生成前两级机构的树型结构;
步骤e:点击组织机构的图标,页面将再次发送请求;
步骤f:根据请求,从数据库中查询出下级机构结构数据;并转换为XML格式的数据返回页面;
步骤g:页面接收到XML格式的数据,进行dom解析,将解析后的数据加载到当前机构的下面;
步骤h:再次点击组织机构的图标,判断当前机构下面是否有已经获取的下级机构,如果是执行下述步骤i,否则执行上述步骤f;
步骤i:将的下级隐藏或显示。
优选地,步骤d中生成前两级机构的树型结构是通过javeScript和DHTML标记实现的。
优选地,步骤g中将解析后的数据加载到当前机构的下面是通过javeScript和DHTML标记实现的。
优选地,在点击事件将执行展开时,的页面会创建一个XmlHttpRequest对象,向服务器发送参数,以及由该对象产生一个接收服务器传递过来数据的xmldoc对象。
优选地,当页面通过XmlHttpRequest对象向服务器发送参数时,服务器根据参数在控制层执行相应的业务层的方法,来获取当前展开的机构的下一级机构的数据;
获取数据后在控制层将数据变为xml格式的数据再传回页面,页面会自动获取到传回的xml数据格式的数据;
然后通过dom来解析xml数据再通过动态html和javaScript动态生成下级的组织机构。
优选地,在每次生成前级别机构的下一级时,都要在该级别的外面加上一层div标签,当展开下一级机构没有被显示过时,的页面将发送请求到服务器来获取数据,当下一级已经被显示过时,用的div标签的隐藏来隐藏或显示该级别的数据。
在每次生成当前级别机构的下一级时,都要在该级别的外面加上一层div标签,当展开下一级机构没有被显示过,页面将发送请求到服务器来获取数据,然而当下一级已经被显示过时我们可以用div标签的隐藏来隐藏或显示该级别的数据,只要判断当前点击的机构下是否已经有数据就可以做到了。这样就可以避免重复的向服务器发送请求来获取我们已经获取过的数据,这样不但节省了时间还会减少重复的发送请求给服务器带来的压力。
基于上述树形结构显示的咨询回复语句方式,使用了ajax和动态html标记javaScript脚本组合以列表的形式将数据显示为树型结构,并且为了提高效率设计成先显示2级的数据,然后每点击一级再显示出该级的下级数据,由于使用了ajax技术使得页面可以局部刷新让用户感觉不到页面的刷新变化,并且大大提高了页面的效率。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。