Sanvi

6 min read

"How I Solve Problems"

In my many years, I have summarized a methodology that is widely applied in my learning of new knowledge and problem-solving, which I call the "Four-Step Solution Method."

Four-Step Solution Method

The Four-Step Solution Method is mainly divided into the following 4 steps:

Analyze -> Decompose -> Solve -> Reward

Analyze

Analysis mainly requires you to clarify the real problem you want to solve. Here’s a little trick: ask "why." When you ask "why" three times, you are basically very close to the real problem you want to solve.

Here’s an example: Recently, Python has become very popular, and everyone on my social circle is talking about it. Even Pan Shiyi said he wants to learn Python. It feels like these days, if you don’t know Python, you might feel embarrassed to greet people. Many people suddenly want to learn Python, so how do we learn it? Let’s analyze this problem.

“I want to learn Python.”

“Why do you want to learn Python?”

“Because I want to learn web scraping.”

“Why do you want to learn web scraping?”

“Because I want to collect feedback on some competing products.”

“Why do you want to collect feedback on some competing products?”

“Because I want to improve my product based on some feedback from competitors.”

Now we know where the problem we want to solve lies, so next we need to decompose the problem.

Decompose

For the above problem, we have two choices: solve it ourselves or find someone to help solve it.

Here, we will only discuss solving the problem ourselves. First, we need to describe our problem more concretely, for example, “I want to collect review data on curling irons from JD.com.”

Here we take a few keywords: “web scraping,” “JD.com,” “reviews,” and then we put them into a search engine. We can find that others have written some articles on data scraping.

For example, this article: https://www.jianshu.com/p/3c57a1568395

From the article, we continue to decompose and extract keywords: “Python,” “data scraping,” “data cleaning,” “data analysis and visualization.”

Repeating the above steps, we continue to search in the search engine. At this point, you can add some combination keywords, such as “Python for beginners,” “Python beginner’s guide.” If you are unsure, you can look at the related recommendations from the search engine. For instance, when we search for “Python,” the search engine will recommend searches like “Python for beginners,” “Python learning,” and then read articles and continue to extract keywords.

So, we summarize the decomposition as continuously executing the following steps:

Keyword extraction -> Search -> Learn

Keywords: It sounds simple, but people may find it a bit difficult to execute. For example, people might ask how to know which keywords to extract. First, list the keywords from this article, then continue to look at other articles, repeating this process. After executing it a few times, you can extract the keywords that appear frequently.

Search: The search engine is just one method; you can also choose to ask questions, or find experts, teachers, etc., or purchase books, and so on.

Learn: For example, you can read articles, books, consult experts, or teachers. At this point, you can continue to extract keywords from the content you absorb.

Repeat the above process, and at this point, you have a clear direction.

Solve

From the above, we know that to “collect review data on curling irons from JD.com,” we need to know “Python,” “scraping strategies,” “anti-scraping mechanisms,” “scraping processes,” and other necessary conditions.

Taking “Python” as an example, at this point, you have a relatively clear goal: to scrape web data using Python. So, throw your requirements into the search engine and find some examples from others to imitate.

For example, if I search for “Python data scraping,” I can see examples from others, then find the example that is closest to your idea, and follow their approach to see if you can achieve the same results. If you encounter problems along the way, you can use the analysis method to solve them. If it really cannot be solved, then switch to another expert’s example; there will always be one that allows you to continue executing.

For instance, if the example you found is about “using Python to scrape review data on Tmall X razor,” but your requirement is “using Python to scrape review data on JD.com X brand foot bath bucket.” Continue using the analysis method: first, keyword extraction.

Example: Python, Tmall, X razor, review data

Requirement: Python, JD.com, X foot bath bucket, review data

Extraction: Python, e-commerce website, certain product, review data

At this point, what you need is to change Tmall to JD.com and X razor to X foot bath bucket. Then you can continue to search for “Python get JD.com product reviews,” and based on the relevant information, extract what you need, such as “JD.com product information parsing code,” repeating this step until completion.

This solving process is somewhat like buying a new piece of clothing, then cutting off the parts you don’t need and grafting on the parts you need from other clothes.

Reward

Rewards can be diverse. For example, some people reward themselves with pudding after losing a certain amount of weight, or you can gain a sense of achievement from continuously solving problems and seeing results. Remember, if you cannot gain rewards from solving problems, then you need to affirm yourself in other areas. Only continuous rewards can keep you going through this process.

Case Analysis

So, is this method only applicable to technical problems? What about other issues? The same applies to other problems; it just depends on how you adapt. Here are two examples:

Example: “I want to accumulate more connections.”

Analysis: By asking why, we might conclude that I need more connections for what purpose and what kind of connections I need.

Decompose: How do I get to know people? What are the ways to meet them? Why would others want to know you? What value do you provide? By continuously decomposing, you will arrive at very concrete questions.

Solve: How do I get to know people? I can do it online (forums, networking apps, fans) or offline (salons, gatherings, introductions by friends). Why would others want to know you? Where is your value? How to identify your value? Each question can be analyzed and decomposed further to arrive at your solution.

Reward: After establishing a relationship, how do you reward yourself? For example, you can record what you have learned, new viewpoints, opinions, etc.

Example: “I want to find a girlfriend.”

Analysis: By asking why, we might conclude that I want a girlfriend to establish a family, or because I feel too lonely, and what kind of girlfriend I want.

Decompose: How do I get to know her? What are the ways to meet her? Why would she want to know me? What kind of boys do girls like? What value do I provide? By continuously decomposing, you will arrive at very concrete questions. For example, you might want to meet someone who has a good personality, shares similar values, is beautiful, and has a sweet voice, etc.

Solve: I can meet her through social apps, introductions by friends, forums, interest groups, etc. For example, what kind of boys do girls like? They might like humorous, adventurous, fun-loving boys, etc. Through analysis and decomposition, you might turn “humorous” into how to tell stories in a more interesting way, “adventurous” into what extreme sports to try, and “fun-loving” into how to be the organizer of gatherings and the one who sets the atmosphere, etc.

Reward: For example, after completing certain tasks, you can ask friends for feedback on your changes.

Conclusion

Today, let’s end with a reminder: when scraping data, you must comply with the law.

There’s a saying: “If you write web scrapers well, you’ll end up with a full plate of prison food.”