This is Dr. NCD, a director of product. I help engineers and international professionals transition from worker B to a product manager and business leader. Today we had the pleasure to invite Big Joe in city company to share with you guys how Google built product. What are the roles and responsibilities as a product manager in Google? And Big Joe is a product manager at Google with eight years experience in Google and then he has a lot of experience to share with you guys. So Big Joe, can you introduce yourself? Hello guys, my name is Joe. I am a product manager at Google, been at Google for a few years. I've been working with a few product Google including ads and we try software and video-related products. So today I'm going to share with you a few tips as a product manager at Google. But one small disclaimer, I'm going to talk about my own experience. I'm speaking from my own experience about how I feel about how I define product. It doesn't necessarily represent Google. It doesn't necessarily mean that all Google products managers do the same. I'm just speaking from my own experience. Hope that will help. Awesome, thank you Big Joe. Yeah, let's do this. Given you have been Google for eight years, let's speak for your own experience. Can you share with us how would you build product inside of Google? What kind of specific framework? The reason I ask this question is that maybe lots of people outside of Google are like, wow, Google is the best tech company in the world. They must use the best framework and methodology we'll offer you to learn from you today. Can you start to share with us how would you build a product in Google? All right, so my own experience of being product are with this framework. So there are multiple steps from beginning to the end. So very beginning is I always focus on the users. Who are our users? What do they need? And how do you know what people need? Most importantly, first, user research. Interview people or send out surveys as well as looking at data on our own product that you can track your behavior on existing product and find what their patterns of behavior on the product. Starting from there, and then you can build what we call a persona or what kind of user we're actually targeting for and what exactly their need and particularly on that need. I want to emphasize that. On that need. So you're already using a product. There's a gap between what they want and what you actually offer. That's the one you want to tackle. This is the first step to really understand the user. Any questions here? Great, Big Joe. So actually something very interesting about user research because at Verizon we do the same thing, customer first. Now the sensitive question I have for you is that how do you do user research? How many is enough? For example, any time you reach and like launch any new product, you can launch in many different verticals, five different verticals. Each vertical there are lots of users you can interview. So, and also it's also to survey. What's your prioritization in terms of interviewing customers? So in the user research, there are two major methods. One is qualitative research. One is quantitative research. Qualitative research includes things like user research, including things like user interview and focus group. And quantitative, I think like survey. So you got things from data and the metric and tells your story. So quantitative are the ones actually give you the end result. So it need to be very large scale. But qualitative are the ones you have very handful, a small number of participants, but they give you a qualitative result which can help you define your quantitative research. For example, you can interview as a six people, of course, they're very small than people, but based on your conversation with them, they can tell you what kind of options you want to put into your question there. And you send out to as a thousand people, that scale will give you the end result of understanding user review. That's how you combine both qualitative and quantitative researches. Awesome. So Bichou, I do have one more question. I like how you put in a qualitative and quantitative. So which one goes first?  So which one comes first? Usually qualitative comes first. So usually qualitative comes first. Because you talk to people and based on your conversation, then you come up with a question there. Makes sense. Awesome. Great. Let's move on to the second part of your framework. Okay, the second part is to actually define the product you need on that user need. So based on user understanding, you build up a persona and then you know, okay, they want this and then you offer this. So there's a gap in between. There are a lot of things you can do. One very important thing that a PM needs to do is to prioritize all those needs and then build a roadmap. What do you do first and what do you do next? For example, what would be the MVP? The same thing you build very first and then what's the next iteration? What's the next iteration? This one involves what we call market sizing or opportunity sizing. You need to size the whole large in that opportunity. For example, if you do that one feature that is only Nancy can use and Nancy needed badly, right? Which is awesome. Nancy would like it. However, if you build a feature for Nancy alone, it doesn't help most of the users, right? That opportunity for that feature is only one, which is Nancy herself. So you have to look at all the needs out there. We have different needs and find out the largest need, the largest amount of need, largest opportunity out there. And then you have a sequence of feature on the view. Always start with the largest opportunity with the least cost. Basically you spend the least of resources but at the highest impact. Then you start actually writing the requirement. Great. I like that you actually emphasize on like this is a trade-off, right? You actually focus on the maximum people you can serve and more money you can drive for the companies, which is also relevant to the program management interviews that we talk about in our book and the three webinars a lot. You need to emphasize on the achievement. You can emphasize on what the achievement and the benefit impact you bring to the companies. Also something you need to bring into the program management interviews. Awesome. Thank you, Fijio. Let's continue to the next session. Yeah, next session is to come up with PRD and then work with the core functional team to actually define and finalize the results of the PRD, such as you work with engineers, you work with designers, you work with other teams. Because sometimes your features depend on other teams' features.  For example, I'm going to fill this in as a Q1. Everybody agree with Q1. That's basically kind of like the definition of what we want to do. Put it into a document. So, Fijio, let me ask you a quick question. Lots of students ask me this. Can you give me an example regarding good requirement and bad requirements? The good requirement is basically have done all the things that I talked in the past. For example, user research, data analysis, as well as partization of the opportunity so that we can read this requirement, understand the background and the motivation. And to them, it makes sense to do this because there's a lot of opportunity out there to need it. The bad requirement basically do this because I say so. That's kind of the bad requirement because yeah, you are looking at U-defined features. Yeah, people will do what you want them to do, but you want to motivate other people to do the right thing. At the end of the day, if a product succeeds, everybody succeeds. So everybody need to have a faith in the feature that you define. So all the upfront work, as I mentioned earlier, are very important. You need to do them. Second thing is you need to listen to other people which I particularly emphasize on. Oftentimes, I have an opinion on my own so I visit the best feature for the user, biggest opportunity, but I do not always insist on my own opinion. I listen to designers and I listen to engineers. I personally find it very important because oftentimes you do not have the big picture or the overall picture. And then it will tell you, well, from a system design perspective, there's actually a certain constraint. Designer will tell you well from the overall design perspective, there's certain pattern that's better to follow because there's some good practice from the design perspective. So I'm very open to listen to them and I'm actually very open to multiply my definition to add the different variations to my definition, which I think is going to helpful. First, from a kind of definition perspective that you get more input. Second, also, the team will see you as an open minded person instead of someone who is very dedicated. I tell you, you have to follow what I do. I think that is not a good PN. I think PN should be open minded to listen to other people's input. Awesome. I like your example regarding how you engage and listen to engineers. I also heard that Google specifically is more engineering-focused company. You do need to bring everybody together to make decisions together. I do like this. Awesome. Thank you, Victor. All right. So should we move to the third part? So moving forward. So we're going to do the last part, which is the execution part. So now you have user need. You have product requirement, which includes engineering includes such as designs and mocks, et cetera. Then you will need to actually execute it. So a few things that are important in the execution phase. First of all, it's important to figure out what is the metric that you're going to measure to define a success launch. After you exact everything, you will need to see whether this product, the launch actually meet your initial thoughts. For example, you define the success metric as let's say a number of people use this feature every day. Or the success metric is the revenue of your product. Anything, you can define that. And of course, you need to agree upon yourself, your engineering team, your designer, leaders, everybody, everybody define a same metric. And then as you implement it before your launch, you need to run an experiment, which is also called AB testing. The experiment will be run against those metrics you define. That is very important. You have to define that first.  And you say, okay, we run an experiment, half of people will have old treatment, half of them will have the new treatment. And new treatment does increase the revenue by X percent, which I defined earlier. And that's the successful execution. And then you can launch it and go back to your first step. Say, okay, analyze the user behavior in the product and also new ideas to meet our net need from the user. So this is kind of a general framework how I define that. Awesome. So Victor, I do have a follow-up question because during the product management interview, majority of the students will ask this question, how would you define the metrics of your product? And in your example, you mentioned metrics, AB testing, you know, the typical metrics in general, daily active users are also pleased at many different ways to define the metrics. Can you give us some examples regarding how to define the product metrics and what type of metrics do you usually use? So this is a very broad question to answer because it really depends on the situation, depends on individual project. Because even like all the features that I have built in the past, they have been in a very different bucket. So they have different metrics. For example, if a feature is a stage of a new feature, it's something really, really new, then it's very difficult to measure the actual impact that we have nothing yet. So in that case, things like the user happiness could be a measure to measure or you can have some initial estimation of the overall market size based on the MBG launch that you launched earlier. If the product is in a mature stage, meaning it's already out there and then you are just launching new things to improve it, then you have a lot of old user and old data to compare with. So in that case, you can just define something for them, either revenue or either users, then you compare with the old, see whether they actually improve or not. So it actually depends on the stage of the product. I would say it's gonna be a really case by case thing. And also from an interview perspective, there is no framework in my opinion to address this question because every question is very different. You have to think outside the box to address that particular case, that particular product. Awesome, yeah, you're right. So in summary, I feel the same way about the metric. The metric is so flexible. It has to be case by case as an example. I also like that you mentioned you build MVP, the entire launch force apps, all the way you launch MVP, right? And then you continue to improve it. That's the key of the tech industry as I described in other interviews, that one part of product management is in tech industry. It's very fast and people need to build new product using MVP about how to launch a product on concept execution. You can check out those videos here. Thank you so much for being able to share with us. Do you have any summary or final thoughts you wanna share with us and how can we get in touch with you? Thanks Nancy for your invitation. So I'm really glad that I can share the framework I use in my work. So if you're interested in learning more about career development in tech industry, feel free to come to my channel on YouTube and the BDBD for in China. So unlike Nancy, my channel is a Mandarin speaking channel. So I speak Mandarin in my channel, but I'm adding English subtitles gradually. So if you look at some old videos in my channel, roughly like there's like a one or two weeks delay, you can see I added English subtitle in my older videos. So I talk about all kind of career development in Silicon Valley. And Nancy is actually one of my guests in my channel as well. So yeah, please come to my channel, search for Big Joe in Silicon Valley at YouTube. Thank you very much, Nancy. Thank you very much Big Joe. Yeah, make sure to check out both channels. I've done a link to Big Joe's channel in my description so you guys can check it out. But make sure to join the private face group I have for product managers and change makers. I go live in the product manager groups every Sunday to share with interview tips to become a product manager. All right, I'm gonna see you next time. See you guys. All right, see you next time, see you everybody. Bye-bye.


