如何执行ngram到ngram的关联

2024-04-26 14:04:27 发布

您现在位置:Python中文网/ 问答频道 /正文

有人能给我指出解决下列问题的正确方向吗?你知道吗

我有一个来自UMLS的医学术语的巨大列表,即一个样本可能是

Disease control is good
Disease control is poor
Disease control is excellent
Drug adherence
Current drug
Sodium Valproate
Antibiotic VI
Epilepsy control is good
Frequent seizures
Clinically isolated syndrome
Fractured patella
Fractured femur

我还有另外一个短语列表,它们并不完全匹配字符串,但是它们是相似的

Good control of epilepsy    -->      Epilepsy control is good
Broken tibia                -->      Fractured tibia
Currently prescribed drugs  -->      Current drugs

我基本上是想从我的第二个短语列表到第一个短语列表中得到最好的匹配。你知道吗

我知道ngram的搭配,但这似乎是从一个单一的文本语料库中找到最高级的搭配ngram,而不是将一个ngram与另一个ngram联系起来。你知道吗

我需要研究字符串匹配算法,还是更多基于机器学习的方法?你知道吗

有人知道有什么包可以做到这一点吗?我查看了python NLTK,却找不到这种类型的功能。你知道吗

谢谢


Tags: 字符串列表iscurrentcontrol医学goodtibia
1条回答
网友
1楼 · 发布于 2024-04-26 14:04:27

我个人首先会把Levenshtein distance看作是一种基本且简单的方法,它可能会很好地工作。我会先把单词塞住,然后再跑莱文施坦。你知道吗

一个更复杂的方法是使用已经训练过的word2vec模型(在Spark和NLTK中提供),然后聚合出现在每个ngram中的单词向量,为ngram生成向量。最后,您可以比较得到的向量并找到最相似的向量对。有一些库允许您为ngramsdocuments生成这些聚合向量表示。您还可以找到相关的文章,并根据您的具体需要提出并实现自己的聚合方法。你知道吗

相关问题 更多 >