From 4658c93a2cacce59708f28baca1f1cdaf998b7a6 Mon Sep 17 00:00:00 2001 From: Sammy Shear Date: Sat, 1 Mar 2025 19:22:42 -0500 Subject: [PATCH] update astro and new article --- bun.lockb | Bin 240942 -> 253666 bytes package.json | 24 ++-- src/content/blog/my-new-notes-workflow.md | 20 ++-- src/content/blog/transcription-in-golang.md | 125 ++++++++++++++++++++ 4 files changed, 147 insertions(+), 22 deletions(-) create mode 100644 src/content/blog/transcription-in-golang.md diff --git a/bun.lockb b/bun.lockb index 0d7bbe67dcfb76cb434a82b4efc51ec97c538dab..ae4d2ac7958a3aa95fb2c84377c6c7050de65924 100755 GIT binary patch delta 63902 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 ci)9zFfsDI^%Z9@j -- [The Problem](#the-problem) -- [The Solution](#the-solution) - - [obsidian.nvim](#obsidiannvim) - - [Sidebar: Neorg](#sidebar-neorg) - - [How is this workflow more than just `obsidian.nvim`?](#how-is-this-workflow-more-than-just-obsidiannvim) - - [The `rsync.nvim` Part](#the-rsyncnvim-part) - - [The SSH Server](#the-ssh-server) - - [The Final Part](#the-final-part) -- [Bonus: Pandoc and Markdown](#bonus-pandoc-and-markdown) - +- [The Problem](#the-problem) +- [The Solution](#the-solution) + - [obsidian.nvim](#obsidiannvim) + - [Sidebar: Neorg](#sidebar-neorg) + - [How is this workflow more than just `obsidian.nvim`?](#how-is-this-workflow-more-than-just-obsidiannvim) + - [The `rsync.nvim` Part](#the-rsyncnvim-part) + - [The SSH Server](#the-ssh-server) + - [The Final Part](#the-final-part) +- [Bonus: Pandoc and Markdown](#bonus-pandoc-and-markdown) + ## The Problem diff --git a/src/content/blog/transcription-in-golang.md b/src/content/blog/transcription-in-golang.md new file mode 100644 index 0000000..445eb04 --- /dev/null +++ b/src/content/blog/transcription-in-golang.md @@ -0,0 +1,125 @@ +--- +title: "Implementing a Transcription Key in Golang with Regex" +publishedTime: 2025-03-02 +--- + + + +I have been wanting to do something like this for going on 5 years now, but I took several wrong steps along the way. Before I explain what those missteps were, though, I should probably explain what this project even is. The first part of the equation is the [Language and Culture Atlas of Ashkenazic Jewry](https://guides.library.columbia.edu/c.php?g=730523&p=5319433) housed at Columbia. This is a huge corpus of interviews conducted with native Yiddish speakers from pretty much all regions in which the language was spoken. The main potential barrier to using it for research, however, is the fact that it uses its own transcription system, instead of a standard like the International Phonetic Alphabet (IPA). This, while probably not something that would stop most researchers, is something that can be remedied by transcribing it from their system to the IPA, which they provide a very helpful key for on their website. The question then becomes, what is the best way of transcribing the data into the IPA? + + + +- [My First Attempt](#my-first-attempt) +- [My Second Attempt](#my-second-attempt) +- [The Third Attempt](#the-third-attempt) + - [The New System](#the-new-system) + - [Example of the Replacement Logic](#example-of-the-replacement-logic) + - [Bonus](#bonus) +- [The End and Final Notes](#the-end-and-final-notes) + + +## My First Attempt + +When I first looked at this problem, I may have made the scope too big, and initially the goal was to OCR all of the data and transcribe it en masse. This would work well, if the OCRing was efficient and correct, which became my main problem. Using tesseract-ocr, I started with the printouts of the typed data, the handwritten sheets would have to come later. The problem quickly presented itself that if I wanted to OCR these accurately, let alone the handwritten sheets, I would need to spend a lot of time tweaking, and I was at this point very unfamiliar with OCR technologies, so this prospect seemed very daunting. This eventually led to me giving up on this first iteration of the project until a few months ago. + +## My Second Attempt + +The second attempt I made was largely the same as the first attempt, I would OCR the sheets, feed them through some text processing software I wrote, and when it was finished, I would have a complete IPA version of the data. The problem was then largely the same as last time. I spent a good amount of time tweaking the imaging settings, getting almost the right result a bunch of times, but almost isn't so good when you're working with data people will be using for actual research. This led me to my third (or second, really) idea for what to do. + +Although more of a stopgap solution, I decided to simply write a small web app that took manual input and processed it into IPA. + +## The Third Attempt + +While the other two attempts had been made in Python, I much prefer writing my web backends in Golang, so even though I will have to redo the entire logic in Python if I want to use it for a third OCR-based attempt, I chose to leave that as a problem for future me and use Go. This started out rather simplistically: I chose to use Datastar for the frontend, mostly because I had never used it and I thought it would be good practice if I wanted to use it in the future for something more complicated. The original system was a basic switch statement that fell apart rather quickly because the transcription key was not one character to one character in every case. This led me to regular expressions, which I have generally considered the bane of my existence, and this project did not do a great job convincing me otherwise. + +### The New System + +The system has a few parts to it, but is generally pretty simple: + +1. A `RegexpKey` structure that contains both a pointer to a `regexp.Regexp` and a string for its name. This name didn't end up being totally necessary for the transcription component, but became useful later for a bonus addition to the system. +2. A basic `map` that replaces some of the simple characters with their IPA counterparts. +3. A quick setting of the input to lowercase. +4. A bunch of base regular expressions that include a regex group and a set of characters: i.e. `([aeiouəɪʌ])` for the vowels. + - This system allows me to arbitrarily replace or add a diacritic to whatever character is captured by the regex. +5. A slice of those `RegexpKey` structs from before to have the order of the replacing remain fixed. +6. A map of those same `RegexpKey` structs and what they should be replaced with. +7. Some for loops that iterate over the slices and actually run the operations. + +#### Example of the Replacement Logic + +I'll show the vowels map and for loop so you can get an idea of how this should work. + +```go +var vowelsMap = map[string]string{ + vowelKeys[0].name: "%c\u0306", + vowelKeys[1].name: "%c\u0303", + vowelKeys[2].name: "%c\u031E", + vowelKeys[3].name: "%c\u031D", + vowelKeys[4].name: "%c\u0320", + vowelKeys[5].name: "%c\u031F", + vowelKeys[6].name: "%c.", + vowelKeys[7].name: "\u02C8%c", + vowelKeys[8].name: "\u02CC%c", +} +... + for _, k := range vowelKeys { + v := vowelsMap[k.name] + o = k.ReplaceAllStringFunc(o, func(s string) string { + r, _ := utf8.DecodeRuneInString(s) + _, lastSize := utf8.DecodeLastRuneInString(s) + woLastRune := s[:len(s)-lastSize] + if c, size := utf8.DecodeLastRuneInString(woLastRune); c != r && size != 0 && c != ',' && c != '9' { + return fmt.Sprintf(v+"%c", r, c) + } else if c == ',' { + woLastRune = woLastRune[:len(woLastRune)-size] + if cr, size := utf8.DecodeLastRuneInString(woLastRune); cr != r && size != 0 { + return fmt.Sprintf(v+"%c", r, cr) + } + } else if c == '9' { + woLastRune = woLastRune[:len(woLastRune)-size] + if cr, size := utf8.DecodeLastRuneInString(woLastRune); cr != r && size != 0 { + return fmt.Sprintf(v+"%c", r, cr) + } + } + return fmt.Sprintf(v, r) + }) + } +``` + +This is a bit of a mess, and I predictably didn't leave any comments in the code, so lets go over what this does. + +First we figure out what the actual vowel is, the map just stores the name of the key, so we index it with `k.name`. + +Then we run a custom replacement function that decodes the first and last runes in the string, then gets the string without the last rune included. This is so that if there are more than 2 runes in the string, we can figure out the correct order of operations for transcription. The problem is that there are quite a few scenarios to cover, so we end up with a lot of checks. In the end though, we can just return the formatted string. + +The same basic system is used for the consonants, with different rules of course. + +### Bonus + +The bonus I mentioned earlier is the addition of the notation key for the corpus. The notation was a bit trickier, but it made use of those names I mentioned earlier, but in this case they were used as the format strings. In the future I will probably refactor the transcription to work similarly because adding this notation system made me realize the maps were pretty much pointless. Anyway, here's a sample of how it works. + +```go + NON_PHONETIC_NOTATION = "%s(?[A-Za-z\\d\\s]*)(QP)" + ... + {regexp.MustCompile(`(?:^|[^A-Za-z\d])(\#)`), " self-corrected"}, + {regexp.MustCompile(fmt.Sprintf(NON_PHONETIC_NOTATION, "Q(S)")), "said by: %s"}, + ... + for _, k := range notKeys { + o = k.ReplaceAllStringFunc(o, func(s string) string { + ans := k.name + if strings.HasSuffix(ans, "%s") || strings.HasSuffix(ans, "(%s)") { + groupIndex := k.SubexpIndex("text") + matches := k.FindStringSubmatch(o) + return fmt.Sprintf(ans, matches[groupIndex]) + } + + return k.name + }) + } +``` + +This one is pretty simple logic-wise, but there is a lot more notation to cover, so it ended up taking a while just to type it out. I will explain the logic though, as you can see there is a named group in that `NON_PHONETIC_NOTATION` constant that we go ahead and replace the `%s` with in the format string, but only if there is a `%s` in there to replace. + +## The End and Final Notes + +The system ended up being pretty simple in the end, but it gave me a lot of good regex practice, although I'm hoping to avoid making use of it for a while. Also as a final note, I will mention that while I've been in contact with the librarian at the LCAAJ I learned that someone at Columbia is taking on the OCRing part of this project, using a custom-trained model. This will entirely fix the issues I was having, and hopefully it leads to an easier time for people to do research using this corpus.