- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在设计一个软件来读取用户输入的数值。然后它会生成医疗报告中使用的句子。由于句子之间存在如此多的差异,并且为每种类型的差异创建一个设置是极其漫长的,而且可能毫无成效,因此会出现一些复杂情况。
让我举一个我正在努力解决的例子:
假设诊断依赖于人的神经。
考虑以下神经:正中神经、尺神经、桡神经。
现在,假设用户将数值输入到软件中,该软件会产生异常的神经。
考虑以下语句:
左侧正中神经神经病变的指示。
双侧尺神经神经病变的指征。
右桡神经神经病变的指征。
每个语句都由一组语句生成,并且可以组合这些语句以具有每个变体。变体 -
左 (L)、右 (R)、双侧 (B) - 以及正中、尺骨和桡骨。
所以方差为 3^3 = 27。
然而,当有更多的神经时,方差呈指数上升。如果我有 5 条神经,那就是 3^5。
问题是:如何设计软件使其产生以下句子:
左侧正中神经、双侧尺神经和右侧桡神经神经病变的指示,实际上没有这些陈述的所有组合以及每个陈述的每个条件陈述。
它需要适用于各种陈述:举一个句子差异的例子:
左胫神经的神经传导速度降低。
左腓神经的神经传导速度降低。
联合 - 左胫神经和腓神经的神经传导速度降低。
总而言之:该软件会生成多种此类句子:用户选择合适的相似句子,然后程序将它们组合起来。
最佳答案
您可以为每个可能的诊断收集数据,然后在计算问题时向它们添加神经(?字符串)。然后,对于每个诊断,您将通过遍历匹配集合并将每条神经组合成一个具有代表性的陈述来生成一个句子(“左胫骨和腓神经的神经传导速度降低”)。这可能是我的方法。
您也可以采用相反的方法并拥有一个 Nerve 类,其中包含每个诊断的属性。您可以修改这些属性,然后遍历不同的诊断并搜索具有特定属性的神经,尽管这看起来更慢(两次迭代)。
关于c# - 将排列树转换成英语散文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11830821/
我是一名优秀的程序员,十分优秀!