And welcome to the 2 p.m. Update with me David White here tf and in now what do we have well we had kind of a little bit of a bounce there was a great deal of this was based on some rumors out of China and of course employment numbers this morning but I really think that you know the huge bounce over in China which was a rumor that I think kind of started to fall flat and why we were up fairly strongly early in the morning and then turned around so hard is heard that there were some comments that maybe the cart was before the horse on some of that of course the big mover out here is crude up 4% over 4.4% gold on its heels up 2.86% and probably the biggest well if there's two things that were really interesting and we'll talk about those on the show but the first one is I've always complained about the volume not being all that exciting or just on the margins maybe 5% to 10% higher or lower but we're going to have a big volume day we've got two point well let's call it two and a quarter billion shares as we start the show today and that is something we haven't had for a while so we'll see how we close the end of the day options have been kind of bullish until we got the the boomed dropped on us most people probably not sailors and remember the nautical reference there but certainly a great deal of that so other things that we have going on of course I'll get to that here midterms on Tuesday and I don't know if the market's going to move that much it doesn't happen but every four years and of course you get the general election every two years or every four years too but not exactly sure if there's going to be some worries in that or in decisions as I said that volume is pretty good and lastly watch out china rumors about them reopening and maybe getting off the zero tolerance covid plan are floating around so maybe something on monday when we return see it the reality is that navigating financial markets can be risky markets can be chaotic and difficult to understand


The world is facing a global pandemic. The governments have declared national emergencies. Empty streets. People locked in their houses. Does this sound like some doomsday movie plot? Probably yes. But unfortunately, this is what's happening in the world right now. The coronavirus epidemic that started in the Wuhan district of Hubei province in China on the 17th of November, 2019 has now become a threat to the world. The most alarming thing about this COVID-19 virus is that its symptoms are not visible immediately and it may take two to 14 days before they appear. This has led to its viral spread. From China, the virus first spread to Thailand. Since then it is spreading at an unstoppable rate all around the world. Currently, the Chinese government has imposed a quarantine in Wuhan. The city has been under lockdown to prevent further spread. Several other cities and countries have been under quarantine or lockdown looking at the severe spread. As of the 19th of March, 2021, 400 hours, a total of two 18,943 people have been infected and the pandemic has resulted in 8,957 casualties across the globe. Amongst this pandemic chaos in the world, recently we noticed one of its surprising effects. On the 3rd of March, 2020, NASA released a satellite image of China which shows a drastic drop in the pollution in some Chinese regions, including Beijing, Shanghai, Hong Kong and Wuhan. The map shows the level of atmospheric NO2 in the areas before and after the Chinese government imposed quarantine. It shows the NO2 level over two periods, January 1 to 20 when the pollution was higher and February 10 to 25 when the NO2 concentration has almost diminished. The pollution level in these regions generally drops during this time of the year due to lunar new year, but the decline has never been so stark. The emission reduction was first evident in and near Wuhan, but then eventually spread across the country. The effect of air pollution was also observed during the SARS outbreak back in 2003. In China, the probability of the fatality rate was twice as higher in regions with poor quality air than those having good air quality. Is this decline in air pollution linked to the virus spread? The answer is yes. The US Space Agency says that the drop in NO2 level is linked partly to the economic slowdown. Since the outbreak, the city has been under quarantine. Chinese authorities have shut down all local businesses and transportation to and from Wuhan. Most parts of China are under lockdown. People are staying back at home, halting planes, trains, subways, and most private vehicles. The operations of factories and power plants have been suspended. The curb in transportation and industrial emission is what has led to NO2 reduction. This has resulted in economic lockdown in China. It led to a positive impact as the major sources of pollution in China are industrial emissions from major manufacturing hubs and a surge in vehicular emission due to the increased population. The quarantine has put a reign on these factors. This reduction in emissions has been observed in multiple countries. According to Flightradar24, the aircraft flight traffic website Global Air Traffic has reduced by 4.3% in February. Is this a silver lining? Although the reduction in pollution concentrations seems like a positive outcome of this unfortunate COVID-19 outbreak, it is only short-lived. It can make a small tweak, but is not going to mitigate climate change. Once the crisis is under control and the economy takes back its hold, there are chances that this positive impact will be erased. China will try to compensate for the economic loss by speeding up the manufacturing process and ramping up industries and power plants. This outbreak can teach us a lesson on how to remald our lifestyle to curb pollution emission. Reducing unimportant travel frequencies, opting for remote work and using more greener ways of living are some ways we are learning that can help us in the long run. Desperate times call for desperate measures. The governments all over the world have taken immediate and prompt actions to prevent the infection. This shows that we can take strict measures for environmental protection also. The cleaner air currently will bring some relief to the people of China. But of course, it comes with an unimaginable cost of human lives. The world is united to fight the situation and we need to focus on the cumulative emission to really solve the pollution problem.


