AWS textract 提取元数据和置信度分数
AWS textract Extract the meta-data and confidence score
大家好,我已经使用 java SDK 从 AWS texttract 异步调用中提取了文档元数据,但是元数据被分成多个块并且很大。
如何使用 java 代码分别提取置信度分数、值及其字段名称 我想提取如下所示的结果:
[{
"Field" : "FirstName",
"Value" : "XXXXX",
"confidence Score" : "98.88"
},
{
"Field" : "LastName",
"Value" : "XXXXX",
"confidence Score" : "65.98"
}]
有人可以建议如何从 aws texttract 文档元数据中提取 字段、值及其置信度分数吗?
有人对此有任何想法吗?
AWS 在 python 中提供了映射键值对的示例。您可以使用此代码来理解其中的逻辑并在 JAVA 中得出您自己的代码。
来源:https://docs.aws.amazon.com/textract/latest/dg/examples-extract-kvp.html
我也刚刚在 Java 开始使用 AWS Textract,哇,这是一个多么棒的工具!如果您想看一下,我已经在 link 的回答中包含了代码:)
它提取键和值。我建议您创建一个包含键、值和置信度分数的模型,然后为每个键值对创建一个对象
public static ArrayList<KVPair> getKVObjects(List<Block> keyMap, List<Block> valueMap, List<Block> blockMap ) {
ArrayList<KVPair> labelValues = new ArrayList<>();
Block value_block;
for (Block key_block : keyMap) {
value_block = findValueBlock(key_block, valueMap);
String key = getText(key_block, blockMap);
Float top = value_block.getGeometry().getBoundingBox().getTop();
Float left = value_block.getGeometry().getBoundingBox().getLeft();
Float confidenceScore = value_block.getConfidence();
Optional<KVPair> label= (labelValues.stream().filter(x-> x.getLabel().equals(key)).findFirst());
Property property = new Property();
property.setValue(getText(value_block, blockMap));
property.setLocationLeft(left);
property.setLocationTop(top);
property.setConfidenceScore(confidenceScore);
if(label.isPresent()){
label.get().setProperties(property);
}else{
KVPair KVPair = new KVPair();
KVPair.setLabel(key);
KVPair.setProperties(property);
labelValues.add(KVPair);
}
}
return labelValues;
}
AWS-Textract-Key-Value-Pair Java - thread "main" java.lang.NullPointerException
大家好,我已经使用 java SDK 从 AWS texttract 异步调用中提取了文档元数据,但是元数据被分成多个块并且很大。
如何使用 java 代码分别提取置信度分数、值及其字段名称 我想提取如下所示的结果:
[{
"Field" : "FirstName",
"Value" : "XXXXX",
"confidence Score" : "98.88"
},
{
"Field" : "LastName",
"Value" : "XXXXX",
"confidence Score" : "65.98"
}]
有人可以建议如何从 aws texttract 文档元数据中提取 字段、值及其置信度分数吗?
有人对此有任何想法吗?
AWS 在 python 中提供了映射键值对的示例。您可以使用此代码来理解其中的逻辑并在 JAVA 中得出您自己的代码。
来源:https://docs.aws.amazon.com/textract/latest/dg/examples-extract-kvp.html
我也刚刚在 Java 开始使用 AWS Textract,哇,这是一个多么棒的工具!如果您想看一下,我已经在 link 的回答中包含了代码:)
它提取键和值。我建议您创建一个包含键、值和置信度分数的模型,然后为每个键值对创建一个对象
public static ArrayList<KVPair> getKVObjects(List<Block> keyMap, List<Block> valueMap, List<Block> blockMap ) {
ArrayList<KVPair> labelValues = new ArrayList<>();
Block value_block;
for (Block key_block : keyMap) {
value_block = findValueBlock(key_block, valueMap);
String key = getText(key_block, blockMap);
Float top = value_block.getGeometry().getBoundingBox().getTop();
Float left = value_block.getGeometry().getBoundingBox().getLeft();
Float confidenceScore = value_block.getConfidence();
Optional<KVPair> label= (labelValues.stream().filter(x-> x.getLabel().equals(key)).findFirst());
Property property = new Property();
property.setValue(getText(value_block, blockMap));
property.setLocationLeft(left);
property.setLocationTop(top);
property.setConfidenceScore(confidenceScore);
if(label.isPresent()){
label.get().setProperties(property);
}else{
KVPair KVPair = new KVPair();
KVPair.setLabel(key);
KVPair.setProperties(property);
labelValues.add(KVPair);
}
}
return labelValues;
}
AWS-Textract-Key-Value-Pair Java - thread "main" java.lang.NullPointerException