gpt4 book ai didi

python - 跳过 EMR 的重复项

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:04:00 24 4
gpt4 key购买 nike

我目前有大量医疗记录,其中包含需要翻译的医学术语。出于成本考虑,我们不想为每条记录翻译每个术语。例如,如果我们发现一条记录中的术语已经在以前的记录中频繁出现,这意味着这些术语可能已经在以前的记录中翻译过,那么我们就不想再翻译它们了。我被要求设计一个程序来实现这个目标。我得到的提示是我可能需要将记录分解为字母级别,并且可能需要矩阵来解决这个问题。我真的是编程的初学者。因此,我在这里寻求帮助。残酷的想法/建议现在就足够了。谢谢。

[由 Spektre 编辑] 从评论中移出

我的问题归结为:

假设有两个句子ABAm 个标记 (a1, a2, ......, am)Bn 代币 (b1, b2, ……, bn)AB 可能有共同的标记。所以我需要一个函数来估计 B 中标记未被 A 覆盖的可能性。

标记已经存储在字典中。

如何实现?

最佳答案

所以如果我没看错的话,你想知道 bi不在 A 中.

我不使用 python 编写代码,但我看到它是这样的(使用 C++ 之类的语言)

bool untranslated(int j,int m,int n,string *a,string *b)
{
// the dictionaries are: a[m],b[n]
for (int i=0;j<m;i++) // inspect all tokens of A
if (b[j]==a[i]) // if b[j] present in A
return false;
return true;
}

现在,如果字典相当大,那么您需要将此线性搜索更改为二分搜索。此外,为了加快速度(如果单词很大),您需要使用哈希( HashMap )进行匹配。根据您的语言,您不能天真地将单词与 == 进行比较。而是实现一些将单词转换成它的单纯语法形式并存储到字典中的函数。实现起来可能非常复杂。

现在整个句子的概率是:

// your dictionaries:
const int m=?,n=?;
string A[m],string B[n];
// code:
int j; float p;
for (p=0.0,j=0;j<n;j++) // test all words of B
if (untranslated(j,m,n,A,B)) p++; // and count how many are untranslated
p/=float(n); // normalize p to <0,1> its your probability that sentence B is not in A

结果概率 p<0,1> 范围内所以如果你想要百分比而不是乘以 100 .

[Edit1] 出现 bi

那是完全不同的问题,但也相对容易解决。它与计算直方图相同:

  1. A 中的每个单词添加计数器词典

    所以A的每条记录都是这样的:

    struct A_record
    {
    string word;
    int cnt;
    };

    int m=0;
    A_record a[];
  2. 进程 B句子

    在每个单词上 bi查字典A .如果不存在,则将其添加到字典并将其计数器设置为 1 .如果存在,则只需将其计数器加一。

    const int n=?;     // input sentence word count
    string b[n]={...}; // input sentence words
    int i,j;
    for (i=0;i<n;i++) // process B
    for (j=0;j<m;j++) // search in A (should be binary search or has-map search)
    if (b[i]==a[j].word)
    { a[j].cnt++; j=-1; break; } // here a[j].cnt is the bi occurrence you wanted if divided by m then its probability <0,1>
    if (j<0)
    { a[m].word=b[i]; a[m].cnt=1; m++; } // here no previous occurrence of bi

    现在,如果您只想以前出现的 bi然后查看匹配的a[j].cnt在搜索过程中。如果你想出现任何 b[i]整个文本处理后,整个文本中的单词查看同一个计数器。

关于python - 跳过 EMR 的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56403804/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com