Skip to content

Instantly share code, notes, and snippets.

Hashtag generator

Introduction

The general concept behind this project is a hashtag generator. I used data taken from twitter to train a Recurrent Neural Network using the OpenNMT-py library. The idea is that if you feed the Neural Network a tweet or sentence, it can suggest appropriate hashtags. I chose the Recurrent Neural Network Sequence to Sequence model because it had the ability to generate novel hashtags, as opposed to another strategy that would have been limited to a set of hashtags/classes. Ultimately, I decided to do this project to explore a novel and potentially entertaining use of a sequence to sequence generator. In the process, I learned about several things including how to consume and clean data from twitter, the training process of Neural Networks, and how to use the OpenNMT-py library.

Training and Accuracy

The model took just over 36 hours to train on a training set of about 2900 examples. I definitely have a greater appreciation for how much computing power is required to

Getting Twitter Data

I used the twitter gem to grab stream data from twitter. Before writing any code I needed to create a developer account and project on twitter to get all the api keys I would need. Once that was done I could install the gem and start an irb session. Then I was able to initialize the client.

client = Twitter::Streaming::Client.new do |config|
  config.consumer_key        = "YOUR_CONSUMER_KEY"
  config.consumer_secret     = "YOUR_CONSUMER_SECRET"
  config.access_token        = "YOUR_ACCESS_TOKEN"
  config.access_token_secret = "YOUR_ACCESS_SECRET"

BASH

What is the Shell/BASH?

Shell is a command language. Over time people have developed different varities of shell by adding extra features

  • BASH(Born Again SHell)
  • Other types of command processors
    • zsh - Another type of command processor that is extremely powerful. It was built off of BASH but has more features. You can customize it to autocomplete github repos. Unlike BASH, zsh does not follow POSIX standards.
  • tcsh
@CjMoore
CjMoore / setting_expectations.markdown
Last active February 21, 2017 21:22 — forked from Carmer/setting_expectations.markdown
Setting Expectations

Setting Group Expectations

Group Member Names: Charlotte, Courtney, Valerie, Casey

When are group members available to work together? What hours can each group member work individually? Are there any personal time commitments that need to be discussed?

  • Casey - time constraint Conference over the weekend.
  • Valerie - Mentor session on Thursday.
  • Courtney - Mentor session 5:30 Wednesday

How will group members communicate? How often will communication happen, and how will open lines of communication be maintained?

The culture at HubSpot that Dan Lyons described in his article was kind of disturbing. It seemed as if HubSpot was spending as much, if not more, time and effort to convince their employees of the value of their narritive as their customers. They appear to use a lot of smoke and mirrors to distract from the fact that they're not selling anything other than themselves. I can't quite understand how they could be labled as a tech company if the foundation of their buisness model is marketing, not technology. It makes me appreciate the mission of Turing, insofar as its belief that diversity inspires inovation. This article also changed my mind about empathy in technology. Regardless of the effects a particular piece of technology may have in the future, creating it with empathy in mind doesn't seem like such a bad place to start.

(Your Name) - (M1/M2/M3/M4) Portfolio

Areas of Emphasis

(What did you set out to accomplish this module?)

Rubric Scores

Fill in how you would grade yourself from 1-4 in the following categories this module:

Response to : SILICON VALLEY HAS AN EMPATHY VACUUM

This article was a great read, it touches on some important topics related to the philosophy of technology which was a focus of study for me in college. The author's ideas about the lack of empathy in the tech industry and the consequences thereof are interesting but I don't entirely agree. While technology is designed with a specific purpose it is extremely difficult, if not impossible to predict how it will be utilized by people. It is within the nature of technology that it builds upon itself, and while one person may design something that has very strict perameters upon which it can be implemented, we can't say how someone else might use that as a foundation for something unaticipated. I love the idea of technolgy being designed with empathy in mind; however, once it is out there in the hands of the users the effect it has on society is within the control of those using it, not those who created it.

Response to "At Harvey Mudd College, the Ratio of Women in Computer Science Increased from 10% to 40% in 5 Years"

This article gave me a lot of insight into how a conscious effort to change a community can, over time, open up opportunities to those who would not otherwise have them. I think that the diversity of ideas that comes from a diverse group of people can have an immesurable effect on an industry as dynamic as technology. I feel excited for the progress expressed by the statistics in the article. It is significant to me that there is an effort to reduce the amount of homogeny in the industry because, as a minority member of the community, I grealy benifit from this drive.

What role does empathy play in your life and how has it helped you?

  • Empathy is what allows me to connect with the people around me. It is what makes me a better family-member and friend. It helps me see things from other's perspectives and therefore gives me a better understanding of the world around me. It has helped me communicate and listen in settings and circumstances both professional and personal.

How does empathy help you build better software?

  • Software is made for the user. Empathy allows the developer to anticipate needs of users and consumers. It is essential to building a product that connects with those who are in need of what its function provides. Empathy is the key to determining the needs of those who are going to be using software.

Why is empathy important for working on a team?

  • Empathy is important when working in a team because it eases the process of solving interpersonal conflicts that inevitibly occur in cooperation. Understanding the feelings and circumstanc
@CjMoore
CjMoore / CjMoore-prework.md
Last active November 21, 2016 22:50 — forked from mbburch/prework.md
An example template for your Turing pre-work Gist

Turing School Prework

Task A- Practice Typing:

  • screenshots of scores will be posted in comments

Task B- Algorithmic Thinking & Logic:

  • screenshots of completed sections will be posted in comments

Task C- Create your Gist: