是否有一种方法可以根据找到该实体的上下文获取特定的实体?例如:
今天的温度是35°C。
在20°C储存利培酮片。
两人都在谈论温度。对于第一句,我希望温度是一个"WeatherTemperature“实体。在第二句中,我希望温度是"DrugTemperature“。我可以用什么模式来训练这种行为呢?
发布于 2019-06-22 13:53:53
对于Wolfram语言,您可以使用来自文本分析指南的TextCases或TextContents。这两种功能都是实验性的,因此在将来的版本中完成之前,它们可能会发生一些变化。两者都有TargetDevice选项,因此如果有GPU,您可以在一个或多个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返回一个可以针对特定情况进行Query编辑的Dataset对象。
例如你的"DrugTemperature“
res2[ContainsAll[{"Chemical", "Quantity"}], "Type"]真的
数量单位
res2[
SelectFirst[#["Type"] == "Quantity" &],
"String" /* SemanticInterpretation /* QuantityUnit]"DegreesCelsius“
类型为Entity的"Chemical"具有丰富的属性,因此在需要时可以获得其他信息。例如,
res2[
SelectFirst[#["Type"] == "Chemical" &],
"String" /* Interpreter["Chemical"] /* (#["MoleculePlot"] &)]
希望这能有所帮助。
https://datascience.stackexchange.com/questions/54089
复制相似问题