我正在设计一个读取用户输入数值的软件。然后,它生成在医疗报告中使用的句子。由于句子之间有如此多的差异,并且为每种类型的差异创建一个定式的时间过长,可能徒劳无功,这引起了一些复杂化。
让我举一个我正在努力的例子:
假设诊断依赖于人类的神经。
考虑以下神经:正中,尺骨,radial神经。
现在,假设用户在软件中输入了数值,该数值会生成哪些神经异常。
请考虑以下语句:
对左中神经的神经病变的诊断。
提示双侧尺神经的神经病变。
右radial神经神经病变的适应症。
每个语句都是由一组语句生成的,可以将这些语句组合起来以具有每个变体。变体-
左(L),右(R),双侧(B)-中位数,尺骨和radial骨。
因此方差为3 ^ 3 = 27。
但是,当有更多的神经时,方差呈指数增长。如果我有5条神经,那应该是3 ^ 5。
问题是:如何设计软件以使其产生以下语句:
指示左正中,双侧尺骨和右radial神经的神经病变,但实际上没有这些陈述的每一个组合和每一个的每个条件陈述。
它需要处理各种语句:给出句子差异的示例:
左胫神经的神经传导速度降低。
左腓总神经的神经传导速度降低。
合并-左胫骨和腓神经的神经传导速度降低。
总结:该软件将产生各种类型的句子:用户选择适当的相似句子,然后程序将它们组合在一起。
最佳答案
您可以为每种可能的诊断收集样本,然后在计算问题时向它们添加神经(字符串)。然后,对于每种诊断,您都将通过遍历匹配的集合并将每条神经合并为代表性语句(“左胫骨和腓神经的神经传导速度降低”)来产生一个句子。这可能是我的方法。
您也可以采取相反的方法,并拥有一个Nerve类,其中包含每个诊断的属性。您可以修改这些属性,然后遍历不同的诊断程序并搜索具有某些属性的神经,尽管这似乎比较慢(两次迭代)。