diff --git a/Linker/Linker.py b/Linker/Linker.py index e8494c9adf97d9cb9bbed7784901eb22ed32154f..5002f9c7742b545b9dcf445558b44441ff182b8c 100644 --- a/Linker/Linker.py +++ b/Linker/Linker.py @@ -440,7 +440,7 @@ class Linker(Module): with torch.no_grad(): self.cpu() self.device = torch.device("cpu") - sentences_tokens, sentences_mask = self.Supertagger.sent_tokenizer.fit_transform_tensors([sentence]) + sentences_tokens, sentences_mask = self.Supertagger.sent_tokenizer.fit_transform_tensors(sentence) nb_sentence, len_sentence = sentences_tokens.shape hidden_state, categories = self.Supertagger.predict(sentence) diff --git a/postprocessing.py b/postprocessing.py index d2d43f03a99f877de7391c9e62bd91aea2996e30..e60c0a035667c57d47b9abc57ef1ba87b3bf6a2f 100644 --- a/postprocessing.py +++ b/postprocessing.py @@ -113,7 +113,8 @@ def draw_sentence_output(sentence, categories, links): return dot.source -sentence = ["Le", "chat", "est", "noir", "bleu"] -categories = ["dr(0,s,n)", "dl(0,s,n)", "dr(0,dl(0,n,np),n)", "dl(0,np,n)", "n"] -links = np.array([[0, 0, 0, 0], [0, 0, 0, 0], [1, 0, 2, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]) -draw_sentence_output(sentence, categories, links) +if __name__== '__main__': + sentence = ["Le", "chat", "est", "noir", "bleu"] + categories = ["dr(0,s,n)", "dl(0,s,n)", "dr(0,dl(0,n,np),n)", "dl(0,np,n)", "n"] + links = np.array([[0, 0, 0, 0], [0, 0, 0, 0], [1, 0, 2, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]) + draw_sentence_output(sentence, categories, links) diff --git a/predict_links.py b/predict_links.py index f3d05a640791236f93eefff56263369db59384d9..4e87a1f5fae1892530e929dbf778e648531fa8dc 100644 --- a/predict_links.py +++ b/predict_links.py @@ -1,26 +1,25 @@ from NeuralProofNet.NeuralProofNet import NeuralProofNet +from postprocessing import draw_sentence_output -# region data -a_s = "( 1 ) parmi les huit \" partants \" acquis ou potentiels , MM. Lacombe , Koehler et Laroze ne sont pas membres " \ - "du PCF . " -tags_s = ['let', 'dr(0,s,s)', 'let', 'dr(0,dr(0,s,s),np)', 'dr(0,np,n)', 'dr(0,n,n)', 'let', 'n', 'let', 'dl(0,n,n)', - 'dr(0,dl(0,dl(0,n,n),dl(0,n,n)),dl(0,n,n))', 'dl(0,n,n)', 'let', 'dr(0,np,np)', 'np', 'dr(0,dl(0,np,np),np)', - 'np', 'dr(0,dl(0,np,np),np)', 'np', 'dr(0,dl(0,np,s),dl(0,np,s))', 'dr(0,dl(0,np,s),np)', 'dl(1,s,s)', 'np', - 'dr(0,dl(0,np,np),n)', 'n', 'dl(0,s,txt)'] -# endregion +if __name__== '__main__': + # region data + a_s = ["( 1 ) parmi les huit \" partants \" acquis ou potentiels , MM. Lacombe , Koehler et Laroze ne sont pas membres du PCF ."] + tags_s = ['let', 'dr(0,s,s)', 'let', 'dr(0,dr(0,s,s),np)', 'dr(0,np,n)', 'dr(0,n,n)', 'let', 'n', 'let', 'dl(0,n,n)', + 'dr(0,dl(0,dl(0,n,n),dl(0,n,n)),dl(0,n,n))', 'dl(0,n,n)', 'let', 'dr(0,np,np)', 'np', 'dr(0,dl(0,np,np),np)', + 'np', 'dr(0,dl(0,np,np),np)', 'np', 'dr(0,dl(0,np,s),dl(0,np,s))', 'dr(0,dl(0,np,s),np)', 'dl(1,s,s)', 'np', + 'dr(0,dl(0,np,np),n)', 'n', 'dl(0,s,txt)'] + # endregion -# region model -model_tagger = "models/flaubert_super_98_V2_50e.pt" -neuralproofnet = NeuralProofNet(model_tagger) -model = "Output/linker.pt" -neuralproofnet.linker.load_weights(model) -# endregion + # region model + model_tagger = "models/flaubert_super_98_V2_50e.pt" + neuralproofnet = NeuralProofNet(model_tagger) + model = "Output/linker.pt" + neuralproofnet.linker.load_weights(model) + # endregion - -# region prediction -linker = neuralproofnet.linker -links = linker.predict_without_categories(a_s) -#links = linker.predict_with_categories(a_s, tags_s) -print(links) -# endregion \ No newline at end of file + linker = neuralproofnet.linker + categories, links = linker.predict_without_categories(a_s) + #links = linker.predict_with_categories(a_s, tags_s) + idx=0 + draw_sentence_output(a_s[idx].split(" "), categories[idx], links[:,idx,:].numpy()) diff --git a/predict_supertags.py b/predict_supertags.py index 88ec00460056c7e8e21200de33a3dc89798c57a5..6da9f075b99cd3937c448d0ebc3aafd0a8ca88e9 100644 --- a/predict_supertags.py +++ b/predict_supertags.py @@ -2,12 +2,8 @@ from SuperTagger.SuperTagger.SuperTagger import SuperTagger from SuperTagger.SuperTagger.eval import categorical_accuracy # region data -a_s = "( 1 ) parmi les huit \" partants \" acquis ou potentiels , MM. Lacombe , Koehler et Laroze ne sont pas membres " \ - "du PCF . " -tags_s = [['let', 'dr(0,s,s)', 'let', 'dr(0,dr(0,s,s),np)', 'dr(0,np,n)', 'dr(0,n,n)', 'let', 'n', 'let', 'dl(0,n,n)', - 'dr(0,dl(0,dl(0,n,n),dl(0,n,n)),dl(0,n,n))', 'dl(0,n,n)', 'let', 'dr(0,np,np)', 'np', 'dr(0,dl(0,np,np),np)', - 'np', 'dr(0,dl(0,np,np),np)', 'np', 'dr(0,dl(0,np,s),dl(0,np,s))', 'dr(0,dl(0,np,s),np)', 'dl(1,s,s)', 'np', - 'dr(0,dl(0,np,np),n)', 'n', 'dl(0,s,txt)']] +a_s = "85,6 % de membres du PCF ." +tags_s = [['dr(0,np,n)', 'n', 'dr(0,dl(0,np,np),n)', 'n', 'dr(0,dl(0,n,n),n)', 'n', 'dl(0,np,txt)']] # endregion