Amazon Comprehend Medical返回FILTERED值

时间:2019-07-18 18:09:27

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

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
}

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

form = InventoryForm(request.POST, request.FILES or None)

,如果您只需要json

puts resp.to_h