Page 111 - 《中国药房》2024年15期
P. 111

Function LevR(a As String,b As String) As Double   后下降的规律,且图形整体呈现出类似钟形曲线的
           Dim m,n As Integer                                特征。
           m = Len(a) :n = Len(b)
           If m = 0 or n = 0 Then Return 0                       具有钟形曲线特征的常见函数是正态分布的概率
           Dim L(m,n),i,j As Integer                         密度函数,该函数的图像具有对称性:从峰值点开始,曲
           For i = 1 To m :L(i,0) = i :Next i
           For j = 1 To n :L(0,j) = j :Next j                线两侧都呈现下降趋势,且在拐点处的下降速率最快。
           Dim Insert,Delete,Replace As Integer              将该性质类比到函数g上,意味着存在某个特定的相似
           For i = 1 To m
            For j = 1 To n                                   性阈值δ ,使得易混淆药品组数最大。当相似性阈值大
                                                                    c
             Insert = L(i,j-1) + 1                           于δ 时,易混淆药品组数将逐渐减少,且在函数g的右侧
             Delete = L(i-1,j) + 1                              c
             If Mid(a,i,1) = Mid(b,j,1) Then                 拐点处,记为 δ ,g( δ    k)) ,具有最大的下降速率。
                                                                        ( k
              Replace = L(i-1,j-1)
             Else                                                在遴选最佳相似性阈值时, δ 和 δ 均为可行的选
                                                                                           c
                                                                                               k
              Replace = L(i-1,j-1) + 1                       项,但使用 δ 更为合理。原因有如下 2 点:(1)由函数 g
                                                                        k
             End If
                                                                                 δ
                                                                           δ
             L(i,j) = Math.Min(Math.Min(Insert,Delete),Replace)  的性质可知,g( ) >g( ) >g( ) 1 ,表明以 δ 作为相似性
                                                                            c
                                                                                                  k
                                                                                  k
            Next j                                           阈值时,易混淆药品组数不会出现过多或过少;(2)当相
           Next i
           Return 1-L(m,n)/Math.Max(m,n)                     似性阈值超过 δ 后,易混淆药品组数减少的速度放缓,
                                                                           k
          End Function
                                                             表明各组内的药品名称都具有高度的相似性。因此本
               图1 基于LD的药品名称相似性算法代码
                                                             研究使用δ 作为最佳的相似性阈值。
                                                                      k
              从 A 中识别出易混淆药品组的方法如下:首先,选
                                                                 实践中,函数g的图形并非为一条光滑曲线,这不利
          出A中第一个药品名称A 。然后,将A 与数组中余下的
                               1          1                  于确定 δ 。但可以寻找一条拟合曲线来代替函数 g,从
          所有药品名称进行相似度计算。如果计算得到的 R 不                                  k
                                                             而将寻找函数g右侧拐点的问题转换为寻求拟合曲线右
          小于设定的相似性阈值 δ,则把当前药品名称标记为与
                                                             侧拐点。由于函数g与正态分布的概率密度函数具有相
          A 相似。遍历完所有药品名称后,如果被标记的药品
           1
                                                             似的图形特征,故设拟合曲线的公式为:
          数>1,则把 A 与所有标记的药品归为 1 个易混淆药品
                     1
                                                                          -  ( δ - μ )  2
          组。上述过程仅识别出了1组易混淆药品,为筛选出更                               f (δ) = αe  2σ 2  ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅(3)
          多易混淆药品组,需要对 A 进行放缩,即将 A 和所有被                         其中 α、 μ 和 σ 均为待定的参数。公式(3)中的自变
                                                1
          标记的药品名(若存在)从A中删除。然后对放缩后的A                          量δ位于指数中,因此需对该公式进行对数化处理:
          重复上述识别步骤,即可得到第2组易混淆药品。以此                                                             )  2
                                                                 h(δ) = ln( f (δ)) = ln(α) -  ( δ - μ  ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅(4)
          往复,直到A中仅包含0个或1个药品名称为止,即可筛                                                        2σ 2
          选出所有易混淆药品组。                                            可以看到,公式(4)是关于 δ 的二次函数,故需要进
          1.2.4 相似性阈值的筛选                                     行二阶多项式拟合。进行参数拟合的过程如下:首先,
              相似性阈值δ是易混淆药品目录自动生成算法的重                         在区间[0.1,0.9]内,以 0.01 为步长等间隔地取值,得到
          要参数。若设定的 δ值偏低,可能会导致易混淆药品组                          相似性阈值δ的81个样本,即δ =0.10, δ =0.11, , δ =
                                                                                                          81
                                                                                              2
                                                                                      1
          的质量不尽如人意,进而影响算法的准确性和实用性;                           0.90。随后计算各相似性阈值所对应的易混淆药品组
          反之,若δ的设定值偏高,则有可能造成某些重要的易混                                                            (  1 (   1)))
                                                             数,并取自然对数,得到 1 组样本数据 δ , ln g( δ                ,
                                                                                 (
          险控制方面的作用。因此,合理地设定 δ值对于确保算 (                         δ , ln g( δ 2))) , ,δ , ln g( δ 81))) 。 利 用 该 组 数
          淆的药品被遗漏,从而削弱算法在易混淆药品管理和风
                                                                                   81 (
                                                               2 (
          法的有效性和可靠性至关重要。                                     据,在 Matlab 中使用 polyfit 函数进行二阶多项式拟合,
              相似性阈值δ与易混淆药品组数之间存在着紧密关                         即可确定参数 α、 μ 和 σ。上述相似性阈值 δ 的样本取值
          联。为明确该关系,本课题组定义了一个能将相似性阈                           区间未设定为[0,1]的原因在于,靠近0和1的易混淆药
          值δ映射到易混淆药品组数的函数g。通过观察这个函                           品组数会对参数拟合的结果产生不利影响。
          数的图形,可以从整体上把握相似性阈值 δ对易混淆药                              函数 f 的定义与正态分布的概率密度函数非常相
          品组数的影响。从实际操作中可以观察到,随着 δ的逐                          似,仅存在常数项的差异。这点差异不会影响右侧拐点
          渐增大,易混淆药品组数g(δ)的变化趋势表现出先上升                         的横坐标位置。因此,根据后者的性质,可推断出函数f


          中国药房  2024年第35卷第15期                                              China Pharmacy  2024 Vol. 35  No. 15    · 1901 ·
   106   107   108   109   110   111   112   113   114   115   116