发明名称 一种基于语言模型的医案搜索方法
摘要 本发明公开了一种基于语言模型的医案搜索方法。步骤如下:1)通过OCR,文本结构化处理,从医案书籍中提取结构化单篇医案;2)使用中文分词工具,对所有医案进行包括分词和去停用词在内的预处理;3)用最大似然估计计算得到每篇医案的unigram语言模型;4)针对所有医案,统计各词频水平对应词语的个数,并使用统计到的数据拟合曲线;5)使用Good‑Turing估计方法来平滑每篇医案的unigram语言模型;6)以所有医案集作为整体建立一个所有医案集的语言模型,并用于修正单篇医案的unigram语言模型;7)使用修正后的语言模型实现医案搜索。本发明实现了基于语言模型的信息检索,使用N‑gram针对每篇医案建立各自的语言模型,使用语言模型生成文本的概率作为搜索结果排序依据。
申请公布号 CN105843868A 申请公布日期 2016.08.10
申请号 CN201610154543.8 申请日期 2016.03.17
申请人 浙江大学 发明人 张引;姜利成
分类号 G06F17/30(2006.01)I;G06F17/27(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 张法高
主权项 一种基于语言模型的医案搜索方法,其特征在于包括以下步骤:1)通过OCR,文本结构化处理,从医案书籍中提取结构化单篇医案;2)使用中文分词工具,对所有医案进行包括分词和去停用词在内的预处理,并建立词典;3)用最大似然估计计算得到每篇医案的unigram语言模型;4)针对所有医案,统计各词频水平对应词语的个数N<sub>tf</sub>,其中下标tf代表词频水平,使用统计到的数据拟合曲线,拟合公式如下:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>N</mi><mrow><mi>t</mi><mi>f</mi></mrow></msub><mo>=</mo><msup><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>&theta;</mi><mo>)</mo></mrow><mrow><msub><mi>log</mi><mn>2</mn></msub><msub><mi>N</mi><mrow><mi>t</mi><mi>f</mi></mrow></msub></mrow></msup></mrow>]]></math><img file="FDA0000943603260000011.GIF" wi="460" he="78" /></maths>得到曲线参数θ;5)根据步骤4)拟合的曲线计算<img file="FDA0000943603260000012.GIF" wi="123" he="110" />再通过<img file="FDA0000943603260000013.GIF" wi="102" he="111" />直接估计出<img file="FDA0000943603260000014.GIF" wi="160" he="110" />比值;使用Good‑Turing估计方法来平滑每篇医案的unigram语言模型,公式如下:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msup><mi>tf</mi><mo>*</mo></msup><mo>=</mo><mrow><mo>(</mo><mi>t</mi><mi>f</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mfrac><mrow><mi>E</mi><mrow><mo>(</mo><msub><mi>N</mi><mrow><mi>t</mi><mi>f</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow></mrow><mrow><mi>E</mi><mrow><mo>(</mo><msub><mi>N</mi><mrow><mi>t</mi><mi>f</mi></mrow></msub><mo>)</mo></mrow></mrow></mfrac></mrow>]]></math><img file="FDA0000943603260000015.GIF" wi="525" he="135" /></maths>式中:tf<sup>*</sup>平滑后的词频水平;6)将所有医案替代单篇医案作为训练文本,重复步骤2)到5),以所有医案集作为整体建立一个所有医案集的语言模型,使用该语言模型通过加权加和法修正单篇医案的unigram语言模型,修正公式如下:P<sub>sum</sub>(t|d)=ω×P<sub>document</sub>(t|d)+(1‑ω)×P<sub>corpus</sub>(t)式中:P<sub>sum</sub>(t|d)为修正后的单篇医案的unigram语言模型;ω为权重;P<sub>document</sub>(t|d)为平滑后的每篇医案的unigram语言模型;P<sub>corpus</sub>(t)为整个医案集的语言模型;7)使用修正后的语言模型实现医案搜索。
地址 310027 浙江省杭州市西湖区浙大路38号