我目前有大量的医疗记录,其中包括需要翻译的医疗术语。出于成本考虑,我们不想为每一张唱片翻译每一个术语。例如,如果我们发现一个记录中的术语已经频繁地出现在以前的记录中,这意味着这些术语可能已经在以前的记录中被翻译了,那么我们就不想再翻译它们了。我被要求设计一个程序来实现这个目标。我得到的提示是,我可能需要打破记录的字母水平,矩阵可能需要解决这个问题。我简直是个编程初学者。因此,我在这里寻求帮助。残酷的想法/建议现在已经足够了。谢谢。你知道吗
[由Spektre编辑]从评论中删除
我的问题归结为:
假设有两个句子A
和B
。A
具有m
令牌(a1, a2, ……, am)
,B
具有n
令牌(b1, b2, ……, bn)
。而A
和B
可能有公共标记。所以我需要一个函数来估计B中没有被a覆盖的代币的可能性
标记已存储在字典中。你知道吗
如何实施?你知道吗
如果我看对了,你想知道
bi
是否不在A
。你知道吗我不在Python中编码,但我看到它是这样的(在<强> C++ >强>类语言中)
如果字典相当大,那么您需要将此线性搜索更改为二进制搜索。此外,为了加快速度(如果单词很大),您需要使用哈希(哈希映射)进行匹配。当然,根据你的语言,你不能天真地将单词与
==
进行比较,而应该实现一些功能,将单词转换为其简单语法形式并存储到字典中。实现起来可能相当复杂。你知道吗现在整句话的概率是:
得到的概率
p
在<0,1>
范围内,所以如果你想要百分比,只需将它乘以100
。你知道吗[Edit1]出现
bi
这是完全不同的问题,但也相对容易解决。与计算直方图相同,因此:
为
A
字典中的每个单词添加计数器所以A的每个记录都是这样的:
处理
B
句在每个单词上查字典。如果不存在,则将其添加到dictionary并将其计数器设置为
1
。如果存在,则只需将其计数器增加1即可。你知道吗现在,如果您只希望前面出现的
bi
,那么在搜索过程中查看匹配的a[j].cnt
。如果要在整个文本中出现任何b[i]
单词,请在处理整个文本后查看同一计数器。相关问题 更多 >
编程相关推荐