一种多处方药剂师分配方法与流程

文档序号:17973749发布日期:2019-06-21 23:39阅读:398来源:国知局
一种多处方药剂师分配方法与流程

本发明涉及中药智能化技术领域,尤其涉及一种多处方药剂师分配方法。



背景技术:

医疗卫生事业是关系着千千万万人民健康生活的重大民生问题,也是维持社会稳定和发展的基本要素。中医药发展有数千年的悠久历史,具有疗效好、副作用小、环境污染小等特点,尤其在预防保健、疾病康复等方面发挥着重要作用。

目前中药的需求量越来越大,中药的种类成千上万,对于药剂师的要求也越来越高。目前在大多数中药房中,中药处方都是随机分配给药剂师来完成抓取称重包装等步骤。然而,不同的药剂师都有各自熟悉和不熟悉的处方,在处理熟悉的中药处方可以又快又好,但在处理不熟悉的中药处方可能效率会下降很多,甚至出错。我们希望对于每一种中药处方,都能分配给最合适的药剂师,使处方的抓取称重包装等步骤的质量和效率都达到最优。根据调研,我们发现目前对于该问题还没有一种较好的方法。



技术实现要素:

针对以上不足,本发明提供一种多处方药剂师分配方法。

本发明所采用的技术方案如下:一种多处方药剂师分配方法,包括如下步骤:

(1)获取处方和药剂师的数据;

(2)对步骤(1)获得到的数据进行特征提取;

(3)基于步骤(2)提取的特征,构建一个特征矩阵;

(4)将步骤(3)构建的特征矩阵进行数据格式,输入lambdamart模型中进行训练;

(5)将新处方进行特征提取后,输入到训练好的lambdamart模型中,获得各个药剂师的得分,其中得分最高的为最适合处理该处方的药剂师。

进一步的,针对处方数据提取的特征包括处方种类、处方中包含哪几味药剂以及每味药剂的剂量;不同处方之间还存在一个特征,即各个处方之间冲突药的数量。

进一步的,针对药剂师数据提取的特征包括药剂师的经验和药剂师的状态。

进一步的,假定有n位药剂师a1,a2,…,an和m种处方1,2,…,m,所述步骤(3)构建的特征矩阵如下:

其中,处方所对应的最适合的药剂师的标签为1,其余都为0;

处方种类为针对各种病症的分类,可以将这些分类对应编号;

药剂1-药剂k为构成中药处方的所有味药剂,若处方包含该味药剂,则为该味药剂的剂量为大于零的常数,否则为0;因此通过药剂1-药剂k,可以得到一个处方包含哪几味药剂以及每味药剂的剂量;

药剂师经验为该药剂师抓取该处方的次数和速度,其中速度即为该药剂师抓取该处方所需的平均时间;

药剂师状态为该药剂师是否正在抓取一个处方;

值得注意的是,各个处方之间冲突药的数量不需要单独列为一个特征,因为该矩阵中结合药剂1-k以及药剂师状态即包含了同一时间抓取多处方时的冲突信息。

进一步的,所述步骤(4)中数据格式如下:

<line>.=.<target>qid:<qid><feature>:<value><feature>:<value>...<feature>:<value>

其中,参数<line>表示一条数据,每条数据占一行的位置;target为标签,qid为每一组的编号,特征矩阵中同一个处方的所有行即为一组,组中有一个药剂师为所推荐的药剂师,标签为1,其余药剂师的标签均为0;feature为提取到的所有特征;<value>代表特征对应的数值。

本发明的有效果如下:本发明首次在中药药剂师分配问题中引入了学习排序(learningtorank)算法。通过学习排序算法,可以达到自动化分配最合适药剂师的效果,既可以减少人力分配的代价成本,更能使得处方的抓取称重包装等步骤的质量和效率都达到最优。同时,本发明还提供了从原始数据获取,特征工程,构建特征矩阵到推荐模型建立的完整流程框架,提高了自动化中药药剂师分配可实施性和实用价值。

附图说明

图1为本发明方法的流程图。

具体实施方式

下面结合实施例和附图对本发明作进一步的详细说明。

实施例1:

本发明的多处方药剂师分配方法主要分为两个阶段,模型训练阶段和模型应用阶段,主要流程如图1所示:

在模型训练阶段,为了构建自动化分配中药药剂师的模型,我们首先需要从处方和药剂师的原始数据中人工提取一些特征,提取的特征需要能表征每种处方和每位药剂师之间的关系。具体来说,包含以下几类:

a)对于每位药剂师,有如下一些特征:药剂师的经验,药剂师的状态。

b)对于每种处方,有如下一些特征:处方种类、处方中包含哪几味药剂以及每味药剂的剂量。

c)此外,不同处方之间还存在一个特征,即各个处方之间冲突药的数量。

基于上述这些特征,我们构建了一个特征矩阵。我们假定有n位药剂师a1,a2,…,an和m种处方1,2,…,m。

在上述矩阵中,n位药剂师和m种处方总共有n*m种组合,也就是有n*m行,每一行都是该种组合的标签以及所包含的药剂师和处方的特征。处方所对应的最适合的药剂师的标签为1,其余都为0。处方种类为针对各种病症的分类,可以将这些分类对应编号;药剂1-药剂k为构成中药处方的所有味药,若处方包含该味药,则为该味药的剂量为大于零的常数,否则为0;因此通过药剂1-k,可以得到一个处方包含哪几味药剂以及每味药剂的剂量;药剂师经验为该药剂师抓取该处方的次数和速度,其中速度即为该药剂师抓取该处方所需的平均时间;药剂师状态为该药剂师是否正在抓取一个处方。值得注意的是,各个处方之间冲突药的数量不需要单独列为一个特征,因为该矩阵中结合药剂1-药剂k以及药剂师状态即包含了同一时间抓取多处方时的冲突信息。此外,理论上说,类似处方应当分配给同一个药剂师,在我们构建的矩阵中自身就包含了这一信息,因此用机器学习的算法可以自动学到这个规则。

有了上述特征矩阵,我们应用机器学习中一种非常好的推荐算法学习排序(learningtorank)来为每种处方推荐最合适的药剂师。我们采用常用的开源算法库ranklib来实现我们的推荐方法。ranklib要求的数据输入格式如下:

<line>.=.<target>qid:<qid><feature>:<value><feature>:<value>...<feature>:<value>

其中,参数<line>表示一条数据,每条数据占一行的位置;target为标签,qid为每一组的编号,特征矩阵中同一个处方的所有行即为一组,组中有一个药剂师为所推荐的药剂师,标签为1,其余药剂师的标签均为0;feature为提取到的所有特征;<value>代表特征对应的数值。因此,我们可以将上述矩阵输入ranklib。此外,ranklib还有一些可设置的参数,其中最重要的一个是所用学习排序的具体算法。我们采用的是lambdamart模型。lambdamart模型是一种listwise的学习排序模型。lambdamart模型具有两大优点:一是可以在已有模型上继续训练,适用于增量学习;二是对正负样本不平衡数据不敏感。这两大优点可以很好地在我们药剂师分配问题发挥优势。

当模型建立好后,新来一个处方后,可以基于其特征,计算得到每个药剂师对该处方的适配分数,得到最合适的药剂师。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1