Comparez la structure des phrases
Vous pouvez comparer la structure de deux phrases en calculant et en traitant leurs graphes constitutifs respectifs.
Affichez l'arbre constitutif d'une phrase sous forme de graphe.

graph = TextStructure["Time flies like an arrow.", "ConstituentGraph"]

Calculez la matrice des distances entre tous les sommets de ce graphe.

distancemat1 = GraphDistanceMatrix[First[graph]];
MatrixForm[distancemat1]

Procédez de même pour une autre phrase.

graph2 = TextStructure["I fly in the sky.", "ConstituentGraph"];
distancemat2 = GraphDistanceMatrix[First[graph2]];
Comparez la structure de deux phrases en comparant leurs matrices de distance.

distancemat1 == distancemat2

Les deux phrases ont la même structure.
Trouvez des phrases avec des structures identiques dans deux articles différents de Wikipédia. Tout d'abord, extrayez des phrases avec un nombre de mots donnés et générez le graphe constituant pour chacune d'elles.

processWikiPage[article_] :=
Select[TextCases[WikipediaData[article], "Sentences"],
WordCount[#] < 5 &];
genStructure[article_] :=
Flatten[TextStructure[#, "ConstituentGraph"] & /@
processWikiPage[article]];

phrasestruct1 = genStructure["Philosophy"];
phrasestruct2 = genStructure["History"];
Calculez toutes les matrices de distance.

adj1 = GraphDistanceMatrix /@ phrasestruct1;
adj2 = GraphDistanceMatrix /@ phrasestruct2;
Comparez les deux phrases des différents articles deux par deux.

comparison = Outer[Equal, adj1, adj2, 1];
Voici les paires de phrases ayant la même structure.

pickedSentences =
Flatten[Pick[Outer[List, phrasestruct1, phrasestruct2], comparison,
True], 1];
Voici la première paire.

First[pickedSentences]
