use of com.amplifyframework.predictions.models.EntityType in project amplify-android by aws-amplify.
the class AWSComprehendService method fetchEntities.
private List<Entity> fetchEntities(String text, LanguageType language) throws PredictionsException {
// Skip if configuration specifies NOT entities
if (!isResourceConfigured(InterpretTextConfiguration.InterpretType.ENTITIES)) {
return null;
}
DetectEntitiesRequest request = new DetectEntitiesRequest().withText(text).withLanguageCode(language.getLanguageCode());
// Detect entities from given text via AWS Comprehend
final DetectEntitiesResult result;
try {
result = comprehend.detectEntities(request);
} catch (AmazonClientException serviceException) {
throw new PredictionsException("AWS Comprehend encountered an error while detecting entities.", serviceException, "See attached service exception for more details.");
}
// Convert AWS Comprehend's detection result to Amplify-compatible format
List<Entity> entities = new ArrayList<>();
for (com.amazonaws.services.comprehend.model.Entity comprehendEntity : result.getEntities()) {
EntityType entityType = EntityTypeAdapter.fromComprehend(comprehendEntity.getType());
Entity amplifyEntity = Entity.builder().value(entityType).confidence(comprehendEntity.getScore() * PERCENT).targetText(comprehendEntity.getText()).startIndex(comprehendEntity.getBeginOffset()).build();
entities.add(amplifyEntity);
}
return entities;
}
use of com.amplifyframework.predictions.models.EntityType in project amplify-android by aws-amplify.
the class AWSPredictionsInterpretTest method testEntityDetection.
/**
* Assert that entities are detected.
* @throws Exception if prediction fails
*/
@Test
public void testEntityDetection() throws Exception {
final String sampleText = "Toto, I've a feeling we're not in Kansas anymore.";
// Interpret sample text and assert non-null result
InterpretResult result = predictions.interpret(sampleText);
assertNotNull(result);
// Assert entities detection
List<Entity> actual = result.getEntities();
List<EntityType> expected = Arrays.asList(// Toto (it's a dog, but close enough)
EntityType.PERSON, // Kansas
EntityType.LOCATION);
FeatureAssert.assertMatches(expected, actual);
}
Aggregations