Yeah. Population's up and flow. Yeah. Okay. It started. So this call is being recorded and. We'll be uploaded. Some time after the call to YouTube publicly available. If you haven't added yourself to the. Meeting minutes or if you have any agenda items, please add them in. There's the. Meeting notes. So it looks like we don't have a Nick lives not here. And one of the items at least was on this, but we could try to go through as many of these as possible. Didn't see the gloss around here. But there are some notes about the quick start and install guide. I linked to at least one of the docs. I don't know if these are for creating new ones. And a Fred. Oh, there's Nikolai. Greetings. Does anyone know what we're looking at here for the quick start guide? Yeah. I think we're trying to get ready for the release. Yeah. We have this quick start guide. And I think it's actually quite data at this point. I know we have docs on the home chart stuff, but I don't think we have the home chart stuff in this doc. Um, so yeah, I think we probably do want to update this. It's also sort of vagrant centric. And we actually have support now for most of the public clouds. So we worked in GKE and. Um, AWS. Well, actually GKE as a word and AWS shortly where we think we figured out the last bug there. Yeah. I mean, they are already here in the guides. It's just that they are not linked in the quick start guide. If that's the. Yep. And I think that's actually true for all of it. You know, is that we probably just sort of use the quick start guide as a, as a standard landing place. Um, and we probably want to be something where people are going to try it, kicking the tires on NSM rather than, um, the, hey, Bill, the code. Do you think there is a good way to directly embed because in the past when I updated the quick start guide, because it was even more dated. Uh, so when I updated it, then I had to do the similar exercise with the site. Do you think there is a way to directly embed whatever is the latest here in the master on the site? Or I don't know. You see what I mean? I am absolutely certain that something clever could be figured out. I don't happen to know what the clever thing is off the top of my head. Yeah. I actually think it would, it also may be good to separate out between like, how do you start up a cluster kind or vagrant or so on. Uh, versus how do you actually install the, the system? And my hope would be instead of using the, uh, the make machinery for people to get started and who are not intending to develop that we migrate over to the, to using the helm charts. So that way that it's a lot easier for people to, to use. And related to your where people are going to land and getting started. I think most folks are going to come to the front page of the repo and they'll come down here and be looking for something like this, getting started. This, um, getting started section links over to the, this quick start guide. Which could be have the helm information and potentially links to all of the other, um, guides that are how do you, how do you set up AWS as your GKE? And those could be, um, links from the main guide. And then the rest is run helm to get this going on your own Kubernetes. If you don't have that, then you can do these other things. I'm digging through all of this stuff at this point. And I bet you that I could make this work with Netlify with a trick, something like the following right now. Netlify has a sub module for the theme. I bet I could probably get to get it to work with a sub module for the docs directory.  You would just have to push a push a patch to the site that updated the sub module, uh, commit. Oh, okay. I think something like that could be made to work. Um, does that make sense? Totally. Yeah. So I think we could probably make that work. And now that I think about it, it actually solves a different problem. I have a different place. So this is a super good thing. Yeah. I do think it needs a bit of love, uh, waiting for the release because we do need to get some good documentation for the release. Do you want to add this as an action item to update, um, for supporting the sub modules auto checkout? Yeah. Let's have a few bars and try and capture an issue. This is somebody can go poke at that. Uh, cause it's, I don't know that I will be the one who gets a chance to do it, but if we can sort of. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. And I, if you want to sign me the issue to go, uh, to go capture the issue, that's fine. Okay. That sounds good. But by no means, you know, if you get inspired, Nikolai, don't, don't hold back. Capture what? We're talking to my head. For the sub modules. Yes. I would go for doc get, uh, Or we could just go for doc get that. I would go for doc get that. I would go for doc get that. Otherwise they'll look at that and go, uh, but we have some modules for themes. They work fine. Yeah. Cause I, I do have the memory of a goldfish sometimes. And then, um, the main. For the main quick start guide. Um, migrating to use home charts. Uh, yeah. I mean, which made to a certain extent, just involve. Putting the links to the right things. Probably one of the things we want to try and do as part of test the documentation, meaning go through and try following it because that ends up being a huge deal. My experience writing docs myself is I've never had documentation that I wrote actually work the first time I tried to follow it ever and once it's been around a little while then documentation tends to get stale. This is why having a dedicated docs team is going to be so important. Yeah yeah and and people with different levels of experience testing the docs is also super helpful because I know one of the things that I all often run into is I skip steps and that's not helpful when writing docs with the general public. Do you mind if I just throw these down to the action items so it's immediately visible or does it make more sense to have it in line like this? I'm fine. I'll organize it however you all want. What is the papers post glossary? I don't know who added this. This was from Jeff and mainly he thought was okay now that we have the glossary in GitHub and kind of set already what are the next things that we want to look at and of course the first thing is I mean all the documents that should go along with the release so whatever we have discussed already but there's probably are other things that can be thought. I don't think that there is a time to discuss this now. I mean like we have enough things for the release to figure out. I mean for example we have things like blocks that we were supposed to have which are disabled on the side and lots of other stuff there. So for the SDK last week we actually merged something so I'm not sure if people... I mean it probably can pass a couple of edits but as I said maybe someone following it would make more sense because I essentially wrote the code and the doc to it so maybe I made too much assumptions. As usual people do. So defer on the glossary for right now as at least related to the upcoming release? Yeah I mean so the the other thing that actually here here was the the deck so this is Jeff considers it being part of the natural continuation of the glossary effort like to have a representative slide deck which is should be linked here something that can be shown and we all agree that this is the standard I'll say standard slide deck for NSM which makes sense I think. Do you want me to pull anything up regarding the SDK to review? Sorry I was muted. Yeah I mean it's a long developer oriented read me so I don't know maybe we can just pick the opening but essentially it needs some really deep dive a little bit there so it's yes on the no it's on it's in the SDK folder should be so yeah it's it's shown so there are some TBDs here about the socket and things mostly the socket where the socket is located. So what's needed on this maybe a review from someone that's trying to set it up or use it or what do we need here? Yeah I mean quite honestly like one of the things that might be nice here is to try and use the SDK documentation try to test it by writing a very simple NSC for the CNF testbed stuff. Does that make sense? Hey don't call me out. No I'm joking I'm joking. Yeah or what about the simple client in general for doing that rather than the entire piece I like what you're saying and I want to put it down but I wouldn't want any blockers by saying it's not all set up. Yeah I mean basically there's got to be a client and an endpoint to form a connection so a client and an endpoint and eventually when you set up your actual pipelines it'll just be the same code it's just both a client and an endpoint right it waits for someone to connect and then it connects out to the next one of the pipeline. Okay so but I mean I keep meaning to go do that myself quite frankly and I just keep not getting to it so anybody else who wants to go try that please do and use the SDK instructions to do so because they're the SDK stuff is looking really nice. And then assign issues to me. Hopefully just for the documentation. Maybe. Yeah probably there's so besides going through and maybe picking one of these and just minimal items like typos. Yeah going through for any of the docs that we're saying are going to be definitely released or we're saying here's where we want to point people so if we're saying the SDKs and stuff like that and I catch that. I just didn't manage to find any useful syntax checker for VS code so if someone has any recommendations I guess this will improve my docs writing. Ed are you were you suggesting using like the chain end point or is it sing is there are manually connecting one simple endpoint I'm using these terms creating simple in points and then manually creating the chains by one after another. Yeah the way I would do it if I were doing it is I would create a simple end point that is also that is also capable of being a client. I wouldn't chain the connections quite the way that we've done in the past. That was good for the firewall. I literally have it so that you write the one endpoint that can accept incoming connections and route them and that can make outgoing connections and handle whatever IPAM thing you're doing right. And so when the new input comes up it goes and asks for whatever network service it was configured to ask for as a connection and it also advertises that network service and then you can control the chaining with the network service CRD. Does that make sense? So all your end point that has to know is it is advertising service foo it is requesting service foo and so it comes up it requests service foo and it advertises service foo and you know the whole how do we chain them together that's all done by network service mesh and the network service mesh policy to compose them. Are there so the sample code here is is there full sample code that can be run that are examples that are working examples ideally with test that are in the code dice. Because nothing that continues working. Yes I mean this is what we have under examples I mean in our examples folder and then in our integration testing we use the same code for for in our CI. So if you go under examples and then CNSC and CMD of course and then CNSC and yeah that's why I call it a client and then this is the very simple yeah it just doesn't have the termination code because it doesn't need it. So this guy uses the nsm client list API which is a little bit more advanced and it's used in the with the admission controller but the same can be can be run on its own you don't need someone to inject it for you. No they're they're not super hard to write the SDK makes it super super simple the only question I would have is around the IPAM. I mean you have a question about IPAM or Oh no not how your IPAM module works but there's some existing IPAM they have for their pipelining and CNSC so you know we have to make sure that we do that and I need to go take a look and see how how varied the comp is for your IPAM module and see if that matches up to what they're doing. My guess is probably pretty closely you know and so it could be as simple as Lego blocks. Sounds good I'd like to maybe schedule a call to talk about that and potentially have an even simpler test case that builds on something like these examples and then make sure that that's fully understood before implementing it with the whole setup. Mainly I don't want to get I don't want to have to worry about the blaster configuration setup tied into it so then we can say here's it's already existing and then all we're doing is building these end points and making sure they work and understand then we can kind of go backwards and say here's that plugs in and we need to change how the pipelines work. There's a lot of behavior that was there that was manually set up because we didn't have services and we can rip a lot of that out after seeing how it would work with these examples. Yeah absolutely. We should be able to get it as simple as a Helm chart right so you guys start with what Kubernetes you want and then you apply a Helm chart and away you go. Okay so from the SDK standpoint it seems like we could end up with potentially expanding on the examples as far as in the repo based on what we're talking about here and then that will lead into use cases on the CNF testbed which is somewhat separate but they'll help each other. Is there anything else from the SDK? I think we're saying proofread suggestion improvements that'll be there and then also testing the examples. Anything else on the SDK? Okay how about release notes? Oh sorry go ahead. No that's okay that's fine. Yeah I think the SDK stuff we should make sure that we circle back on this stuff after somebody's gone over it. I think we'll build this out a lot more once that's done. Release notes. Are you wanting to put these in the change log? The problem that I have with the change log of an initial release is that essentially you should differ against zero right I mean I don't know what actually we should put in the change log I mean we changed from from nothing to something. I think we just make this a special case and just say initial release. Yeah under features. I do like how we're referencing specs here that's actually really quite nice. Does someone want to take on drafting this? Do we want to tick it or just add it in here? What do we want to do on that? Does someone want to take a stab at a draft for the release notes and start adding features that link to the specs and that sort of thing? Yeah I'm happy to build this out. I think I can have a go at the first one and then anything that I miss then either Nikolai or Ed I definitely appreciate help after that but let me get the first version out. Thanks. Good. For some reason it keeps deleting the entire line as soon as I remove too much tab. There we go. What is in the sum right up for the site? I'm talking about here and there's a Nikolai you have some alternative messaging. I think the general consensus from last week was that the current messaging has served its purpose and needs to be replaced. Okay. Which as the person who wrote a lot of it. So the messaging yes was this one in the first slide here. I mean probably needs some. I like that it's up to date enough that it has sctp because that was not a thing when we started this. I mean it's from their official documentation. I was also curious to see what kind of services what type of protocols do they support for the services and I was like okay sctp. That was a random ask from I forget which company it was but yeah. Well it was actually more than a random ask. They actually showed up with code. They absolutely did it right. It was I was in the the SIG networking meeting where they showed up with the code and and it was super hysterical because the guys in SIG networking were like we have no idea what sctp is. Doing has the feel of making sense and so sure why not. Wow. It was really hysterical. I don't think I've ever seen anybody actually just sort of approve a feature. They have no comprehension of quite the same way in a way that was as responsible as it was done there. Like they did the due diligence but it was just like yeah so okay sure whatever it is. I think that was the first time they had ever heard of sctp was that pull request so. Yeah well it keeps getting used fewer and fewer things. I was kind of surprised that it survived the lead to 5G with so much stuff moving to sctp too so maybe in 6G it'll go away. Well okay so everything is going to be sctp 2 or sctp 3 but I think that the sctp 3. I am super excited about sctp 3. It's cool. So for anything to do on this particular one right now we're just saying there's a write up and potentially replacing that as well as um will this affect um I guess the other question would be will this affect anything on the main read me for the site. So the what is NSM needs a complete overhaul in the site. Like that was that predates the um the narrative. That's how old this thing is. So it's gotta be months old at this point for god's sake. I mean it's totally antiquated. Yeah before we invented stories. Okay what are the action items for the what is NSM for the site. Besides updating the content once it's there to get the content. Is yeah I think there's something on this section that we're wanting to use or does it need to be written. I think what Jeff was getting out and I highly approve of this but I'm not quite sure what it looks like because I'm much better with pictures than words at least written words um is that right now what you want is to lead front and center with something that grabs people that they feel is going to be important to them and that they can wrap their heads around. So you know in some sense we just got too much going on in our landing page right now. Well why don't we boil it down to instead of having the what is NSM like we could keep some of the verbiage that's there but perhaps we start with with three pictures. One of them is like what is NSM and it could be Sarah asking for a network service as a user and then the second the image could be the operator chain creating the defining what Sarah's VPN is like it has to put to this firewall you know with the thinking emoji and the third one could be the CNF vendor who's like I want to build this firewall thing out in a way that the operator and the user can easily consume it and these three things combined is what NSM is playing it's it's more than that but it like I think it would get people a good start. I like that as a start if we may want to tie some of that to that the zero day one day two clearly we want pictures and not text the way we have here um but I also like anthropomorphizing it by by having people with roles right because the three models you just described that shows up at the zero day one day two is Kubernetes admin network service admin and developer right yeah because there's because to each of these three groups their experience is widely different like Sarah's not in the business of creating CNFs she's in the business of building out her her billion dollar app and so she doesn't care about how the firewall works as long as it does its job or how it gets things together and the same with the experience of the operator you know or the experience of the CNF vendor himself so so I think if we like we we have these at the very minimum three competing narratives and that's before you even take into consideration uh vendors who are going to be creating their their ENSMs oh yeah that's absolutely true and I mean one of the things I've learned talking to enterprise folks is um and you know the InfoSec folks at enterprises they actually care a lot about two things the first thing is securing it but the second thing is being invisible about it because they could come to realize they can't hold back the tide and so they can't make everyone come and supplicate to them on the way to getting their work done it doesn't work they've got to stay out of the way unless the things are really broken but they've got to have enough visibility and whatnot to be able to figure that out so I think our side needs to reflect this it's a pity we can't do some form of segmentation in the front end like developer hey man if you could look into the souls of people who came to your website and figure out the nature of creature they are definitively we should be off making way more money in marketing so for the uh so we have three personas um does someone want to take a stab at creating mm-hmm it's an interesting thought that's what's occurred to me if we've got three personas picture a landing site page where you have little little images for each of the three personas with their name under them and they drop you through to a very simple statement of the way it works to that right so you've got you know Sarah the software dev and you follow through and you see what it looks like to her you've got um you know carl the Kubernetes admin you know and you've got Nancy the the network service admin and you just get little images pictures for each of them and you drop on through um and you see the version of this of their story uh that might be very very very effective and we might even consider if we're doing that you know the fourth persona which is the the vendor who wants to you know someone who wants to build network services you know it's sort of the network service endpoint author which won't always be vendors I mean there will be a bunch of open source things as well does someone want to take a stab at the drawing or diagrams for um related to each of the personas and then um someone can work on creating the text version describing with this it sounds like the having a visual representation might be a good way to start we are kind of a very visual community as it turns out if we have um something that can communicate visually then it can probably after that be easier to describe in a written form well let me ask you ask a question I don't mean to put you too much in the spot here Watson but you're super talented at this if somebody could give you a some pictures in the script um would maybe a video to go along with the personas also be interesting is that something that's within their own possibility that was a plus one on the uh zoom chat if okay let's take a note that you can help put together a script um Watson is all about doing videos okay I don't know who wants to put together the script but yeah who will put together a script I'll put it this way I'm super interested in all of these things I just am not learning me what I will be able to commit to doing at this particular moment so if anybody else wants to grab that please do I think Watson just volunteered to try and do scripts as well which I think is awesome okay um and that sound like we're going to skip the glossary today um we'll defer going over that and blogs as well is there anything else I think we've about a we sort of outlined a pretty good program here um I'm feeling fairly good about it we don't have anyone that's uh I guess jumped on this for adding the links from the main read me and and the different guides is do we is there a ticket created or does someone want to take on the task for doing those updating the docs and connecting all the different uh guides together from the main quick start guide yeah I think that's probably also an accident but we need to figure out we're running a little bit low on attendance this week that may be why we've got dangly action items but capturing them is still super valuable Ed would you take on creating a ticket a public issue for updating the docs and connecting them all from links and then someone can maybe jump on that would you be willing to pick that up Nikolai I think you were looking at doing that anyway is that reasonable we are actually entering quite of a holiday season oh okay no never mind if you're entering holiday season please I'll take it and just create I'm just talking about creating the ticket for updating the that describes here's all the ones that we want updated these right here what's important for the release essentially which is the moving to helm charts and and then referencing all the public clouds as well as kind I think we got everything thanks everyone have a good day thanks thank you thank you cheers thank you guys bye


So topic is natural language processing. Our speaker is Abhinav Gupta. He's a fresh master graduate from IIT, Kharagpur. He interned at Zomato around natural language processing, determining review highlights from restaurant reviews and what dish to order from a restaurant, okay? So that might be indication that how this talk might be, but let's make it entertaining. So recently like the last talk was very encouraging by Nicholas and he had like given us an idea that we should work on a dojo. So his main methodology was like, you should at least get something from this talk that you can implement again when you go back to your home. So what I'm trying to demonstrate is how you can implement natural language processing because yesterday I attended a few talks on natural language processing and not many audiences familiar with it right now. So I just want to give you an overview of how you can do it and then how you can go in complexity. Like there are very open source modules, libraries available in which like within a couple of minutes you can have like what I have done within months you can do within a couple of minutes is the very basic structure. So I will have some quick demonstrations for you around. Like I have embedded it since I have like noticed last day that there might be some issues when you switch from screen. So I've embedded all the iPython notebooks in this like a snapshot of all these things. So just a short introduction as like as already given I started with end-rangey machine learning course then went out to Zomato then did some courses in natural language processing and finally I'm presently working American Express. So like during the talk if you have some doubts then like you can directly tweet on my handle and I will reply to them once I'm done with the talk because there might be a couple of doubts with the concept I'm going to explain right now. So it's better that you can tweet them at their same instant so that I can solve them and not wait for the end. So this project started with the concept like the students, it's based on the school students like they have a discussion going on. So not like a single teacher cannot monitor each and every discussion that is going on in a school between two students. So we want to develop a framework which can automatically judge which student is performing better in terms of like his argument quality, his overall stance. So let's start with an example so that I can explain you. So this movie is going to come in 2016 Batman versus Superman. And there is a guy who started this discussion by saying that I think that movie is so cool and I think Superman is going to win with his Kryptonian abilities and all. Then there are four girls on the other side. First one says Superman is definitely more capable than Batman indicating that yeah, Superman like she is biased towards Superman. The other girl says that Batman is so much technologically advanced with his Batmobile and all. So, preferring Batman, the third girl is not clear about what she wants to like take her stance on. So she says that both are equally powerful in their own ways and then there is always this girl which says that benefit is so hot. So now we have these four girls and these are the complexities which can arise when we look for a debate. Like if someone says that Superman is definitely more capable than Batman then we have to determine like what is the stance? Whether he is supporting Superman, whether he's supporting Batman. If someone says that both Batman and Superman are more powerful then we have to take care whether is the argument good enough. If you're presenting a neutral argument then it is not going to help in a discussion. You're basically just like commenting on something random just to make sure that a debate flows out. The third, if someone says that yeah, Superman was very powerful but now I think Batman like Batman is much more technologically advanced so I think Batman is the good guy or the better one. So then the debater has changed his stance during the complete debate and the final if someone says Ben if it is so hot then I think it is not right, not related to debate right now for this discussion. So these are the four complexities which can arise in a debate. Like you have to judge the stance by the argument. You have to judge whether the argument is good enough or not, whether the debater is firm on his stance and whether is the argument related to the debate or it is not relevant. So the first part where the argument is related to the debate or not is done by sentence similarity. Like basically if you are saying some sentence and if there's a counter argument then both of them should be semantically or meaningfully similar. So if someone is talking about Batman the other guy should talk about Superman if the debate is about Batman versus Superman. It should not be someone is talking about Batman the other is talking about Iron Man in a completely different context. So the first pillar judges about the sentence similarity that whether the argument which you have presented is similar to the previous argument. The second is a sentiment analysis which judge whether the polarity of the argument. So suppose if someone has a positive stance on the topic and if he changes his stance then we have to capture that thing. Finally, the third step is backtrack where in the overall debate has he changed his stance from positive to negative? Like was he initially supporting Batman? Now he's a supporting Superman. So has he changed his stance? And the final is how can you score the complete criteria? So I will start with the very basics of how you can do natural language processing. Then I will start pick each one of them. So first of all, why I use this? Like though like I believe there's a perception which I heard yesterday that it might be it is slow but like I have never faced that it is very slow. I have used TextBlob and extended implementation of NLTK and I think it works very fine for me right now. I use NLTK because it has a huge corpora, the wordnet and other lexical and corpora databases are already included and at the end it's an open source community. So talking about some of the very basic terminology so if you have a sentence like I do not feel very good about Monday mornings then tokenization is when you split it into each of the words then there's also a term known as part of speech tagging. So you do not have to, so I will also demonstrate this. You do not have to actually write like maybe 10, 20 lines. This can be done in a single line where you just pass our input to a sentence and it can tag what is a pronoun, what is a verb. So this is how simple it can be. So if you have, you just import a library, you just give it a sentence and here is the simple tokenize thing which it tokenizes directly. Here is a POS tagging which is the part of speech tagging where you can do it directly. So to start with an LP it's not like you need very big knowledge, you can just start with the basics, like you can just follow the slides. Then you can remove, so then there's a concept of stop words. Stop words are something like is, am, are, not, nothing. So you can also remove the stop words, like I do not. So I remove these, and this can be done again easily. So you can, there's a corpora known as stop words in NLTK which can simply remove all the stop words. You have the filtered words here. And also stemming is like when you remove the extra pronouns, you have it in the root form. So like the mornings it used to mourn. So this is again then using NLTK. It's like within like I guess 15 lines of code, you already have a filtered database from an initial random text right now. So this is where the initial, we've got database screening works, where you clean a database from all these, like all the stop words and all these disturbances around. Then you progress to sentence similarity which basically judges whether your argument is related to the debate or not. So sentence is, so suppose if you want to measure like whether two sentences are similar or not, then you check whether the two sentences have the same meaning or whether they have the same word order. As in, so this is how it can be done in a very simple way. So if you have a sentence, one like a new NASA initiative will help lead the search for science of life beyond our solar system, then you can first filter it where the second part shows the process sentence. Then you can have a combined joint set. Joint set is basically you merge both the sentences and remove the common words. Now basically it's basically a cosine similarity where you compare word by word to find whether they are similar words or not. So this is a very basic level of semantic similarity where you check like whether the two sentences have the same meaning or not. So this is how you can start with the basics by using the cosine function which is available in any module to just calculate whether two sentences are similar. Then you can have higher level filters where you can use a word net. So word net, it's done by Princeton where everything is organized in a hierarchical sort of thing. So you have an entity where it is a life form, then you have an animal, then humans are organized into adults, male, female, juvenile. Then you can use it to easily calculate. So if you want to calculate the similarity between boy and girl, so you can see that from boy you have to go to male, male to person, person to female, and female to girl. So apart from boy and girl, you have calculated, stepped three more paths in between. And you, and also if you look at animal and boy and animal and teacher. So animal, life form, person, male, so there are three steps. If you look at teacher, male, person, adult, professional, educator, so these are five steps. So if you just compare by using the number of steps you have counted, then this is a pitfall of this thing. So you have to take care how deep is the hierarchy which is we are considering right now, as well as how short is the, like how short is the path length. So using this concept, you can enhance the model and I have given reference for the research paper so that this is a very good research paper in terms of how they have explained the whole ideology about sentence similarity. So this is how you can quickly do it. So you use the textbook library which is easily available. You give it a sentence and it can easily tags, like this is the parts of speech where it again tags the noun, first noun, subjective noun, and it tags both the sentences. Then you simply use word net. So suppose there are two words named as search and hunt. Then you simply also you have to give the context so that it can be relevant, that both are nouns. Then you can directly calculate the part similarity by using these simple functions. So this can be such easy implementation with a few lines of code that you can implement this word net concept. Now there is a word order similarity concept also.  These two are similar, but if you just reverse the order of the dog and fox, then it becomes a completely different sentence. Now if you use your traditional cosine similarity or any other method, then you can directly find the, yeah, both of them contain the same corpus. So here the importance comes off whether the word order is exactly same or not. So you compare the word order one by one and then you formulate a score. So I'm not going into mathematical just right now, but I'm just telling you that how this can be done. And this word order similarity is also implemented like this is the final formula which can be done using NP linear log, numpy has a linear log algorithmic model which can do this, I guess. Once you have the, so we already have the semantics and we have the word order similarity, we define a overall score and this is already done in a research paper, so nothing new about this, but this is about the ideology where you can use the semantics as well as the word order to judge whether these, both the sentences have the similar meaning. Are they talking in the same context? So this is the final result talking about. So there are some flaws in it which I am going to show you. So if you say that I like that bachelor and I like that married man, married man. So the unmarried man, so these two sentences are very similar. So there is a high similarity score, but if you look at the setting second sentence, both of them contains the same word, the word order is very similar. So the algorithm gives a very good score, but one is an opinion and the other is a question. So these are some of the, basically some of the minor flaws, but it solves the problem right now because in case of debate you are not going to ask and a question from the opposite one, most of the times you are presenting your own argument with its own strength. So if you focus on these models, these examples, I have a pen and where do you live? So these are the similarity of zero and I have a pen and where is ink because pen is related to ink. So this example show you that yeah, there is a like this model has proof of concept and it works and higher the score and higher will be the semantic similarity or conceptual meaning. So this is how semantics work where you actually check whether the present argument and the previous argument are semantic like are logically related to each other. Now comes whether you are changing your stance. Sentiment is basically about some, if I said that Superman is very cool, so it's a positive opinion about Superman. So whether I am expecting a positive opinion, expressing a positive opinion, a negative opinion, or whether I'm neutral about the whole thing. So this is a present framework like these are, so there's a site known as textprocessing.com. It has an API available which can be easily accessed, but like for in my case, most of them have not worked in case of debate. So if you see, this is like I disagree with your statement. These are the statements which you can have in a debate and the overall sentiment analysis is positive, like which is not right obviously. And if you give a more complicated sentence, I disagree with your statement, I think homework should not be banned. This overall statement is positive with respect to homework, but this like the present available solutions are not able to process this because most of the solutions are presently trained for movie corpuses, movie reviews. Whereas someone gives a movie review, we're not considering sarcasm right now. So if someone gives a movie review, then you can directly know whether it's a positive movie review or negative movie review. But in case of debate, like you have to be very humble as well as contradict the person whom you are going to say to. So we need a model which is specifically trained for it. If you want to do very easily, then Text Blob itself has a module which is give it a sentence and ask it the sentiment. It can directly give you the sentiment without you using any, your own inbuilt model. So you do not need to code anything, but like this does not work also. So you have, I disagree with your statement which has a polarities when like, so there is no positive or negative opinion. Subjectivity says whether it's an opinion or it's a fact. So right now if I say Superman has Kryptonian abilities, then it's a fact that Superman has Kryptonian abilities. But if you say that Superman is very cool, then it's my opinion of Superman and it can change from person to person. So these are some of the examples of like how you can use it, but it does not work right now. So I started like, we used a very simple approach. The standard name based classifier. We trained it on Congress presidential debate. Like the link for the debate is, is available in the corpus section. This is available. This database is very well maintained. It's done by Cornell University. They have, so it's a database where there is a debate going on and every argument, so the argument is like, maybe like 10, 15 lines. So every argument is tagged whether the debater has presented a favor argument or opposite argument.  A name based classifier is basically, it's a conditional probability thing. So if you say that after, so I like Superman, so it basically calculates probability. That is what is the probability that if this words of occur after this word, then it will be a positive sentence or it will be a negative sentence. So on the basis of sequence of words, it calculates the probability. So you give it a training corpus of Congress presidential debate, a label-driven corpus, saying it whether it is like positively labeled, whether the argument was positive or negative using this complete corpus. And finally on the basis of probability score, do you determine that if the probability score is given in 0.6, so this is our own benchmark, then it says a positive sentiment. If it is not on the negative side or not on the positive side, it's a neutral thing. So zero represents whether it's a neutral or not and one represents it's entirely positive thing. So based on these, like based on the output of the classifier, you determine whether the sentence was positive or not and I will just show the results. Talking about the features, so there is an article by a stream hacker where they have done a text classification thing. So in case of like sentences, they have demonstrated that if you use bigrams, so bigrams represent two words. So if suppose Superman is cool, Superman is a bigram, is cool is a bigram, so pair of two words is a bigram. So they have demonstrated that if you use a couple of bigrams as well as single words. So if there is a word which has very high frequency, so if there is a word which is disagree. Now disagree itself in a statement can demonstrate that yeah, the person has a negative sentiment. So using the combination of such words and bigrams, you can have a very powerful model. So this model has a training accuracy of just 65% right now on the sentiment thing. And like the best I have seen till now for the open source modules is like 70%. Like there is also a model by MIT right now, but I'm not sure how to implement it. So this is how it works. So this was our present issues. If someone says I disagree with your statement, then most of the classifier were not able to classify it. So now the classifier, so once you have trained it, then this is a very easy line just to implement. Classifier dot classify my present sentence. And it says this is negative. And if you have I am against homework ban, so this overall sentence is positive because you are positively aligned towards the homework. So this is how the present model after the need this classifier works. So you have the sentence similarity which checks whether the argument is related to the debate or not. You have the sentiment analysis with check what is the polarity of the argument whether it is positive, negative or neutral. Now you have to make sure like now the basic question is I know I can compare two sentences and tell whether they are similar or not. Now, which two sentences should I compare? Or I can tell that this argument is positive or this argument is negative. But how will I know that whether what was his previous stance? Whether his previous argument was negative. So this argument should also be negative. So I have to keep a track like which two sentences to compare, which two sentences to have similar stance and all. So this is we call backtracking where you have whether the debater has changed in stance or whether the argument is good enough or related. So first of all, this is how the interface UI looks like. This was done in Django. So there is a Django chat plugin which was developed with Sharon. So this is easily understand. It has a very good API where you can use it. The advantages are any chat log can be, so there is a JSON format directly available for all the chats. So this is how the framework looks like where there's an admin which starts the whole thing. Then there is user one who presents the argument and there is a user two who counters those things. It's presently a multiplayer, like a two-player game right now. So this is one of the visualizations, the whole debate that how it has gone. So this is a manual thing done. This is, I have done this in Python, but it can be done without having this much visualization. So suppose you have an argument which is started by the admin saying that should we ban homework or not. Someone says I am in favor of this notion. So if you see the overall thing, should we ban homework and I am in favor of this notion? So basically he is against homework. And if someone says I am against this notion, so he is basically in favor of this whole concept of like he is in favor of homework. Now, so if you see this gentleman here, the next argument which he presents is homework has little educational worth. So his present argument is negative. And his overall stance that he was always against homework is also negative. So like he is currently following what has he initially proposed, that he is always against the concept of homework. Whereas this lady on the other side, I am against this notion. She will always, since she's always inclined towards homework, she will always present arguments that whether she is in favor of the homework. So we have to keep track of the thing that whether if someone has taken a stance, so the user one who has a overall negative stance towards homework, he or she maintains that during the complete debate, which is going on. So this is what the overall cracks of the whole thing that if you start a argument, fresh argument, and the next argument should have the like, so if someone says I am against homework, then most of the argument should reflect he or she is against homework. Also, if there are counter arguments, so if you have this argument that homework has little educational worth, and if someone says there is strong and positive relationship, then both of the arguments should be opposite in polarity to each other. And the final things that comes is how, so if someone says two consecutive arguments together, then they can have the same polarity. So these are some of the technicalities which I have mentioned in the slides so that if you want to start it, so there you can have your, what are the things that you need to consider? And talking about, so suppose if someone says I am in homework has little educational worth here, so we have to check whether the statement which he has presented here, is he talking about the homework or not? So you also have to compare whether these two sentences like this and this are meaningfully similar to each other or not. So you have to track the sentiments as well as you have to track the semantics. So this is a quick recap. So first of all, you start with, in a debate thing, you start with measuring the sentence similarity where you find whether the similarity score between two sentences so that you can know whether they are meaningfully similar, they are word order similar or not. Then you have a polarity of the argument which says whether the argument is positive or negative or not. Then you have a backtracking thing which tells you that among which sentences the similarity should be measured and which sentences you should consider to measure sentiments and all. Finally, when you have all these three pillars, then you can arrive at a scoring approach. So a scoring approach takes care of this. Right now, this scoring approach is pretty naive and even I am looking for inputs from the audience right here. So presently we have just implemented it and it works for, like it has worked for our few sample cases. So we have a sentence level score which is SS and you have a semantic score. So for, if the argument isn't a correct flow, like if none of the user has changed his stance, then we give a 75% weightage to semantic score and 25% weightage to similar, like the 75% weightage basically to the meaning score and 25% weightage to the polarity score. But if the user has changed his stance during the debate, then we changed, then we actually penalize him that why he has changed stance during the debate. Again, there is an amplification factor. So suppose you present an argument that is very good and now the opponent has to argue that, otherwise he's going to lose a bit because the argument quality is pretty good right now. So sometimes there are some arguments which can attract discussions, which can invite audiences like you should counter this argument. So greater the discussion goes on, more relevant or more strong the argument is. So amplification factor basically counts that how deep, like how much discussion has gone on a particular argument. So on combining all these things, you have a score of like this is technical and you can again go through. And this is the final slide for me. So these are the present challenges which I faced right now. So as you might have seen that this is all natural language processing, but this guy does not talk about what if I present a fact from some UN report saying that homework has affected or benefited so many people. Yeah, so that is a valid point that I have not considered factual strength and now that how strong is the fact, it can be done by escaping through web and that is not implemented. Also this has been tested on a couple of used cases. That's why I am right now looking for some of the arguments. So suppose if you want to test it then there is a pretty comprehensive site known as idb.org where you can scrap all the debates so it has a debate database. You can scrap all the debates and you can validate it through using a model. And finally, most of the native base classifier is separate. So there is a separate classifier for neutral arguments in most of the native base applications because neutral arguments have some complexities because they can have some sarcasm where someone might not be referring a particular opinion, but he is just trying to counter it. So presently a native base classifier is not designed to capture neutral arguments separately. So these are some of the flaws or the challenges which are presented in it right now. So I think I am pretty quickly done with it. So I am looking for questions. Hello, thank you for the talk. I want to ask like when we talk about debates, so in formal debates they are really moderated and everything is in a flow, but the Django app that you told about, it is a chat based debate, right? So in chat based debates, the replies are not direct and moderated. For example, the Batman versus Superman case, if there is an argument that yes, Batman is really cool in advance, the reply might be, yeah, right, with exclamation mark. So sarcastic comments, how are you actually tackling them? How are you capturing their notion as well as the sentiment out of it? So right now the native base classifier cannot capture sarcasm, but if someone wants to capture sarcasm, then there is an implementation by MIT on sentiment analysis, where they capture all the sentiment using a tree based sort and you can access it like there is a API available for it. But yeah, the point is right, it is not captured right now. And if someone says, yeah, that's right, so that is just you are like confirming a stance, but you are not presenting an opinion. So we do not value that thing right now. Hello, let's say like, hello, hi, this side, this side. Okay. This side, this side. Okay. Let's say like your corpus is from social data. Okay. Now, nowadays like in social, people are using short text. So how are you going to overcome with using this NLP? Do we have any classifiers? Yeah, so in case, so there is a social data is basically like, if you are talking about short sentences and social data. And even linguistic sentence as well. It's as bilingual. Yeah. So basically I can take Twitter as example, right? Yes. So even for Twitter sentiment analysis, like I have gone through several papers and maybe this classifier has worked to the most, but there are certain things you have to take care of. First of all, the emoticons depict a particular sense of sentiment. So you have to have a separate classifier which can tag that if these are the emoticons, then what is the probability of a particular thing which is a name-based classifier can do? Then you have to replace like hello. So if someone says hello with like 10 O's or 11 O's, then you have to like, so there is a vocabulary for it, which can replace short forms like what's up into what's up. You can have to fill, clean the data and name-based classifier till now I have known worked best in case of like the social sentiment analysis thing. Hi. My question is you have talked about sentence similarity. Yeah. In case of pronouns, if the debaters use pronouns in their sentences, how will you analyze the similarity between the sentence? Can you give me an example like? Means if you are talking about Congress and BJP. Yeah. Someone says BJP is quite bad, working badly. And the next sentence they said, they are worst. Means then how will you compare that they are similar sentence and they are talking about the same context in the same context. So if the same debater is presenting in, if someone says they are worst and the same debater is continuing his argument, then you can easily track it which is a debater. If someone else starts an argument, then it's difficult to track that. So if someone says, so you said Congress is bad and if the same guy says they are worst, so we are actually checking who has said the previous argument to know like, whether it's the same guy or it's the opponent. So if the same guy then you can easily track that who has said the last argument. And if, what if in the first case they are using pronouns in that case, how will you, means how will you, just the context when they're pronounced, right? So yeah, that's an assumption right here where you consider that so if the debate is about should be when homework, and if someone says yeah, you should ban it, then I am considering that if you're saying you should ban it, then you're talking about homework right now. So there's nothing like resolving the pronouncements. You are not resolving the pronouncements used for which, in which context, if it is used for VJP or it's used for Congress. Yeah, right now there is nothing like, so there is, you're talking about this pronoun disambucation, there is a word sense disambucation also. So these are some of the complexities which I have not included for this particular model. Thank you. You gave that example about I do not feel very good on Monday mornings. You mentioned that not is a stop word, but that actually completely reverses the meaning of the sentence. Yeah, so. I don't think not can be a stop word. Yeah, so when, so not is actually, so if I use that not nothing to remove a stop word, it will remove it. But in case of debates, you cannot afford to remove a stop words. So when this analysis is done on debate corpus using features, then you actually do not remove stop words and all. You consider the same sentence and then you process it. So like if you want to read it more, so this article can kill you. So you do not remove all these things because not nothing and do not, and all these are removed in some most of the cases. So you cannot afford to remove all these stop words from the corpus when you're talking about debate. It is. Yeah, so in most of the cases you have to, I have looked at the data to have looked at some of the simple cases to have an idea of the threshold because it's, so it's a simple, for me it was initially a simple judgment call when I say it's given in point five, then it's a positive argument, less than point five, it's a negative argument. But then you talk about a neutral arguments also. So it's a manual thing right now. So that's why there is a need for you to have a separate neighbor is classified positive and negative and a separate one for neutral arguments. So you do not have to have this manual task and you can have this complete automation thing. In real world arguments or debates, it's often common for opponents to qualify their position. I mean to agree to the opponent's position for some time and then constructively contradict them. How do you tackle that problem? So this problem of where you actually use sarcasm or where you use contradiction in your previous statement is still not done in this. Not contradiction, I mean, let's say. Can you give me an example that one? Regarding the homework problem, it is, let's say I start my argument as, it is often, it is a fact, well-known, it's a well-known fact that homeworks are good and they are good for a student. But in today's world, it has become more of a liability and then. So it's like a first qualifying for a, qualifying the position and then contradicting it. So if you check that the overall stance of the whole sentence will be negative because so I check this thing using the stance thing and the Naive-based classifier is trained itself on the Congress debate data. So we have checked with these things where you try to initially present a stance and then counter it in the next half of the sentence, then this can, this works out as negative in the purpose. Hey, is there any alternative to the Naive-based classifier because I used it for sentiment analysis on tweets. And so the NLTK corp, I didn't use the NLTK corp. So I used my own corpus and I had a large collection of tweets and the training phase took a lot of time when I used the Naive-based classifier. So is there any alternative? So there are alternatives. So like people have run even neural networks and decision trees on these things. But I believe like the Naive-based classifier, the time might be like, it's about the pre-processing. So if you do not remove smileys, if you do not remove all the vocabularies, then it's going to take time. But Naive-based classifier, as far as you know, is the best in case of social sentiment analysis, where you have to analyze the social arguments. So have you tried using the centi-wordnet? It used to be there along with the corp. Yeah, I have not used centi-wordnet. I've just used text blob and textprocession.com basically to implement these things. You haven't tried it. Yeah, you haven't tried it. But like this project was done under the supervision of one of the professors also. So we came to know about like the debate scenario. So there's a paper about it that the debate scenario is very different because it's more about politely disagreement as compared to the normal disagreement where you say like this movie was so horrible that I cannot sit for the half time also. So it's not that strong sentiment we can capture it. So you have to have mild sentiment captures which is not done by most of the cases. Did you use any feature transformation while training the classifier like TF idea for maybe just taking the counts of the biograms you have used? Yeah, so this top 200 unigrams and biograms are calculated basing. So suppose if that TF idea concept is implemented. So if some biogram is very frequent across all the debate thing. So that biogram is given a lower priority. So this is then TF idea is considered for each of the unigrams. So NLTK has an inbuilt function. So if, which can give you top 200 unigrams or biograms based on whether like on their term frequency, which are current frequency. It's basically known as information retrieval that how much information a unigram or a biogram can weigh. Okay, Abhinav, one question. Like I was doing a Twitter analysis and the problem what I was facing is like sometimes like statements is like take a Superman versus Batman example. Like Superman is not cool. And the other question, other statement could be Superman is Superman is not bad. So this not changes the words completely. It's a sentence completely, right?  So how do you dynamically change it according to the sentence? Like not with cool is like not good and not bad is a positive word. Complete sentence is a positive. So how do you deal with this? So right now it's a probabilistic model where like, so if someone you have mentioned a sentence like not bad which reflects a positive is which is mildly positive. Where it's not cool is negative and it's very common. So this neighbor's classifier is a probabilistic model. So if it's a not cool thing, so it is going to give a higher negative sentiment to it. But if it is not bad, then it is going to give a lower positive sentiment to it. So it's a probabilistic model. Like how common it frequently it occur, then it gives a probability. So if just saying it once again clearly for you. So Superman is not bad is a very rare term in terms of the debate corpus. So it is a mildly positive thing and it will get a less positive score in the sentiment. Whereas Superman is not cool is very common case of debates. So it will give a highly negative thing. So you can judge like which is the most strong argument in normal cases. Actually two questions. Yeah. First how you detected the double negations. The double negations means one negative coupled with another negation. I think it's most. That's the question here, it's already. The probabilistic model, it is what it is. It was like something word to back or something where you try to see that context and based on that you give the. So I have not implemented word to back and like even word to back discussion. I am, I have seen that it is a good representation of words and so I'm not seeing how it works. Since like for me, I have not seen how it worked in sentences similarity. It writes a simple name, this classifier. So it's an independent probability assumption where you calculate that if this was. Given the different words, what is the overall sentiment of that sentence? Yeah, it's a simple, it's a simple neighbor's classifier thing. Last question. Yeah. So most of the debates are like speech and for to do NLTK, you have to have text and speech to text transformation is another challenge. How do you tackle that? So that, yeah, that's a really good question and even like most of the speech. So if you, so already this sentiment has a 70% accuracy. Speech might have another 70% accuracy. So this is reducing to 49%. So I cannot, so this might not work good well in case of speech debates, Congress, speech debates. So these are some of the debates, like when a debate occur then there's someone a typewriter who's actually noting all the comments. So this is how it is made. And it is, that's why there is a chat framework for it. And I think I'm not sure how it can be done in case of speeches, where the accuracy is getting 75% so that you don't have a fair judgment that whether it is good or not. Thank you everyone. Thanks Abner.


So far, we've identified Wolf 359 as one of the least luminous stars in our neighborhood, and Vega as one of the most luminous, but we haven't been explicit as to what we mean by luminous. Stars have a wide range of apparent brightness as measured here on Earth. The variation in apparent star brightness is caused by two things. One, stars have different intrinsic luminosity, and two, stars are located at different distances from us. An intrinsically faint nearby star can appear to be just as bright to us on Earth as an intrinsically luminous star further away. Luminosity is what we use to put precise measurements on the idea of brightness.  Bright brightness is measured in watts per square meter. Because light from stars spreads out over the surface area of a sphere, we can use the inverse square law to categorize luminosity for all the stars that have parallax distance information. Take the Sun, for example. The apparent luminosity the Sun has measured in my backyard is 1400 watts per square meter. If my backyard solar cells were 100% efficient, that's how much electricity each panel would create. Unfortunately, current technology is only 15% efficient, so I'm only getting around 200 watts per panel. Plugging our distance of the Sun into the inverse square law, we calculate its total luminosity. Here you can see that the answer is a very big number. Using Einstein's famous E equals mc squared, or energy equals mass times the speed of light squared, we calculate that the Sun is fusing 600 million tons of hydrogen into helium every second. And in the process, converting 4 million tons of matter into energy every second. To put this into perspective, this number is equivalent to around 4 billion hydrogen bombs exploding every second. Astronomers use a more complex set of classifications for calculating brightness called magnitudes and absolute magnitudes at 10 parsecs. But for our purposes, we'll stick with luminosity.


