首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找出一个句子是否与医学术语有关

找出一个句子是否与医学术语有关
EN

Stack Overflow用户
提问于 2019-07-31 11:50:41
回答 2查看 909关注 0票数 0

输入:用户输入一个句子

如果这个词与任何医学术语有关,或者如果他需要任何医疗服务,

Output=True

否则Output=False

我在读https://www.nltk.org/。我刮了'https://www.merriam-webster.com/browse/medical/a‘这个网站,以获得医学相关的词,但我不知道如何检测句子,其中涉及医学术语。我没有做任何代码,因为算法对我不清楚。

我想知道我应该使用什么,从哪里开始,我需要一个教程链接来实现这个东西。如有任何指导,将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-31 16:39:41

我会列出你用天真到聪明的方式来做这件事的各种方法-

  1. 获得大量的医学术语词汇,反复阅读句子,如果你发现任何东西,请返回“是”或“否”。
  2. 获取大量的医学术语,遍历句子,并对每个单词进行模糊匹配,这样仍然可以从语法上(按字母顺序)检测和捕获相同工作中变化的单词。查看python中的fuzzywuzzy库
  3. 获取大量的医学术语词汇表,并给出每个术语的定义。在这些术语的描述中,使用预先训练过的单词嵌入(word2vec、Glove等)。取每个单词嵌入的加权和,并将权重设置为每个单词的TFIDF,将每个医学术语(准确地说,它的描述)表示为向量。对句子也重复这个过程。然后,取它们之间的余弦来计算文本与医学术语的描述在上下文上有多相似。如果相似性高于您所修复的某个阈值,则返回True。这种方法不需要确切的术语,即使这个人在谈论病情,它也应该能够检测到
  4. 给大量的句子加上它们各自的医学术语(使用类似于API.AI实体注释工具或RASA实体注释工具的东西进行注释)。创建一个具有输入嵌入层的神经网络(如果您愿意,可以使用word2vec嵌入来初始化该网络)、双LSTM层以及使用softmax的医疗条款/条件列表输出。这将得到每个条件或术语与句子相关联的概率。
  5. 建立一个具有编码器、解码器结构的神经网络,并在它们之间建立注意层。从输入句子创建编码器嵌入。创建输出为一系列医学术语的解码器。用预先标注的数据训练编解码器注意层。
  6. 创建一个指针网络,作为输入,接受带有相应医疗术语的句子并返回指针,这些指针指向输入,并将它们标记为医疗术语或非医疗术语。(建造fyi不容易.)
票数 0
EN

Stack Overflow用户

发布于 2019-07-31 12:05:58

好吧,所以,我不明白你不懂哪一部分?因为,这个想法相当简单,一个google搜索就能给你带来好的、容易的结果。除非问题是你不懂python。在这种情况下,您将很难实现这一点。

这个想法本身很简单--标记句子(将每个单词都包含在一个列表中)并搜索医学术语列表。如果当前的单词在列表中,那么这个词就是医疗术语,所以这个句子也与那个医学术语有关。如果您想象在medical_terms列表中有一个医学术语列表,那么在python中,它将如下所示:

代码语言:javascript
复制
>>> import nltk
>>> sentence = """At eight o'clock on Thursday morning
... Arthurs' abdomen was hurting."""
>>> tokens = nltk.word_tokenize(sentence)
>>> tokens
['At', 'eight', "o'clock", 'on', 'Thursday', 'morning',
'Arthurs', 'abdomen', "was", 'hurting', '.']
>>> def is_medical(tokens):
...   for i in tokens:
...     if i in medical_terms:
...       return True
...     else:
...       return False 

>>> is_medical(tokens)
True

您只需使用NLTK标记输入句子,然后搜索列表中的任何单词是否为医疗术语。您也可以对此函数进行调整,以便使用N克。这有许多其他的方法和不同的特殊情况,必须由这是一个良好的开端。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57290080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档