How to Automate a Job Out of Existence

 

This is an elaboration of a comment I made in @indymb ‘s post “Is there any point in writing to a Congressperson?” and I’m indebted to him and @Misthiocracy (who has experience working for a Canadian Member of Parliament, I understand) for the details on how all this works. Briefly, we’ll look at a simple task done every day in the houses of government and at how we’d train a computer to do it better.

Briefly, as you may have expected, the letter to your Senator isn’t so much read as processed for the minimum amount of information and interaction required. I’ll quote the meat of his description of the process and then describe how I’d go about automating it. You’re encouraged to go back and read his post (and it should go without saying on Ricochet but the comments too).

A regular constituent would write a letter. Based on that, I knew that it should go to an [Legislative Correspondent]. Each LC and [Legislative Assistant] are assigned different subjects, or policy areas. I, the lowly intern, would read the letter just long enough to figure out the subject. Once I knew that, I knew which LC should receive it, and I put it in his or her pile of mail.

So for example, let’s say you write a letter about immigration. Jane is the lucky LC who has been assigned the topic of immigration. I put your letter on Jane’s desk.

Jane adds your letter to her large stack of letters. Jane will read your letter and determine whether you are for or against immigration. No, Jane will not be considering the nuances of what you wrote, such as being for legal immigration, but against illegal immigration.

When she finally gets to your letter, Jane will read it just long enough to determine which side of the issue you are on, so that you receive the form letter intended for people who agree with you.

To cut it down to its essence:

  1. The unpaid intern opens the letter; determines if it’s someone mildly important or unimportant, and just enough to know what they’re talking about.
  2. Based on those two data points he routes it to the appropriate LC or LA
  3. The LC or LA reads the letter just enough to know if the writer is ‘for’ or ‘against’
  4. The LC or LA sends a form letter.

This has several hallmarks of a task that can be automated.

  • Rote decision making which doesn’t require a terrible lot of creativity.
  • Lots of human labor.
  • The possibility of easy improvements to get more out of the task.

In our improved process, we still start with the intern. Unpaid labor is cheap; no need to automate away interns. The intern takes the envelope, scans the return address, opens the envelope, and scans the letter. That’s all the human action that you need on this end; everything else gets done in the program. At this point, the program resets it’s data entry fields so the intern can scan the next letter. I estimate 10-15 seconds of human time required per letter.

The program takes the picture of the address and letter and converts it into digital text. There’s long been work done on computers reading text from pictures, and while the results still aren’t perfect they’re good enough for, as it were, government work. You’ll lose some data that way but that isn’t important. Individual letters can slip through the cracks as long as you’ve got good enough results with the rest. If you were treating constituent correspondence as important you wouldn’t be treating it this way to begin with. Handwriting is harder to read than printed words, but I’m told the majority of what you get these days is print.

With emails you can skip the first two steps; it’s already in the computer-readable text. You just need to route your public email inbox into the same engine as the scanned letters.

Now comes the hard part; the program needs to understand what the letter is about. This is called “Natural Language Processing”, and is actually a very difficult problem for computers to solve. However, in this day and age, it gets solved every time you say “Hey Alexa, play some George Clinton.” In practice, this would require either training an A.I. to read constituent ravings or outsourcing to a cloud service like Amazon to do that for you. This problem is probably why this hasn’t been done before. That and the customer base for your solution is sort of narrow. It’s still a problem that can be solved.

What are you asking the program to process? You’re attempting to duplicate the extant human labor. Imagine a three-page screed directed at Diane Feinstein broken down into its constituent ideas: (Climate Change : Bad), (Gun Control : Good), (Orange Man : Bad). The fact that you can extract more than one position from the text already provides more value than your LCs did.

Note that you’re only reading the positions you already told the program to look for. If you get a new issue (Wall : Bad) it might be harder to train your system to look at it. Then again it might not; I’ve got not much experience working with machine learning. Adding a column to your data table is simplicity itself.

These bits of data get stored in a table. Here, let’s say that we processed that manifesto. In the table it looks like this:

Apparently, this crazy lady didn’t leave a return address. Wonder why.

We see the name (which has been changed to protect the stupid), and the positions stripped of all nuance. It’s either good, bad, or “NULL” if they didn’t have anything to say about it. (I know that it staggers belief that a ranting leftist could go three whole pages without mentioning LGBT issues but work with me here.) Every line in the database is associated with one person. When the program reads their first letter it writes what opinions it sees into the table, leaving anything missing null. Every letter after that writes over the previous values (as long as the letter covers that issue; don’t reset things to null.) This ensures you keep up with changing minds as much as you can from letter to letter. You can also queue up the appropriate form letter to be printed out so that the intern can pick ’em up and drop ’em in the mailbox.

Now think about how you could use that data. First of all, one of the Senator’s minions can crunch those results into bright and shiny graphs. Higher-ups always like graphs. The group of people who write letters to legislators doesn’t make a representative sample of the population, but some data is better than none. This sort of information should help your politician prevaricate with the shifting political winds. Just be sure you’ve got a good spam filter on your email; you don’t want him developing positions on enhancement pills and Nigerian finance opportunities.

There’s more than that. Misthiocracy mentioned the more on-the-ball legislator staffs keeping an index of constituents who have written in. When the time comes to send campaign mailers you then know to pound the table on which issue. It’s much easier to keep track of that in a database, and from there you can also get much better customization in your form letters. Recall in the Obama Campaign how people would receive messages with “If you could donate just $X it would really help our cause”, and different people would get the exact same message with the dollar value switched out depending on the wealth of the recipient. How do you think they accomplished that?

That’s the kind of thing you can do with “Big Data”, and congratulations, you’ve just entered into the wonderful world of Big Data. If you’re feeling a bit of sleaze on you right now, well, recall that we’re talking Washington D.C. There’s more where that came from.

What then does that imply for the congressional staff? Not much. The interns still fetch coffee. The LAs and LCs no longer do much correspondence duty, but I doubt their numbers would decrease. As Misthiocracy reminds us those phony-baloney government jobs are payback for donors and volunteers from campaign time. Still, if someone were to actually write that program and my ideas caused some swamp denizen to lose its job, well, I wouldn’t be heartbroken.

Published in Science & Technology
This post was promoted to the Main Feed by a Ricochet Editor at the recommendation of Ricochet members. Like this post? Want to comment? Join Ricochet’s community of conservatives and be part of the conversation. Join Ricochet for Free.

There are 50 comments.

