自然言語処理と教育工学の知見を活かし、AI × フランス語学習に特化したアプリケーションを開発しています。
I develop AI-powered French learning applications, leveraging expertise in natural language processing and educational technology.
Kikagaku Inc. "AI & Data Science Professional Development Program for DX" - Completed
University of Tokyo - Matsuo Lab "Large Language Models (LLM) Course 2024" - Completed
University of Tokyo - Matsuo Lab "AI Business Insights - AI Management Course 2025" - Completed
University of Tokyo - Matsuo Lab "AI and Semiconductor Course 2025" - Completed
University of Tokyo - Matsuo Lab "Global Consumer Intelligence Endowed Course 2025" - Completed
Kikagaku Co., Ltd. - AI & Data Science Professional Development Program
Python Fundamentals (Syntax, Functions, Data Types, Modules)
Data Science (Multivariate Analysis, Data Analysis, Preprocessing, Feature Engineering)
Machine Learning (Classification, Regression, Evaluation with scikit-learn & XGBoost)
Computer Vision (OpenCV, Pillow, Image Preprocessing, CNN Fundamentals)
Deep Learning (PyTorch Introduction, Theory & Hands-on Practice)
Natural Language Processing (Fundamental Theory)
API Development (FastAPI Fundamentals & Practice)
University of Tokyo - Matsuo Lab "Large Language Models (LLM) Course 2024"
Overview of Language Models
Prompt Engineering & RAG (Retrieval-Augmented Generation)
Pre-training & Advanced Pre-training
Scaling Laws
Semiconductor Ecosystem & LLM Development Infrastructure
Supervised Fine-Tuning (SFT)
RLHF (Reinforcement Learning from Human Feedback) & AI Alignment
AI Safety & LLM Analysis and Theory
LLM Applications (Domain-Specific LLM, LLM for Control)
Final Project: LLM Competition Challenge
University of Tokyo - Matsuo Lab "AI Business Insights - AI Management Course 2025"
AI Trends, Business Use Cases & Industry-Specific Insights
Generative AI Technology Evolution & Future Prospects
AI Governance, Legal Regulations, Risk Management & Sustainability
Customer Experience, Marketing/Back-office Innovation & Robotics
Talent Development, AI Co-creation Strategy & AI-driven Management
Case Studies & Latest Industry Examples by Business Practitioners
Focus: AI implementation insights, industry-specific business trends, AI potential & risks, and comprehensive corporate strategy (both offensive & defensive approaches)
University of Tokyo - Matsuo Lab "AI and Semiconductor Course 2025"
Advanced AI Models such as LLMs, Machine Learning, Neural Network Basics, and Optimization
Image Recognition
Overview of the Semiconductor Ecosystem
CUDA and GPU Libraries
CPU and Computer Architecture
GPU Architecture and Design Principles
Combinational and Sequential Circuits, Hardware Design Theory, and Introduction to FPGA
[Workshop] FPGA Design Tutorial: Basics of FPGA, Design Methods, FPGA Design on AWS Cloud, and AI Processor Development
[Workshop] Practical FPGA Design Exercises (Hands-on and Cloud-based Sessions)
University of Tokyo - Matsuo Lab "Global Consumer Intelligence Endowed Course 2024"
Python Coding (NumPy, Pandas, Matplotlib)
Data Analysis (Feature Engineering, Unsupervised Learning, Time Series, Model Validation & Tuning)
Business Applications (SQL, Marketing Fundamentals & Applications, Guest Lectures)
Practical Exercises (Python Assignments, Data Analysis Competition, Final Project)
Business AI Adoption PoC (Fuzzy matching & rate-limit handling with Google Gemini API)
Evaluation Environment Setup & Ground Truth Audit for an Immigration AI System (Running evaluations via GitHub/Python/Gemini API, verifying the validity of ground-truth data)
OpenAI API Integration (ChatGPT-powered app development)
Machine Learning Model Development & Evaluation (Classification & Regression with scikit-learn, XGBoost)
Data Preprocessing & Analysis (CSV integration, Feature Engineering, Exploratory Data Analysis)
Explainable AI (Model interpretation & visualization with SHAP - Beginner level)
LLM Fine-tuning (Lightweight experiments using Unsloth & LoRA)
spaCy (Natural Language Processing - Research & exploration stage)
効率よく単語を記憶できるよう、復習タイミングにこだわったフランス語学習アプリです。
Streamlitで開発し、ユーザーの記憶状況に合わせて最適なタイミングで単語を出題。忘却曲線の理論を応用し、着実な語彙定着をサポートします。
A French vocabulary learning app focused on maximizing retention through smart review scheduling. Built with Streamlit, it adapts to users' memory status and presents words at optimal times, applying the forgetting curve theory for solid vocabulary acquisition.
FastAPI・Streamlit・OpenAI APIを連携し、ChatGPT APIの翻訳出力を最適化するためのプロンプト設計・パラメータ調整を工夫。効率的かつ高品質な翻訳機能を実装しました。
Technical Challenge: Integrated FastAPI, Streamlit, and OpenAI API, and engineered prompt design and parameter tuning to optimize ChatGPT translation output, achieving efficient and high-quality translations.
音声再生や学習進捗の可視化、個別最適化された復習タイミングなど、より学びやすいAI学習アプリを目指して拡張予定です。
Future Vision: Plans for features like audio playback, progress visualization, and personalized review intervals to create an even more effective AI-powered language learning app.
Python, Streamlit, FastAPI, OpenAI API, Pandas, GitHub
🔗 GitHubでコードを見る
フランス語単語の難易度を機械学習で予測する学習支援Webアプリケーション。
Scikit-learnを用いた分類モデルと、StreamlitによるインタラクティブなUIを組み合わせて開発しました。
A web application that predicts French word difficulty using machine learning. Developed with Scikit-learn classification models and an interactive Streamlit interface.
データ前処理から機械学習モデルの構築・評価まで、MLプロジェクトの全工程を実装。精度向上に向けた試行錯誤を通じて、実践的なスキルを習得しました。
Technical Challenge: Implemented the complete ML pipeline from data preprocessing to model evaluation, gaining practical skills through iterative accuracy improvements.
現在は単語の難易度予測のみに対応していますが、今後は文章全体のレベル予測も行い、French Flashcard Study App と統合する予定です。
学習者の語彙レベルに合わせて、最適な教材や例文を自動で出題できるような設計を目指しています。
Future Outlook: Currently, the app supports only word-level difficulty prediction. In the future, it is planned to integrate this app with the French Flashcard Study App, enabling sentence-level difficulty assessment and automatic suggestion of appropriate materials and example sentences tailored to each learner's level.
Python, Scikit-learn, Pandas, Streamlit
🔗 GitHubでコードを見る
東京大学 松尾研究室主催「大規模言語モデル講座」最終課題として開発。
日本語ベンチマークである ELYZA-tasks-100 および Ichikara instruction を学習データとして使用し、その改変版である ELYZA-tasks-100tv を用いて、
命令応答能力(instruction-following)を強化するファインチューニングを実施しました。
ファインチューニングしたモデルは Hugging Face にて公開しています。
Developed as the final project for the "Large Language Models Course" hosted by the Matsuo Laboratory at the University of Tokyo. Fine-tuned for enhanced Japanese instruction-following capabilities using ELYZA-tasks-100 and Ichikara instruction datasets, with evaluation on ELYZA-tasks-100tv. The fine-tuned model is publicly available on Hugging Face.
日本語特化ベンチマークであるELYZA-tasks-100とIchikara instructionを学習データとし、ELYZA-tasks-100tvで評価することで日本語の命令理解能力を体系的に強化しました。
Unsloth + LoRA による軽量ファインチューニングを Google Colab 上で実施し、4bit量子化(QLoRA)によって GPU メモリ使用量を削減することで、限られた計算リソースでも安定した推論を実現し、未学習のタスクに対しても一定の応答性能を確認しました。
また、推論コードや JSONL 形式の出力フォーマットを整備し、再現性のある成果として公開しています。
Systematically enhanced Japanese instruction-following capabilities using ELYZA-tasks-100 and Ichikara instruction for training with ELYZA-tasks-100tv evaluation. Implemented lightweight fine-tuning using Unsloth + LoRA on Google Colab, achieving stable inference with limited computational resources through 4-bit quantization (QLoRA) for reduced GPU memory usage and confirmed reliable performance on unseen tasks. Established reproducible results by organizing inference code and JSONL output formats for public release.
本プロジェクトを通じて、PEFTによる効率的なファインチューニング手法と、 日本語LLMの評価手法について実践的な経験を積むことができました。
Through this project, I gained practical experience in efficient fine-tuning methods using PEFT and evaluation approaches for Japanese LLMs.
Python, Transformers, Hugging Face, Google Colab, Unsloth, LoRA, JSONL
🔗 Hugging Faceでモデルを確認するWhisperとChatGPTを組み合わせた音声対話AI「ミライミミ」を試作しました。 Gradio UIをGoogle Colab上で動作させ、ブラウザだけで音声入力・応答確認・読み上げまで可能な構成にしています。
MiraiMimi is a prototype combining Whisper and ChatGPT for voice-based interaction. The Gradio interface runs on Google Colab, enabling in-browser speech input, response, and audio playback.
音声入力のテキスト変換からChatGPTによる応答生成までの処理を組み合わせ、簡易的な対話パイプラインを試作しました。
Technical Challenge: Built a complete pipeline from speech input to text conversion, ChatGPT response generation, and speech synthesis. Focused on character design through prompt engineering and leveraging speech recognition variations for natural conversation flow.
教育分野での語学練習、観光案内での音声ガイドなど、音声AIの幅広い応用可能性を検証していきたいです。
そしてより高精度な音声認識と、感情表現豊かな音声合成の実装も目指しています。
Future Vision: Exploring applications in language learning and voice-guided tourism. Planning to implement higher-accuracy speech recognition and emotionally expressive speech synthesis.
Python, OpenAI Whisper, OpenAI GPT-3.5, Gradio, Google Colab, gTTS, pyttsx3
東京大学松尾研究室主催のGCI講座にて、Kaggle「Titanic: Machine Learning from Disaster」に参加。 データ前処理・EDA(探索的データ分析)・特徴量エンジニアリング・モデル構築・評価までの一連の流れを実践しました。 特徴量エンジニアリングでは、名前から敬称を抽出・カテゴリ化、家族人数の作成、Cabin 欠損の有無フラグ化、年齢の欠損を中央値で補完するなどの工夫を行い、予測精度向上を図りました。 さらに、ランダムフォレスト・ロジスティック回帰・MLP など複数モデルを構築し、GridSearchCV によるハイパーパラメータ調整を通じて性能を改善しました。
Participated in Kaggle's "Titanic: Machine Learning from Disaster" competition through the GCI program hosted by the University of Tokyo's Matsuo Lab. Implemented the data science pipeline from preprocessing, EDA (Exploratory Data Analysis), feature engineering, model building, to evaluation. For feature engineering, extracted and categorized titles from names, created family size features, flagged missing Cabin data, and imputed missing age values with medians to improve prediction accuracy. Built multiple models including Random Forest, Logistic Regression, and MLP, and improved performance through hyperparameter tuning with GridSearchCV.
Python, Pandas, Scikit-learn, Matplotlib, Seaborn, Random Forest, Logistic Regression, MLPClassifier, GridSearchCV
今後は XGBoost を導入し、さらに精度向上を図る予定です。 また、Kaggle の Titanic コンペに改めて参加し、より良いスコアを目指したいと考えています。
In the future, I plan to implement XGBoost to further improve prediction accuracy. I also aim to rejoin the Kaggle Titanic competition and strive for a higher score.
AirREGI Account Acquisition Prediction Project (GCI Final Assignment)
東京大学松尾研究室主催「GCIグローバル消費インテリジェンス」寄附講座の最終課題として、AirREGIのアカウント獲得数を外部要因から予測するモデルを開発しました。
Developed a predictive model for AirREGI account acquisition based on external factors as the final assignment for the University of Tokyo's "Global Consumer Intelligence" endowed course.
Objectives:
Quantitative analysis of external factors affecting account acquisition count (acc_get_cnt)
Built a predictive model considering call volume, TV commercials, holidays, day-of-week, and seasonality for forecasting account acquisitions
Technologies & Methods:
Python (pandas, seaborn, matplotlib, scikit-learn, XGBoost, Optuna, SHAP)
Multi-CSV integration (calendar_data, cm_data, call_data, acc_get_data) merged by date with time series preprocessing
XGBoost with Optuna hyperparameter optimization and SHAP for interpretability analysis
Analysis Results:
Combination of sales call volume and TV commercials was the most important factor(49.4% feature importance)
CM effect was moderate (effective especially Tue–Thu), while holidays had negative impact
Strong seasonality observed: September–October showed sharp increases, while June–July remained low
Optimized XGBoost model achieved R²=0.9238, enabling high-accuracy predictions
Through this project, my goal was not just to build a highly accurate predictive model, but also to extract insights that could be useful for business. To achieve this, I combined XGBoost with Optuna to improve model performance, while using SHAP to make the often “black box” nature of the model more interpretable. Through this process, I discovered that the interaction between sales calls and TV commercials played a major role, and that demand tended to rise in certain seasons—findings that wouldn’t have been visible from the numbers alone. The most valuable outcome was learning to see predictive modeling not as the “end,” but as a starting point for business strategy.
Related Links:
GitHub Repository: Source Code
Presentation: View Slides
MidjourneyとCanvaを活用し、AIで生成した画像素材を元に動画コンテンツを制作。
プロンプト設計から動画編集、YouTubeでの公開まで一貫して手掛けています。
Creating video content using AI-generated images from Midjourney combined with Canva editing. Handling the complete workflow from prompt design to video editing and YouTube publication.
Midjourney, Canva, ChatGPT (prompt engineering)
AI活用支援を行う事業会社にて、住宅会社のマーケティング部門における反響対応業務(来場予約・資料請求などの反響メール集計)を題材に、会場名の自動判定PoCを設計・実装しました。
Google Apps Script(GAS)でGmail受信メールを取得し、必要項目を抽出してGoogleスプレッドシートへ構造化して記録。会場名の判定には、既存の会場マスタを候補リストとしてGoogle Gemini APIに渡し、候補の中から正式名称を選ばせる設計としました。
While working on AI adoption support at a business services company, designed and implemented a PoC for automatically identifying venue names in inquiry emails, focused on the marketing department's lead-response workflow at a housing company client. Using Google Apps Script (GAS), inquiry emails received via Gmail were parsed, structured, and logged into Google Sheets. Venue identification was handled by passing an existing venue master list as candidates to the Google Gemini API, which selected the matching official name from that list.
Geminiには候補リストの中から一字一句そのまま選ぶよう指示し、候補外の場合は「該当なし」と判定させる完全一致検品ロジックを実装。Gemini無料枠のレート制限(1分あたり5回、1日20回)に対応するため、リクエスト間に約13秒の待機時間を設け、エラー発生時には自動で最大3回リトライする仕組みも組み込みました。
また、全件をAIに通すのではなく、パターンが固定的な問い合わせ(資料請求など)はGAS側のルール処理のみで完結させ、AI呼び出しを会場特定が難しいケースに絞ることで、不要なAPI呼び出しを抑える設計としました。
検証は128件の会場候補リストに対して20件のテストを実施し、概念的に妥当な候補を選択できたものは17件(85%)、文字列として完全一致したものは14件(70%)でした。
Technical Challenge: Implemented a strict validation function that only accepted exact matches from the candidate list, falling back to "no match" otherwise. To handle the Gemini free tier's rate limits (5 requests/minute, 20/day), I added a ~13-second wait between requests and automatic retry (up to 3 attempts) on errors. Rule-based logic in GAS handled clearly patterned inquiries (e.g., brochure requests) without invoking the AI, reserving API calls for genuinely ambiguous cases. Testing against a 128-item candidate list across 20 cases showed conceptually reasonable matches in 17 cases (85%) and exact string matches in 14 cases (70%).
検証を通じて、会場候補リスト自体が固定的な正解マスタではなく、運用上随時追加・調整されているものであることが判明しました。この事実と、AIの判定精度(完全一致70%)を踏まえ、AI単独を本番の確定方式とするには課題が残ると判断。本番運用ではルールベースの数式・対応表方式を提案しました。
一方で、対応表だけでは拾いきれない例外パターン(新イベント、表記ゆれの大きいケースなど)にはAIによる曖昧マッチングが補助的に有効という可能性も見えたため、「基本はルール、例外はAI」という役割分担の視点を得ました。AIに任せる部分と、ルール・人間確認で担保する部分を切り分ける設計判断の重要性を学びました。
Testing revealed that the venue candidate list was not a fixed master but an evolving, manually maintained list. Combined with the AI's exact-match accuracy (70%), I concluded that AI alone was not yet reliable enough to serve as the production source of truth, and recommended a rule- and mapping-table-based approach for production instead. At the same time, AI-based fuzzy matching showed promise for handling exception cases the mapping table couldn't cover — new events, cases with significant notation variance — leading to a "rules for the common case, AI for exceptions" design perspective, and a broader lesson in separating what to delegate to AI versus what to secure with rules and human review.
| 受信日時 | 問い合わせ種別 | 来場希望場所(本文記載) | Gemini判定結果 | 検品ステータス |
|---|---|---|---|---|
| 2026/03/05 10:12 | 来場予約 | 〇〇展示場(第一希望) | 〇〇モデルハウス | ✅ マスタ一致 |
| 2026/03/05 14:40 | 資料請求 | △△会場希望 | 該当なし | ⚠️ 人間確認へ |
| 2026/03/06 09:03 | 来場予約 | (本文に会場記載なし) | 未判定 | ⚠️ 対応表で補完予定 |
※ 表内の日時・会場名・件数はすべて架空のサンプルです。実際の顧客データは含まれていません。
Google Apps Script (GAS), Gmail, Google Gemini API, Googleスプレッドシート, Looker Studio
※社内業務のPoCのため、ソースコードは非公開です。
在留資格申請データを抽出するAIシステムの精度評価業務に携わっています。GitHubで共有された既存リポジトリをローカル環境にclone し、VS Code・Python・ChatGPT Codexを使用して評価環境を構築。評価用データの確認、dry-run、Geminiによる抽出評価、goldenデータとの比較まで実施しました。
評価を進める中で、AIの抽出結果と比較する「正解データ(golden)」自体についても、そのまま採点基準として使用してよいか検証が必要であることが分かりました。そこで、申請書PDFなどの元資料とgoldenを人手で照合し、表記ゆれ、コード値、項目取り違え、評価ルールの曖昧さなどを整理。AIの抽出精度だけでなく、評価基準そのものの妥当性も含めて検証しています。
I've been working on accuracy evaluation for an AI system that extracts data from immigration status application documents. After being given access to an existing repository via GitHub, I cloned it locally and built an evaluation environment using VS Code, Python, and ChatGPT Codex — reviewing evaluation data, running a dry-run, executing Gemini-based extraction evaluation, and comparing the results against the golden dataset.
In the course of this evaluation, I found that the golden (ground-truth) data used to score the AI's output couldn't simply be trusted as-is either. I therefore cross-checked the golden data against source documents such as application PDFs, identifying issues including notation variance, code-value mix-ups, field mismatches, and ambiguity in the evaluation rules — verifying not just the AI's extraction accuracy, but the validity of the evaluation standard itself.
Gemini APIへ実際にデータを送信する前にdry-run(実送信せず処理内容だけを確認するテスト)を行い、安全に評価処理を進められる状態を整えました。あわせて、既存の申請システム(visa-app)のローカル起動を確認し、Google Cloud認証が必要となる範囲を切り分けました。
Before sending any real data to the Gemini API, I ran a dry-run to verify the processing logic without making live API calls, ensuring the evaluation could proceed safely. I also confirmed local startup of the existing application (visa-app) and identified which parts required Google Cloud authentication.
7名分の申請データについて、AIの抽出結果とgoldenを完全一致ベースで比較した初期評価では、509項目中237項目が一致(正答率約46.6%)、不一致は272件でした。ただし、この数字をそのままAIの実力として扱うのは早計と判断し、まず不一致272件をカテゴリ別に安全側に再分類しました。分類は「表記ゆれ」「コード値と表示値の対応」「対象企業限定の固定値候補」「値の誤り・項目取り違えの疑い」「正解データ側の確認が必要な候補」「現行ルールでは判断不能」の6区分とし、いずれも断定はせず候補扱いとしました。
1名分については元資料まで遡って照合し、性別・住所・実務経験月数の3項目で、golden側の値が元資料と一致しないことを確認しました。特にある項目では、選択肢が1〜9の9個しか存在しないにもかかわらずgoldenに範囲外の値が入っているなど、選択肢の表示値ではなく内部コードらしき値が紛れ込んでいる可能性がある事例も発見しました。
一方でAI側にも、金額の桁を読み違えたと見られるケースを確認し、golden側・AI側の双方に確認すべき点が残っていることを整理しました。個人情報を含む照合データはバージョン管理対象から外し、社外共有を行わない運用としています。
Technical Challenge: An initial full-string-match comparison of AI extraction results against the golden dataset across 7 applicants showed 237 of 509 fields matching (a raw match rate of about 46.6%), with 272 discrepancies. Rather than treating this number as a measure of AI accuracy, I first re-classified the 272 discrepancies conservatively into six candidate categories: notation variance, code-value/display-value correspondence, client-specific fixed values, suspected value errors or field mix-ups, cases requiring verification of the golden data or evaluation criteria, and cases unclassifiable under current rules — none treated as a confirmed AI error without further verification.
For one applicant, I cross-checked the golden values against the original source documents and confirmed that three fields — sex, address, and months of work experience — did not match the source. In one case, a field had only 9 valid dropdown options, yet the golden value fell outside that range, suggesting the golden data may have been contaminated with internal code values rather than the actual displayed selection.
At the same time, I identified a likely AI misread involving a digit transposition in a monetary field, confirming that both the golden data and the AI's output required further scrutiny. Data containing personal information was kept out of version control and was not shared externally.
| 分類 | 件数 | 意味 |
|---|---|---|
| A:表記ゆれ・同義 | 0 | ※分類優先順位によりC等へ先に振り分け |
| B:コード値と表示値の対応 | 1 | 同義と確認できたもの |
| C:対象企業限定の固定値候補 | 79 | field単位で限定 |
| D候補:値誤り・取り違え疑い | 24 | 元資料未確認のため候補扱い |
| E候補:golden/評価基準の確認要 | 85 | 正本確認が必要 |
| 要判断 | 83 | 現ルールでは分類不能 |
このプロジェクトを通じて、「AIの抽出精度を評価する前に、評価基準そのもの(golden)が信頼できるかを確認する必要がある」という視点を学びました。goldenは元々AIツールによって暫定生成されたデータだったため、そのまま正解として使うと、実際には正しく抽出できているAIの結果が「誤り」と判定されてしまうリスクがあることに気づきました。
また、分類作業では「ある区分の件数が0件」という結果が、必ずしも「その事象が存在しない」ことを意味しないという点も整理しました。分類の優先順位によって、本来別の区分に入り得る項目が先に別区分へ振り分けられているケースがあったためです。数字をそのまま報告するのではなく、集計プロセスまで遡って正確に説明できることの重要性を学びました。
This project taught me that before evaluating an AI system's extraction accuracy, it's necessary to first verify that the evaluation standard itself (the golden data) is trustworthy. Because the golden data had originally been provisionally generated by an AI tool, using it as-is risked mislabeling genuinely correct AI outputs as errors.
I also learned that a category showing zero occurrences doesn't necessarily mean that phenomenon doesn't exist — classification priority rules can route items that might otherwise fit one category into a different one first. This reinforced the importance of being able to explain a number by tracing back through the aggregation process, rather than reporting it at face value.
Python, Git / GitHub, VS Code, Google Gemini API, ChatGPT Codex, Google Cloud(認証範囲の確認), JSON, Excel / TSV, データ監査・正規化ルール設計
※実務案件のため、企業名・申請者情報・実データ・リポジトリ・ソースコードは一切含めず、検証プロセスと匿名化した集計結果のみ紹介しています。本プロジェクトは現在進行中で、goldenの正式な修正やAI抽出精度の最終評価は今後実施予定です。