import streamlit as st import os import base64 from PIL import Image import io from datetime import datetime import requests # ページ設定 st.set_page_config( page_title="Taisei Ozaki - AI Researcher", page_icon="🚀", layout="wide" ) # セッションステートの初期化 if 'initialized' not in st.session_state: st.session_state.initialized = True if 'language' not in st.session_state: st.session_state.language = 'ja' if 'show_details' not in st.session_state: st.session_state.show_details = {} # 多言語コンテンツ content = { 'ja': { 'subtitle': 'AI Researcher & Machine Learning Engineer', 'badges': ['🎓 博士後期課程 D1', '🤖 LLM Researcher', '🚗 LLM Agent', '🧠 LLM`s Implicit knowledge'], 'intro': """大阪公立大学の博士後期課程(D1)で機械工学とAI・NLPを研究。
LLMの暗黙知、AIエージェント、小型ビークルの自動運転に焦点を当てた研究を行い、
東京大学 松尾岩澤研究室,株式会社松尾研究所でも学術専門職員,データサイエンティストとして活動中。""", 'current_position': '🏢 現在の所属', 'tech_stack': '💻 技術スタック', 'achievements': '🏆 主な実績', 'career': '📋 来歴', 'publications': '📚 研究発表', 'projects': '🚀 プロジェクト', 'social_links': '🌐 SNS & Links', 'contact': '📬 Contact', 'contact_intro': 'お問い合わせはこちらから' }, 'en': { 'subtitle': 'AI Researcher & Machine Learning Engineer', 'badges': ['🎓 PhD Student D1', '🤖 LLM Researcher', '🚗 LLM Agent', '🧠 LLM`s Implicit Knowledge'], 'intro': """PhD student (D1) at Osaka Metropolitan University researching Mechanical Engineering and AI/NLP.
Focusing on LLM implicit knowledge, AI agents, and autonomous driving for small vehicles,
also working as an Academic Research Staff and Data Scientist at the University of Tokyo Matsuo-Iwasawa Lab and Matsuo Institute.""", 'current_position': '🏢 Current Affiliations', 'tech_stack': '💻 Tech Stack', 'achievements': '🏆 Key Achievements', 'career': '📋 Career History', 'publications': '📚 Recent Publications', 'projects': '🚀 Ongoing Projects', 'social_links': '🌐 SNS & Links', 'contact': '📬 Contact', 'contact_intro': 'For research collaboration, technical consultation, or other inquiries' } } # カスタムCSS(修正版) st.markdown(""" """, unsafe_allow_html=True) # 画像最適化関数 def optimize_image(image_path, max_size=(800, 800)): """画像を最適化して読み込み速度を改善""" if not os.path.exists(image_path): return None try: img = Image.open(image_path) img.thumbnail(max_size, Image.Resampling.LANCZOS) buffer = io.BytesIO() img.save(buffer, format="PNG", optimize=True) return base64.b64encode(buffer.getvalue()).decode() except: return None # GitHub統計取得(キャッシュ付き) @st.cache_data(ttl=3600) def fetch_github_stats(username="taiseiozaki"): # あなたのGitHubユーザー名に変更 try: response = requests.get(f"https://api.github.com/users/{username}") if response.status_code == 200: data = response.json() return { "repos": data.get("public_repos", 0), "followers": data.get("followers", 0), "following": data.get("following", 0) } except: pass return {"repos": 0, "followers": 0, "following": 0} # メイン関数 def main(): # 言語切り替え col1, col2, col3 = st.columns([1, 1, 8]) with col1: if st.button("🇯🇵 日本語", key="ja_btn"): st.session_state.language = 'ja' st.rerun() with col2: if st.button("🇺🇸 English", key="en_btn"): st.session_state.language = 'en' st.rerun() lang = st.session_state.language # ヒーローセクション st.markdown(f"""
{content[lang]['subtitle']}

Taisei Ozaki

{"".join([f'{badge}' for badge in content[lang]['badges']])}
""", unsafe_allow_html=True) # プロフィール画像 st.markdown('
', unsafe_allow_html=True) col1, col2, col3, col4, col5 = st.columns([2.5, 2, 1, 2, 2.5]) with col2: logo_data = optimize_image('my_logo.jpg') if logo_data: st.markdown(f"""
Logo
""", unsafe_allow_html=True) with col4: profile_data = optimize_image('profile_pic.jpg') if profile_data: st.markdown(f"""
Profile
""", unsafe_allow_html=True) st.markdown('
', unsafe_allow_html=True) # イントロセクション st.markdown(f"""

{content[lang]['intro']}

""", unsafe_allow_html=True) # メインコンテンツ col1, col2 = st.columns([2, 3]) with col1: # 現在の所属 st.markdown(f'

{content[lang]["current_position"]}

', unsafe_allow_html=True) if lang == 'ja': st.markdown("""
2025年4月 - 現在
大阪公立大学大学院
工学研究科 機械系専攻 博士後期課程
2025年4月 - 現在
東京大学 松尾岩澤研究室
学術専門職員
2025年4月 - 現在
株式会社 松尾研究所
データサイエンティスト
""", unsafe_allow_html=True) else: st.markdown("""
Apr 2025 - Present
Osaka Metropolitan University
Graduate School of Engineering, Mechanical Engineering, PhD Program
Apr 2025 - Present
University of Tokyo, Matsuo-Iwasawa Lab
Academic Research Staff
Apr 2025 - Present
Matsuo Institute Inc.
Data Scientist
""", unsafe_allow_html=True) # スキルセクション st.markdown(f'

{content[lang]["tech_stack"]}

', unsafe_allow_html=True) if lang == 'ja': st.markdown("""
AI/ML
LLM NLP Deep Learning 世界モデル
Programming
Python C++ PyTorch
Research
LLM開発 AIエージェント 機械工学
""", unsafe_allow_html=True) else: st.markdown("""
AI/ML
LLM NLP Deep Learning World Models
Programming
Python C++ PyTorch
Research
LLM Development AI Agents Mechanical Engineering
""", unsafe_allow_html=True) # SNSリンク集 st.markdown(f'

{content[lang]["social_links"]}

', unsafe_allow_html=True) st.markdown("""
""", unsafe_allow_html=True) with col2: # 主な実績 st.markdown(f'

{content[lang]["achievements"]}

', unsafe_allow_html=True) if lang == 'ja': st.markdown("""
2025年3月
大阪公立大学 学長表彰
優れた研究実績が評価され受賞
2025年3月
大阪公立大学大学院 工学研究科 学生顕彰
学術研究で優れた成果を挙げた学生に贈られる賞
2024年6月
人工知能学会 全国大会 優秀賞
LLMによる前提生成ステップを用いた反論の攻撃力向上手法
2024年3月
大阪公立大学大学院 工学研究科 学生顕彰
学術研究で優れた成果を挙げた学生に贈られる賞
2023年6月
人工知能学会 全国大会 優秀賞
大規模言語モデルによる高品質反論文の自動生成
""", unsafe_allow_html=True) else: st.markdown("""
Mar 2025
President Award, Osaka Metropolitan University
Awarded for outstanding research achievements
Mar 2025
Graduate School Student Recognition Award
Graduate School of Engineering, Osaka Metropolitan University
Jun 2024
JSAI Annual Conference Excellence Award
Method for Enhancing Counterargument Attack Power Using LLM-based Premise Generation
Jun 2023
JSAI Annual Conference Excellence Award
Automatic Generation of High-Quality Counterarguments by Large Language Models
""", unsafe_allow_html=True) # 来歴 st.markdown(f'

{content[lang]["career"]}

', unsafe_allow_html=True) if lang == 'ja': st.markdown("""
2025年4月 - 現在
現所属
「現在の所属」に記載
2023年4月 - 2025年3月
大阪公立大学大学院 博士前期課程
工学研究科 機械系専攻
2019年4月 - 2023年3月
大阪府立大学
工学域 機械系学類
2018年8月 - 現在
個人事業主
---------
""", unsafe_allow_html=True) else: st.markdown("""
Apr 2025 - Present
Current Affiliations
Listed in "Current Affiliations" section
Apr 2023 - Mar 2025
Osaka Metropolitan University, Master Program
Graduate School of Engineering, Mechanical Engineering
Apr 2019 - Mar 2023
Osaka Prefecture University
School of Engineering, Mechanical Engineering
Aug 2018 - Present
Freelancer/Self-employed
---------
""", unsafe_allow_html=True) # 研究発表(詳細付き) st.markdown(f'

{content[lang]["publications"]}

', unsafe_allow_html=True) if lang == 'ja': publications = [ { 'id': 'pub1', 'date': '2025年6月', 'title': 'JDERW:世界モデルを要する推論問題に関する日本語LLMベンチマーク', 'venue': '人工知能学会第39回全国大会', 'authors': 'Taisei Ozaki, Chihiro Nakagawa, Naoya Inoue, Shoichi Naito, Kenshi Yamaguchi', 'abstract': '世界理解能力を要する演繹的推論ベンチマークデータセットJDERWを提案した。日本語LLMの世界モデル理解能力を定量的に評価するための包括的なベンチマークを構築し、既存モデルの性能分析を行った。' }, { 'id': 'pub2', 'date': '2025年6月', 'title': 'LLMによる運動方程式導出のための評価データセット構築', 'venue': '人工知能学会第39回全国大会', 'authors': '中村健二, 中川智皓, 尾崎大晟, 新谷篤彦', 'abstract': 'LLMの運動方程式理解力を定量化するため、公開WEBや書籍から画像と対応する運動方程式を収録したQAベンチマークデータセットを構築し、評価実験で一部の課題で正確な導出が確認された。' }, { 'id': 'pub3', 'date': '2025年4月', 'title': 'LLM DEBATE OPPONENT: Counter-argument Generation focusing on Implicit and Critical Premises', 'venue': 'NAACL 2025 Student Research Workshop', 'authors': 'Taisei Ozaki, Chihiro Nakagawa, Naoya Inoue, Shoichi Naito, Kenshi Yamaguchi', 'abstract': 'ディベート教育は批判的思考スキルを育成するが、しばしば高い人的コストを伴う。LLMによる反駁生成の自動化において、暗黙的・批判的前提をどのように標的にするかが課題となっている。本研究では、100のディベートトピックにおいて多段階と一段階の生成手法を体系的に比較し、一段階アプローチが一貫して優れた性能を示すことを明らかにした。' }, { 'id': 'pub4', 'date': '2025年3月', 'title': 'LLM as a Debate Judge: 学習者ディベーターへの自動フィードバック生成', 'venue': '言語処理学会第31回年次大会', 'authors': '天野祥太朗, 新谷篤彦, 尾崎大晟, 中川智皓, 井之上直也, 内藤昭一, 山口健史', 'abstract': 'ディベート学習支援のためのLLMベース自動フィードバックシステムを提案。学習者のディベート技能向上を支援するための包括的なフィードバック生成手法について検討した。' }, { 'id': 'pub5', 'date': '2024年6月', 'title': 'LLMによる前提生成ステップを用いた反論の攻撃力向上手法', 'venue': '人工知能学会全国大会第38回(優秀賞受賞)', 'authors': '尾﨑大晟, 中川智皓, 内藤昭一, 井之上直也, 山口健史, 天野祥太郎', 'abstract': 'LLMによる前提生成ステップを導入することで、反論の攻撃力を向上させる新たな手法を提案。従来手法と比較して有意な性能向上を実現した。' }, { 'id': 'pub6', 'date': '2024年3月', 'title': '大規模言語モデルを用いた有効反論箇所としての前提生成', 'venue': '言語処理学会第30回年次大会', 'authors': '新谷篤彦, 尾崎大晟, 中川智皓, 井之上直也, 内藤昭一, 山口健史, 天野祥太朗', 'abstract': '大規模言語モデルを用いて有効な反論箇所としての前提を生成する手法を提案。反論の質の向上に寄与する重要な前提の特定と生成について検討した。' }, { 'id': 'pub7', 'date': '2024年5月', 'title': '異常検知モデルを用いた電動キックボード乗車時のドライバの障害物への気付きの推定', 'venue': 'ロボティクス・メカトロニクス講演会2024', 'authors': '坪本颯史, 中川智皓, 尾崎大晟, 新谷篤彦, 松井雄吾', 'abstract': '電動キックボード乗車時における安全性向上のため、異常検知モデルを用いてドライバの障害物への気付きを推定する手法を開発。実際の走行データを用いた検証を行った。' }, { 'id': 'pub8', 'date': '2024年6月', 'title': '大規模言語モデルの生成反論文のテンプレート追従性', 'venue': '人工知能学会全国大会第38回', 'authors': '天野祥太朗, 中川智皓, 内藤昭一, 井之上直也, 山口健史, 尾崎大晟, 新谷篤彦', 'abstract': '大規模言語モデルが生成する反論文のテンプレート追従性について分析。ディベート教育における構造化された反論文生成の有効性を検証した。' }, { 'id': 'pub9', 'date': '2023年6月', 'title': '大規模言語モデルによる高品質反論文の自動生成', 'venue': '人工知能学会全国大会第37回(優秀賞受賞)', 'authors': '尾崎大晟, 中川智皓, 内藤昭一, 井之上直也, 山口健史, 新谷篤彦', 'abstract': '大規模言語モデルを用いて高品質な反論文を自動生成する手法を提案。ディベート教育における実用的な応用可能性を示した。' } ] else: publications = [ { 'id': 'pub1', 'date': 'June 2025', 'title': 'JDERW: Japanese LLM Benchmark for Reasoning Problems Requiring World Models', 'venue': 'The 39th JSAI Annual Conference', 'authors': 'Taisei Ozaki, Chihiro Nakagawa, Naoya Inoue, Shoichi Naito, Kenshi Yamaguchi', 'abstract': 'We proposed JDERW, a deductive reasoning benchmark dataset requiring world understanding capabilities. This comprehensive benchmark quantitatively evaluates the world model understanding abilities of Japanese LLMs and analyzes the performance of existing models.' }, { 'id': 'pub2', 'date': 'June 2025', 'title': 'Construction of Evaluation Dataset for Derivation of Equations of Motion by LLMs', 'venue': 'The 39th JSAI Annual Conference', 'authors': 'Kenji Nakamura, Chihiro Nakagawa, Taisei Ozaki, Atsuhiko Shintani', 'abstract': 'To quantify LLMs\' understanding of equations of motion, we constructed a QA benchmark dataset containing images and corresponding equations of motion from public websites and books, with evaluation experiments confirming accurate derivation for some tasks.' }, { 'id': 'pub3', 'date': 'April 2025', 'title': 'LLM DEBATE OPPONENT: Counter-argument Generation focusing on Implicit and Critical Premises', 'venue': 'NAACL 2025 Student Research Workshop', 'authors': 'Taisei Ozaki, Chihiro Nakagawa, Naoya Inoue, Shoichi Naito, Kenshi Yamaguchi', 'abstract': 'Debate education fosters critical thinking skills but often incurs high human costs. We systematically compare multi-step and one-step generation methods for counter-arguments across 100 debate topics, finding that one-step approaches consistently outperform multi-step pipelines due to better grasp of motion spirit and minimized hallucination propagation.' }, { 'id': 'pub4', 'date': 'March 2025', 'title': 'LLM as a Debate Judge: Automatic Feedback Generation for Student Debaters', 'venue': 'The 31st Annual Meeting of the Association for Natural Language Processing', 'authors': 'Shotaro Amano, Atsuhiko Shintani, Taisei Ozaki, Chihiro Nakagawa, Naoya Inoue, Shoichi Naito, Kenshi Yamaguchi', 'abstract': 'We propose an LLM-based automatic feedback system for debate learning support. This comprehensive feedback generation method assists learners in improving their debate skills.' }, { 'id': 'pub5', 'date': 'June 2024', 'title': 'Method for Enhancing Counterargument Attack Power Using LLM-based Premise Generation', 'venue': 'The 38th JSAI Annual Conference (Excellence Award)', 'authors': 'Taisei Ozaki, Chihiro Nakagawa, Shoichi Naito, Naoya Inoue, Kenshi Yamaguchi, Shotaro Amano', 'abstract': 'We propose a novel method to enhance counterargument attack power by introducing LLM-based premise generation steps, achieving significant performance improvements compared to conventional methods.' }, { 'id': 'pub6', 'date': 'March 2024', 'title': 'Premise Generation as Effective Counterargument Points Using Large Language Models', 'venue': 'The 30th Annual Meeting of the Association for Natural Language Processing', 'authors': 'Atsuhiko Shintani, Taisei Ozaki, Chihiro Nakagawa, Naoya Inoue, Shoichi Naito, Kenshi Yamaguchi, Shotaro Amano', 'abstract': 'We propose a method for generating premises as effective counterargument points using large language models, contributing to improved quality of counterarguments through identification and generation of important premises.' }, { 'id': 'pub7', 'date': 'May 2024', 'title': 'Estimation of Driver Awareness of Obstacles When Riding Electric Kick Scooters Using Anomaly Detection Models', 'venue': 'Robotics and Mechatronics Conference 2024', 'authors': 'Soshi Tsubomoto, Chihiro Nakagawa, Taisei Ozaki, Atsuhiko Shintani, Yugo Matsui', 'abstract': 'We developed a method to estimate driver awareness of obstacles when riding electric kick scooters using anomaly detection models to improve safety, validated using actual driving data.' }, { 'id': 'pub8', 'date': 'June 2024', 'title': 'Template Adherence of Large Language Model-Generated Counterarguments', 'venue': 'The 38th JSAI Annual Conference', 'authors': 'Shotaro Amano, Chihiro Nakagawa, Shoichi Naito, Naoya Inoue, Kenshi Yamaguchi, Taisei Ozaki, Atsuhiko Shintani', 'abstract': 'We analyzed the template adherence of counterarguments generated by large language models, validating the effectiveness of structured counterargument generation in debate education.' }, { 'id': 'pub9', 'date': 'June 2023', 'title': 'Automatic Generation of High-Quality Counterarguments by Large Language Models', 'venue': 'The 37th JSAI Annual Conference (Excellence Award)', 'authors': 'Taisei Ozaki, Chihiro Nakagawa, Shoichi Naito, Naoya Inoue, Kenshi Yamaguchi, Atsuhiko Shintani', 'abstract': 'We propose a method for automatically generating high-quality counterarguments using large language models, demonstrating practical applicability in debate education.' } ] for pub in publications: with st.expander(f"📄 {pub['title']}", expanded=False): st.markdown(f"""
{pub['date']} | {pub['venue']}
{"著者" if lang == 'ja' else "Authors"}:
{pub['authors']}

