research
Analyze current trends and challenges in Japanese NLP for a topic. Surveys the existing awesome-japanese-nlp-resources dataset and augments it with …
它会碰到什么
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
Research Japanese NLP trends and challenges for topic: "$ARGUMENTS" by combining the bundled dataset with the latest web information.
Instructions
Preamble — Establish the current date
Before anything else, run this once and remember the values — every step that mentions a year refers to them:
echo "YEAR_NOW=$(date +%Y)"
echo "YEAR_PREV=$(($(date +%Y) - 1))"
Substitute these wherever this skill writes ${YEAR_NOW} or ${YEAR_PREV}. Do not hardcode years.
Step 0 — Validate input
If $ARGUMENTS is empty or blank, treat it as a request for a general overview of the current Japanese NLP landscape (both trends and challenges). Use the following defaults for the rest of the steps:
- Topic label for output headings: "Japanese NLP Overall Landscape" (use "日本語NLP 全体動向" only when the user's query was written in Japanese)
- Keywords for Step 1 (local dataset survey):
llm,bert,embed,speech,morpholog,translat,evaluat,benchmark— short stems, since Step 3 matches by literal substring and a multi-word phrase likejapanese nlprarely occurs verbatim in a description
— This broad set gives a cross-category snapshot of the most popular resources and of coverage gaps
- WebSearch queries for Step 5: cover both trend and challenge language across multiple sub-fields:
japanese NLP trends ${YEAR_NOW} overview日本語 NLP 最新動向 ${YEAR_NOW}japanese LLM embedding benchmark ${YEAR_NOW} githubjapanese NLP challenges ${YEAR_NOW} overview日本語 NLP 課題 ${YEAR_NOW}japanese LLM limitations evaluation ${YEAR_NOW}- Report title:
## 🔭 Japanese NLP Research Report (as of ${REPORT_DATE_EN})instead of## 🔭 Research Report for "$ARGUMENTS"(use## 🔭 日本語NLP リサーチレポート (${REPORT_DATE_JP}時点)only when output language is Japanese) - Section 1 (Overview): write a broad 3–4 sentence overview covering the major active sub-fields (LLMs, embeddings/RAG, speech, morphological analysis, benchmarks) and the most pressing shared challenges
Step 1 — Interpret the topic
The user's topic is: "$ARGUMENTS"
Translate the topic intent to English keywords for the local dataset survey. Aim for 4–6 keywords, using the same stem + tool-name conventions as the search skill (morpholog, embed, classif, translat, recogni, plus well-known tool names for the domain).
Step 2 — Locate the data file
The data file ships with the plugin. Resolve its path via ${CLAUDE_PLUGIN_ROOT} (Claude Code substitutes this inline in skill content), falling back to a scoped search only if the install is unusual:
RESOURCES_PATH="${CLAUDE_PLUGIN_ROOT}/data/resources.json"
[ -f "$RESOURCES_PATH" ] || RESOURCES_PATH="$(find "${HOME}/.claude/plugins" -type f -name resources.json 2>/dev/null | grep "awesome-japanese-nlp-resources/" | head -1)"
echo "RESOURCES_PATH=$RESOURCES_PATH"
Use the resulting absolute RESOURCES_PATH wherever Step 3 opens the data file.
Step 3 — Survey the existing dataset (inline Python)
Do NOT use the Read tool — the file exceeds the Read tool's size limit. Run the scoring in a single Bash call using Python.
python3 << 'EOF'
import json
with open("RESOURCES_PATH") as f: # absolute path from Step 2
data = json.load(f)
keywords = ["keyword1", "keyword2", "keyword3"] # from Step 1
results = []
for item in data:
if item.get("status") == "not_found":
continue
n = item.get("n", "").lower()
d = item.get("d", "").lower()
s = " ".join(item.get("s") or []).lower()
c = item.get("c", "").lower()
al = " ".join(item.get("al") or []).lower()
text_score = 0
for kw in keywords:
kw = kw.lower()
if n == kw: text_score += 20
elif kw in n: text_score += 10
if kw in d: text_score += 5
if kw in s: text_score += 3
if kw in c: text_score += 2
if kw in al: text_score += 10
if text_score < 8:
continue
ns = item.get("ns") or 0
nd = item.get("nd") or 0
sc = item.get("sc") or 0
pop = (ns if ns else nd) * 2.5
qual = min(5, sc * 5 / 21)
combined = text_score + pop + qual
results.append((combined, item))
results.sort(key=lambda x: -x[0])
# Category distribution across ALL matches (not just the top slice) — used to
# spot which resource types dominate and, by inference, which are thin.
from collections import Counter
cat_counts = Counter(item["c"] for _, item in results)
print(f"=== {len(results)} local matches; top 10 shown ===")
for combined, item in results[:10]:
st = item.get("st", 0) or 0
dl = item.get("dl", 0) or 0
print(f"score={combined:.1f} st={st} dl={dl}")
print(f" n={item['n']}")
print(f" u={item['u']}")
print(f" c={item['c']}")
print(f" s={item.get('s','')}")
print(f" d={item.get('d','')[:120]}")
print()
print("=== category distribution (all matches) ===")
for cat, count in cat_counts.most_common(10):
print(f" {count:4d} {cat}")
EOF
Substitute KEYWORDS with your keywords list from Step 1.
Step 4 — Identify trend and challenge angles
From the Step 3 survey, note both:
Trend angles:
- What's the dominant architecture in the top matches (BERT vs. GPT vs. T5 vs. LLaMA)?
- What's the dominant resource type (libraries vs. models vs. corpora)?
- Are the top items recent (within the last 2 years) or older (>3 years ago)?
Challenge angles:
- Coverage gaps: which sub-problems within "$ARGUMENTS" are not well-represented in the existing resources?
- Known limitations of top items: small dataset size, narrow domain, dated baselines, evaluation issues, restrictive license — what would a practitioner complain about?
- Famous open difficulties in this domain (e.g. honorific generation, code-switching, ambiguity, domain transfer, low-resource dialects)
Both angles feed the same Step 5 web research — you don't need two separate research passes.
Step 5 — Web research
Use WebSearch + WebFetch only — do not use the gh CLI in this project.
Run 6–10 WebSearch queries, mixing trend-language and challenge-language, English and Japanese. Always include ${YEAR_NOW} (and optionally ${YEAR_PREV}) to bias toward recency:
Trend-oriented:
Japanese NLP <topic-en> ${YEAR_NOW}日本語 <topic> 最新 モデル ${YEAR_NOW}arxiv japanese <topic-en> ${YEAR_PREV} ${YEAR_NOW}huggingface japanese <topic-en> new release
Challenge-oriented:
Japanese NLP <topic-en> challenges ${YEAR_NOW}日本語 <topic> 課題 未解決 ${YEAR_NOW}arxiv japanese <topic-en> ${YEAR_PREV} ${YEAR_NOW} limitations<topic-en> japanese benchmark error analysis
When a specific high-value URL surfaces (arXiv abstract, HuggingFace model card, blog post, benchmark leaderboard), use WebFetch to extract details:
WebFetch url="https://..." prompt="Extract: publication/release date, name, key contribution or problem statement, proposed solution if any, GitHub/HuggingFace URL if any, and a 1-sentence summary. Note if it cites Japanese-specific issues."
Step 6 — Synthesize findings
Sort the Step 5 findings into:
- Web items already in the dataset — confirm the survey's top items remain relevant; note if anything new dethrones them.
- Web items NOT in the dataset — candidates the user could also surface via
/awesome-japanese-nlp-resources:discover "$ARGUMENTS"; mention this in the output. - Directional signals (trends) — 2–4 specific observations about where the field is heading, e.g. "Parameter-count growth: 1B → 7B → 70B for Japanese LLMs since 2024", "Shift from encoder-only to decoder-only base models".
- Known challenges — 3–6 concrete, dated items with URLs. Each should be a specific problem ("evaluation suites still over-rely on machine-translated GLUE-style tasks", not "evaluation is hard").
- Current efforts / proposed solutions — 2–4 ongoing projects, papers, or releases attempting to address the challenges in bucket 4. Each needs a URL. If none surfaced, say so explicitly.
- Open gaps — items in bucket 4 that bucket 5 does NOT cover, and dataset coverage gaps from Step 4.
Step 7 — Format the report
Language detection rule (apply before writing any output):
$ARGUMENTScontains Japanese characters (hiragana / katakana / kanji) → Japanese- Otherwise → English (default)
Apply the detected language to all headings and prose.
## 🔭 Research Report for "$ARGUMENTS" (as of ${REPORT_DATE_EN})
2–3 sentence summary covering both the current focus/trend and the main open challenge.
### 1. What's already in awesome-japanese-nlp-resources
Top 5 resources:
| # | Resource | Category | Popularity | Summary |
|---|---|---|---|---|
| 1 | [name](url) | category | ⭐N or 📥N | 10–15 word summary |
Category distribution: <Python library: 45, HuggingFace Model: 30, ...>
### 2. Latest Trends
- 2–4 bullet points of directional signals (bucket 3), each with a source link.
### 3. Known Challenges
| # | Challenge | Notes | Source |
|---|---|---|---|
| 1 | short challenge statement | 1 sentence detail | [source](url) |
### 4. Current Efforts
- 2–4 bullets naming ongoing work that addresses a Step 3 challenge, each with a URL. If none found, state that explicitly.
### 5. Still Unsolved
- Bullet list of open gaps (bucket 6) — combine dataset coverage gaps and challenge gaps not covered by current efforts.
### 6. Not yet in the list
If any notable web finds from bucket 2 exist, list them briefly and point to `/awesome-japanese-nlp-resources:discover "$ARGUMENTS"` for the full discovery workflow. Omit this section if bucket 2 was empty.
Sources:
- [Title 1](https://...)
- [Title 2](https://...)
If $ARGUMENTS was empty, use the Step 0 defaults for the title/overview instead of "$ARGUMENTS"-specific text.
Rules:
- Every claim in sections 2–4 needs a source link — this skill's value is grounding trend/challenge claims in fresh web evidence, not restating the dataset.
- Keep section 1's table to the top 5 — this is context, not the point of the report.
- If Step 5 surfaced little (e.g. a very niche topic), say so explicitly rather than padding with generic statements.
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。
它属于哪个仓库
plugins/awesome-japanese-nlp-resources/skills/research/SKILL.md