【问题标题】:Amazon Comprehend Medical returning FILTERED valuesAmazon Comprehend Medical 返回过滤值
【发布时间】:2020-10-01 15:39:59
【问题描述】:

Amazon Comprehend Medical 返回标记为 [FILTERED] 的值。我有一个 rails 5.2 应用程序并安装了 aws-sdk gem。我现在正在尝试通过 rails 控制台调用 API 并获得返回 JSON。但大多数值都以 [FILTERED] 形式返回。知道是什么原因造成的吗?

我浏览了 AWS 文档,但似乎无法找到答案。

class Comprehend 
 require 'aws-sdk-comprehendmedical'  

  client = Aws::ComprehendMedical::Client.new
  resp = client.detect_entities({
   text: "45 yr old male with chestpain and SOB BP 120/70", # required
    })
  puts(resp)

end

这是在控制台中将其作为 Comprehend.new 运行时的结果。

{
    :entities=>[
        {
            :id=>"[FILTERED]",
            :begin_offset=>0,
            :end_offset=>2,
            :score=>0.9994971752166748,
            :text=>"[FILTERED]",
            :category=>"PROTECTED_HEALTH_INFORMATION",
            :type=>"[FILTERED]",
            :traits=>[],
            :attributes=>nil
        },
        {
            :id=>"[FILTERED]",
            :begin_offset=>20,
            :end_offset=>29,
            :score=>0.9164832830429077,
            :text=>"[FILTERED]",
            :category=>"MEDICAL_CONDITION",
            :type=>"[FILTERED]",
            :traits=>[],
            :attributes=>nil
        },
        {
            :id=>"[FILTERED]",
            :begin_offset=>34,
            :end_offset=>37,
            :score=>0.8974254131317139,
            :text=>"[FILTERED]",
            :category=>"MEDICAL_CONDITION",
            :type=>"[FILTERED]",
            :traits=>[],
            :attributes=>nil
        },
        {
            :id=>"[FILTERED]",
            :begin_offset=>38,
            :end_offset=>40,
            :score=>0.8211551904678345,
            :text=>"[FILTERED]",
            :category=>"TEST_TREATMENT_PROCEDURE",
            :type=>"[FILTERED]",
            :traits=>[],
            :attributes=>[
                {
                    :type=>"[FILTERED]",
                    :score=>0.9983691573143005,
                    :relationship_score=>1.0,
                    :id=>"[FILTERED]",
                    :begin_offset=>41,
                    :end_offset=>47,
                    :text=>"[FILTERED]",
                    :traits=>[]
                }
            ]
        }
    ],
    :unmapped_attributes=>[],
    :pagination_token=>nil
}

【问题讨论】:

  • 我相信这些只是[FILTERED] 用于控制台输出以保护敏感信息(这样您的控制台日志中就不会出现 PII 或 PHI 浮动)。这些值可能实际上存在于 API 响应中。
  • @jvillian,你是对的!一旦我将结果放入视图中,它就会正确显示。谢谢!

标签: ruby-on-rails amazon-web-services aws-sdk amazon-comprehend


【解决方案1】:

这是打印到 rails 控制台或在日志中使用敏感信息时的预期行为。

实际值在那里并且可以通过编程方式使用,但是 aws-sdk 有一个有趣的功能,称为日志过滤,它们用来隐藏日志和控制台中的敏感信息。 Rails 有一个类似的功能可供您使用,以下是 Rails 文档的链接以及 aws-sdk ruby​​ gem 中用于过滤敏感信息的代码:

【讨论】:

    【解决方案2】:

    对于使用 aws api 遇到此问题的人,只需使用 to_h 代替

    puts resp.to_h
    

    如果你需要它作为 json 只是

    puts resp.to_h.to_json
    

    【讨论】:

      猜你喜欢
      • 2020-02-20
      • 2021-04-09
      • 2017-12-15
      • 1970-01-01
      • 2021-03-19
      • 2019-04-08
      • 2019-03-23
      • 1970-01-01
      • 2020-03-14
      相关资源
      最近更新 更多