CN113590783B - 基于nlp自然语言处理的中医养生智能问答*** - Google Patents
基于nlp自然语言处理的中医养生智能问答*** Download PDFInfo
- Publication number
- CN113590783B CN113590783B CN202110858167.1A CN202110858167A CN113590783B CN 113590783 B CN113590783 B CN 113590783B CN 202110858167 A CN202110858167 A CN 202110858167A CN 113590783 B CN113590783 B CN 113590783B
- Authority
- CN
- China
- Prior art keywords
- word
- question
- chinese medicine
- module
- traditional chinese
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H20/00—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
- G16H20/90—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to alternative medicines, e.g. homeopathy or oriental medicines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Alternative & Traditional Medicine (AREA)
- Pharmacology & Pharmacy (AREA)
- Epidemiology (AREA)
- Primary Health Care (AREA)
- Public Health (AREA)
- Machine Translation (AREA)
Abstract
本发明提供一种基于NLP自然语言处理的中医养生智能问答***,包括:用户终端和管理服务器,其中,管理服务器包括中医养生文字分词模块、词性标注模块、命名实体识别与分类模块、依存关系分析模块、语义相似度计算模块以及答案检索模块,中医养生文字分词模块根据预定分词词库对临床表现文本进行分词处理,命名实体识别与分类模块对分词进行命名实体识别并分类,依存关系分析模块对临床表现文本各个成分之间的关系进行分析,得到临床表现文本语义,语义相似度计算模块基于临床表现文本语义计算用户问题与入库问题之间的语义相似度值,答案检索模块根据语义相似度值采用预定的检索机制从问答库中检索到与用户问题对应的答案,作为养生建议。
Description
技术领域
本发明属于数据识别领域,具体涉及一种基于NLP自然语言处理的中医养生智能问答***。
背景技术
随着医疗信息化的发展,人们越来越多地希望能够从网络上获得更为准确的疾病诊疗信息。通常情况下,人们通过再搜索引擎中输入关键词获得相关的网页信息,但这些网页信息还需要用户自行鉴别,对用户的鉴别能力要求较高。
问答***是信息检索***的一种高级形式,它能用准确、简洁的自然语言回答用户用自然语言提出的问题。现有的医药问答网站的问答模式都是医生进行在线回复或搜索给出相关检索结果,尚未有智能知识问答***提供服务。
中医药是我国医疗行业的重要组成部分,也是人们治未病、保健、养生的重要手段,智能知识问答***在中医药领域的应用在急需研究和发展。但是现有的中医药领域的智能问答***都是未真正基于中药领域本体构建的,进而使得问答***无法获得较高的准确率。
发明内容
为解决上述问题,本发明提供了一种能够为用户准确迅速解答中医药养生问题的技术方案,本发明采用了如下技术方案:
本发明提供了一种基于NLP自然语言处理的中医养生智能问答***,用于针对用户输入的临床表现文本进行自然语言处理,从而得到对应的养生建议,其特征在于,包括:多个用户终端,由用户持有;以及管理服务器,与用户终端相通信连接,其中,管理服务器包括中医养生文字分词模块、词性标注模块、命名实体识别与分类模块、依存关系分析模块、语义相似度计算模块以及答案检索模块,中医养生文字分词模块根据预定的分词词库对临床表现文本进行分词处理,从而得到多个中医养生分词,词性标注模块对每个中医养生分词进行词性标注,使得每个中医养生分词都有对应的词性,命名实体识别与分类模块根据中医养生分词以及对应的词性,利用预先训练好的命名实体识别模型对中医养生分词进行命名实体识别,从而得到命名实体识别结果,并按照预定的实体类别对命名实体识别结果进行分类,从而使得每个命名实体识别结果都有对应的实体类别,依存关系分析模块基于中医养生分词、对应的词性以及实体类别对临床表现文本各个成分之间的关系进行分析,从而得到临床表现文本语义,语义相似度计算模块基于临床表现文本语义计算临床表现文本中的用户问题与预定的问答库中不同入库问题之间的语义相似度,从而得到用户问题与各个入库问题之间的语义相似度值,答案检索模块根据语义相似度值利用预定的检索机制从问答库中检索到与用户问题对应的答案,作为养生建议。
根据本发明提供的一种基于NLP自然语言处理的中医养生智能问答***,还可以具有这样的技术特征,其中,分词词库由高频词库和分割词库组成,通过如下步骤得到:步骤S1-1,从不同中医书籍中提取中医相关文字信息;步骤S1-2,根据临床表现文本中的标点字符对临床表现文本进行文字分割,从而得到各个文字;步骤S1-3,统计相邻的文字在同一时刻出现的频率数量;步骤S1-4,判断频率数量是否大于预定的频率阈值T;步骤S1-5,在步骤S1-4判断为是时,将相邻的文字作为高频词生成高频词库,在步骤S1-4判断为否时,将文字作为分割词生成分割词库。
根据本发明提供的一种基于NLP自然语言处理的中医养生智能问答***,还可以具有这样的技术特征,其中,中医养生文字分词模块对临床表现文本进行的分词处理包括如下步骤:步骤S2-1,遍历临床表现文本中的所有相邻字符串mn,判断相邻字符串mn是否为高频词库中的元素;步骤S2-2,在步骤S2-1判断为是时,则相邻字符串mn成词,在步骤S2-1判断为否时,则判断相邻字符串mn是否为分割词库的元素;步骤S2-3,在步骤S2-2判断为是时,则相邻字符串mn不成词,在步骤S2-2判断为否时,计算相邻字符串mn之间的正向概率;步骤S2-4,判断正向概率是否大于0.1;步骤S2-5,在步骤S2-4判断为是时,则相邻字符串mn成词,在步骤S2-4判断为否时,则判断正向概率是否小于0.001;步骤S2-6,在步骤S2-5判断为是时,则相邻字符串mn不成词,在步骤S2-5判断为否时,则计算相邻字符串mn的逆向概率;步骤S2-7,判断逆向概率是否大于0.1;步骤S2-8,在步骤S2-7判断为是时,则相邻字符串mn成词,在步骤S2-7判断为否时,则判断逆向概率是否小于0.001;步骤S2-9,在步骤S2-8判断为是时,则相邻字符串mn不成词,在步骤S2-8判断为否时,则计算相邻字符串mn的相对距离;步骤S2-10,判断相对距离是否在预定的阈值范围内;步骤S2-11,在步S2-10判断为是时,则相邻字符串mn成词,在步S2-10判断为否时,则相邻字符串mn不成词,并完成针对临床表现文本的分词。
根据本发明提供的一种基于NLP自然语言处理的中医养生智能问答***,还可以具有这样的技术特征,其中,命名实体识别模型的训练步骤如下:步骤S3-1,获取中医养生问答相关的训练用文本,对训练用文本进行分词;步骤S3-2,将不同的中医书籍中本体概念作为初始源词典,利用反向最大匹配算法获取初始源词典中的实体类别;步骤S3-3,根据实体类别对实体进行实体命名识别;步骤S3-4,利用条件随机场算法对训练用文本进行多属性特征标注,从而得到标注好的训练样本;步骤S3-5,根据训练样本的特点制定对应的特征模板;步骤S3-6,利用标注好的训练样本以及特征模板进行训练,从而得到训练好的命名实体识别模型,实体类别包括主诉、临床表现、西医诊断、中医诊断、中医证型、中医方药、方药组成、治疗建议、药膳建议、运动建议、生活建议以及穴位建议。
根据本发明提供的一种基于NLP自然语言处理的中医养生智能问答***,还可以具有这样的技术特征,其中,依存关系分析模块对临床表现文本进行分析的步骤如下:步骤S4-1,分别对所有中医养生分词、所有词性以及所有实体类别进行特征提取,从而得到对应的词特征、词性特征以及词标签特征;步骤S4-2,分别将词特征、词性特征以及词标签特征映射成对应的词向量、词性向量以及词标签向量,将所有词向量所有词性向量/>以及所有词标签向量/>按照预定的维度W各自拼接,从而得到W维词向量、W维词性向量以及W维词标签向量:
步骤S4-3,利用立方函数将W维词向量、W维词性向量以及W维词标签向量组合为新特征向量:
步骤S4-4,基于新特征向量预测转移步骤以及边的类型,从而确定临床表现文本各个成分之间的关系,得到临床表现文本语义。
根据本发明提供的一种基于NLP自然语言处理的中医养生智能问答***,还可以具有这样的技术特征,其中,语义相似度计算模块基于临床表现文本语义计算临床表现文本中的用户问题与预定的问答库中不同入库问题之间的语义相似度时,包括如下步骤:步骤S5-1,基于Google BERT分别对用户问题以及问答库中的各个入库问题进行词嵌入,从而得到对应的用户问题词向量以及入库问题词向量;步骤S5-2,利用基于LSTM-CNN的镜像网络分别对用户问题词向量以及入库问题词向量进行映射,从而得到对应的用户问题最终向量以及入库问题最终向量;步骤S5-3,利用曼哈顿距离函数计算用户问题最终向量与各个入库问题最终向量的距离,作为语义相似度值。
根据本发明提供的一种基于NLP自然语言处理的中医养生智能问答***,还可以具有这样的技术特征,其中,检索机制为基于倒排机制与文本特征分类相结合的检索机制,包括如下步骤:步骤S6-1,通过解析用户输入问题的字符串提取关键词,并对问题文本一句词频相似度进行排序;步骤S6-2,基于语义相似度值对入库问题进行排序,从而得到入库问题序列;步骤S6-3,按照预定的相似度值范围从入库问题序列中获取对应的入库问题作为目标问题集合;步骤S6-4,对目标问题集合内的各个入库问题进行排序得到排序结果,根据该排序结果选取相似度值最高的入库问题作为最匹配问题,将该最匹配问题对应的答案作为养生建议。
发明作用与效果
根据本发明的一种基于NLP自然语言处理的中医养生智能问答***,该***由用户终端和管理服务器组成,该管理服务器包括中医养生文字分词模块、词性标注模块、命名实体识别与分类模块、依存关系分析模块、语义相似度计算模块以及答案检索模块。当用户录入临床表现信息后,首先由该***的分词模块和词性标注模块依次对用户录入的临床表现信息文本进行文本处理,这一处理过程,极大地降低了传统问答中关于文字语义理解上的歧义,提高了分词正确率,再由命名实体识别与分类模块将处理后的文本进行识别整理出用户录入的临床表现信息属于哪一类实体,最后经由依存关系分析模块和语义相似度计算模块对用户录入的临床表现与***已入库的临床表现进行语义相似度计算,最终由答案检索模块从***数据库中提取与用户录入临床表现语义相似度最高的临床表现对应的中医养生建议展现给用户。
本发明***中的各个模块处理速度快、效率高,该***的语义相似度计算模块与答案检索模块,以及基于倒排机制与文本特征分类相结合的答案检索模块符合高并发应用场景设计要求,并且问题与答案匹配度高,响应速度快,达到了中医养生问答场景的真实模拟效果,极大提升了用户的体验感。
附图说明
图1为本发明实施例的一种基于NLP自然语言处理的中医养生智能问答***的结构框图;
图2是本发明实施例中的分词预处理流程图;
图3是本发明实施例中的中医养生文字分词模块对临床表现文本进行的分词处理流程图;
图4是本发明实施例中的词性标注模块工作示意图;
图5为本发明实施例中的予以相似度计算模块匹配结构图;
图6是本发明实施例中的答案检索模块的答案检索过程示意图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,以下结合实施例及附图对本发明的一种基于NLP自然语言处理的中医养生智能问答***作具体阐述。
<实施例>
图1为本发明实施例的一种基于NLP自然语言处理的中医养生智能问答***的结构示意图。
如图1所示,一种基于NLP自然语言处理的中医养生智能问答***包括用户终端11以及管理服务器12。
其中,多个用户终端分别由多个用户持有。
用户通过用户终端11输入姓名、年龄、职业、民族、常驻地区、婚姻状况、女性月经史婚育史、过敏史(有,具体说明/无)、慢性病史(糖尿病、高血压、病毒性肝炎等)、家族病史,选择对应主诉(本次最需要解决的问题,包括症状和发病时间或持续时间)、临床表现(伴随症状)、相关检查化验数据,上述数据作为临床表现文本。
管理服务器12与用户终端11相通信连接。
其中,管理服务器12包括中医养生文字分词模块121、词性标注模块122、命名实体识别与分类模块123、依存关系分析模块124、语义相似度计算模块125以及答案检索模块126。
中医养生文字分词模块121根据预定的分词词库对临床表现文本进行分词处理,从而得到多个中医养生分词。
图2是本发明实施例中的分词预处理流程图。
其中,分词词库由高频词库和分割词库组成,如图2所示,分词词库通过如下步骤得到:
步骤S1-1,从不同中医书籍中提取中医相关文字信息。
本实施例中,中医书籍包括《中医基础理论》、《中医诊断学》、《中药学》、《方剂学》、《中医内科学》,中医相关文字信息包括主诉、临床表现、中医诊断、中医证型、方药组成、治疗建议、饮食建议、药膳建议、运动建议、生活建议、穴位建议。
步骤S1-2,根据临床表现文本中的标点字符对临床表现文本进行文字分割,从而得到各个文字。
本实施例中,标点字符包括中67文与英文中的小括号、大括号、中括号、分号、句号、逗号、顿号等标点字符。
步骤S1-3,统计相邻的文字在同一时刻出现的频率数量Count(mn)。
步骤S1-4,根据分词词库判断频率数量Count(mn)是否大于预定的频率阈值T。
步骤S1-5,在步骤S1-4判断为是时,将相邻的文字作为高频词生成高频词库,在步骤S1-4判断为否时,将文字作为分割词生成分割词库。
本实施例中,对所有高频词进行检查,将不是词语的字符串mn移入至分割词库中,从而提高分割词与高频词分类的准确性。
图3是中医养生文字分词模块对临床表现文本进行的分词处理流程图。
如图3所示,中医养生文字分词模块121对临床表现文本进行的分词处理包括如下步骤:
步骤S2-1,遍历临床表现文本中的所有相邻字符串mn,判断相邻字符串mn是否为高频词库中的元素;
步骤S2-2,在步骤S2-1判断为是时,则相邻字符串mn成词,在步骤S2-1判断为否时,则判断相邻字符串mn是否为分割词库的元素;
步骤S2-3,在步骤S2-2判断为是时,则相邻字符串mn不成词,在步骤S2-2判断为否时,计算相邻字符串mn之间的正向概率;
步骤S2-4,判断正向概率是否大于0.1;
步骤S2-5,在步骤S2-4判断为是时,则相邻字符串mn成词,在步骤S2-4判断为否时,则判断正向概率是否小于0.001;
步骤S2-6,在步骤S2-5判断为是时,则相邻字符串mn不成词,在步骤S2-5判断为否时,则计算相邻字符串mn的逆向概率;
步骤S2-7,判断逆向概率是否大于0.1;
步骤S2-8,在步骤S2-7判断为是时,则相邻字符串mn成词,在步骤S2-7判断为否时,则判断逆向概率是否小于0.001;
步骤S2-9,在步骤S2-8判断为是时,则相邻字符串mn不成词,在步骤S2-8判断为否时,则计算相邻字符串mn的相对距离;
步骤S2-10,判断相对距离是否在预定的阈值范围内;
步骤S2-11,在步S2-10判断为是时,则相邻字符串mn成词,在步S2-10判断为否时,则相邻字符串mn不成词,并完成针对临床表现文本的分词。
本实施例中,阈值范围为相对距离dis(n,m)<2、dis(m,n)<2或者dis(n,m)<5anddis(m,n)<5。
词性标注模块122对每个中医养生分词进行词性标注,使得每个中医养生分词都有对应的词性。
图4是本发明实施例中的词性标注模块工作示意图。
本实施例中,词性标注具体为:
词性序列X=x1,x2,…,xn,词汇序列:Y=y1,y2,…,yn,最大化概率为P(X|Y)。具体地:
P(X|Y)=(P(X)·P(Y|X))/(P(Y))
P(Y)=1
如图4所示,词性序列X对应的是图4中不可见的词性序列,词汇序列Y对应的是图4中可见的文字序列,当该中医养生智能问答***收到可见的文字序列“胃脘痛病,肝胃郁热”后,会给“胃脘”和“肝胃”标注为症状部位,给“痛病”和“郁热”标注为症状表现。
命名实体识别与分类模块123根据中医养生分词以及对应的词性,利用预先训练好的命名实体识别模型对中医养生分词进行命名实体识别,从而得到命名实体识别结果,并按照预定的实体类别对命名实体识别结果进行分类,从而使得每个命名实体识别结果都有对应的实体类别。
其中,训练好的命名实体识别模型的训练步骤如下:
命名实体识别模型的训练步骤如下:
步骤S3-1,获取中医养生问答相关的训练用文本,对训练用文本进行分词。
其中,训练用文本为包括性别、年龄、职业、民族、婚姻、区域、心率、血压、呼吸、体温、简要病史、胃镜报告、临床诊断、方药、调护方案、运动训练、生活习惯、按摩推拿等内容的dox文件。
本实施例中,对训练用文本分词后,将训练用文本按照3:1比例分为训练样本和测试样本,训练样本用于训练命名实体识别模型,测试样本用于测试命名实体识别模型的性能。
步骤S3-2,将不同的中医书籍中本体概念作为初始源词典,利用反向最大匹配算法获取初始源词典中的实体类别。
本实施例中,使用中医书籍《中医基础理论》、《中医诊断学》、《中药学》、《方剂学》、《中医内科学》中本体概念为初始源词典。
实体类别包括主诉、临床表现、西医诊断、中医诊断、中医证型、中医方药、方药组成、治疗建议、药膳建议、运动建议、生活建议以及穴位建议十二类实体类别。
步骤S3-3,根据实体类别对实体进行实体命名识别。
本实施例中,根据十三类实体类别命名实体的文字构架和上下文分割词对命名实体进行实体识别。
步骤S3-4,利用条件随机场算法对训练样本进行多属性特征标注,从而得到标注好的训练样本。
本实施例中,基于条件随机场(CRFs)算法并综合多种特征的方式,使用手工标注和词典搜索的方法对训练样本进行多种属性特征的标注并剔除无意义词(如:吧、了、那、这等)。
步骤S3-5,根据训练样本的特点制定对应的特征模板。
步骤S3-6,利用标注好的训练样本以及特征模板进行训练,从而得到训练好的命名实体识别模型。
本实施例中,将标注好的训练样本和对应的特征模版基于设计的命名实体识别模型流程训练出模型文件,依据训练出的模型文件对测试样本进行实体术语识别。其中,训练模型文件即训练语料样本。
依存关系分析模块124基于中医养生分词、对应的词性以及实体类别对临床表现文本各个成分之间的关系进行分析,从而得到临床表现文本语义。
其中,依存关系分析模块124对临床表现文本进行分析的步骤如下:
步骤S4-1,分别对所有中医养生分词、所有词性以及所有实体类别进行特征提取,从而得到对应的词特征、词性特征以及词标签特征。
步骤S4-2,分别将词特征、词性特征以及词标签特征映射成对应的词向量、词性向量以及词标签向量,将所有词向量所有词性向量/>以及所有词标签向量/>按照预定的维度W各自拼接,从而得到W维词向量、W维词性向量以及W维词标签向量:
步骤S4-3,利用立方函数将W维词向量、W维词性向量以及W维词标签向量组合为新特征向量:
步骤S4-4,基于新特征向量预测转移步骤以及边的类型,从而确定临床表现文本各个成分之间的关系,得到临床表现文本语义。
语义相似度计算模块125基于临床表现文本语义计算临床表现文本中的用户问题与预定的问答库中不同入库问题之间的语义相似度,从而得到用户问题与各个入库问题之间的语义相似度值。
图5是本发明实施例中的语义相似度计算模块匹配结构图。
其中,语义相似度计算模块125基于临床表现文本语义计算临床表现文本中的用户问题与预定的问答库中不同入库问题之间的语义相似度时,包括如下步骤:
步骤S5-1,基于Google BERT分别对用户问题以及问答库中的各个入库问题进行词嵌入,从而得到对应的用户问题词向量以及入库问题词向量。
步骤S5-2,利用基于LSTM-CNN的镜像网络分别对用户问题词向量以及入库问题词向量进行映射,从而得到对应的用户问题最终向量以及入库问题最终向量。
本实施例中,LSTM-CNN训练过程中对终端用户的提问问题和***已入库问题分别进行维度为200维的词嵌入,并使用高斯分布随机初始化,损失函数使用交叉熵损失CrossEntropyLoss。
优化算法使用RMSprop,对梯度的范数值超过设定值进行切片,避免发生梯度***。
步骤S5-3,利用曼哈顿距离函数计算用户问题最终向量与各个入库问题最终向量的距离,作为语义相似度值。
答案检索模块126根据语义相似度值利用预定的检索机制从本实施例的该***已入库的问题中提取与用户提问问题文本语义相似度最高的问题及所对应的答案,作为养生建议。
在传统的问答***中,为提高用户提问问题与***已入库问题语义相似的匹配度,通常会采用机器学习和深度学习方法将答案排序和问题提取任务按照文本分类任务处理,训练分类模型,这种方法需要对***已入库的每个问题进行文本语义相似度计算,而且每一次的查询都需要再次计算和提取***已入库问题文本语义相似度,这种方式对于高并发和要求实时响应的问答***来说是不可取的,因为每一次提取都要对***数据库检索一遍,那么提取任务越多,问答***的响应延时就会越长,而且服务器的资源亦是有限,这种方式会消耗大量服务器资源,会成为问答***性能提升的瓶颈。
查询问题的目的是从***已入库的问题中提取与查询问题文本语义最为接近的问题,这种查询的过程是通过对***已入库所有问题与查询问题相似度逐个计算,提取相似度最为接近的问题,这种方法会降低***性能的原因是因为每次问题检索都会查询一次数据库。
图6是本发明实施例中的答案检索模块的答案检索过程示意图。
如图6所示,为解决此类问题,本实施例设计的检索机制,首先建立***已入库问题索引库,再将问题检索转化为检索串,采用基于倒排机制和文本特征分类返回一个既定范围内的文本语义相似度最为接近的集合并进行再次排序,再次排序时,提取问题文本间的表层特征、文本语义空间特征、词袋模型特征以及主题模型特征,使用这些维度提取问题检索与集合中文本语义最为接近的***已入库问题。具体地:
本实施例中,预定的检索机制为基于倒排机制与文本特征分类相结合的检索机制,该检索机制的工作流程包括以下步骤:
步骤S6-1,通过解析用户输入问题的字符串提取关键词,并对问题文本一句词频相似度进行排序;
步骤S6-2,基于语义相似度值对入库问题进行排序,从而得到入库问题序列;
步骤S6-3,按照预定的相似度值范围从入库问题序列中获取对应的入库问题作为目标问题集合;
步骤S6-4,对目标问题集合内的各个入库问题进行排序得到排序结果,根据该排序结果选取相似度值最高的入库问题作为最匹配问题,将该最匹配问题对应的答案作为养生建议。
考虑到实际项目环境中,用户提问问题会有很大一部分是相似的,特别是一些大家较为关注的个别热点中医养生问题,为提高模型响应的及时性,本实施例中,***将已经计算好的问题特征的语义向量存储至NoSQL数据库中,当计算特征匹配度时,优先从NoSQL数据库中查询,减少因提取文本特征产生语义向量计算的时间损耗与服务器资源开销。
实施例作用与效果
根据本实施例提供的基于NLP自然语言处理的中医养生智能问答***,该***由用户终端和管理服务器组成,该管理服务器包括中医养生文字分词模块、词性标注模块、命名实体识别与分类模块、依存关系分析模块、语义相似度计算模块以及答案检索模块。当用户录入临床表现信息后,首先由该***的分词模块和词性标注模块依次对用户录入的临床表现信息文本进行文本处理,再由命名实体识别与分类模块将处理后的文本进行识别整理出用户录入的临床表现信息属于哪一类实体,最后经由依存关系分析模块和语义相似度计算模块对用户录入的临床表现与***已入库的临床表现进行语义相似度计算,最终由答案检索模块从***数据库中提取与用户录入临床表现语义相似度最高的临床表现对应的中医养生建议展现给用户。
本实施例中,由于是使用中医书籍《中医基础理论》、《中医诊断学》、《中药学》、《方剂学》、《中医内科学》作为词典,且结合正向概率、逆向概率、相对距离,最后才得出最终中文文本分词的结论,因此基于当前文本之前的词性和词汇来标注当前文本的词性可以极大的降低文字语义理解上的歧义,使得在中医养生领域的分词正确率高于常规中文文本分词工具的正确率。
本实施例中的基于NLP自然语言处理的中医养生智能问答***,还可以对主诉、临床表现、西医诊断、中医诊断、中医证型、中医方药、方药组成、治疗建议、药膳建议、运动建议、生活建议、穴位建议十二类实体进行实体识别,囊括的实体类别也较常规问答***的种类丰富。
在实施例中,设计了基于神经网络来完成文本的上下文依存分析,该过程中用到的模型简单、速度快且效果好。
本实施例中设计的中医养生临床主诉文本信息语义相似度的计算模型是将终端用户的提问问题与***已入库问题进行语义相似度计算,在入库问题中提取出和提问问题语义最为相近的问题,最后提取出该问题对应的答案,这个模型更加符合中医养生问答场景。
另外,本实施例设计的答案检索模块中的检索模型将已经计算好的问题特征的语义向量存储至NoSQL数据库中,当计算特征匹配度时,优先从NoSQL数据库中查询,减少因提取文本特征产生语义向量计算的时间损耗与服务器资源开销,极大地提高模型响应的及时性。
上述实施例仅用于举例说明本发明的具体实施方式,而本发明不限于上述实施例的描述范围。
Claims (7)
1.一种基于NLP自然语言处理的中医养生智能问答***,用于针对用户输入的临床表现文本进行自然语言处理,从而得到对应的养生建议,其特征在于,包括:
多个用户终端,由所述用户持有;以及
管理服务器,与所述用户终端相通信连接,
其中,所述管理服务器包括中医养生文字分词模块、词性标注模块、命名实体识别与分类模块、依存关系分析模块、语义相似度计算模块以及答案检索模块,
所述中医养生文字分词模块根据预定的分词词库对所述临床表现文本进行分词处理,从而得到多个中医养生分词,
所述词性标注模块对每个所述中医养生分词进行词性标注,使得每个所述中医养生分词都有对应的词性,
所述命名实体识别与分类模块根据所述中医养生分词以及对应的所述词性,利用预先训练好的命名实体识别模型对所述中医养生分词进行命名实体识别,从而得到命名实体识别结果,并按照预定的实体类别对所述命名实体识别结果进行分类,从而使得每个所述命名实体识别结果都有对应的实体类别,
所述依存关系分析模块基于所述中医养生分词、对应的所述词性以及所述实体类别对所述临床表现文本各个成分之间的关系进行分析,从而得到临床表现文本语义,
所述语义相似度计算模块基于所述临床表现文本语义计算所述临床表现文本中的用户问题与预定的问答库中不同入库问题之间的语义相似度,从而得到所述用户问题与各个所述入库问题之间的语义相似度值,
所述答案检索模块根据所述语义相似度值利用预定的检索机制从所述问答库中检索到与所述用户问题对应的答案,作为所述养生建议。
2.根据权利要求1所述的基于NLP自然语言处理的中医养生智能问答***,其特征在于:
其中,所述分词词库由高频词库和分割词库组成,通过如下步骤得到:
步骤S1-1,从不同中医书籍中提取中医相关文字信息;
步骤S1-2,根据所述临床表现文本中的标点字符对所述临床表现文本进行文字分割,从而得到各个文字;
步骤S1-3,统计相邻的文字在同一时刻出现的频率数量;
步骤S1-4,判断所述频率数量是否大于预定的频率阈值T;
步骤S1-5,在所述步骤S1-4判断为是时,将所述相邻的文字作为高频词生成所述高频词库,在所述步骤S1-4判断为否时,将文字作为分割词生成所述分割词库。
3.根据权利要求1所述的基于NLP自然语言处理的中医养生智能问答***,其特征在于:
其中,所述中医养生文字分词模块对所述临床表现文本进行的分词处理包括如下步骤:
步骤S2-1,遍历所述临床表现文本中的所有相邻字符串mn,判断所述相邻字符串mn是否为高频词库中的元素;
步骤S2-2,在所述步骤S2-1判断为是时,则所述相邻字符串mn成词,在所述步骤S2-1判断为否时,则判断所述相邻字符串mn是否为分割词库的元素;
步骤S2-3,在所述步骤S2-2判断为是时,则所述相邻字符串mn不成词,在所述步骤S2-2判断为否时,计算所述相邻字符串mn之间的正向概率;
步骤S2-4,判断正向概率是否大于0.1;
步骤S2-5,在所述步骤S2-4判断为是时,则所述相邻字符串mn成词,在所述步骤S2-4判断为否时,则判断所述正向概率是否小于0.001;
步骤S2-6,在所述步骤S2-5判断为是时,则所述相邻字符串mn不成词,在所述步骤S2-5判断为否时,则计算所述相邻字符串mn的逆向概率;
步骤S2-7,判断所述逆向概率是否大于0.1;
步骤S2-8,在所述步骤S2-7判断为是时,则所述相邻字符串mn成词,在所述步骤S2-7判断为否时,则判断所述逆向概率是否小于0.001;
步骤S2-9,在所述步骤S2-8判断为是时,则所述相邻字符串mn不成词,在所述步骤S2-8判断为否时,则计算所述相邻字符串mn的相对距离;
步骤S2-10,判断所述相对距离是否在预定的阈值范围内;
步骤S2-11,在所述步骤S2-10判断为是时,则所述相邻字符串mn成词,在所述步S2-10判断为否时,则所述相邻字符串mn不成词,并完成针对所述临床表现文本的分词。
4.根据权利要求1所述的基于NLP自然语言处理的中医养生智能问答***,其特征在于:
其中,所述命名实体识别模型的训练步骤如下:
步骤S3-1,获取中医养生问答相关的训练用文本,对所述训练用文本进行分词;
步骤S3-2,将不同的中医书籍中本体概念作为初始源词典,利用反向最大匹配算法获取所述初始源词典中的实体类别;
步骤S3-3,根据所述实体类别对实体进行实体命名识别;
步骤S3-4,利用条件随机场算法对所述训练用文本进行多属性特征标注,从而得到标注好的训练样本;
步骤S3-5,根据所述训练样本的特点制定对应的特征模板;
步骤S3-6,利用所述标注好的训练样本以及所述特征模板进行训练,从而得到训练好的命名实体识别模型,
所述实体类别包括主诉、临床表现、西医诊断、中医诊断、中医证型、中医方药、方药组成、治疗建议、药膳建议、运动建议、生活建议以及穴位建议。
5.根据权利要求1所述的基于NLP自然语言处理的中医养生智能问答***,其特征在于:
其中,所述依存关系分析模块对所述临床表现文本进行分析的步骤如下:
步骤S4-1,分别对所有所述中医养生分词、所有所述词性以及所有所述实体类别进行特征提取,从而得到对应的词特征、词性特征以及词标签特征;
步骤S4-2,分别将所述词特征、所述词性特征以及所述词标签特征映射成对应的词向量、词性向量以及词标签向量,将所有词向量所有词性向量/>以及所有词标签向量/>按照预定的维度W各自拼接,从而得到W维词向量、W维词性向量以及W维词标签向量:
步骤S4-3,利用立方函数将所述W维词向量、所述W维词性向量以及所述W维词标签向量组合为新特征向量:
步骤S4-4,基于所述新特征向量预测转移步骤以及边的类型,从而确定所述临床表现文本各个成分之间的关系,得到所述临床表现文本语义。
6.根据权利要求1所述的基于NLP自然语言处理的中医养生智能问答***,其特征在于:
其中,所述语义相似度计算模块基于所述临床表现文本语义计算所述临床表现文本中的用户问题与预定的问答库中不同入库问题之间的语义相似度时,包括如下步骤:
步骤S5-1,基于Google BERT分别对所述用户问题以及所述问答库中的各个所述入库问题进行词嵌入,从而得到对应的用户问题词向量以及入库问题词向量;
步骤S5-2,利用基于LSTM-CNN的镜像网络分别对所述用户问题词向量以及所述入库问题词向量进行映射,从而得到对应的用户问题最终向量以及入库问题最终向量;
步骤S5-3,利用曼哈顿距离函数计算所述用户问题最终向量与各个所述入库问题最终向量的距离,作为所述语义相似度值。
7.根据权利要求1所述的基于NLP自然语言处理的中医养生智能问答***,其特征在于:
其中,所述检索机制为基于倒排机制与文本特征分类相结合的检索机制,包括如下步骤:
步骤S6-1,通过解析用户输入问题的字符串提取关键词,并对问题文本一句词频相似度进行排序;
步骤S6-2,基于所述语义相似度值对所述入库问题进行排序,从而得到入库问题序列;
步骤S6-3,按照预定的相似度值范围从所述入库问题序列中获取对应的入库问题作为目标问题集合;
步骤S6-4,对所述目标问题集合内的各个所述入库问题进行排序得到排序结果,根据该排序结果选取相似度值最高的入库问题作为最匹配问题,将该最匹配问题对应的答案作为所述养生建议。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110858167.1A CN113590783B (zh) | 2021-07-28 | 2021-07-28 | 基于nlp自然语言处理的中医养生智能问答*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110858167.1A CN113590783B (zh) | 2021-07-28 | 2021-07-28 | 基于nlp自然语言处理的中医养生智能问答*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113590783A CN113590783A (zh) | 2021-11-02 |
CN113590783B true CN113590783B (zh) | 2023-10-03 |
Family
ID=78251157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110858167.1A Active CN113590783B (zh) | 2021-07-28 | 2021-07-28 | 基于nlp自然语言处理的中医养生智能问答*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113590783B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114090789B (zh) * | 2021-11-12 | 2023-04-21 | 复旦大学 | 基于知识图谱的中医养生智能多轮交互*** |
CN114169335A (zh) * | 2021-12-09 | 2022-03-11 | 航天信息股份有限公司 | 智能客服的信息处理方法、装置、设备及介质 |
CN114936551A (zh) * | 2022-04-28 | 2022-08-23 | 北京明朝万达科技股份有限公司 | 一种基于词义相似度的智能数据治理方法和*** |
CN116955577B (zh) * | 2023-09-21 | 2023-12-15 | 四川中电启明星信息技术有限公司 | 一种基于内容检索的智能问答*** |
CN117520786B (zh) * | 2024-01-03 | 2024-04-02 | 卓世科技(海南)有限公司 | 基于nlp和循环神经网络的大语言模型构建方法 |
CN117933245B (zh) * | 2024-03-22 | 2024-06-28 | 四川省特种设备检验研究院 | 一种特种设备维护问答***的中文分词方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804521A (zh) * | 2018-04-27 | 2018-11-13 | 南京柯基数据科技有限公司 | 一种基于知识图谱的问答方法及农业百科问答*** |
CN110737763A (zh) * | 2019-10-18 | 2020-01-31 | 成都华律网络服务有限公司 | 一种融合知识图谱和深度学习的中文智能问答***及方法 |
WO2021000676A1 (zh) * | 2019-07-03 | 2021-01-07 | 平安科技(深圳)有限公司 | 问答方法、问答装置、计算机设备及存储介质 |
WO2021056710A1 (zh) * | 2019-09-24 | 2021-04-01 | 平安科技(深圳)有限公司 | 多轮问答识别方法、装置、计算机设备及存储介质 |
-
2021
- 2021-07-28 CN CN202110858167.1A patent/CN113590783B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804521A (zh) * | 2018-04-27 | 2018-11-13 | 南京柯基数据科技有限公司 | 一种基于知识图谱的问答方法及农业百科问答*** |
WO2021000676A1 (zh) * | 2019-07-03 | 2021-01-07 | 平安科技(深圳)有限公司 | 问答方法、问答装置、计算机设备及存储介质 |
WO2021056710A1 (zh) * | 2019-09-24 | 2021-04-01 | 平安科技(深圳)有限公司 | 多轮问答识别方法、装置、计算机设备及存储介质 |
CN110737763A (zh) * | 2019-10-18 | 2020-01-31 | 成都华律网络服务有限公司 | 一种融合知识图谱和深度学习的中文智能问答***及方法 |
Non-Patent Citations (1)
Title |
---|
基于WEB的中文开放域问答***研究;林旭东;万方学位论文;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113590783A (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113590783B (zh) | 基于nlp自然语言处理的中医养生智能问答*** | |
CN109684448B (zh) | 一种智能问答方法 | |
Arulmurugan et al. | RETRACTED ARTICLE: Classification of sentence level sentiment analysis using cloud machine learning techniques | |
Milosevic et al. | A framework for information extraction from tables in biomedical literature | |
CN112131393A (zh) | 一种基于bert和相似度算法的医疗知识图谱问答***构建方法 | |
CN112487202B (zh) | 融合知识图谱与bert的中文医学命名实体识别方法、装置 | |
US20110112995A1 (en) | Systems and methods for organizing collective social intelligence information using an organic object data model | |
CN107491655B (zh) | 基于机器学习的肝脏疾病信息智能咨询*** | |
Xie et al. | Topic enhanced deep structured semantic models for knowledge base question answering | |
CN110612522B (zh) | 实体模型的建立 | |
CN102663129A (zh) | 医疗领域深度问答方法及医学检索*** | |
CN110277167A (zh) | 基于知识图谱的慢性非传染性疾病风险预测*** | |
US11250212B2 (en) | System and method for interpreting contextual meaning of data | |
CN110879831A (zh) | 基于实体识别技术的中医药语句分词方法 | |
CN112559684A (zh) | 一种关键词提取及信息检索方法 | |
CN112989208B (zh) | 一种信息推荐方法、装置、电子设备及存储介质 | |
CN113569023A (zh) | 一种基于知识图谱的中文医药问答***及方法 | |
CN116340544B (zh) | 一种基于知识图谱的中医药古籍可视分析方法与*** | |
CN111581364B (zh) | 一种面向医疗领域的中文智能问答短文本相似度计算方法 | |
Wang et al. | Constructing a comprehensive events database from the web | |
CN114064901A (zh) | 一种基于知识图谱词义消歧的书评文本分类方法 | |
Suwarningsih et al. | ImNER Indonesian medical named entity recognition | |
CN111104492B (zh) | 一种基于层次化Attention机制的民航领域自动问答方法 | |
CN112084312A (zh) | 一种基于知识图构建的智能客服*** | |
Mezentseva et al. | Optimization of analysis and minimization of information losses in text mining |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |