<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: makotunes</title>
    <description>The latest articles on DEV Community by makotunes (@makotunes).</description>
    <link>https://dev.to/makotunes</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F297861%2Fb7461653-c0ee-4d41-9d21-346cf72f63e6.jpeg</url>
      <title>DEV Community: makotunes</title>
      <link>https://dev.to/makotunes</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/makotunes"/>
    <language>en</language>
    <item>
      <title>Best Practices for Engineer Evaluation Systems in the Age of AI (Overview)</title>
      <dc:creator>makotunes</dc:creator>
      <pubDate>Mon, 21 Jul 2025 14:06:48 +0000</pubDate>
      <link>https://dev.to/makotunes/best-practices-for-engineer-evaluation-systems-in-the-age-of-ai-overview-37hg</link>
      <guid>https://dev.to/makotunes/best-practices-for-engineer-evaluation-systems-in-the-age-of-ai-overview-37hg</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq7a17tt6nrew6w6w6t96.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq7a17tt6nrew6w6w6t96.png" alt="screenshot.png" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I run a development company with around 40 people. In recent years, AI-driven development has become the norm, and the acceleration brought by the era of vibe coding—together with the growing difficulty of fairly evaluating engineers—motivated me to develop an engineer evaluation platform: &lt;a href="https://coderanker.cloud" rel="noopener noreferrer"&gt;CodeRanker&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/makotunes/coderanker" rel="noopener noreferrer"&gt;Source Code&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;h2&gt;
  
  
  Background
&lt;/h2&gt;

&lt;h3&gt;
  
  
  External Factor: AI
&lt;/h3&gt;

&lt;p&gt;With the rise of so-called “vibe coding” (real-time code generation and thread-based workflows powered by AI), there’s been a clear shift from traditional team-based division of labor to a relative emphasis on individual ability. It’s not that engineering jobs are disappearing—rather, it’s akin to the emergence of a new high-level language and a fundamental change in the cognitive demands required of engineers.&lt;/p&gt;

&lt;p&gt;For clarity, the “AI” here refers to vibe-coding-style AI support tools like Cursor. However, I see this trend as a transitional phase. In the near future, development will converge further toward declarative, structured, spec-driven paradigms (for example, Kiro), where prompts themselves become declarative code. Even as technology advances, the fundamental trend toward the abstraction of thought—where development is completed by specifying logic and requirements—will remain unchanged.&lt;/p&gt;

&lt;p&gt;The reason I believe we will shift from vibe coding to declarative, spec-driven development is the expected increase in LLM model context window sizes. If cheap, widely available models can handle context windows of several megabytes—the size of an average codebase—even prompt-level adjustments may no longer be necessary.&lt;/p&gt;

&lt;p&gt;As a result, future engineers will need to possess abstract thinking skills: the ability to see the entire system, maintain coherence, and define requirements across modules, rather than simply breaking work into modules and dividing tasks.&lt;/p&gt;

&lt;p&gt;This means that, in the development environment of tomorrow, having one person manage the whole—leveraging AI—will naturally result in higher quality output, rather than splitting up work among many people.&lt;/p&gt;

&lt;h3&gt;
  
  
  Division of Labor Will Be Disrupted in the AI Era
&lt;/h3&gt;

&lt;p&gt;Therefore, I no longer see value in teams composed solely of simple coders. Ideally, projects should be handled by a small group—or even a single person—who can see the whole picture. Just as society shifted from agriculture to hunting, traditional SIer-style, large-scale waterfall development will be eliminated. I believe that engineers will be regarded more as talents than as organizational “employees.” In this world, the difference in productivity by individual ability can be tenfold or a hundredfold. Engineering and other intellectual work should be the domain of a select few, without the unnecessary overhead of communication costs.&lt;/p&gt;

&lt;p&gt;If a product is built by one person, its value is equivalent to the value of that developer. Thus, I consider this field to be more like the service or sales professions—where results-based incentives and a supporting evaluation system become necessary.&lt;/p&gt;

&lt;h3&gt;
  
  
  How Should Humans and AI Coexist?
&lt;/h3&gt;

&lt;p&gt;There were also internal factors in my organization: with a lack of senior engineers, we hit the limitations of conventional management, training, and evaluation systems. The challenge became: how do we boost the performance of a team made up mostly of mid-level and junior engineers? The answer, I believe, is to use AI for correction and upskilling, but also to help engineers recognize the areas where AI falls short and develop human abilities that surpass AI—ultimately ensuring client satisfaction.&lt;/p&gt;

&lt;h3&gt;
  
  
  AI as the “Tool,” Humans as the “Judges”
&lt;/h3&gt;

&lt;p&gt;AI can help with quality assurance and coverage measurement, but if AI were perfect, there would be no need for humans. In reality, AI alone cannot yet determine the quality or requirement-fit of complex systems. The meaning of requirements, technical depth, and the thoroughness of testing still demand the insight of senior engineers. AI should play a supportive role. To compensate for the thin senior layer, it’s important to combine automated measurement by AI with human judgment, and to continue on-site learning and review.&lt;/p&gt;

&lt;h3&gt;
  
  
  Treating Engineers as “Talents,” Not Just Organizational Members
&lt;/h3&gt;

&lt;p&gt;Traditionally, organizations have often treated engineers as just parts of the company, making promotions and compensation decisions based on a manager’s evaluation. In my organization, we value engineers as talents based on three axes: quality of output, volume of output, and client satisfaction. This ensures fair evaluation according to each engineer’s projects and skill set, and makes their roles and rewards objective.&lt;/p&gt;

&lt;h3&gt;
  
  
  360-Degree Evaluation and a Democratic Process
&lt;/h3&gt;

&lt;p&gt;To guarantee transparency and fairness, we use 360-degree evaluation by multiple reviewers. Deliverable evaluation, commit evaluation, and manager evaluation are all made public. Evaluation standards and calculation methods should be clearly documented and disclosed. Transparent and democratic evaluation is the basis for a flat, decentralized organization—not a top-down one.&lt;/p&gt;

&lt;h3&gt;
  
  
  Transparency and Decentralization
&lt;/h3&gt;

&lt;p&gt;Another important factor for organizational growth is transparency. We focus on publishing rankings, instant reflection of evaluation results, and sharing of criteria, so all employees act with the same information. Flat evaluations—where hierarchy is minimized—reduce central authority and foster self-management and autonomy.&lt;/p&gt;

&lt;h3&gt;
  
  
  Proactive Competition
&lt;/h3&gt;

&lt;p&gt;Fair competition improves productivity across the organization. We make monthly rankings public and link them directly to rewards and project assignments. This encourages ambition and covers for a thin senior layer by motivating everyone to improve. When connecting rankings and rewards, it’s important to clarify evaluation criteria and enforce penalties for misconduct, maintaining a healthy competitive culture.&lt;/p&gt;

&lt;h3&gt;
  
  
  Toward a Self-Regenerating Organization
&lt;/h3&gt;

&lt;p&gt;The ideal is an organization that can grow and renew itself with minimal management cost. By combining quantitative AI-based evaluation with qualitative human judgment, and designing a transparent, decentralized evaluation process, each engineer understands their own strengths and challenges and takes initiative for improvement. This balance of competition and co-creation is the future of talent management and evaluation for the AI era.&lt;/p&gt;

&lt;p&gt;This article outlines the concepts and practical framework of the CodeRanker engineer evaluation system as an organizational theory.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is the 3-Axis Evaluation System?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbua2w61ugptbgpwq86a3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbua2w61ugptbgpwq86a3.png" alt="screenshot 2025-07-21 21.58.03.png" width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The HR evaluation system proposed by CodeRanker measures an engineer’s performance on three axes: Quality, Quantity, and Client Evaluation.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Axis&lt;/th&gt;
&lt;th&gt;Content&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Quality Evaluation&lt;/td&gt;
&lt;td&gt;Senior engineers (with AI support) evaluate deliverables: code quality, design, test coverage, technical depth.&lt;/td&gt;
&lt;td&gt;Guaranteeing and standardizing technical quality&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Quantity Evaluation&lt;/td&gt;
&lt;td&gt;Analyzes Git commit history. AI evaluates the quantity and quality of output by parsing commit messages and file changes.&lt;/td&gt;
&lt;td&gt;Objective visualization of output volume&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Client Evaluation&lt;/td&gt;
&lt;td&gt;Project managers or clients assess requirement fit and business value.&lt;/td&gt;
&lt;td&gt;Reflection of business value and customer satisfaction&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;By combining these, a balanced evaluation is possible, integrating technical, quantitative, and customer perspectives.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Structure and Theory Behind the 3-Axis Evaluation System
&lt;/h2&gt;

&lt;p&gt;Modern software organizations need mechanisms to correctly and fairly assess engineering ability. CodeRanker was designed to meet this need, with the 3-axis evaluation system as its core. This section explains the framework and underlying theory behind the system.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why a New Evaluation System is Needed
&lt;/h3&gt;

&lt;p&gt;Advances in AI have transformed engineering. With automated code generation and sophisticated CI/CD, individual productivity has increased dramatically. As a result, it’s become difficult to judge “who creates real value” using only traditional, subjective, or qualitative methods. Seniority- and impression-based evaluation makes it hard to recognize truly outstanding talent and risks harming organizational competitiveness.&lt;/p&gt;

&lt;p&gt;This is why a data-driven, highly transparent evaluation system is needed. By visualizing performance with clear, quantitative data, you can fairly assess each engineer’s effort and results, and boost motivation. CodeRanker’s 3-axis system is designed to objectively measure “true value” in the AI era.&lt;/p&gt;

&lt;h3&gt;
  
  
  Three-Dimensional Evaluation
&lt;/h3&gt;

&lt;p&gt;The 3-axis system assesses engineers from the following perspectives, with each axis addressing a different aspect to achieve an unbiased, comprehensive evaluation:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyxxl2dwznoz3zex20bjt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyxxl2dwznoz3zex20bjt.png" alt="screencapture-localhost-5173-system-evaluations-dd9t67lb7hjhvfrpu8dv4zme-2025-07-21-21\_57\_31.png" width="800" height="726"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Deliverable Quality (Output-Focused):&lt;/strong&gt; Evaluates the quality of code and products produced by engineers. Assesses requirements coverage, test completeness, design quality, security, and performance. Evaluation is based on automated test results and code reviews by senior engineers using specialized tools. This axis focuses on the quality of results—emphasizing technical depth and code completeness.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffemhqt9stuq34fisxtq6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffemhqt9stuq34fisxtq6.png" alt="screencapture-localhost-5173-system-evaluations-hzsjj9u9sdpjdnz8gwsbab2q-2025-07-21-21\_57\_45.png" width="800" height="862"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Quantity of Output (Process-Focused):&lt;/strong&gt; Measures the amount and quality of output from Git commit history. Quantifies weekly features, added/modified lines, commit frequency, and other contributions. AI analyzes commit content to score how well requirements were implemented and how efficient the workflow was. Because this is collected and analyzed automatically in CI, nearly real-time feedback is possible.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs4busm633dp26fc4wdh1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs4busm633dp26fc4wdh1.png" alt="screencapture-localhost-5173-system-evaluations-rrwaz8kne25v43lzuge1l279-2025-07-21-21\_57\_19.png" width="800" height="710"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Manager/Client Evaluation (Human Evaluation):&lt;/strong&gt; The manager or client provides an overall evaluation. Each week (in under 25 minutes), they assess whether delivered features meet requirements, deliver business value, and whether there were process issues. They check things like “requirement alignment,” “user usability,” “priority of business-critical features,” and “communication quality.” Subjective satisfaction and field perspective—things AI cannot judge—are included here.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Theory and Aims Behind the 3-Axis Approach
&lt;/h3&gt;

&lt;p&gt;The three-axis approach stems from the belief that a one-dimensional evaluation can’t capture an engineer’s true skill. If you measure only code quantity, you miss out on quality; if you look only at elegance, you lose track of productivity. Some value (such as user experience or teamwork) can’t be captured by numbers alone. By combining quality, quantity, and human evaluation, you get a balanced view.&lt;/p&gt;

&lt;p&gt;The aims and theoretical foundations of this method are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Eliminating Bias &amp;amp; Ensuring Fairness:&lt;/strong&gt; Multiple axes prevent unbalanced evaluations. Because people have strengths and weaknesses, a combination of quality, quantity, and manager perspective ensures fairness. Combining automated (AI) and human review balances objectivity and human insight.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Short-Term Results and Long-Term Growth:&lt;/strong&gt; By evaluating both deliverable quality (short-term) and quantity/process (long-term), the system encourages sustainable growth, not just one-off wins. This also encourages a culture of ongoing improvement.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI-Era Appropriateness:&lt;/strong&gt; In an age where AI writes code and generates tests, human value lies in “how well you use AI to create high-quality results efficiently.” CodeRanker quantifies what can be automated and leaves creativity and higher-order decisions to humans, reflecting this division in its design.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Transparency &amp;amp; Buy-In:&lt;/strong&gt; Clear criteria and calculation methods for each axis are available to all. Everyone can see how their score is calculated and understand why they received a given evaluation, boosting trust and satisfaction.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Evaluation Flow and Score Integration
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftre8sw0hmlcul0ilb3xf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftre8sw0hmlcul0ilb3xf.png" alt="screencapture-coderanker-cloud-system-ranking-dzezzsqjedg86ga8xqkw3rl0-2025-07-21-22\_25\_04.png" width="800" height="473"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In CodeRanker, the results from the three axes are combined into a single integrated score for each engineer. The general flow is as follows:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Data Collection:&lt;/strong&gt; Automatically collects project specs, test code, Git history, and CI test results.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automated Evaluation (Deliverable Quality):&lt;/strong&gt; Automatically checks requirements coverage, test results, and code security. Senior engineers also regularly review code with specialized tools (semi-automated, human-in-the-loop).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automated Evaluation (Output Quantity):&lt;/strong&gt; CI scripts analyze recent commits: number of features, lines changed, commit frequency/granularity, etc. AI also classifies commits (feature, bugfix, etc.) to score both quantity and content.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Manager/Client Evaluation (Human):&lt;/strong&gt; The project manager reviews the auto-evaluation results and the actual product weekly, checking for requirement completeness, non-functional requirements, communication quality, and more.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Score Aggregation:&lt;/strong&gt; Each axis's score is combined with predefined weights (default: Deliverable Quality 40%, Output Quantity 35%, Manager Evaluation 25%), producing an overall ranking.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Feedback:&lt;/strong&gt; The final result, with explanations for each score and improvement recommendations, is provided to the engineer. They can use this feedback for personal growth and goal setting.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This flow repeats weekly or monthly, so the evaluation and feedback cycle stays close to real-time.&lt;/p&gt;

&lt;h3&gt;
  
  
  Benefits of the 3-Axis Evaluation System
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftdqmxm83ctmd692aja4y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftdqmxm83ctmd692aja4y.png" alt="screencapture-coderanker-cloud-system-ranking-dzezzsqjedg86ga8xqkw3rl0-2025-07-21-22\_25\_04.png" width="800" height="596"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Implementing the 3-axis system yields benefits not possible with traditional approaches:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Fair, Objective Evaluation:&lt;/strong&gt; Using multiple axes prevents unfair, one-dimensional judgments. Combining data-driven automation and human review delivers fair, bias-resistant results.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Transparency:&lt;/strong&gt; Scoring standards and calculation methods are shared, and everyone knows what is being measured. This increases buy-in and eliminates mistrust of “black box” HR decisions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-Time Feedback:&lt;/strong&gt; Output scoring happens in near real time, so engineers get instant feedback, can adjust quickly, and don’t have to wait for an annual review to improve.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Continuous Growth:&lt;/strong&gt; By evaluating both output and process, engineers are encouraged to improve quality and efficiency over time, fostering a culture of self-improvement.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Human–AI Collaboration:&lt;/strong&gt; The system automates everything possible, reducing burden on reviewers, while keeping human-only evaluations for context and nuance, building a truly human-centric system for the AI era.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Meritocracy:&lt;/strong&gt; Scores and rankings make clear who delivers what, creating healthy tension and competition, rewarding results, and nurturing an achievement-oriented culture.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;p&gt;Summary: CodeRanker’s 3-axis system is a new framework that combines quality, quantity, and human review. It brings fairness and transparency to engineering evaluation for the AI era, supporting both individual and organizational growth. For CTOs and HR managers looking to modernize their evaluation systems, the 3-axis approach is a powerful solution.&lt;/p&gt;



&lt;h2&gt;
  
  
  Solving Management Issues with Payroll and Monthly Statistics Dashboards
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F514619%2Fbd47bac1-d322-486d-8091-888efe4ca004.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F514619%2Fbd47bac1-d322-486d-8091-888efe4ca004.png" alt="screencapture-localhost-5173-system-users-2025-07-21-22\_01\_31.png" width="800" height="1104"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;CodeRanker’s system aggregates weekly evaluation points each month and publishes rankings and statistics for all members. Each engineer’s points are calculated based on the quality of deliverables, quantity of output, and manager (or client) satisfaction. Scoring follows a “Quality + Quantity + Satisfaction – Penalty + Bonus” formula, with documented standards and calculation methods. Weekly points are totaled monthly, and rankings are made by department and company-wide. This enables visualization of each member’s trends, team averages, and the distribution of high and low performers—helpful for managing and improving organizational performance.&lt;/p&gt;

&lt;p&gt;Monthly rankings aren’t just for show—they directly impact pay. CodeRanker links evaluation results and compensation, so higher ranks get bonuses or raises, and lower ranks receive reductions or improvement programs. Each tier (T0–T7) has a base salary table, and monthly scores automatically determine adjustment. For example, exceeding a certain threshold earns a pay raise; falling below triggers a penalty. Calculation methods and rates are public, so everyone understands how pay is determined.&lt;/p&gt;

&lt;p&gt;Key points for monthly stats and pay linkage:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Automatic Aggregation and Publication:&lt;/strong&gt; Weekly points are summed each month and shared company-wide. This keeps performance transparent and visible.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Immediate Reward Reflection:&lt;/strong&gt; Monthly rankings affect next month’s salary. Top performers get bonuses/raises, while underperformers get reductions or improvement plans—effort directly impacts pay.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automated Calculation:&lt;/strong&gt; Scoring is standardized, so rankings and salary adjustments are automatic, reducing admin burden.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fairness and Buy-In:&lt;/strong&gt; Criteria and methods are public, so everyone can check monthly stats and pay changes, ensuring trust and transparency.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Currently, fully automated CI/CD-driven monthly stats and payroll features are not yet live, but the architecture for weekly-to-monthly aggregation and payroll adjustment is in place. Full automation will bring even more efficiency in future updates.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4si903gn7qc4rvpi3ex5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4si903gn7qc4rvpi3ex5.png" alt="screenshot 2025-07-21 22.06.40.png" width="800" height="466"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Product
&lt;/h2&gt;

&lt;p&gt;With the rapid advancement of AI, engineer evaluation systems also need to evolve. CodeRanker’s 3-axis system—grounded in fairness and transparency—offers valuable insight for many organizations.&lt;/p&gt;

&lt;p&gt;For details, see the &lt;a href="https://coderanker.cloud" rel="noopener noreferrer"&gt;CodeRanker official website&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/makotunes/coderanker" rel="noopener noreferrer"&gt;Source Code&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>[Starter Kit No.2] Exposing general-purpose Web scraping tool with text analysis function (automatic tagging / visualization)</title>
      <dc:creator>makotunes</dc:creator>
      <pubDate>Mon, 02 Mar 2020 07:29:42 +0000</pubDate>
      <link>https://dev.to/makotunes/starter-kit-no-2-exposing-general-purpose-web-scraping-tool-with-text-analysis-function-automatic-tagging-visualization-5d1</link>
      <guid>https://dev.to/makotunes/starter-kit-no-2-exposing-general-purpose-web-scraping-tool-with-text-analysis-function-automatic-tagging-visualization-5d1</guid>
      <description>&lt;h1&gt;
  
  
  Easy Customizable Scraper
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Concept
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--G0g9LuQD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/514619/c77b7b8f-2b77-d5ad-e2e1-a50af08f294b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--G0g9LuQD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/514619/c77b7b8f-2b77-d5ad-e2e1-a50af08f294b.png" alt="screencapture-mockers-io-scanner-2020-02-29-15_20_39.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;General-purpose Web scraping tool with text analysis function.&lt;/p&gt;

&lt;p&gt;The following features help users start development.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Easy settings&lt;/li&gt;
&lt;li&gt;Customizability&lt;/li&gt;
&lt;li&gt;Text analysis function (tagging / visualization)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Click here for source code&lt;br&gt;
&lt;a href="https://github.com/makotunes/easy-customizable-scraper"&gt;https://github.com/makotunes/easy-customizable-scraper&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Application example
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Collection of curated media articles and automatic tagging&lt;/li&gt;
&lt;li&gt;Recommendation engine&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This algorithm is used for the functions of my personally developed products.&lt;br&gt;
&lt;a href="https://mockers.io/scanner"&gt;https://mockers.io/scanner&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Elemental technology
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Web scraping&lt;/li&gt;
&lt;li&gt;Automatic language detection&lt;/li&gt;
&lt;li&gt;Morphological analysis&lt;/li&gt;
&lt;li&gt;Feature tagging algorithm (original)&lt;/li&gt;
&lt;li&gt;2D map visualization technology (original)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Dependencies
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Docker&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

&lt;p&gt;It takes about 1-2 hours.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;docker build &lt;span class="nt"&gt;-t&lt;/span&gt; scanner &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;or&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;./build.sh
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h2&gt;
  
  
  Run
&lt;/h2&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run &lt;span class="nt"&gt;--rm&lt;/span&gt; &lt;span class="nt"&gt;-it&lt;/span&gt; &lt;span class="nt"&gt;-v&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$PWD&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;:/usr/src/app &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;--name&lt;/span&gt; scanner &lt;span class="nt"&gt;--force&lt;/span&gt; scanner  &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="s1"&gt;'ENTRY_URL=http://recipe.hacarus.com/'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="s1"&gt;'ALLOW_RULE=/recipe/'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="s1"&gt;'IMAGE_XPATH=//*[@id="root"]/div/div/section/div/div/div[1]/figure/img'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="s1"&gt;'DOCUMENT_XPATH=//td/text()|//p/text()'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="s1"&gt;'PAGE_LIMIT=2000'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="s1"&gt;'EXCLUDE_REG=\d(年|月|日|時|分|秒|ｇ|\u4eba|\u672c|cm|ml|g|\u5206\u679a\u5ea6)|hacarusinc|allrightsreserved'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
scanner:latest /usr/src/app/entrypoint.sh
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;or&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;./run.sh
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h2&gt;
  
  
  Parametes
&lt;/h2&gt;

&lt;p&gt;Set Environment Variable of Docker Container.&lt;/p&gt;

&lt;p&gt;If you have at least ENTRY_URL, it will automatically scan the page and pull out the text.&lt;br&gt;
If no options are specified, it is optimized for curated media and can be fully automated, such as extracting the text of articles.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Environment Variable&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;ENTRY_URL&lt;/td&gt;
&lt;td&gt;(Required) Site top URL to start scanning. All the pages are automatically scanned.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ALLOW_RULE&lt;/td&gt;
&lt;td&gt;Allow filter rule of target urls.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DENY_RULE&lt;/td&gt;
&lt;td&gt;Deny filter rule of target precedence overurls.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;IMAGE_XPATH&lt;/td&gt;
&lt;td&gt;Specify the image you want to get on the page with XPATH.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DOCUMENT_XPATH&lt;/td&gt;
&lt;td&gt;XPATH of the top node in the page where text is to be extracted.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PAGE_LIMIT&lt;/td&gt;
&lt;td&gt;Scaned limittation of number of pages. -1 means unlimited number.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;EXCLUDE_REG&lt;/td&gt;
&lt;td&gt;Regular expression of word rule not extracted by morphological analysis.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h2&gt;
  
  
  Result
&lt;/h2&gt;

&lt;p&gt;result/res.json&lt;/p&gt;
&lt;h2&gt;
  
  
  Project structure
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;File&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;src/scraper.py&lt;/td&gt;
&lt;td&gt;Main scrapying logic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;src/categorizer.py&lt;/td&gt;
&lt;td&gt;Main algorithm to tag and visualize passages.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;src/tokenizer.py&lt;/td&gt;
&lt;td&gt;Main algorithm to do morphological analysis&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h2&gt;
  
  
  Customize
&lt;/h2&gt;
&lt;h4&gt;
  
  
  custom/_formatter.py
&lt;/h4&gt;

&lt;p&gt;Edit XPATH for required HTML nodes like below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;formatter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sel&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;res&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;

    &lt;span class="n"&gt;n_howtomake&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sel&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;xpath&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'//*[@id="root"]/div/div/section/div/div/div[2]/div[1]/table[2]/tbody/tr/td/text()'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;extract&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"n_howtomake"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;n_howtomake&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;res&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h4&gt;
  
  
  custom/_finalizer.py
&lt;/h4&gt;

&lt;p&gt;Edit post-process to generate your expected output like below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;finalizer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;pages&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"scatter"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;pages&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;lambda&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"user_meta"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;pages&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    &lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DataFrame&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pages&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;corr_df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;loc&lt;/span&gt;&lt;span class="p"&gt;[:,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"time"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"n_howtomake"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"n_components"&lt;/span&gt;&lt;span class="p"&gt;]].&lt;/span&gt;&lt;span class="n"&gt;corr&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

    &lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"analyzed"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
    &lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"analyzed"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s"&gt;"correlation"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
    &lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"analyzed"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s"&gt;"correlation"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s"&gt;"time-n_howtomake"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;corr_df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;loc&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"time"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"n_howtomake"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;res&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h2&gt;
  
  
  Example
&lt;/h2&gt;

&lt;p&gt;Here is an example of using this tool for scraping and analysis.&lt;/p&gt;

&lt;p&gt;Let's analyze &lt;a href="http://recipe.hacarus.com/"&gt;free cooking recipe site&lt;/a&gt;.&lt;br&gt;
** If you can't access it, try opening it in secret mode. **&lt;/p&gt;

&lt;p&gt;All these results are stored in the "result" directory.&lt;/p&gt;

&lt;h3&gt;
  
  
  Visualize distribution of cooking time, number of ingredients, number of recipes
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;matplotlib.pyplot&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;plt&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;finalizer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;

    &lt;span class="n"&gt;pages&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"scatter"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;pages&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;lambda&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"user_meta"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;pages&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    &lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DataFrame&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pages&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;fig&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;figure&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"time"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"n_howtomake"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;scatter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;savefig&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'./result/time-n_howtomake.png'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;fig&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;figure&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"time"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"n_components"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;scatter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;savefig&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'./result/time-n_components.png'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;fig&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;figure&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"n_howtomake"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"n_components"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;scatter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;savefig&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'./result/n_howtomake-n_components.png'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;res&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h4&gt;
  
  
  Result
&lt;/h4&gt;

&lt;h5&gt;
  
  
  Cooking time: how to make
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WqhQuu3n--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/514619/5a4c2010-a296-d344-1217-dd4778c5d162.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WqhQuu3n--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/514619/5a4c2010-a296-d344-1217-dd4778c5d162.png" alt="time-n_howtomake.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Cooking time: number of ingredients
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BehamN5W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/514619/84e37f59-20fc-a40f-bb54-680509bd1701.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BehamN5W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/514619/84e37f59-20fc-a40f-bb54-680509bd1701.png" alt="time-n_components.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  How to make: Number of ingredients
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yfDzXht_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/514619/4fb6f67b-adbf-2c9c-52c0-f0580999a28f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yfDzXht_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/514619/4fb6f67b-adbf-2c9c-52c0-f0580999a28f.png" alt="n_howtomake-n_components.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Examine the correlation between cooking time, number of ingredients, and number of recipes
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;matplotlib.pyplot&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;plt&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;finalizer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;pages&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"scatter"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;pages&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;lambda&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"user_meta"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;pages&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    &lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DataFrame&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pages&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;corr_df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;loc&lt;/span&gt;&lt;span class="p"&gt;[:,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"time"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"n_howtomake"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"n_components"&lt;/span&gt;&lt;span class="p"&gt;]].&lt;/span&gt;&lt;span class="n"&gt;corr&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

    &lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"analyzed"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
    &lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"analyzed"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s"&gt;"correlation"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
    &lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"analyzed"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s"&gt;"correlation"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s"&gt;"time-n_howtomake"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;corr_df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;loc&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"time"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"n_howtomake"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"analyzed"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s"&gt;"correlation"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s"&gt;"time-n_components"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;corr_df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;loc&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"time"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"n_components"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"analyzed"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s"&gt;"correlation"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s"&gt;"n_howtomake-n_components"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;corr_df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;loc&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"n_howtomake"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"n_components"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

    &lt;span class="n"&gt;fig&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;figure&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;res&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h4&gt;
  
  
  Result
&lt;/h4&gt;

&lt;h5&gt;
  
  
  Cooking time: how to make
&lt;/h5&gt;

&lt;p&gt;&lt;code&gt;0.30457219729662316&lt;/code&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Cooking time: number of ingredients
&lt;/h5&gt;

&lt;p&gt;&lt;code&gt;0.3949520467754227&lt;/code&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  How to make: Number of ingredients
&lt;/h5&gt;

&lt;p&gt;&lt;code&gt;0.6869899620517819&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Select about three keywords that can be used to characterize each Leshig
&lt;/h3&gt;

&lt;p&gt;result/tagged.csv&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;title&lt;/th&gt;
&lt;th&gt;tag1&lt;/th&gt;
&lt;th&gt;tag2&lt;/th&gt;
&lt;th&gt;tag3&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;なすとトマトの中華和え(１５分)&lt;/td&gt;
&lt;td&gt;なす&lt;/td&gt;
&lt;td&gt;トマト&lt;/td&gt;
&lt;td&gt;大葉&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ぶりの照り焼き(45分)&lt;/td&gt;
&lt;td&gt;両面&lt;/td&gt;
&lt;td&gt;照り焼き&lt;/td&gt;
&lt;td&gt;水気&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;おでん風煮(2時間)&lt;/td&gt;
&lt;td&gt;大根&lt;/td&gt;
&lt;td&gt;こんにゃく&lt;/td&gt;
&lt;td&gt;竹輪&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;大根とツナのサラダ(15分)&lt;/td&gt;
&lt;td&gt;ツナ&lt;/td&gt;
&lt;td&gt;大根&lt;/td&gt;
&lt;td&gt;わかめ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;鶏の照り焼き丼(20分)&lt;/td&gt;
&lt;td&gt;片栗粉&lt;/td&gt;
&lt;td&gt;にんにく&lt;/td&gt;
&lt;td&gt;れんこん&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;筑前煮(６０分)&lt;/td&gt;
&lt;td&gt;れんこん&lt;/td&gt;
&lt;td&gt;ごぼう&lt;/td&gt;
&lt;td&gt;こんにゃく&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;白菜とわかめの酢の物(15分)&lt;/td&gt;
&lt;td&gt;白菜&lt;/td&gt;
&lt;td&gt;わかめ&lt;/td&gt;
&lt;td&gt;しめじ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;鮭のホイル焼き(25分)&lt;/td&gt;
&lt;td&gt;玉ねぎ&lt;/td&gt;
&lt;td&gt;しめじ&lt;/td&gt;
&lt;td&gt;ピーマン&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;キャベツとハムの粒マスタード和え(１５分)&lt;/td&gt;
&lt;td&gt;キャベツ&lt;/td&gt;
&lt;td&gt;しめじ&lt;/td&gt;
&lt;td&gt;ハム&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;えのきとワカメの和え物(15分)&lt;/td&gt;
&lt;td&gt;えのき&lt;/td&gt;
&lt;td&gt;わかめ&lt;/td&gt;
&lt;td&gt;きゅうり&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;里芋のおやき(３０分)&lt;/td&gt;
&lt;td&gt;里芋&lt;/td&gt;
&lt;td&gt;片栗粉&lt;/td&gt;
&lt;td&gt;桜えび&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;鶏肉と里芋の煮物(60分)&lt;/td&gt;
&lt;td&gt;里芋&lt;/td&gt;
&lt;td&gt;鶏肉&lt;/td&gt;
&lt;td&gt;相性&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;焼き万願寺唐辛子(10分)&lt;/td&gt;
&lt;td&gt;万願寺唐辛子&lt;/td&gt;
&lt;td&gt;かつお節&lt;/td&gt;
&lt;td&gt;作り方&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;肉じゃが(45分)&lt;/td&gt;
&lt;td&gt;玉ねぎ&lt;/td&gt;
&lt;td&gt;牛肉&lt;/td&gt;
&lt;td&gt;じゃがいも&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;鰆の幽庵焼き(１５分(漬け込む時間は省く))&lt;/td&gt;
&lt;td&gt;冷蔵庫&lt;/td&gt;
&lt;td&gt;鰆&lt;/td&gt;
&lt;td&gt;ゆず&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;オクラの煮びたし(１０分(冷やす時間は除く))&lt;/td&gt;
&lt;td&gt;オクラ&lt;/td&gt;
&lt;td&gt;しょうが&lt;/td&gt;
&lt;td&gt;オクラ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;春菊と油揚げの煮びたし(15分)&lt;/td&gt;
&lt;td&gt;春菊&lt;/td&gt;
&lt;td&gt;油揚げ&lt;/td&gt;
&lt;td&gt;春菊&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;しいたけのツナマヨ焼き(１０分)&lt;/td&gt;
&lt;td&gt;マヨネーズ&lt;/td&gt;
&lt;td&gt;塩コショウ&lt;/td&gt;
&lt;td&gt;しいたけ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;コールスロー(15分)&lt;/td&gt;
&lt;td&gt;キャベツ&lt;/td&gt;
&lt;td&gt;マヨネーズ&lt;/td&gt;
&lt;td&gt;きゅうり&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;じゃがいもとタコのガーリック炒め(２０分)&lt;/td&gt;
&lt;td&gt;にんにく&lt;/td&gt;
&lt;td&gt;じゃがいも&lt;/td&gt;
&lt;td&gt;タコ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;棒棒鶏(３０分)&lt;/td&gt;
&lt;td&gt;しょうが&lt;/td&gt;
&lt;td&gt;トマト&lt;/td&gt;
&lt;td&gt;きゅうり&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;アボカドのチーズ焼き(15分)&lt;/td&gt;
&lt;td&gt;アボカド&lt;/td&gt;
&lt;td&gt;ハム&lt;/td&gt;
&lt;td&gt;チーズ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;キャベツと大葉のさっぱり和え(１０分)&lt;/td&gt;
&lt;td&gt;大葉&lt;/td&gt;
&lt;td&gt;キャベツ&lt;/td&gt;
&lt;td&gt;大葉&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;カニカマサラダ(10分)&lt;/td&gt;
&lt;td&gt;レタス&lt;/td&gt;
&lt;td&gt;きゅうり&lt;/td&gt;
&lt;td&gt;サラダ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ズッキーニともやしのナムル(１５分)&lt;/td&gt;
&lt;td&gt;ズッキーニ&lt;/td&gt;
&lt;td&gt;もやし&lt;/td&gt;
&lt;td&gt;粗熱&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;春雨サラダ(１５分)&lt;/td&gt;
&lt;td&gt;春雨&lt;/td&gt;
&lt;td&gt;きゅうり&lt;/td&gt;
&lt;td&gt;ハム&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;白菜と油揚げのみぞれ煮(３０分)&lt;/td&gt;
&lt;td&gt;大根&lt;/td&gt;
&lt;td&gt;白菜&lt;/td&gt;
&lt;td&gt;油揚げ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;牛肉とれんこんの甘辛炒め(30分)&lt;/td&gt;
&lt;td&gt;れんこん&lt;/td&gt;
&lt;td&gt;にんにく&lt;/td&gt;
&lt;td&gt;牛肉&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;豚丼(30分)&lt;/td&gt;
&lt;td&gt;しょうが&lt;/td&gt;
&lt;td&gt;しめじ&lt;/td&gt;
&lt;td&gt;レタス&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;紅白なます(30分)&lt;/td&gt;
&lt;td&gt;ゆず皮&lt;/td&gt;
&lt;td&gt;大根&lt;/td&gt;
&lt;td&gt;部分&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;里芋のガーリック焼き(３０分)&lt;/td&gt;
&lt;td&gt;里芋&lt;/td&gt;
&lt;td&gt;にんにく&lt;/td&gt;
&lt;td&gt;香り&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ブロッコリーのごまみそ和え(10分)&lt;/td&gt;
&lt;td&gt;ブロッコリー&lt;/td&gt;
&lt;td&gt;和風&lt;/td&gt;
&lt;td&gt;みそ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ブロッコリーのゴマ和え(１５分)&lt;/td&gt;
&lt;td&gt;ブロッコリー&lt;/td&gt;
&lt;td&gt;出汁醤油&lt;/td&gt;
&lt;td&gt;粗熱&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;かぶの甘酢漬け(１時間)&lt;/td&gt;
&lt;td&gt;ゆず&lt;/td&gt;
&lt;td&gt;甘酢&lt;/td&gt;
&lt;td&gt;昆布&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;さんまのしょうが煮(３０分)&lt;/td&gt;
&lt;td&gt;さんま&lt;/td&gt;
&lt;td&gt;しょうが&lt;/td&gt;
&lt;td&gt;圧力&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;スパゲティーサラダ(２０分)&lt;/td&gt;
&lt;td&gt;大根&lt;/td&gt;
&lt;td&gt;きゅうり&lt;/td&gt;
&lt;td&gt;スパゲッティ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;切り干し大根の煮物(２５分)&lt;/td&gt;
&lt;td&gt;切り干し大根&lt;/td&gt;
&lt;td&gt;油揚げ&lt;/td&gt;
&lt;td&gt;短冊&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;なすとオクラの和え物(１０分)&lt;/td&gt;
&lt;td&gt;なす&lt;/td&gt;
&lt;td&gt;オクラ&lt;/td&gt;
&lt;td&gt;出汁醤油&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;なすと厚揚げのおろしあん(30分)&lt;/td&gt;
&lt;td&gt;厚揚げ&lt;/td&gt;
&lt;td&gt;なす&lt;/td&gt;
&lt;td&gt;片栗粉&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ごぼうのごまマヨサラダ(15分)&lt;/td&gt;
&lt;td&gt;ごぼう&lt;/td&gt;
&lt;td&gt;好み&lt;/td&gt;
&lt;td&gt;一味&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;水菜と長いものわさび和え(１５分)&lt;/td&gt;
&lt;td&gt;水菜&lt;/td&gt;
&lt;td&gt;長いも&lt;/td&gt;
&lt;td&gt;わさび&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ピーマンのじゃこ炒め(１５分)&lt;/td&gt;
&lt;td&gt;ピーマン&lt;/td&gt;
&lt;td&gt;雑魚&lt;/td&gt;
&lt;td&gt;顆粒和風だし&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;なすと豚肉のごまみそ丼(20分)&lt;/td&gt;
&lt;td&gt;なす&lt;/td&gt;
&lt;td&gt;丼&lt;/td&gt;
&lt;td&gt;ピーマン&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ピリ辛豆腐ステーキ(30分)&lt;/td&gt;
&lt;td&gt;豆腐&lt;/td&gt;
&lt;td&gt;しょうが&lt;/td&gt;
&lt;td&gt;白ネギ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;白菜とハムの青じそサラダ(20分)&lt;/td&gt;
&lt;td&gt;白菜&lt;/td&gt;
&lt;td&gt;大葉&lt;/td&gt;
&lt;td&gt;ハム&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;鮭のシャリアピンソースがけ(30分)&lt;/td&gt;
&lt;td&gt;鮭&lt;/td&gt;
&lt;td&gt;にんにく&lt;/td&gt;
&lt;td&gt;ソース&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;白菜のさっぱりサラダ(15分)&lt;/td&gt;
&lt;td&gt;白菜&lt;/td&gt;
&lt;td&gt;きゅうり&lt;/td&gt;
&lt;td&gt;サラダ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;かぶと肉団子の煮物(30分)&lt;/td&gt;
&lt;td&gt;しょうが&lt;/td&gt;
&lt;td&gt;鶏ミンチ&lt;/td&gt;
&lt;td&gt;片栗粉&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ごぼうの梅おかか煮(４５分)&lt;/td&gt;
&lt;td&gt;ごぼう&lt;/td&gt;
&lt;td&gt;かつお節&lt;/td&gt;
&lt;td&gt;圧力鍋&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;切り干し大根とほうれん草の和え物(20分(水に戻す時間は除く))&lt;/td&gt;
&lt;td&gt;ほうれん草&lt;/td&gt;
&lt;td&gt;切り干し大根&lt;/td&gt;
&lt;td&gt;熱湯&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;かぼちゃと揚げの煮物(20分)&lt;/td&gt;
&lt;td&gt;かぼちゃ&lt;/td&gt;
&lt;td&gt;油揚げ&lt;/td&gt;
&lt;td&gt;揚げ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;さつまいものレモン煮(30分)&lt;/td&gt;
&lt;td&gt;さつまいも&lt;/td&gt;
&lt;td&gt;レモン汁&lt;/td&gt;
&lt;td&gt;レモン&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;菜の花の辛子和え(15分)&lt;/td&gt;
&lt;td&gt;菜の花&lt;/td&gt;
&lt;td&gt;練りからし&lt;/td&gt;
&lt;td&gt;長さ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;かぼちゃとこんにゃくの煮物(30分)&lt;/td&gt;
&lt;td&gt;こんにゃく&lt;/td&gt;
&lt;td&gt;かぼちゃ&lt;/td&gt;
&lt;td&gt;熱湯&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ゆず入り湯豆腐(１時間)&lt;/td&gt;
&lt;td&gt;豆腐&lt;/td&gt;
&lt;td&gt;春菊&lt;/td&gt;
&lt;td&gt;好み&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;大根と厚揚げの煮物(６０分)&lt;/td&gt;
&lt;td&gt;厚揚げ&lt;/td&gt;
&lt;td&gt;大根&lt;/td&gt;
&lt;td&gt;彩り&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;小松菜ぎょうざ(45分)&lt;/td&gt;
&lt;td&gt;小松菜&lt;/td&gt;
&lt;td&gt;にんにく&lt;/td&gt;
&lt;td&gt;しょうが&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;水菜と油揚げの煮びたし(15分)&lt;/td&gt;
&lt;td&gt;油揚げ&lt;/td&gt;
&lt;td&gt;水菜&lt;/td&gt;
&lt;td&gt;食感&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ふろふき大根(３０分以上)&lt;/td&gt;
&lt;td&gt;大根&lt;/td&gt;
&lt;td&gt;味噌&lt;/td&gt;
&lt;td&gt;いりごま&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;春菊の白和え(１５分)&lt;/td&gt;
&lt;td&gt;春菊&lt;/td&gt;
&lt;td&gt;豆腐&lt;/td&gt;
&lt;td&gt;白和え&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;なすのホイル焼き(15分)&lt;/td&gt;
&lt;td&gt;なす&lt;/td&gt;
&lt;td&gt;生姜&lt;/td&gt;
&lt;td&gt;ホイル&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;えびとニラの中華風卵炒め(30分)&lt;/td&gt;
&lt;td&gt;玉ねぎ&lt;/td&gt;
&lt;td&gt;ニラ&lt;/td&gt;
&lt;td&gt;えび&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ししゃもの南蛮漬け(３０分)&lt;/td&gt;
&lt;td&gt;ししゃも&lt;/td&gt;
&lt;td&gt;南蛮漬け&lt;/td&gt;
&lt;td&gt;ピーマン&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;八宝菜(３０分)&lt;/td&gt;
&lt;td&gt;豚肉&lt;/td&gt;
&lt;td&gt;白菜&lt;/td&gt;
&lt;td&gt;玉ねぎ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ブロッコリーのわさマヨ和え(１５分)&lt;/td&gt;
&lt;td&gt;ブロッコリー&lt;/td&gt;
&lt;td&gt;食感&lt;/td&gt;
&lt;td&gt;わさび&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;鶏のすき煮(30分)&lt;/td&gt;
&lt;td&gt;鶏肉&lt;/td&gt;
&lt;td&gt;鶏もも肉&lt;/td&gt;
&lt;td&gt;しいたけ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;里芋の梅おかか和え(35分)&lt;/td&gt;
&lt;td&gt;里芋&lt;/td&gt;
&lt;td&gt;梅干し&lt;/td&gt;
&lt;td&gt;かつお節&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ブロッコリーの磯和え(15分)&lt;/td&gt;
&lt;td&gt;ブロッコリー&lt;/td&gt;
&lt;td&gt;出汁醤油&lt;/td&gt;
&lt;td&gt;焼き海苔&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;焼き鳥丼(20分)&lt;/td&gt;
&lt;td&gt;鶏肉&lt;/td&gt;
&lt;td&gt;鶏もも肉&lt;/td&gt;
&lt;td&gt;白ネギ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ほうれん草のお浸し(10分)&lt;/td&gt;
&lt;td&gt;かつお節&lt;/td&gt;
&lt;td&gt;ほうれん草&lt;/td&gt;
&lt;td&gt;10分&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;さんまの梅しそロール(45分)&lt;/td&gt;
&lt;td&gt;片栗粉&lt;/td&gt;
&lt;td&gt;さんま&lt;/td&gt;
&lt;td&gt;大葉&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;きゅうりとトマトの土佐酢和え(３０分)&lt;/td&gt;
&lt;td&gt;トマト&lt;/td&gt;
&lt;td&gt;きゅうり&lt;/td&gt;
&lt;td&gt;かつお節&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;さばの味噌煮(30分)&lt;/td&gt;
&lt;td&gt;さば&lt;/td&gt;
&lt;td&gt;味噌&lt;/td&gt;
&lt;td&gt;しょうが&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;エリンギのバター炒め(15分)&lt;/td&gt;
&lt;td&gt;エリンギ&lt;/td&gt;
&lt;td&gt;バター&lt;/td&gt;
&lt;td&gt;エリンギ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;さつまいもとクリームチーズのサラダ(２0分)&lt;/td&gt;
&lt;td&gt;さつまいも&lt;/td&gt;
&lt;td&gt;マヨネーズ&lt;/td&gt;
&lt;td&gt;塩コショウ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;薄揚げの納豆キムチ詰め(15分)&lt;/td&gt;
&lt;td&gt;キムチ&lt;/td&gt;
&lt;td&gt;納豆&lt;/td&gt;
&lt;td&gt;長ネギ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;鮭の味噌ヨーグルト漬け(１５分(漬け込む時間は除く))&lt;/td&gt;
&lt;td&gt;味噌&lt;/td&gt;
&lt;td&gt;鮭&lt;/td&gt;
&lt;td&gt;ヨーグルト&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;五目豆(４５分)&lt;/td&gt;
&lt;td&gt;ごぼう&lt;/td&gt;
&lt;td&gt;れんこん&lt;/td&gt;
&lt;td&gt;こんにゃく&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;新生姜と水菜の肉巻き(３０分)&lt;/td&gt;
&lt;td&gt;新生姜&lt;/td&gt;
&lt;td&gt;水菜&lt;/td&gt;
&lt;td&gt;肉&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;小松菜とツナの和え物(１５分)&lt;/td&gt;
&lt;td&gt;小松菜&lt;/td&gt;
&lt;td&gt;ツナ&lt;/td&gt;
&lt;td&gt;水気&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;手羽中と大根の煮物(４５分)&lt;/td&gt;
&lt;td&gt;大根&lt;/td&gt;
&lt;td&gt;手羽中&lt;/td&gt;
&lt;td&gt;弱火&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;手羽先の照り焼き(60分)&lt;/td&gt;
&lt;td&gt;表面&lt;/td&gt;
&lt;td&gt;手羽先&lt;/td&gt;
&lt;td&gt;にんにく&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ほうれん草の梅和え(15分)&lt;/td&gt;
&lt;td&gt;ほうれん草&lt;/td&gt;
&lt;td&gt;梅&lt;/td&gt;
&lt;td&gt;梅干し&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;なめこおろし(１５分)&lt;/td&gt;
&lt;td&gt;なめこ&lt;/td&gt;
&lt;td&gt;大葉&lt;/td&gt;
&lt;td&gt;かつお節&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;簡単タンドリーチキン(１時間以上)&lt;/td&gt;
&lt;td&gt;1時間&lt;/td&gt;
&lt;td&gt;塩コショウ&lt;/td&gt;
&lt;td&gt;タンドリーチキン&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;あさりの酒蒸し(15分)&lt;/td&gt;
&lt;td&gt;あさり&lt;/td&gt;
&lt;td&gt;にんにく&lt;/td&gt;
&lt;td&gt;みじん切り&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ピーマンの肉詰め(３０分)&lt;/td&gt;
&lt;td&gt;玉ねぎ&lt;/td&gt;
&lt;td&gt;ピーマン&lt;/td&gt;
&lt;td&gt;肉&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ちくわの磯辺揚げ(15分)&lt;/td&gt;
&lt;td&gt;竹輪&lt;/td&gt;
&lt;td&gt;青のり&lt;/td&gt;
&lt;td&gt;衣&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;長いもの梅和え(10分)&lt;/td&gt;
&lt;td&gt;長いも&lt;/td&gt;
&lt;td&gt;かつお節&lt;/td&gt;
&lt;td&gt;梅干し&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;水菜とアボカドのサラダ(１５分)&lt;/td&gt;
&lt;td&gt;アボカド&lt;/td&gt;
&lt;td&gt;水菜&lt;/td&gt;
&lt;td&gt;豆腐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;酢鶏(20分)&lt;/td&gt;
&lt;td&gt;鶏肉&lt;/td&gt;
&lt;td&gt;鶏がらスープの素&lt;/td&gt;
&lt;td&gt;一口&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;鯛の西京焼き(１５分(漬け込む時間は除く))&lt;/td&gt;
&lt;td&gt;鯛&lt;/td&gt;
&lt;td&gt;冷蔵庫&lt;/td&gt;
&lt;td&gt;魚&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;きゅうりの塩昆布和え(10分)&lt;/td&gt;
&lt;td&gt;きゅうり&lt;/td&gt;
&lt;td&gt;塩昆布&lt;/td&gt;
&lt;td&gt;乱切り&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;なすの煮びたし(20分)&lt;/td&gt;
&lt;td&gt;なす&lt;/td&gt;
&lt;td&gt;しょうが&lt;/td&gt;
&lt;td&gt;作り方&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ごぼうと人参の肉巻き(30分)&lt;/td&gt;
&lt;td&gt;ごぼう&lt;/td&gt;
&lt;td&gt;肉&lt;/td&gt;
&lt;td&gt;にんにく&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;大根・里芋・イカの煮物(40分)&lt;/td&gt;
&lt;td&gt;イカ&lt;/td&gt;
&lt;td&gt;大根&lt;/td&gt;
&lt;td&gt;里芋&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;回鍋肉(30分)&lt;/td&gt;
&lt;td&gt;豚肉&lt;/td&gt;
&lt;td&gt;にんにく&lt;/td&gt;
&lt;td&gt;片栗粉&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ほうれん草と干しえびのゴマ和え(１５分)&lt;/td&gt;
&lt;td&gt;ほうれん草&lt;/td&gt;
&lt;td&gt;干しエビ&lt;/td&gt;
&lt;td&gt;干しえび&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;里芋のそぼろ煮(３０分)&lt;/td&gt;
&lt;td&gt;里芋&lt;/td&gt;
&lt;td&gt;片栗粉&lt;/td&gt;
&lt;td&gt;鶏ミンチ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;三度豆と人参のおかか和え(１０分)&lt;/td&gt;
&lt;td&gt;三度豆&lt;/td&gt;
&lt;td&gt;湯&lt;/td&gt;
&lt;td&gt;出汁醤油&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;中華丼(30分)&lt;/td&gt;
&lt;td&gt;チンゲン菜&lt;/td&gt;
&lt;td&gt;しめじ&lt;/td&gt;
&lt;td&gt;豚肉&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;きゅうりとたこの酢の物(20分)&lt;/td&gt;
&lt;td&gt;きゅうり&lt;/td&gt;
&lt;td&gt;たこ&lt;/td&gt;
&lt;td&gt;わかめ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;新玉ねぎのコンソメ煮込み(45分)&lt;/td&gt;
&lt;td&gt;片栗粉&lt;/td&gt;
&lt;td&gt;鶏ミンチ&lt;/td&gt;
&lt;td&gt;新玉ねぎ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;れんこんのきんぴら(１５分)&lt;/td&gt;
&lt;td&gt;れんこん&lt;/td&gt;
&lt;td&gt;いりごま&lt;/td&gt;
&lt;td&gt;中火&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;野菜たっぷり牛丼(20分)&lt;/td&gt;
&lt;td&gt;玉ねぎ&lt;/td&gt;
&lt;td&gt;ニラ&lt;/td&gt;
&lt;td&gt;しめじ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ホタテとチンゲン菜のクリーム煮(２０分)&lt;/td&gt;
&lt;td&gt;片栗粉&lt;/td&gt;
&lt;td&gt;にんにく&lt;/td&gt;
&lt;td&gt;チンゲン菜&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ほうれん草とごぼうの白和え(60分)&lt;/td&gt;
&lt;td&gt;ごぼう&lt;/td&gt;
&lt;td&gt;豆腐&lt;/td&gt;
&lt;td&gt;ほうれん草&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;さんまの蒲焼き(３０分)&lt;/td&gt;
&lt;td&gt;さんま&lt;/td&gt;
&lt;td&gt;ごま&lt;/td&gt;
&lt;td&gt;大葉&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ひじきの炒め煮(６０分)&lt;/td&gt;
&lt;td&gt;ひじき&lt;/td&gt;
&lt;td&gt;油揚げ&lt;/td&gt;
&lt;td&gt;大豆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;オクラの納豆和え(１０分)&lt;/td&gt;
&lt;td&gt;かつお節&lt;/td&gt;
&lt;td&gt;オクラ&lt;/td&gt;
&lt;td&gt;納豆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;じゃこのサラダ(１０分)&lt;/td&gt;
&lt;td&gt;縮緬雑魚&lt;/td&gt;
&lt;td&gt;貝割れ大根&lt;/td&gt;
&lt;td&gt;水菜&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;里芋のホットサラダ(45分)&lt;/td&gt;
&lt;td&gt;里芋&lt;/td&gt;
&lt;td&gt;ほうれん草&lt;/td&gt;
&lt;td&gt;ベーコン&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;かぼちゃのサラダ(１５分)&lt;/td&gt;
&lt;td&gt;かぼちゃ&lt;/td&gt;
&lt;td&gt;ヨーグルト&lt;/td&gt;
&lt;td&gt;きゅうり&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;豆腐のきのこあんかけ(１０分)&lt;/td&gt;
&lt;td&gt;豆腐&lt;/td&gt;
&lt;td&gt;しめじ&lt;/td&gt;
&lt;td&gt;えのき&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;春巻き(60分)&lt;/td&gt;
&lt;td&gt;しょうが&lt;/td&gt;
&lt;td&gt;春雨&lt;/td&gt;
&lt;td&gt;ニラ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;れんこんのはさみ焼き(３０分)&lt;/td&gt;
&lt;td&gt;れんこん&lt;/td&gt;
&lt;td&gt;しょうが&lt;/td&gt;
&lt;td&gt;鶏ミンチ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;高野豆腐の含め煮(30分)&lt;/td&gt;
&lt;td&gt;高野豆腐&lt;/td&gt;
&lt;td&gt;竹串&lt;/td&gt;
&lt;td&gt;水気&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;豚ミンチと白菜の炒め物(15分)&lt;/td&gt;
&lt;td&gt;春雨&lt;/td&gt;
&lt;td&gt;白菜&lt;/td&gt;
&lt;td&gt;にんにく&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;いわしのさっぱり煮(４５分)&lt;/td&gt;
&lt;td&gt;いわし&lt;/td&gt;
&lt;td&gt;しょうが&lt;/td&gt;
&lt;td&gt;長ネギ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;れんこんのカレー炒め(１５分)&lt;/td&gt;
&lt;td&gt;れんこん&lt;/td&gt;
&lt;td&gt;OLIVE OIL&lt;/td&gt;
&lt;td&gt;カレー粉&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ささみの中華風サラダ(25分)&lt;/td&gt;
&lt;td&gt;ささみ&lt;/td&gt;
&lt;td&gt;もやし&lt;/td&gt;
&lt;td&gt;きゅうり&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;茄子と豚肉のピリ辛味噌炒め(30分)&lt;/td&gt;
&lt;td&gt;豚肉&lt;/td&gt;
&lt;td&gt;茄子&lt;/td&gt;
&lt;td&gt;豆板醤&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ささみのから揚げ(30分)&lt;/td&gt;
&lt;td&gt;ささみ&lt;/td&gt;
&lt;td&gt;にんにく&lt;/td&gt;
&lt;td&gt;しょうが&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Call for ideas
&lt;/h2&gt;

