This library implements the IAT/ML concepts related to argumentation analysis.
$ dotnet add package Incipit.LogosLink.ArgumentationEngineThank you for downloading this LogosLink package.
LogosLink is a set of tools for discourse analysis, as described in www.iatml.org. You can use LogosLink as an interactive desktop app or by adding the relevant packages to your project.
This is the Incipit.LogosLink.ArgumentationModel package, which contains types to manage argumentation models in terms of their locutions, transitions, proposition, inferences, etc.
Once you have added this package to your project, you can create argumentation models, load and save them from disk, and run multiple analytics on them.
Use the ArgumentationModel and ArgumentationModelPersister classes to create, load and save argumentation models. Use the different classes under the Incipit.LogosLink.ArgumentationModelEngine.Analytics namespace to run analytics on an argumentation model.
Please see the LogosLink Programmer's Guide for complete documentation.
You can create a new argumentation model like this:
var arm = new ArgumentationModel("Test", "YourUserName");
arm.TextContent.Text = "Today I'm happy because it's sunny.";
Then, you can add, edit and delete argumentation model elements like this:
//add a speaker.
var sp = arm.AddNewSpeaker("Alice");
//add some locutions connected by an Adding transition.
var loc1 = arm.AddNewLocution(sp1, "Today I'm happy");
var loc2 = arm.AddNewLocution(sp1, "because it's sunny.");
var tra1 = arm.AddNewTransition(loc1, loc2);
tra1.Type = TransitionType.Adding;
//delete the second locution.
loc2.Delete();
You can load and save argumentation models like this:
//load an argumentation model from a file.
var armp = new ArgumentationModelPersister("YourUserName");
var arm = armp.LoadArgumentationModel("C:\\Datasets\\My ArgumentationModel.lla").ArgumentationModel;
//save it back to disk.
armp.SaveArgumentationModel(arm, null, "C:\\Datasets\\My ArgumentationModel.lla");
You can run some analytics on an argumentation model like this:
//create and run an argumentation structure analyser.
var ana = new ArgumentationEngine.Analytics.ArgumentationStructure.ArgumentationStructureAnalyser(arm)
{
ContentiousnessExponent = 3.5
};
ana.Run();
//dump proposition cogencies to the console.
foreach (var kvp in ana.PropositionArgumentationStructureResults)
{
Console.WriteLine($"Proposition: {kvp.Key}\tCogency: {kvp.Value.Cogency}");
}
We love feedback!
Please write to cesar.gonzalez-perez@incipit.csic.es with your comments and questions. You can also send anonymous feedback on the web at www.iatml.org/en/logoslink/feedback.
Thank you!