List 区分不同领域的术语

List 区分不同领域的术语,list,dictionary,nlp,ontology,List,Dictionary,Nlp,Ontology,我想做什么: 我正在尝试获取一个术语列表,并区分它们来自哪个领域。例如,“肠”来自解剖学领域,而“癌症”一词来自疾病领域。我从不同的本体中获得这些术语,比如DOID和FMA(它们可以在bioportal.biology.org上找到) 问题: 我很难找到实现这一目标的最佳方法。目前,我天真地从本体论DOID和FMA中提取术语,并将FMA列表中任何术语的差异从DOID列表中提取出来,我们知道这些术语是解剖学的(其中包含可能是解剖学的术语,如结肠癌、结肠是解剖学的和癌症是疾病) 想法: 我在想,我可

我想做什么:

我正在尝试获取一个术语列表,并区分它们来自哪个领域。例如,“肠”来自解剖学领域,而“癌症”一词来自疾病领域。我从不同的本体中获得这些术语,比如DOID和FMA(它们可以在bioportal.biology.org上找到)

问题:

我很难找到实现这一目标的最佳方法。目前,我天真地从本体论DOID和FMA中提取术语,并将FMA列表中任何术语的差异从DOID列表中提取出来,我们知道这些术语是解剖学的(其中包含可能是解剖学的术语,如结肠癌、结肠是解剖学的和癌症是疾病)

想法:

我在想,我可以为不同的术语域获取词根、前缀和后缀,并尝试将其与列表中的术语相匹配。另一个想法是从他们的本体中获取更多信息,如元数据或其他东西,并使用这些信息来区分术语


欢迎提出任何意见

天真的方法-它给你带来了多大的精确度和回忆力?如果您现在设置一个测试用例,那么您可以在应用更复杂的方法时跟踪您的进度

我不知道您要处理的初始集是什么,但有一件事需要尝试,那就是获得带注释的文档(可能使用mechanical turk)。这些文档需要标记为您正在查找的域—解剖域或疾病域

然后计数和除法将告诉您遇到的单词属于某个域的可能性有多大。下一步就是调整一些权重

另一种方法(完全相反)是使用WordNet。我不知道它是否对您的目的有用,但它是一个庞大的本体,所以它可能会有所帮助

Python具有通过nltk使用Wordnet的绑定

从nltk.corpus导入wordnet作为wn

wn.synsets('癌症')

给出输出=[Synset('cancer.n.01')、Synset('cancer.n.02')、Synset('cancer.n.03')、Synset('cancer.n.04')、Synset('cancer.n.05')]


让我们知道结果如何

第一次跑步时,你很可能会有最好的运气。作为一个初始假设,疾病通常是名词短语,通常有一个非常英语特有的结构,其中
NP->nn
,如“肝癌”,它的意思与“肝癌”大致相同。医生倾向于不使用后者,而前者应该很好地用bigrams来捕捉

使用这两个本体作为起点来训练某种二元模型。就像Rcynic建议的那样,你可以把它们数一数,得出概率。A在这里很管用。其特点是双格线;课程是解剖学或疾病。内置了朴素的贝叶斯。在这种情况下,“幼稚”部分意味着你所有的大人物都是相互独立的。这个假设从根本上说是错误的,但在很多情况下都很有效,所以我们假装它是真的

这不会完全奏效。由于这是您的第一个过程,您应该准备探测输出,以了解它是如何得出它遇到的答案的,并找到失败的案例。当发现错误趋势时,调整模型,然后重试

在这里我不推荐WordNet。它不是由医生写的,因为你所做的事情依赖于精确的医学术语,它可能会增加一些奇怪的含义。从NLTK语料库> WordNet < /代码>:

>>> livers = reader.synsets("liver")
>>> pprint([l.definition() for l in livers])
[u'large and complicated reddish-brown glandular organ located in the upper right portion of the abdominal cavity; secretes bile and functions in metabolism of protein and carbohydrate and fat; synthesizes substances involved in the clotting of the blood; synthesizes vitamin A; detoxifies poisonous substances and breaks down worn-out erythrocytes',
u'liver of an animal used as meat',
u'a person who has a special life style',
u'someone who lives in a place',
u'having a reddish-brown color']
其中只有一个是你真正感兴趣的。作为一个无效假设,WordNet有80%的几率会增加噪音,而不是知识