具有上下文/关系的实体识别

数据挖掘 命名实体识别
2022-03-04 23:08:05

有没有办法根据找到的上下文获取特定实体?例如:

今天的温度是35°C

将利培酮片剂存放在20°C

两者都在谈论温度。对于第一句话,我希望温度是“WeatherTemperature”实体。在第二句话中,我希望温度为“DrugTemperature”。我可以使用什么模型来训练这种行为?

1个回答

使用Wolfram 语言,您可以使用TextCasesTextContents来自文本分析指南这些都是实验性功能,因此在未来版本中最终确定之前可能会有所改变。两者都有TargetDevice选项,因此您可以在一个或多个 GPU 上运行它们(如果有的话)。

请参阅文本内容类型指南,了解这些功能已在其上进行培训的实体列表。

我认为这TextContents是对多种情况的优化调用,TextCases所以我只会TextContents在下面使用。

用于TextContents定位句子中所有经过训练的实体。

res1 = TextContents["The temperature today is 35°C.", TargetDevice -> "GPU"]

数学图形

res2 = TextContents["Store risperidone tablet at 20°C.", TargetDevice -> "GPU"]

数学图形

TextContents返回一个Dataset可以Query针对特定情况 'ed 的对象。

例如对于您的“DrugTemperature”

res2[ContainsAll[{"Chemical", "Quantity"}], "Type"]
True

和数量单位

res2[
  SelectFirst[#["Type"] == "Quantity" &], 
  "String" /* SemanticInterpretation /* QuantityUnit]
"DegreesCelsius"

Entityof 类型具有丰富"Chemical"属性,因此可以在需要时获取附加信息。例如,

res2[
 SelectFirst[#["Type"] == "Chemical" &], 
 "String" /* Interpreter["Chemical"] /* (#["MoleculePlot"] &)]

在此处输入图像描述

希望这可以帮助。