@@ -29,7 +29,7 @@ After extracting the knowledgepaths, we found that the neural model of @DebjitPa
<br>
#### Evaluation of results
After the human needs had been successfully assigned for all essays, we evaluated everything. In *human_needs_evaluation.py" we have written a code for evaluation. Here we calculate Precision, Accuracy, Recall and F1-Score and with these measurements we analyze the evaluation. Concrete comments and visualisations of the evaluation can be found in the jupyter notebook.
After the human needs had been successfully assigned for all essays, we evaluated everything. In *human_needs_evaluation.py* we have written a code for evaluation. We calculated Precision, Accuracy, Recall and F1-Score and with these scores we analyzed the evaluation. Further comments and visualisations of the evaluation can be found in the evaluation folder in both "train_evaluation.ipynb" and "human_needs_evaluation.ipynb" .
<palign="center">
<imgsrc="pictures/Accuracy.png"/>
@@ -99,14 +99,14 @@ As mentioned before, all evalution metrics confirmed our initial study conjectur
As in all of Machine Learning tasks, system results will be negatively effected if instances for some output classes are barely existent in the test dataset. In our case, we realized quite early during annotation that this could be the case for the Maslow category "physiological needs" as we had very few instances of this class in our data. The results proved our hypothesis regarding this aspect, as the system performed poorly on the instances that were annotated for "physiological needs". Similarly, Reiss motives that rarely occurred in our test dataset performed roughly equally poor due to the same problem: Underfitting due to lack of sufficient data. To resolve this problem, one would have to ensure a more balanced dataset or even consider leaving out a few classes and restructuring the output classes at use.
4.in *train_evaluation.py* we applied the ML metrics for the train files. Here we could observe that the values for the train data perform slightly better. This is due to the fact that the train files, unlike our test data, consist of only one, uncomplex sentence. More details can be found in the attached file.
4.In *train_evaluation.py* we applied the ML metrics for the train files. Here we could observe that the values for the train data, e.g. the narrative texts of the ROCStories Dataset performed slightly better than our argumentative data. This could be due to the fact that the train data, unlike our test data, consist of only one, short and less compley sentence. More details can be found in the attached file.
## The Tools and how they worked
### Problems that accured
> *DISCLAIMER :* The problems with the tools described below are not intended to apportion blame or condemnation. The problems we have encountered are simply part of our project process and the reason for our changes and innovations.
As already mentioned we used [this](https://github.com/debjitpaul/Multi-Hop-Knowledge-Paths-Human-Needs) approach provided by @DebjitPaul. Unfortunately, we had some difficulties with the execution of the given code. <br>
Probably the biggest problem was the outdated version information. While we repeatedly encountered the statement to always use the versions of packages that a publisher himself specifies, in this case we were constantly confronted with error messages. Every time we worked through an error message and reset versions, we sooner or later came to another error message about faulty package version. <br>
Probably the biggest problem was the outdated version information. While we repeatedly encountered the statement to always use the versions of packages that a publisher himself specifies, in this case kept getting confronted with error messages. Every time we worked through an error message and reset versions, we sooner or later came to another error message about faulty package versions. <br>
In the end, we found that the following complications were to blame: <br>
- the tensorflow version 1.12.0 as recommended in given [github](https://www.aclweb.org/anthology/N19-1368.pdf) does not support tensorflow-hub
- only tensorflow 1.15.0 and upwards supports tensorflow-hub
@@ -133,7 +133,7 @@ As already mentioned briefly in our project_proposal we wanted to do a textual a
Encountering all these problems taught us many things during the timespan of this software project.
<br>
First, we learned that a project dependent on other tools is always risky. While this time we put a lot of effort into a tool that ultimately didn't work, next time we would look for alternatives much earlier and consider other options. Our somewhat too great optimism at the beginning, that everything will work again, was reduced from error message to error message.
First of all, we learned that a project dependent on other tools is always risky. While this time we put a lot of effort into a tool that ultimately didn't work, next time we would look for alternatives much earlier and consider other options. Our somewhat too great optimism at the beginning, and hoping that everything will work again, was reduced from error message to error message.
<br>
We also learned how important communication is when working with foreign code and tools. While we hesitated at the beginning, we now immediately contacted the editors with every problem where we did not know what to do. Even if this meant that we had to write them emails several times a week until we got an answer.
@@ -142,7 +142,7 @@ We also learned how important communication is when working with foreign code an
We also learned that error messages are not mistakes but part of the process. In this software project we encountered more errors than in our entire studies, and yet we found a solution every time.
<br>
This leads us to the next point. The more error messages there were in the beginning, the lower our motivation became. Especially in such moments where it seemed to run partly not at all, we learned how important it is to stay on. Also the importance of cooperation in a group became clearer from week to week. Despite the fact that we already functioned well as a group from the beginning and had no problem with work sharing, each error message welded us together a bit more. There were many days when we spent hours together trying to solve problems and implement new ideas. Despite not being able to meet in person due to Corona times, we found a way to communicate and act as a group on a daily basis.
This leads us to the next point. The more error messages there were in the beginning, the lower our motivation became. Especially in moments where nothing at all seemd to work, we learned how important it is to stay on track. Also the importance of cooperation in a group became clearer from week to week. Despite the fact that we already functioned well as a group from the very beginning and we had no problems with sharing work, each error message welded us together a bit more. There were many days when we spent hours together trying to solve problems and implement new ideas. Despite not being able to meet in person due to Corona, we found a way to effectively communicate and act as a group on a daily basis.
<br>
If we were to start the same project again from scratch, we would probably approach things differently. However, we would not have made these experiences, which we will take with us for our future projects.