&lt;p&gt;What do you want to do with this tool?&lt;br&gt;
If there is a need, it may be addressed in a future update.&lt;br&gt;
We look forward to your comments.&lt;/p&gt;

</description>
      <category>python</category>
      <category>scrapy</category>
      <category>gensim</category>
      <category>scraping</category>
    </item>
    <item>
      <title>[GPT-2] The problem feeling when trying to support multi-language with GPT-2</title>
      <dc:creator>makotunes</dc:creator>
      <pubDate>Sat, 18 Jan 2020 14:11:34 +0000</pubDate>
      <link>https://dev.to/makotunes/gpt-2-the-problem-feeling-when-trying-to-support-multi-language-with-gpt-2-1gch</link>
      <guid>https://dev.to/makotunes/gpt-2-the-problem-feeling-when-trying-to-support-multi-language-with-gpt-2-1gch</guid>
      <description>&lt;h1&gt;
  
  
  Online tool is published
&lt;/h1&gt;

&lt;p&gt;Normal GPT-2 only supports English, but developed a tool that supports multiple languages.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://mockers.io/generator"&gt;https://mockers.io/generator&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fazwrlYh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/514619/d36564cb-1a88-e720-c0f4-7f51555bd5de.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fazwrlYh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/514619/d36564cb-1a88-e720-c0f4-7f51555bd5de.png" alt="screencapture-mockers-io-generator-2020-01-18-22_40_58.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Design
&lt;/h2&gt;

&lt;p&gt;Actually it has a three-stage configuration,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Language identification and translation into English&lt;/li&gt;
&lt;li&gt;GPT-2 main processing&lt;/li&gt;
&lt;li&gt;Restore from English to the identified original language&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is a fake multilingual support.&lt;/p&gt;

&lt;p&gt;The model is compatible with the recently published best performing 1558M, which seems to produce very natural sentences in English.&lt;br&gt;
On the other hand, in Japanese, it is a very machine-translated sentence.&lt;/p&gt;

&lt;h2&gt;
  
  
  Problem
&lt;/h2&gt;

&lt;p&gt;It will be more natural to support Japanese native as a model.&lt;/p&gt;

&lt;p&gt;GPT-2 originally uses English-written news sites as learning data, so it is good at generating sentences that can be told there. GPT-2 basically gives a sentence first and then guesses the proper sentences to come after. For example, if you generate "President Trump" in Japanese, it will be a bit decent. Other Languages probably too.&lt;/p&gt;

&lt;p&gt;On the other hand, giving words that are far from English-speaking cultures tends to be unnatural. In order to obtain natural Japanese, of course, we do not use translations, but it is also very important to learn Japanese-speaking sentences.&lt;/p&gt;

&lt;p&gt;By the way, it is possible to generate sentences recursively from the generated sentences, but it is also a problem that in languages ​​other than English, the translation is repeated and it deteriorates rapidly.&lt;/p&gt;

&lt;p&gt;But is there a need for multilingual native models?&lt;/p&gt;

&lt;h2&gt;
  
  
  Prospects for future AI generation
&lt;/h2&gt;

&lt;p&gt;At present, sentence generation in large-scale unsupervised learning has become higher in terms of naturalness, but I feel that it is not good to adapt to something.&lt;br&gt;
In my personal opinion, I have the following issues.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How to learn common sense and facts&lt;/li&gt;
&lt;li&gt;Can I generate sentences with purpose?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If these parts are resolved, I think it will have business value.&lt;/p&gt;

&lt;h2&gt;
  
  
  Finally
&lt;/h2&gt;

&lt;p&gt;GPT-2 related tools are highly acclaimed and under development, so if you are interested, please read this article.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/makotunes/by-using-gpt-2-which-is-too-dangerous-i-finetuned-a-model-with-president-trump-s-twitter-and-made-a-fake-trump-bot-2j0h"&gt;https://dev.to/makotunes/by-using-gpt-2-which-is-too-dangerous-i-finetuned-a-model-with-president-trump-s-twitter-and-made-a-fake-trump-bot-2j0h&lt;/a&gt;&lt;/p&gt;

</description>
      <category>gpt2</category>
    </item>
    <item>
      <title>[GPT-2] Fine-tuning a model with President Trump's Twitter and making a fake Trump bot with GPT-2 , which is "too dangerous"</title>
      <dc:creator>makotunes</dc:creator>
      <pubDate>Sat, 21 Dec 2019 10:31:51 +0000</pubDate>
      <link>https://dev.to/makotunes/by-using-gpt-2-which-is-too-dangerous-i-finetuned-a-model-with-president-trump-s-twitter-and-made-a-fake-trump-bot-2j0h</link>
      <guid>https://dev.to/makotunes/by-using-gpt-2-which-is-too-dangerous-i-finetuned-a-model-with-president-trump-s-twitter-and-made-a-fake-trump-bot-2j0h</guid>
      <description>&lt;h2&gt;
  
  
  Background
&lt;/h2&gt;

&lt;p&gt;By using &lt;a href="https://github.com/openai/gpt-2" rel="noopener noreferrer"&gt;GPT-2&lt;/a&gt;, which is published by OpenAI, We can generate very natural passages.&lt;/p&gt;

&lt;p&gt;According to &lt;a href="https://www.zdnet.com/article/openais-dangerous-ai-text-generator-is-out-people-find-gpt-2s-words-convincing/" rel="noopener noreferrer"&gt;Cornell University survey&lt;/a&gt;, some say that 70% of people who read the text generated by GPT-2 misunderstand the text as an article in the New York Times.&lt;/p&gt;

&lt;p&gt;At first, full size model was not published because developers guessed that it would have risk used with bad purpose.&lt;br&gt;
However, fortunately, the full size model (the largest 1.5 billion class) model has been already released and availeble.&lt;/p&gt;

&lt;p&gt;However, in fact, we are not sure about how this AI can be used effectively.&lt;br&gt;
Therefore, I developed and released a web application called "Mockers", an online tool that anyone can easily use GPT-2.&lt;br&gt;
This will provide an opportunity to consider how to use GPT-2.&lt;/p&gt;

&lt;p&gt;First of all, if you want to see what GPT-2 is, try this Mockers generation tool.&lt;br&gt;
&lt;a href="https://mockers.io/generator" rel="noopener noreferrer"&gt;https://mockers.io/generator&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Please refer to below links to understand how to use.&lt;br&gt;
&lt;a href="https://doc.mockers.io/archives/1966/" rel="noopener noreferrer"&gt;https://doc.mockers.io/archives/1966/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://doc.mockers.io/archives/1987/" rel="noopener noreferrer"&gt;https://doc.mockers.io/archives/1987/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Purpose
&lt;/h2&gt;

&lt;p&gt;Share the results of experiments using Mockers for fine-tuning.&lt;/p&gt;

&lt;p&gt;Fine-tuning is to provide additional data using a model that has already been learned, perform learning at low cost, and generate another model.&lt;br&gt;
A model is created that learns the context and style of the given sentence and generates the sentence in a way that follows.&lt;br&gt;
Mockers does not just try GPT-2, but also supports fine-tuning and automatic posting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Usecase
&lt;/h2&gt;

&lt;p&gt;By using this mechanism, for example, the following use cases are realized.&lt;/p&gt;

&lt;p&gt;-You can build a media that receives Page Views outbreaks so that it does not infringe on the copyright of a curated media, imitate it, and parasitize it.&lt;/p&gt;

&lt;p&gt;-You can build a bot that keeps impersonating a certain Twitter account.&lt;/p&gt;

&lt;h2&gt;
  
  
  Experiment
&lt;/h2&gt;

&lt;p&gt;In this article, as a demonstration, to experiment with fine-tuning using GPT-2,&lt;br&gt;
I used Mockers to finetunin about President Trump's Twitter and create a President Fake Trump bot.&lt;/p&gt;

&lt;p&gt;Here, too, you can always see the latest President Trump's Mock.&lt;br&gt;
&lt;a href="https://mockers.io/timeline" rel="noopener noreferrer"&gt;https://mockers.io/timeline&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Procedure
&lt;/h2&gt;

&lt;p&gt;Please visit here.&lt;br&gt;
&lt;a href="https://mockers.io/login" rel="noopener noreferrer"&gt;https://mockers.io/login&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdoc.mockers.io%2Fwp-content%2Fuploads%2F2019%2F10%2Fscreencapture-mockers-io-register-2019-10-12-21_30_59-1024x747.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdoc.mockers.io%2Fwp-content%2Fuploads%2F2019%2F10%2Fscreencapture-mockers-io-register-2019-10-12-21_30_59-1024x747.png" alt="screencapture-mockers-io-login-2019-12-20-06_38_44.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You need to login for fine-tuning. Sign up or use a Google account.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdoc.mockers.io%2Fwp-content%2Fuploads%2F2019%2F10%2Fscreencapture-mockers-io-2019-10-12-21_41_43-1-1024x754.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdoc.mockers.io%2Fwp-content%2Fuploads%2F2019%2F10%2Fscreencapture-mockers-io-2019-10-12-21_41_43-1-1024x754.png" alt="screencapture-mockers-io-2019-12-20-06_32_05.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If the login is successful, you will be prompted to create a model, so press “Create screen”.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdoc.mockers.io%2Fwp-content%2Fuploads%2F2019%2F10%2Fscreencapture-mockers-io-model-settings-2019-10-15-19_50_49-1024x745.png" class="article-body-image-wrapper"&gt;&lt;img alt="70b9de1e-26c3-8c28-719b-6d0e34a46eef.png" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdoc.mockers.io%2Fwp-content%2Fuploads%2F2019%2F10%2Fscreencapture-mockers-io-model-settings-2019-10-15-19_50_49-1024x745.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When the new model dialog is displayed, input "Model name" as appropriate and set "Model type" to "Custom model (Twitter)". This allows you to generate a fine-tuning model for your Twitter account. On "Model Settings", In "Sync Target Account (input)", enter the target Twitter account.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fqjzckb1yc0w5mjjx0a4k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fqjzckb1yc0w5mjjx0a4k.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Currently, it takes up to two hours to generate a model.&lt;br&gt;
When a model is generated, it is automatically generated periodically, but you can also register an account to tweet the generated text.&lt;br&gt;
To do this, you need to register with &lt;a href="https://developer.twitter.com/en/apps" rel="noopener noreferrer"&gt;Twitter API&lt;/a&gt; in advance.&lt;br&gt;
See the following article for how to apply.&lt;br&gt;
&lt;a href="https://dev.to/twitterdev/using-the-twitter-api-to-make-your-commute-easier-3od0"&gt;https://dev.to/twitterdev/using-the-twitter-api-to-make-your-commute-easier-3od0&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Twitter account entered in "Sync Target Account" triggers original your account to generate a sentence that is related to the tweet to Twitter.&lt;/p&gt;

&lt;p&gt;In this way, "mock" is realized.&lt;/p&gt;

&lt;h2&gt;
  
  
  Result
&lt;/h2&gt;

&lt;p&gt;Here's what Fake Trump actually tweeted: It's not necessarily what he says, but sometimes he says something appropriate to his position, and otherwise it's generated with topics related to what he said in the past You can see that.&lt;/p&gt;

&lt;blockquote&gt;&lt;a href="https://twitter.com/mockers2019/status/1204137659867844610?s=20" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;/blockquote&gt;

&lt;blockquote&gt;&lt;a href="https://twitter.com/mockers2019/status/1206927495808913408?s=20" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;/blockquote&gt;

&lt;blockquote&gt;&lt;a href="https://twitter.com/mockers2019/status/1206933316223537153?s=20" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Problem
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;GPT-2 can control the length of each word, but cannot control the number of characters, so it cannot be optimized with media that is severe in character length such as Twitter. As a result, if you exceed the Twitter limit of 280 characters, you have to force cut it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The GPU memory required for fine-tuning is too large, and models larger than 774M will not work with GPUs that can be used by ordinary people. Even the personally owned "Geforce GTX1080 Ti" and AWS P3 instance "Tesla V100" did not work due to lack of memory. (Normal prediction can work well)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  In the end
&lt;/h2&gt;

&lt;p&gt;It is expected that sentence generation technology using large-scale unsupervised learning will continue to improve its accuracy and shift to the phase of practical use in the future. We hope this article and &lt;a href="https://mockers.io" rel="noopener noreferrer"&gt; Mockers &lt;/a&gt; can contribute to natural language AI, development and social implementation at all.&lt;/p&gt;

&lt;p&gt;P.S.&lt;br&gt;
Don't forget Hillary.&lt;/p&gt;

&lt;blockquote&gt;&lt;a href="https://twitter.com/MockedHillary/status/1208147863882076161?s=20" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://mockers.io" rel="noopener noreferrer"&gt;https://mockers.io&lt;/a&gt;&lt;/p&gt;

</description>
      <category>gpt2</category>
      <category>python</category>
      <category>machinelearning</category>
    </item>
  </channel>
</rss>
