POPREBEL Coding Thread (LEGACY)

@amelia Where are we meeting?

https://zoom.us/j/4149496930

new link

Great meeting today everyone.

We’ll meet again next week on Friday 3PM CET, 9am @Jan’s time.

In the meantime, everyone has their assigned categories to resolve on the shared categories document. Please also respond to comments made on the document by others working on their categories. Thanks!

Hi, @amelia.
Jan and I were going through our categories and we realised that quite a few of your codes (in black in our shared catagories notebook) appear in the backend as created by webmaster and having 0 annotations. I have the same problem, actually.
Have you noticed anything of the sort on your side?

@amelia Where are we?

Hello @Jan, @amelia, @Wojt, @Jirka_Kocian and @Richard(?) we can use my zoom:

Zdeněk Sloboda’s Personal Meeting Room:

I won’t be able to join you today, I’m afraid. But have fun! Rx

1 Like

Hi everyone! As I said in the call last week, I’m in Greece on holiday this week so unlikely to make it. If you are still on in 30 I may be able to join, but otherwise please proceed without me and implement any merges you do not feel strongly that you need my input on. Otherwise I will review your notes after I return and reply!

We have finished the call around 16:15 CET (15:15 BST) and we have discussed a bit more structural approach to the codes, as some of them are hard to merge and we are sometimes confused how much deatiled coding do we need, esp. regarding our research aim (topic). Jan will post what we have come up with. And let’s discuss it at our next meeting. (Until then, we are going to merge codes, that are obvious and easy to merge.)

@amelia NO worries. Have fun! We had a great meeting - came up with an idea of a really good conceptual/categorical system. I am going to write it up ASAP and will post it here.

1 Like

Coding meeting
September 11, 2020
Present: Wojtek, Zdenek, Jan

For: @amelia @Richard @Wojt @SZdenek @Jirka_Kocian
@alberto (please have a look and share your thoughts)

We managed to have a very productive discussion on the structure of categories and came up with what we believe are breakthrough ideas about developing a hierarchical structure of categories that will be most suitable for the project. Once we have it approved by the rest of the team, there will be some recoding to be done.

Here are the main ideas.

  1. We need to reduce the number of general categories and make sure that they help us address the central concern of POPREBEL: what are the cultural/cognitive maps people carry in their heads that are providing a “background” for their choices, also political? Such maps (a component of “collective intelligence”) can be reconstructed – we are assuming – via a disciplined analysis of the conversations recorded on the platform.
  2. The hierarchy will have three levels (see examples below)
  3. We propose that we create the following system of categories, some of which will become parental codes, but all will belong to the highest level of our three-level hierarchy:

3.1. Type of action or inaction (Examples from “old” typology: engagement tactics
3.2. Actor (types)
3.3. Issue (Example: “education” [level 2] → “right to education” [level 3]
3.4. Ideology
3.5. Emotions
3.6. Value(s)
3.7. Places/locations/scale
3.8. Institutions
3.9. Time:
3.9.1. History/past
3.9.2. Diagnosis of the present
3.9.3. Prognosis
4. What emerges is the project’s “grammar.” For example, we can construct the following sentence: John, who is a teacher [actor type] writes about a lack of clean water in his appartment complex [situation] and decided to form a group [type of action] and follow his belief in the need to help people [ideology], particularly in his town [place/location]. He is intimates that he is very angry [emotion] and compares the present crisis to a much better situation before the fall of communism [history].
5. Question: Is it possible to see a map of “mothers” only? For example, we will code Hannah’s statement (she is a teacher): “I am angry that many people around here have no access to good education,” as “anger” <----> “right to education” – both codes at Level 3, but would like to see also “emotion” <---->“issue” at Level 1, so we can see how many issues are approached in an emotional manner.

1 Like

@Wojt, @Jan, @Jirka_Kocian & @amelia … Czech and Polish translations of code-names have been indeed deleted and Daniel have restored them (402 in total - Czech: 286, Polish: 93, Serbian: 14, German: 9) now.

2 Likes

Great news!

Cool!

Hi everyone! I’m back from holiday.

This sounds very good as a plan, as long as we keep our terminology consistent. We need to be very clear about the distinction between categories and hierarchies in our vocabulary. Categories are the organising principles that we use to structure our codes. So these are categories:

And these look great as categories! We should not, however, call them hierarchies, because that will confuse us with the backend hierarchies, which are ontologically much stricter. So it’s a three level categorisation structure.

As you say, some of these categories will become parent-child codes in the hierarchy in the backend (Level 3 and Level 2, in your parlance, as “right to education” is definitely a strict ontological child of “education”). Some will not.

This is a good way to approach coding in general. We make sure that we are roughly assigning codes that belong to each category so we are telling explanatory stories. @Leonie and @katejsim, this is very much along the lines of what I was trying to explain re: good coding practice. The codes should tell a story about what the informant is trying to say.

These “Level 1” categories will not be codes that we assign to text, because they don’t have much meaning as codes by themselves – they are too vague (and we would much rather just group existing codes underneath them, as in a category, to save a lot of time while coding). We need to think about how we want to do this. In the Babel project we have such categories. @hugi, we could make them “non-SSNA” codes like in Babel, potentially, and/or assign each a colour to visually designate them in the graph… I’ll think about it and perhaps we can have a call to discuss, @Jan, with @hugi if he has time, to think about the best approach.

Once we figure that top-level category designation out, I think all of this is perfect (and in the interim, we can still continue coding by assigning the “level 2” and “level 3” codes). We code trying to make sure we create codes from many of these categories, to try to construct sentences like the one you gave as an example.

Yes, this is possible, it just requires a little tweaking of the code in the Graphryder dashboard. This is possible if we have a separate version deployed for Poprebel. I can help make the tweaks. @alberto should probably sign off on it though, as we need to be clear about exactly what we’re doing when writing the reports later. This is an example of the multi-colored graph from Babel.

1 Like

It’s something that would be helpful in NGI, too. It would first be useful to have a way to represent the top level categories in the backend (to help organise codes so ethnographers can find them – what we use AirTable for in BBU). For all projects it would be better to have this work on-platform.

Second, it would be useful to have this on GraphRyder, but I think this is less crucial at first thought — since we often colourise Graph Ryder later, based upon the co-occurrences, to identify what the informants have categorised together. I don’t see a huge benefit to pre-assigning those super high level categories except as a tool for finding codes, but it could be interesting visually to have a toggle-able colour code separation.

@Jan and @amelia and all, I am on holiday, but this thread is too interesting.

I have two things to contribute.

1. Reducing the graph

As I see it, SSNA – a qual-quant method – comes with native support for some reduction techniques, which are “a natural” because they are technically easy and theoretically grounded.

I refer, of course, to graph reduction based on network structure. The idea is:

  1. build the codes co-occurrence graph.
  2. apply reduction methods from graph theory.

The current iteration of Graphryder only supports the easiest and most intuitive of these methods: a frequency count. It amounts to filtering a graph by the value of a parameter k, the number of times two codes co-occur. It works very well, because empirically you can reduce the number of codes by ~ 90% by increasing the value of k from 1 to 2. However, I can manually reduce the graph in other ways (see below).

The theoretical grounding rests on an argument made on two parts.

  1. The (full) codes co-occurrence graph is an artifact of collective intelligence: it encodes the voice of the community.
  2. Reducing it is sometimes a necessary evil, to overcome limits in human cognition. When reducing, however, we should apply a method that filters in the most “important” edges (not so much the most important nodes, since we optimized SSNA on finding connections). Since we are dealing with graph math, “important” normally refers to how much an edge contributes to defining the overall structure of the graph. There are more sophisticated ways to determine “importance” than frequency counts, for example Simmelian backbone or normalized degree; I am not sure their result is worth the extra effort, but maybe I could attempt a small mathematical paper looking for some sort of equivalence. That would be nice, because it would say that, no matter what reduction technique you use, the same codes and their connecting edges always get filtered in.

It the problem is “too many codes”, I see no need to create an alternative layer of codes. I would be rather more interested in reducing the number of codes algorithmically (“keep the most important dyads of codes”), and then allocating my capacity to interpreting the reduced graph. This has also the advantage that it is fine-tunable: you can always reduce the graph further by increasing the value of the parameter k.

2. Argument mapping

Are you familiar with the literature on argument mapping? This is an idea that emerged in computer science after 2000. Basically, a statement would be classified according to its role in the argument. For example, if Alice says “the use of face masks helps prevent the spread of viruses”, she is making a claim. If Bob adds “indeed, more widespread mask use happens in countries less affected by the virus”, he is adding a piece of evidence in favour of Alice’s claim. Carol could then add “this is only true of non-airborne viruses”, she is adding a limitation to the claim. And so on. This is attractive to CS folks, because of course you can connect statements in a large debate in a graph (again), and then manipulate the graph.

I am under the impression that argument mapping went nowhere and was abandoned, but I might be wrong. I do know researchers that used to be very into it and could involve them, if you are interested.

Many thanks @alberto. I am going to dig into all of this as soon as I can. As you know we have - AGAIN - a reporting and meetings season. I just finished the second overlaps report yesterday and we have our SB meeting on Friday. Most likely I will get to this on the weekend. It looks super interesting. Ciao.

2 Likes