Content and Commerce AI est en version bêta. La documentation peut être modifiée.
Le service d'extraction de mots-clés, lorsqu'il reçoit un document de texte, extrait automatiquement les mots-clés ou les expressions-clés qui décrivent le mieux le sujet du document. Afin d'extraire des mots-clés, une combinaison d'algorithmes de reconnaissance d'entité nommée (NER) et d'extraction de mot-clé non supervisée est utilisée.
Les entités nommées reconnues par Content and Commerce AI sont répertoriées dans le tableau suivant :
Nom de l’entité | Description |
---|---|
PERSONNE | Les gens, y compris les fictions. |
NORP | Nationalités ou groupes religieux ou politiques. |
GPE | Pays, villes et états. |
LOC | Emplacements non-GPE, chaînes de montagnes, étendues d'eau. |
FAC | Bâtiments, aéroports, autoroutes, ponts, etc. |
ORG | Sociétés, agences, institutions, etc. |
PRODUIT | Objets, véhicules, aliments, etc. (Pas les services.) |
ÉVÉNEMENT | ouragans, batailles, guerres, événements sportifs, etc. |
WORK_OF_ART | Des titres de livres, de chansons, etc. |
DROIT | Les documents nommés sont des lois. |
LANGUE | Toute langue nommée. |
Si vous prévoyez de traiter des fichiers PDF, passez aux instructions relatives à l’extraction du mot-clé PDF dans ce document. En outre, la prise en charge d’autres types de fichiers, tels que docx, ppt et amd xml, est définie pour être publiée ultérieurement.
Format d’API
POST /services/v1/predict
Requête
La requête suivante extrait les mots-clés d’un document en fonction des paramètres d’entrée fournis dans la charge utile.
JSON simplifié du fichier d’entrée :
{
"application-id": "1234",
"language": "en",
"content-type": "inline",
"encoding": "utf-8",
"threshold": 0.01,
"top-N": 10,
"custom": {
"min-n": 2,
"entity-types": ["PERSON"]
},
"data": [
{
"content-id": "abc123",
"content": "But an influential faction on the ATP player council, which is chaired by Novak Djokovic, staged a rebellion against Kermodes regime in the spring, and he will leave the post on Dec 31"
}
]
}
Consultez le tableau ci-dessous pour plus d’informations sur les paramètres d’entrée affichés.
analyzer_id
détermine lequel Sensei Content Framework est utilisé. Veuillez vérifier que vous en avez le bon analyzer_id
avant de faire votre demande. Pour le service d'extraction de mots-clés, l' analyzer_id
ID est :
Feature:cintel-ner:Service-1a35aefb0f0f4dc0a3b5262370ebc709
curl -w'\n' -i -X POST https://sensei.adobe.io/services/v1/predict \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-H "Content-Type: multipart/form-data" \
-H "cache-control: no-cache,no-cache" \
-H "x-api-key: {API_KEY}" \
-F file="{
\"application-id\": \"1234\",
\"language\": \"en\",
\"content-type\": \"inline\",
\"encoding\": \"utf-8\",
\"threshold\": 0.01,
\"top-N\": 10,
\"custom\": {
\"min-n\": 2,
\"entity-types\": [\"PERSON\"]
},
\"data\": [{
\"content-id\": \"abc123\",
\"content\": \"But an influential faction on the ATP player council, which is chaired by Novak Djokovic, staged a rebellion against Kermodes regime in the spring, and he will leave the post on Dec 31\"
}]
}" \
-F 'contentAnalyzerRequests={
"enable_diagnostics":"true",
"requests":[{
"analyzer_id": "Feature:cintel-ner:Service-1a35aefb0f0f4dc0a3b5262370ebc709",
"parameters": {}
}]
}'
Propriété | Description | Obligatoire |
---|---|---|
analyzer_id |
ID Sensei de service sous lequel votre demande est déployée. Cet identifiant détermine lequel des Sensei Content Frameworks est utilisé. Pour les services personnalisés, contactez l’équipe d’API Content and Commerce pour configurer un identifiant personnalisé. | Oui |
application-id |
ID de l’application créée. | Oui |
data |
Tableau contenant un objet JSON avec chaque objet du tableau représentant un document. Tous les paramètres transmis dans le cadre de ce tableau remplacent les paramètres globaux spécifiés en dehors du data tableau. Toutes les autres propriétés décrites ci-dessous dans ce tableau peuvent être remplacées de l’intérieur data . |
Oui |
language |
Langue du texte de saisie. La valeur par défaut est en . |
Non |
content-type |
Permet d’indiquer si l’entrée fait partie du corps de la requête ou si une URL signée est associée à un compartiment S3. La valeur par défaut de cette propriété est inline . |
Oui |
encoding |
Format de codage du texte d’entrée. Cela peut être utf-8 ou utf-16 . La valeur par défaut de cette propriété est utf-8 . |
Non |
threshold |
Seuil de score (0 à 1) au-dessus duquel les résultats doivent être renvoyés. Utilisez la valeur 0 pour renvoyer tous les résultats. La valeur par défaut de cette propriété est 0 . |
Non |
top-N |
Nombre de résultats à renvoyer (ne peut pas être un entier négatif). Utilisez la valeur 0 pour renvoyer tous les résultats. Lorsqu'elle est utilisée conjointement avec threshold , le nombre de résultats renvoyés est le moins élevé des deux limites définies. La valeur par défaut de cette propriété est 0 . |
Non |
custom |
Tout paramètre personnalisé à transmettre. Cette propriété requiert un objet JSON valide pour fonctionner. Consultez l’ annexe pour plus d’informations sur les paramètres personnalisés. | Non |
content-id |
ID unique de l’élément de données renvoyé dans la réponse. Si elle n’est pas transmise, un identifiant généré automatiquement est attribué. | Non |
content |
Contenu utilisé par le service d'extraction de mots-clés. Le contenu peut être du texte brut (type de contenu "intégré"). Si le contenu est un fichier sur S3 ('s3-bucket' content-type), transmettez l’URL signée. Lorsque le contenu fait partie du corps de la requête, la liste des éléments de données ne doit comporter qu’un seul objet. Si plusieurs objets sont transmis, seul le premier objet est traité. |
Oui |
Réponse
Une réponse réussie renvoie un objet JSON contenant des mots-clés extraits dans le response
tableau.
{
"status": 200,
"cas_responses": [
{
"status": 200,
"analyzer_id": "Feature:cintel-ner:Service-1a35aefb0f0f4dc0a3b5262370ebc709",
"content_id": "",
"result": {
"response_type": "feature",
"response": [
{
"feature_value": [
{
"feature_value": "success",
"feature_name": "status"
},
{
"feature_name": "labels",
"feature_value": [
{
"feature_name": "atp player",
"feature_value": [
{
"feature_value": "KEYWORD",
"feature_name": "type"
},
{
"feature_value": 0.007743432063478832,
"feature_name": "score"
}
]
},
{
"feature_name": "Novak Djokovic",
"feature_value": [
{
"feature_name": "type",
"feature_value": "PERSON"
},
{
"feature_name": "score",
"feature_value": 0
}
]
},
{
"feature_value": [
{
"feature_name": "type",
"feature_value": "KEYWORD"
},
{
"feature_value": 0.00899321792126428,
"feature_name": "score"
}
],
"feature_name": "player council"
},
{
"feature_value": [
{
"feature_value": "KEYWORD",
"feature_name": "type"
},
{
"feature_value": 0.007743432063478832,
"feature_name": "score"
}
],
"feature_name": "kermodes regime"
},
{
"feature_value": [
{
"feature_name": "type",
"feature_value": "KEYWORD"
},
{
"feature_name": "score",
"feature_value": 0.0006052376660884209
}
],
"feature_name": "atp player council"
}
]
}
],
"feature_name": "abc123"
}
]
}
}
],
"error": []
}
Le service d’extraction de mots-clés prend en charge les fichiers PDF. Toutefois, vous devez utiliser un nouvel AnalyzerID pour les fichiers PDF et modifier le type de document en PDF. Consultez l’exemple ci-dessous pour plus d’informations.
Format d’API
POST /services/v1/predict
Requête
La requête suivante extrait les mots-clés d’un document PDF en fonction des paramètres d’entrée fournis dans la charge utile.
analyzer_id
détermine lequel Sensei Content Framework est utilisé. Veuillez vérifier que vous en avez le bon analyzer_id
avant de faire votre demande. Pour l’extraction du mot-clé PDF, l’ analyzer_id
ID est :
Feature:cintel-ner:Service-7a87cb57461345c280b62470920bcdc5
curl -w'\n' -i -X POST https://sensei.adobe.io/services/v1/predict \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-H "Content-Type: multipart/form-data" \
-H "cache-control: no-cache,no-cache" \
-H "x-api-key: {API_KEY}" \
-F file=@TestPDF.pdf \
-F 'contentAnalyzerRequests={
"enable_diagnostics":"true",
"requests":[{
"analyzer_id": "Feature:cintel-ner:Service-7a87cb57461345c280b62470920bcdc5",
"parameters": {
"application-id": "1234",
"content-type": "file",
"encoding": "pdf",
"threshold": "0.01",
"top-N": "0",
"custom": {},
"data": [{
"content-id": "abc123",
"content": "file",
}]
}
}]
}'
Propriété | Description | Obligatoire |
---|---|---|
analyzer_id |
ID Sensei de service sous lequel votre demande est déployée. Cet identifiant détermine lequel des Sensei Content Frameworks est utilisé. Pour les services personnalisés, contactez l’équipe d’API Content and Commerce pour configurer un identifiant personnalisé. | Oui |
application-id |
ID de l’application créée. | Oui |
data |
Tableau contenant un objet JSON avec chaque objet du tableau représentant un document. Tous les paramètres transmis dans le cadre de ce tableau remplacent les paramètres globaux spécifiés en dehors du data tableau. Toutes les autres propriétés décrites ci-dessous dans ce tableau peuvent être remplacées de l’intérieur data . |
Oui |
language |
Langue de saisie. The default value is en (english). |
Non |
content-type |
Permet d’indiquer le type de contenu d’entrée. Il doit être défini sur file . |
Oui |
encoding |
Format de codage de l’entrée. Il doit être défini sur pdf . D’autres types de codage sont définis pour être pris en charge ultérieurement. |
Oui |
threshold |
Seuil de score (0 à 1) au-dessus duquel les résultats doivent être renvoyés. Utilisez la valeur 0 pour renvoyer tous les résultats. La valeur par défaut de cette propriété est 0 . |
Non |
top-N |
Nombre de résultats à renvoyer (ne peut pas être un entier négatif). Utilisez la valeur 0 pour renvoyer tous les résultats. Lorsqu'elle est utilisée conjointement avec threshold , le nombre de résultats renvoyés est le moins élevé des deux limites définies. La valeur par défaut de cette propriété est 0 . |
Non |
custom |
Tout paramètre personnalisé à transmettre. Cette propriété requiert un objet JSON valide pour fonctionner. Consultez l’ annexe pour plus d’informations sur les paramètres personnalisés. | Non |
content-id |
ID unique de l’élément de données renvoyé dans la réponse. Si elle n’est pas transmise, un identifiant généré automatiquement est attribué. | Non |
content |
Il doit être défini sur file . |
Oui |
Réponse
Une réponse réussie renvoie un objet JSON contenant des mots-clés extraits dans le response
tableau.
{
"statusCode": 200,
"body": {
"type": "JSON",
"matchType": "strict",
"json": {
"status": 200,
"content_id": "161hw2.pdf",
"cas_responses": [
{
"status": 200,
"analyzer_id": "Feature:cintel-ner:Service-7a87cb57461345c280b62470920bcdc5",
"content_id": "161hw2.pdf",
"result": {
"response_type": "feature",
"response": [
{
"feature_value": [
{
"feature_name": "status",
"feature_value": "success"
},
{
"feature_value": [
{
"feature_name": "delbick",
"feature_value": [
{
"feature_name": "score",
"feature_value": 0.03673855028832046
},
{
"feature_name": "type",
"feature_value": "KEYWORD"
}
]
},
{
"feature_name": "Ci",
"feature_value": [
{
"feature_name": "score",
"feature_value": 0
},
{
"feature_name": "type",
"feature_value": "PERSON"
}
]
}
],
"feature_name": "labels"
}
],
"feature_name": "abc123"
}
]
}
}
],
"error": []
}
}
}
Pour plus d’informations et un exemple sur l’utilisation de l’extraction PDF contenant des instructions sur la configuration, le déploiement et l’intégration avec le service AEM cloud. Visitez le référentiel github du travailleur d’extraction PDFCCAI.
Le tableau suivant contient les paramètres disponibles qui peuvent être utilisés dans custom
.
Nom | Description | Obligatoire |
---|---|---|
min-n |
Nombre minimum de mots requis dans les mots-clés. | Non |
entity-types |
Types d'entités à renvoyer. Consultez le tableau de reconnaissance des entités nommées au début de ce document. | Non |