SI16: Difference between revisions

From XPUB & Lens-Based wiki
No edit summary
Line 73: Line 73:


Our tool is a filter to process and alter texts. By targeting specific words and replacing them, either for another word, for specific characters or for blank spaces, the reader or user of the tool can change the text in many ways. The tool includes three functions The function “respell” receives as input a text (string type) and substitute all the occurrences of a target word with a replacement chosen by the user. The function “stitch” is very similar to the previous one but replaces all the occurrences of a target word with a single character (it can also be a blank space) that is repeated as many times as the length of the target. The third function “reveal” also works very similar but deletes all input text except the target word(s) and replaces the deleted text with blank spaces.
Our tool is a filter to process and alter texts. By targeting specific words and replacing them, either for another word, for specific characters or for blank spaces, the reader or user of the tool can change the text in many ways. The tool includes three functions The function “respell” receives as input a text (string type) and substitute all the occurrences of a target word with a replacement chosen by the user. The function “stitch” is very similar to the previous one but replaces all the occurrences of a target word with a single character (it can also be a blank space) that is repeated as many times as the length of the target. The third function “reveal” also works very similar but deletes all input text except the target word(s) and replaces the deleted text with blank spaces.
=== Functions ===
1. Respell
    from nltk.tokenize import word_tokenize
    # text, target, and replacement are string types
    def respell(text, target, replacement):
        target = target.lower()
        txt = word_tokenize(text)
        new = []
<br>
        for w in txt:
            if w == target:
                w = replacement
                new = new + [w]
            elif w == target[0:1].upper() + target[1:]:
                w = replacement[0:1].upper() + replacement[1:]
              new = new + [w]
            elif w == target.upper():
                w = replacement.upper()
                new = new + [w]
            else:
                new = new + [w]
        text = ' '.join(new)
        final= text.replace(' .','.').replace(' ,',',').replace(' :',':').replace(' ;',';').replace('< ','<').replace(' >','>').replace(' / ','/').replace('& ','&')
        return final

Revision as of 15:55, 24 March 2022

First approaches to vernacular and language processing

Special Issue #16

Texts to discuss *

My translation of the lyrics of a greek partisan song and the lyrics of a queer take on the same song
Experiental narrations 5 occupants of Peiraiki-Patraiki factory in 1990*
Experiental map of Panayotis' narratives*

Prototyping

First steps into learning Python

  • Exploratory Programming for the Arts and Humanities notebooks for chapters 4,5,6,7,8,15
  • Natural Language Processing with Python notebooks for chapters 1,2

Reading Writing and Reasearch Methodologies

Anotating the Intro of Queer Phenomenology

with Carmen, Chae and Miriam in Steve's Class

Discussing the text with chae in an experiental approach, having just arrived in Rotterdam and trying to orientate in a very different context.
Trying to read the text through our experiences

queer phenomenology annotation pad

Glossary of Interconnected Keywords

with Chae, Kimberley and Jian

Collective experiment on giving our definitions to keywords that are inteconnected to each other.

glossary of interconnected keywords

Approaching the vernacular through the theme of rejection

https://pad.xpub.nl/p/Rejection_Glossary

Collaboration, Conflict & Consent workshop

https://pzwiki.wdka.nl/mediadesign/Mitsa_selfportrait

The forced poetics and the making of Special Issue 16

really inspired by Clara's lecture on vernacular design and forced poetics

publishing is a validation

conversation with Carmen and Erica

conversation and diagrams with Erica about forced poetics and empowerment

Prototyping with the replace function

First prototype with Erica

   new_text = print(text.replace('reason',' 👮reason👮').replace('Reason','👮Reason👮').replace('High','👨‍⚖️High👨‍⚖️').replace('normal','🔫normal🔫').replace('Objective','(⊙▃⊙)Objective(⊙▃⊙)').replace('objective','(⊙▃⊙)objective').replace('planet','🇺🇸planet🇺🇸').replace('foreign','🪖foreign🪖'))

Applying the replace function on Bataille's Solar Anus

pad of text analysis
https://pad.xpub.nl/p/solar_anus
notebook with experiment

   new = anus.replace('sun','moon').replace('SUN','MOON').replace('solar','lunar').replace('phalluses','rabbits').replace('shafts','strapons').replace('phalloid','dilidoid')

The idea for a thematic libary of words replaced by emojis

screenshot

...and I wish that your question has been answered

with Carmen, Erica and Miriam

link to page

Research

Text

This is an act of persistent resistance. We created three functions to facilitate an iterative process of refusal towards PM Kryakos Mitsotakis and PM Mark Rutte's answers during a Press Conference and any of their possible versions. We invite you to play as much as you want with these functions and create your own answers as counter-reaction to Mark Rutte's final sentence: "So this is my answer and I wish that your question has been answered". Every new answer, every new iteration, can be submitted to our Archive of Repetitive Answers. Although they will never be good enough, nor shall they be accepted as exhaustive, we consider the modified answers as a trigger for a never-ending dialogue.

Our tool is a filter to process and alter texts. By targeting specific words and replacing them, either for another word, for specific characters or for blank spaces, the reader or user of the tool can change the text in many ways. The tool includes three functions The function “respell” receives as input a text (string type) and substitute all the occurrences of a target word with a replacement chosen by the user. The function “stitch” is very similar to the previous one but replaces all the occurrences of a target word with a single character (it can also be a blank space) that is repeated as many times as the length of the target. The third function “reveal” also works very similar but deletes all input text except the target word(s) and replaces the deleted text with blank spaces.

Functions

1. Respell

   from nltk.tokenize import word_tokenize
   # text, target, and replacement are string types
   def respell(text, target, replacement):
       target = target.lower()
       txt = word_tokenize(text)
       new = []


       for w in txt:
           if w == target:
               w = replacement
               new = new + [w]
           elif w == target[0:1].upper() + target[1:]:
               w = replacement[0:1].upper() + replacement[1:] 
              new = new + [w]
           elif w == target.upper():
               w = replacement.upper()
               new = new + [w]
           else:
               new = new + [w]
       text = ' '.join(new)
       final= text.replace(' .','.').replace(' ,',',').replace(' :',':').replace(' ;',';').replace('< ','<').replace(' >','>').replace(' / ','/').replace('& ','&')
       return final