Okay, so let's start today with this mechanism of the chlorination of methane. So you can see here, we've got this thing, this molecule here, methane, everybody knows. We're going to react it with chlorine, and the chlorine's going to react with white first. And then you're going to make methyl chloride and HCI.  So the first step, remember, in all, this is a radical reaction. Of course, hopefully you guys can see that and tell it's a radical reaction. All radical reactions start with an initiation step. So, we've got the initiation. Pins is, like we said before, light shines down, hits this bond, and this bond homilizes, right, at your initiation. You have the two fluorine radicals, or fluorine atoms, whichever way you want to think about them, atoms are radicals. Okay, so now that we've got these radicals, then we're going to have the propagation step. We're going to take a radical and make a radical. So, how do we do that with this C-A form? Remember, this is the reactive species. So, this is going to do the reactivity. It sees one of these C-A bonds where your fish of arrow is showing the ocean of one electron. So, when we do that, that's where we make our HCl. Okay, you guys see that? We're also making the methyl radicals and have another propagation step. And in fact, it's just going to keep propagating. This is like one of those reactions that we talked about the other day where a lot of organic reactions are this way, where you can use the same thing over and over and over because it's being produced in the reaction previous and it's going to be reacting in the next reaction, right? So, you don't just have, in other words, you don't just have one of these and one of these. You have billions of them, you know? So, anyways, you've got this guy. And remember this initiation step, when we put light, this only breaks up a tiny, tiny portion of the chlorine molecules that are in there, okay? It doesn't break up very many, but you only need the one radical to start the reaction. Remember, all radical reactions are these chain reactions. So, we're going to propagate again. So, what did we make? We made the methyl radical. And we've got another Cl2 molecule. It's a very lay-bottle bond, right? So, you can tell that by light hitting it, it'll break it. So, we're going to break that bond again here, propagating the radical. So, you propagate this radical here and that goes on and does this reaction to another one, okay? So, you don't need, well, you don't want to think about these reactions as I have to do, I have to use everything in the one reaction, okay? So, it doesn't always balance out. In fact, you can see here how you balance the net reaction, right? So, we've got, what does it say? CH4 plus the chlorine radical opposed to the methyl radical plus HCl. The hydrogen abstraction occurs in CH3, the methyl radical, plus Cl2, right? So, this is going to react. Yeah, this is the same thing we're doing over here. When we do that, we make methyl chloride plus the chlorine radical again. So, remember, a reaction equation is just like an algebraic equation, right? So, and if something is on one side and on the other, so we're going to combine these two reactions into the formal overall reaction, right? So, in other words, let's just combine them all, okay, first. So, CH4 plus Cl dot CH3 dot plus Cl2 goes to CH3 dot plus HCl plus CH3 Cl plus Cl dot, like that, okay? And then we just see what's on this side, what's on this side, and cancel that, okay? So, they're the same. So, Cl dot is the same, right? We've got the methyl radical like that. And is there anything else? That's all I see. Sometimes you've got to take a step back. I think that's all I see. So, CH4 plus Cl2. And then here we're just going to put HB because, you know, makes HCl plus CH3, okay? So, that's how you balance reactions. You know that from general chemistry, though, right? So, this is what we would call the net reaction. Propagation stuff? Why did you break a second Cl2 instead of just using the... Well, like I said, there's very little of this. This one's probably already reacted with something else. These things are super reactive, you know? It's like, if you've got, you know, two guys that are ready to fight, you know, while one of them is fighting somebody, the other guy is not going to just sit there. He's going to go fight somebody else, you know what I'm saying? So, that's what you've got to think of. So, these guys, there's a bunch of them in there, and they're not, you know, reactive yet. So, once this happens, this bond is easy to break. Once you make this methyl radical, it's like, man, I really don't like it. The chlorine doesn't mind it as much, but this really doesn't like it, so it goes and reacts with the methyl. So, that is called the beatermination step. Well, okay, so, this is propagating, propagating, propagating, and eventually there will be a termination step, but it'll only happen once. At the very, very end, okay? So, yeah, and what would happen is, like, you'd have maybe two methyl radicals come together, that'll stop the reaction. All termination steps stop the chain reaction, right? So, you can have, if this guy finds another methyl radical, you can come together and make, you know, that thing, like that, right? So, you'd have, in other words, termination steps. What kind of termination steps do we have? We could have this reacting with another one.  So, those are termination steps there, right? Or you could have the two chlorines, yeah. And so, those are all termination steps. Once that happens, it stops the chain reaction. But, of course, you're shining light on the thing. So, you know, it's gonna keep going until all your chlorine is, or all your stuff is chlorine. Okay? There any more questions on this?


