J'ai remarqué pendant le test de, mais dans Démo API, le résultat de l'analyse de "Ma femme et ma fille sont allées en voyage".
Je me demandais si cela représente clairement toutes les bonnes réponses, mais en réalité
{
"id" : 2,
"form" : "Fille",
"kana" : "Musume",
"lemma" : "Fille",
"pos" : "nom",
"dependency_labels" : [ {
"token_id" : 0,
"label" : "conj"
}, {
"token_id" : 3,
"label" : "case"
} ],
"attributes" : { }
}
Il est renvoyé comme, et il ressemble à la ligne rouge ci-dessous dans la figure.
Puisque le nom d'attribut de JSON est "dependency_labels", il est facile de comprendre qu'il y en a plusieurs, mais si vous ne regardez que la démo, il semble qu'il n'y en ait pas plusieurs, donc j'ai pensé qu'il fallait faire attention. Il semble également que la démo ne transmette pas pleinement l'attrait de l'API.
Un seul "document" (par exemple, plusieurs journaux dans le centre d'appels) peut être spécifié pour le traitement dans un appel API. Lorsque j'essaie de traiter un grand nombre de documents, je souhaite traiter plusieurs documents à la fois au lieu d'un par un, j'ai donc pensé que ce point devait également être noté. (Exemple: il est inapproprié de concaténer les journaux d'appels de différents clients pour une analyse syntaxique.) Attendez-vous à ce que la prochaine version puisse traiter plusieurs documents.
Lorsque j'envoie "Ma femme et ma fille sont allées en voyage. Mon fils et moi avons mangé de la viande grillée.", La réponse suivante est renvoyée.
{
"result" : [ {
"chunk_info" : {
"id" : 0,
"head" : 1,
"dep" : "P",
"chunk_head" : 0,
"chunk_func" : 1,
"links" : [ ]
},
"tokens" : [ {
"id" : 0,
"form" : "Belle-fille",
"kana" : "Yo moi",
"lemma" : "Belle-fille",
"pos" : "nom",
"features" : [ ],
"common_noun_semantic" : [ 49, 76, 88 ],
"proper_noun_semantic" : [ ],
"declinable_word_semantic" : [ ],
"dependency_labels" : [ {
"token_id" : 1,
"label" : "cc"
} ],
"attributes" : { }
}, {
"id" : 1,
"form" : "Quand",
"kana" : "À",
"lemma" : "Quand",
"pos" : "Assistant de cas",
"features" : [ "Utilisation continue" ],
"common_noun_semantic" : [ ],
"proper_noun_semantic" : [ ],
"declinable_word_semantic" : [ ],
"attributes" : { }
} ]
}, {
"chunk_info" : {
"id" : 1,
"head" : 7,
"dep" : "D",
"chunk_head" : 0,
"chunk_func" : 1,
"links" : [ {
"link" : 0,
"label" : "other"
} ]
},
"tokens" : [ {
"id" : 2,
"form" : "Fille",
"kana" : "Musume",
"lemma" : "Fille",
"pos" : "nom",
"features" : [ ],
"common_noun_semantic" : [ 49, 59, 88 ],
"proper_noun_semantic" : [ ],
"declinable_word_semantic" : [ ],
"dependency_labels" : [ {
"token_id" : 0,
"label" : "conj"
}, {
"token_id" : 3,
"label" : "case"
} ],
"attributes" : { }
}, {
"id" : 3,
"form" : "Est",
"kana" : "C",
"lemma" : "Est",
"pos" : "Mots auxiliaires consécutifs",
"features" : [ ],
"common_noun_semantic" : [ ],
"proper_noun_semantic" : [ ],
"declinable_word_semantic" : [ ],
"attributes" : { }
} ]
}, {
"chunk_info" : {
"id" : 2,
"head" : 3,
"dep" : "D",
"chunk_head" : 0,
"chunk_func" : 1,
"links" : [ ]
},
"tokens" : [ {
"id" : 4,
"form" : "Voyage",
"kana" : "Ryoko",
"lemma" : "Voyage",
"pos" : "nom",
"features" : [ "mouvement" ],
"common_noun_semantic" : [ 1658, 1659, 1660 ],
"proper_noun_semantic" : [ ],
"declinable_word_semantic" : [ 18 ],
"dependency_labels" : [ {
"token_id" : 5,
"label" : "case"
} ],
"attributes" : { }
}, {
"id" : 5,
"form" : "À",
"kana" : "ré",
"lemma" : "À",
"pos" : "Assistant de cas",
"features" : [ "Utilisation continue" ],
"common_noun_semantic" : [ ],
"proper_noun_semantic" : [ ],
"declinable_word_semantic" : [ ],
"attributes" : { }
} ]
}, {
"chunk_info" : {
"id" : 3,
"head" : 7,
"dep" : "P",
"chunk_head" : 0,
"chunk_func" : 2,
"links" : [ {
"link" : 2,
"label" : "purpose"
} ],
"predicate" : [ "past" ]
},
"tokens" : [ {
"id" : 6,
"form" : "ligne",
"kana" : "je",
"lemma" : "aller",
"pos" : "Tronc de verbe",
"features" : [ "IKU" ],
"common_noun_semantic" : [ 2053, 2132 ],
"proper_noun_semantic" : [ ],
"declinable_word_semantic" : [ 15, 20, 29, 32, 5 ],
"dependency_labels" : [ {
"token_id" : 4,
"label" : "nmod"
}, {
"token_id" : 7,
"label" : "aux"
}, {
"token_id" : 8,
"label" : "aux"
}, {
"token_id" : 9,
"label" : "punct"
} ],
"attributes" : { }
}, {
"id" : 7,
"form" : "Tsu",
"kana" : "Tsu",
"lemma" : "Tsu",
"pos" : "Fin d'utilisation verbale",
"features" : [ ],
"common_noun_semantic" : [ ],
"proper_noun_semantic" : [ ],
"declinable_word_semantic" : [ ],
"attributes" : { }
}, {
"id" : 8,
"form" : "Ta",
"kana" : "Ta",
"lemma" : "Ta",
"pos" : "Suffixe de verbe",
"features" : [ "Arrêtez" ],
"common_noun_semantic" : [ ],
"proper_noun_semantic" : [ ],
"declinable_word_semantic" : [ ],
"attributes" : { }
}, {
"id" : 9,
"form" : "。",
"kana" : "",
"lemma" : "。",
"pos" : "Phrase",
"features" : [ ],
"common_noun_semantic" : [ ],
"proper_noun_semantic" : [ ],
"declinable_word_semantic" : [ ],
"attributes" : { }
} ]
}, {
"chunk_info" : {
"id" : 4,
"head" : 7,
"dep" : "D",
"chunk_head" : 0,
"chunk_func" : 1,
"links" : [ ]
},
"tokens" : [ {
"id" : 10,
"form" : "je",
"kana" : "je",
"lemma" : "je",
"pos" : "nom",
"features" : [ "Synonyme" ],
"common_noun_semantic" : [ 37, 8 ],
"proper_noun_semantic" : [ ],
"declinable_word_semantic" : [ ],
"dependency_labels" : [ {
"token_id" : 11,
"label" : "cc"
} ],
"attributes" : { }
}, {
"id" : 11,
"form" : "Quand",
"kana" : "À",
"lemma" : "Quand",
"pos" : "Assistant de cas",
"features" : [ "Utilisation continue" ],
"common_noun_semantic" : [ ],
"proper_noun_semantic" : [ ],
"declinable_word_semantic" : [ ],
"attributes" : { }
} ]
}, {
"chunk_info" : {
"id" : 5,
"head" : 7,
"dep" : "D",
"chunk_head" : 0,
"chunk_func" : 1,
"links" : [ ]
},
"tokens" : [ {
"id" : 12,
"form" : "fils",
"kana" : "Musco",
"lemma" : "fils",
"pos" : "nom",
"features" : [ ],
"common_noun_semantic" : [ 48, 58, 87 ],
"proper_noun_semantic" : [ ],
"declinable_word_semantic" : [ ],
"dependency_labels" : [ {
"token_id" : 13,
"label" : "case"
} ],
"attributes" : { }
}, {
"id" : 13,
"form" : "Est",
"kana" : "C",
"lemma" : "Est",
"pos" : "Mots auxiliaires consécutifs",
"features" : [ ],
"common_noun_semantic" : [ ],
"proper_noun_semantic" : [ ],
"declinable_word_semantic" : [ ],
"attributes" : { }
} ]
}, {
"chunk_info" : {
"id" : 6,
"head" : 7,
"dep" : "D",
"chunk_head" : 0,
"chunk_func" : 1,
"links" : [ ]
},
"tokens" : [ {
"id" : 14,
"form" : "Viande rôtie",
"kana" : "Yakiniku",
"lemma" : "Viande rôtie",
"pos" : "nom",
"features" : [ ],
"common_noun_semantic" : [ 843, 852 ],
"proper_noun_semantic" : [ ],
"declinable_word_semantic" : [ ],
"dependency_labels" : [ {
"token_id" : 15,
"label" : "case"
} ],
"attributes" : { }
}, {
"id" : 15,
"form" : "À",
"kana" : "Wo",
"lemma" : "À",
"pos" : "Assistant de cas",
"features" : [ "Utilisation continue" ],
"common_noun_semantic" : [ ],
"proper_noun_semantic" : [ ],
"declinable_word_semantic" : [ ],
"attributes" : { }
} ]
}, {
"chunk_info" : {
"id" : 7,
"head" : -1,
"dep" : "O",
"chunk_head" : 0,
"chunk_func" : 1,
"links" : [ {
"link" : 1,
"label" : "agent"
}, {
"link" : 3,
"label" : "manner"
}, {
"link" : 4,
"label" : "coagent"
}, {
"link" : 5,
"label" : "agent"
}, {
"link" : 6,
"label" : "object"
} ],
"predicate" : [ "past" ]
},
"tokens" : [ {
"id" : 16,
"form" : "manger",
"kana" : "Tabe",
"lemma" : "manger",
"pos" : "Tronc de verbe",
"features" : [ "A" ],
"common_noun_semantic" : [ 1581, 1590 ],
"proper_noun_semantic" : [ ],
"declinable_word_semantic" : [ 2, 23 ],
"dependency_labels" : [ {
"token_id" : 2,
"label" : "nsubj"
}, {
"token_id" : 6,
"label" : "advcl"
}, {
"token_id" : 10,
"label" : "nmod"
}, {
"token_id" : 12,
"label" : "nsubj"
}, {
"token_id" : 14,
"label" : "dobj"
}, {
"token_id" : 17,
"label" : "aux"
}, {
"token_id" : 18,
"label" : "punct"
} ],
"attributes" : { }
}, {
"id" : 17,
"form" : "Ta",
"kana" : "Ta",
"lemma" : "Ta",
"pos" : "Suffixe de verbe",
"features" : [ "Arrêtez" ],
"common_noun_semantic" : [ ],
"proper_noun_semantic" : [ ],
"declinable_word_semantic" : [ ],
"attributes" : { }
}, {
"id" : 18,
"form" : "。",
"kana" : "",
"lemma" : "。",
"pos" : "Phrase",
"features" : [ ],
"common_noun_semantic" : [ ],
"proper_noun_semantic" : [ ],
"declinable_word_semantic" : [ ],
"attributes" : { }
} ]
} ],
"status" : 0,
"message" : ""
}
Si vous regardez "Aller" ici, il y a quatre destinations, "4,7,8,9". En fait, il devrait être 6, y compris "0,2", mais l'API renvoie également 4.
Résultat initialement attendu
Vous obtiendrez les résultats que vous attendez si vous envoyez une seule déclaration au lieu d'envoyer plusieurs déclarations en même temps.
{
"id" : 6,
"form" : "ligne",
"kana" : "je",
"lemma" : "aller",
"pos" : "Tronc de verbe",
"features" : [ "IKU" ],
"common_noun_semantic" : [ 2053, 2132 ],
"proper_noun_semantic" : [ ],
"declinable_word_semantic" : [ 15, 20, 29, 32, 5 ],
"dependency_labels" : [ {
"token_id" : 0,
"label" : "nmod"
}, {
"token_id" : 2,
"label" : "nsubj"
}, {
"token_id" : 4,
"label" : "nmod"
}, {
"token_id" : 7,
"label" : "aux"
}, {
"token_id" : 8,
"label" : "aux"
}, {
"token_id" : 9,
"label" : "punct"
} ],
"attributes" : { }
}
L'analyse de la syntaxe est-elle un peu suspecte lorsque j'envoie plusieurs phrases ou y a-t-il un problème avec mon nom? .. Il est nécessaire d'enquêter.
{
"id" : 6,
"form" : "ligne",
"kana" : "je",
"lemma" : "aller",
"pos" : "Tronc de verbe",
"features" : [ "IKU" ],
"common_noun_semantic" : [ 2053, 2132 ],
"proper_noun_semantic" : [ ],
"declinable_word_semantic" : [ 15, 20, 29, 32, 5 ],
"dependency_labels" : [ {
"token_id" : 4,
"label" : "nmod"
}, {
"token_id" : 7,
"label" : "aux"
}, {
"token_id" : 8,
"label" : "aux"
}, {
"token_id" : 9,
"label" : "punct"
} ],
"attributes" : { }
}
Si vous regardez spec, il dit "phrase: instruction à analyser", et vous pouvez le lire comme une seule phrase. Cependant, "séparer par phrase" est également l'un des traitements du langage naturel, j'ai donc pensé que s'il ne cible qu'une seule phrase, ce sera un problème en tant que spécification d'API. Dans le domaine du text mining, contrairement au monde académique, je pense qu'il est rare de ne traiter qu'une seule phrase.
Par exemple, Stanford NLP renvoie également des sauts de phrase sous forme d'annotations. (Par exemple, "Je suis allé voir le concert de Morning Musume." Doit être analysé correctement.)
Si je suis un utilisateur professionnel, contactez le support. Si j'étais en charge de la livraison, je vous demanderais instamment de le réparer. Si j'étais un chef de file du développement, ce serait réglé immédiatement ^ _ ^ ;;