{pub['abstract']}

""", unsafe_allow_html=True) # プロジェクト st.markdown(f'

{content[lang]["projects"]}

', unsafe_allow_html=True) col1, col2 = st.columns(2) with col1: if lang == 'ja': st.markdown("""

経産省 AKATSUKIプロジェクト

革新的なアイデアを持つ若手テック人材を応援するプログラムで関西地域代表として採択

""", unsafe_allow_html=True) else: st.markdown("""

METI AKATSUKI Project

Selected as Kansai regional representative in a program supporting young tech talents with innovative ideas

""", unsafe_allow_html=True) with col2: if lang == 'ja': st.markdown("""

NEDO Geniac プロジェクト

東京大学松尾研究所の大規模言語モデル開発プロジェクトでチームリーダーを務める

""", unsafe_allow_html=True) else: st.markdown("""

NEDO Geniac Project

Serving as team leader in the large language model development project at University of Tokyo Matsuo Institute

""", unsafe_allow_html=True) # コンタクト st.markdown(f'

{content[lang]["contact"]}

', unsafe_allow_html=True) col1, col2, col3 = st.columns([1, 2, 1]) with col2: st.markdown(f"""

{content[lang]['contact_intro']}

{"大阪公立大学" if lang == 'ja' else "Osaka Metropolitan University"}
sg23174y@st.omu.ac.jp
{"松尾研究所" if lang == 'ja' else "Matsuo Institute"}
o.taisei@matsuo-institute.com
{"東京大学" if lang == 'ja' else "The University of Tokyo"}
taisei.ozaki@weblab.t.u-tokyo.ac.jp
{"個人" if lang == 'ja' else "Personal"}
taisei.ozaki.lab@gmail.com
""", unsafe_allow_html=True) # アニメーション効果のJavaScript st.markdown(""" """, unsafe_allow_html=True) if __name__ == "__main__": try: main() except Exception as e: st.error(f"An error occurred: {str(e)}")