Good morning, folks. This is Steve Rhodes coming to you live from the shores of sunny Delray Beach, Florida. This year, 11 a.m. update. And currently we have a little bit of a mixed bag out there. That's the same mix from yesterday. No, maybe not. It's the trainees that are trading the upside up one three tenths percent hundred seventy six points. Otherwise, all the other US indices are trading to the downside. Now the Dow's off 92 points. S&P 16 NASDAQ one hundred seventy six. That's three tenths, four tenths and seven tenths were sent to the downside. Basically flat inside the Russell 2000. She's trading out at 1788. Gold is not flat. It's down 18 bucks. Well off. It's no, it's off. It's session lows. Trained out at 1632. Silver's off 20 cents trade in 1939 lights. We crude back about 4788 52 is the print there. Natural gas off 15 cents in the 30 Treasury down 17 ticks. 120 six is where she's printing. Let's go take a look at nine panel. Market update chart. We begin with the S mini. What do we know about the S mini? Well, one, it has a traded down into a support level. That support level being the center of its weekly profile. The center 37 0 3 90. Below so far today, 37 0 4 and a quarter. Price also trading into the bullish structured area of its daily profile. And that's between the range of 36 67 and 37 43. So one of the things that you and I can say as 11 0 1 in the morning is that the S mini has pulled back and has tested a key level of support. And thus far that has held spot ball tonics still remains below its 50 day exponents moving average. That puts the fuel behind the bowls. At least at this moment in time. If you take a look at the end queue, what did the end queue do? It pulled all the way back, tested and rejected a level that has tested rejected about three or four times so far in the last couple of weeks. And that is the bottom of its weekly profile. That's at the level of 10 7 34. So it too. Is doing nothing more than consolidating between 10 7 34. And 11 2 20 sorry 11 6 32 out there. That's the consolidation range. U.S. dollar index had a nice move earlier at a decent move yesterday. It does have some trend line and profile resistance. That's up at the 1 13 38 level. Gold deluxe testing the support area of both its roads with the indicator bottom. That's at 16 22 and its TD 9 count support level 16 27. So as of 11 0 2 has not been able to bust through key levels of support. Folks stay tuned for the Traders Ed show. But if you're off to start your Thursday, please have a terrific one and join me again tomorrow at 11 o'clock sharp. We'll be recording the show at the normal time. Have a terrific Thursday. We'll look forward to seeing you on fantastic Friday. Take care.