Become a member to join the conversation. Or sign in if you're already a member.
  1. Hank Rhody, Acting on Emotion Contributor
    Hank Rhody, Acting on Emotion
    @HankRhody

    Arahant (View Comment):

    dnewlander (View Comment):
    I think there’s an introduction missing there.

    Not to mention how he was going to put diapers on AI.

    Nah, that parts easy.

    • #31
  2. dnewlander Inactive
    dnewlander
    @dnewlander

    Judge Mental (View Comment):

    dnewlander (View Comment):

    How?

     

    That’s way too long for a comment. Maybe I’ll write a post someday, although it’s been a long time ago.

    But the basic answer is the same way that you do it; through the manipulation of symbols, that are themselves aggregations of simpler symbols. And the comparison of those symbols to other known symbols to discern meaning.

    I still don’t see it.

    Enlighten me.

    Not tonight. With the threatened post.

    • #32
  3. The Reticulator Member
    The Reticulator
    @TheReticulator

    Hank Rhody, Acting on Emotion (View Comment):

    The Reticulator (View Comment):
    Want our government to work more efficiently? Write all your letters out in longhand, thus keeping it from mischief.

    Thinking about this one. You have to waste more of their time than time of your own. only it isn’t a straight 1 to 1 ratio; there are more of us than there are of them. Might get it to work. That is, if they decided that answering letters was more important than just about anything else they might be doing. Seems unlikely.

    That is the key. Every action should be judged accordingly: Get the other guy to waste more of his time than I waste on him. There are certain people on social media who try to do the reverse. I don’t cooperate.  

    • #33
  4. WillowSpring Member
    WillowSpring
    @WillowSpring

    Somehow, this thread reminds me of the man who asked his wife when she returned from Church:

    “What was the Pastor’s sermon about”

    “Sin”

    “Well, was he fur it or agin it?”

     

    • #34
  5. Mark Camp Member
    Mark Camp
    @MarkCamp

    Regarding the peripheral question, ‘how do the citizens fight back?’ against this abuse of the process of representative government, whether or not it is automated, this.

    1. Do some contract work for the legislator, like updating the electrified fence around his house or catering his or her daughter’s wedding.
    2. Send him the bill in Washington, written in a long-hand scrawl.  Salt the letter with trigger words.  You could say…
      “Installed footers and studs for the wall between the kitchen and the ballroom—–30 hours—–$1500.00.”
    3. When the only response you get is a form letter thanking you for your comments, and assuring you that Senator Frothingslosh is taking a strong stand for the wall, send a follow up letter, threatening legal action if the bill is not paid in 30 days.
      You could put in more trigger words, this time on a different political issue….
      “Checked HVAC duct airflows for equality of income and outgo. No leaks found—–1 hour—–$75.00.
    4. Sue Senator Frothingslosh.  Refuse to settle.  Try to get a jury trial in your home state (Wyoming).  Ask for continuances.
      See if your lawyer can do that vwah dear thing that Marisa Tomei discovered when she was trying to help Joe Pesci, who was pretending to be Jerry Gallo, and then he said no, it was Jerry Callo but in real life he was playing Vincent Gambini, I mean the real-life Joe Pesci was.  You know the vwah dear thing I’m talking about, right?

    If a bunch of us do this, our Concerned Citizen letters to Congress could have a real impact, contrary to the popular belief that people in Washington don’t care about us.

    • #35
  6. Arahant Member
    Arahant
    @Arahant

    Mark Camp (View Comment):
    vwah dear

    Yep. I know it.

    • #36
  7. Guruforhire Inactive
    Guruforhire
    @Guruforhire

    We did automate thomas friedman like 12 years ago.

    • #37
  8. Guruforhire Inactive
    Guruforhire
    @Guruforhire

    You can start tracking user opinions over time and track the change either positively or negatively correllated with local and national news outlet and tailor your media strategy to that.

    • #38
  9. The Reticulator Member
    The Reticulator
    @TheReticulator

    Guruforhire (View Comment):

    We did automate thomas friedman like 12 years ago.

    Are you sure? Can he pass a Turing test? 

    • #39
  10. Matt Balzer, Straw Bootlegger Member
    Matt Balzer, Straw Bootlegger
    @MattBalzer

    Guruforhire (View Comment):

    We did automate thomas friedman like 12 years ago.

    I’m getting better at determining the author of a Ricochet post based on the title. However I don’t think there’s a way to monetize that.

    • #40
  11. Misthiocracy secretly Member
    Misthiocracy secretly
    @Misthiocracy

    Hank Rhody, Meddling Cowpoke:  (who has experience working for a Canadian Minister of Parliament, I understand)

    Only for members of parliament.  Ministers’ offices are too much like a government job.

    (Compare working for a member of the House of Representatives to working for the Secretary of Agriculture.  The pay and benefits might be better, but my goodness that sort of job just sounds boring to me.)

    • #41
  12. Hank Rhody, Meddling Cowpoke Contributor
    Hank Rhody, Meddling Cowpoke
    @HankRhody

    Misthiocracy secretly (View Comment):

    Hank Rhody, Meddling Cowpoke: (who has experience working for a Canadian Minister of Parliament, I understand)

    Only for members of parliament. Ministers’ offices are too much like a government job.

    (Compare working for a member of the House of Representatives to working for the Secretary of Agriculture. The pay and benefits might be better, but my goodness that sort of job just sounds boring to me.)

    Correction noted and made.

    • #42
  13. Misthiocracy secretly Member
    Misthiocracy secretly
    @Misthiocracy

    Hank Rhody, Meddling Cowpoke: Note that you’re only reading the positions you already told the program to look for. If you get a new issue (Wall : Bad) it might be harder to train your system to look at it. Then again it might not; I’ve got not much experience working with machine learning. Adding a column to your data table is simplicity itself.

    With a good relational database it’s not all that difficult.  To oversimplify, you have one table listing all the constituents in the district, another table listing all the issues, and then a third table that links particular issues to particular constituents.

    • #43
  14. Misthiocracy secretly Member
    Misthiocracy secretly
    @Misthiocracy

    Hank Rhody, Meddling Cowpoke (View Comment):

    The Reticulator (View Comment):
    Want our government to work more efficiently? Write all your letters out in longhand, thus keeping it from mischief.

    Thinking about this one. You have to waste more of their time than time of your own. only it isn’t a straight 1 to 1 ratio; there are more of us than there are of them. Might get it to work. That is, if they decided that answering letters was more important than just about anything else they might be doing. Seems unlikely.

    I have to assume you’re talking about a politician you don’t support.  Why you would want to waste the time of a politician you do support is beyond my ken.

    • #44
  15. Hank Rhody, Meddling Cowpoke Contributor
    Hank Rhody, Meddling Cowpoke
    @HankRhody

    Misthiocracy secretly (View Comment):

    Hank Rhody, Meddling Cowpoke: Note that you’re only reading the positions you already told the program to look for. If you get a new issue (Wall : Bad) it might be harder to train your system to look at it. Then again it might not; I’ve got not much experience working with machine learning. Adding a column to your data table is simplicity itself.

    With a good relational database it’s not all that difficult. To oversimplify, you have one table listing all the constituents in the district, another table listing all the issues, and then a third table that links particular issues to particular constituents.

    Yeah, that’s all easy enough. Training your robot to detect the wall in your constitutent’s scribble is going to be difficult. And noting that you won’t have collected data points from anyone who wrote in before the issue in question.

    Hmm… You might run into relevancy issues. One can easily imagine the undying senators writing their constituents to denounce the first Iraq war while the second one is raging. It might not be the most effective way to motivate your base.

    • #45
  16. Misthiocracy secretly Member
    Misthiocracy secretly
    @Misthiocracy

    Hank Rhody, Meddling Cowpoke (View Comment):
    Yeah, that’s all easy enough. Training your robot to detect the wall in your constitutent’s scribble is going to be difficult. And noting that you won’t have collected data points from anyone who wrote in before the issue in question.

    So, instead of a team of interns doing data-entry you just have one intern doing data-entry for the minority of letters that are still written by hand.

    • #46
  17. Misthiocracy secretly Member
    Misthiocracy secretly
    @Misthiocracy

    Hank Rhody, Meddling Cowpoke (View Comment):

    Misthiocracy secretly (View Comment):

    Hank Rhody, Meddling Cowpoke: Note that you’re only reading the positions you already told the program to look for. If you get a new issue (Wall : Bad) it might be harder to train your system to look at it. Then again it might not; I’ve got not much experience working with machine learning. Adding a column to your data table is simplicity itself.

    With a good relational database it’s not all that difficult. To oversimplify, you have one table listing all the constituents in the district, another table listing all the issues, and then a third table that links particular issues to particular constituents.

    Yeah, that’s all easy enough. Training your robot to detect the wall in your constitutent’s scribble is going to be difficult. And noting that you won’t have collected data points from anyone who wrote in before the issue in question.

    Hmm… You might run into relevancy issues. One can easily imagine the undying senators writing their constituents to denounce the first Iraq war while the second one is raging. It might not be the most effective way to motivate your base.

    No letter should go out from the politician’s office without the text getting final approval from a human in a position of authority.  Even with an automated system that creates form letters from component sentences and paragraphs, those components should be approved by a human to make sure than none of them are contradictory.

     

    • #47
  18. dnewlander Inactive
    dnewlander
    @dnewlander

    Misthiocracy secretly (View Comment):

    Hank Rhody, Meddling Cowpoke: Note that you’re only reading the positions you already told the program to look for. If you get a new issue (Wall : Bad) it might be harder to train your system to look at it. Then again it might not; I’ve got not much experience working with machine learning. Adding a column to your data table is simplicity itself.

    With a good relational database it’s not all that difficult. To oversimplify, you have one table listing all the constituents in the district, another table listing all the issues, and then a third table that links particular issues to particular constituents.

    might have worked on a product that does exactly that….

    I’d include a link, but apparently it’s finally gone out of business.

    • #48
  19. Mark Camp Member
    Mark Camp
    @MarkCamp

    dnewlander (View Comment):
    I’d include a link, but apparently it’s finally gone out of business.

    Ah, memories of being young and callow and trying to spread the news about the power of relational thinking…

    My brother works in Defense contracting.  Trying to get army command and control systems to talk to each other, etc.

    We used to commiserate.  If only.  If only they understood that you can never integrate systems if they have incompatible data models.

    And if you just take the time…before you start trying to integrate all this code and hardware…to integrate your data models,  and then implement those in high-level designs that DO NOT CARE HOW SLOW THEY WOULD BE if implemented in detailed design stupidly, and then implement those into high-performance highly non-stupid detailed designs, and then create your databases, and THEN work on your code….

    • #49
  20. Arahant Member
    Arahant
    @Arahant

    Preaching to the choir here, Mark.

    • #50
Become a member to join the conversation. Or sign in if you're already a member.