\documentclass[a4paper, serif, 10pt]{moderncv}

%% moderncv
% style and color
\moderncvstyle{banking}
\moderncvcolor{black}

% renew moderncv command to adapt for CJK colon
\renewcommand*{\cvitem}[3][.25em]{%
  \ifstrempty{#2}{}{\hintstyle{#2}：}{#3}%
  \par\addvspace{#1}}

\renewcommand*{\cvitemwithcomment}[4][.25em]{%
  \savebox{\cvitemwithcommentmainbox}{\ifstrempty{#2}{}{\hintstyle{#2}：}#3}%
  \setlength{\cvitemwithcommentmainlength}{\widthof{\usebox{\cvitemwithcommentmainbox}}}%
  \setlength{\cvitemwithcommentcommentlength}{\maincolumnwidth-\separatorcolumnwidth-\cvitemwithcommentmainlength}%
  \begin{minipage}[t]{\cvitemwithcommentmainlength}\usebox{\cvitemwithcommentmainbox}\end{minipage}%
  \hfill% fill of \separatorcolumnwidth
  \begin{minipage}[t]{\cvitemwithcommentcommentlength}\raggedleft\small\itshape#4\end{minipage}%
  \par\addvspace{#1}}

%% page layout/margins
\usepackage[top=2.5cm, bottom=2.5cm, left=1.5cm, right=1.5cm]{geometry}

\nopagenumbers{}

%% Babel config for English language
\usepackage[english]{babel}

%% fontspec
\usepackage{fontspec}

\IfFontExistsTF{Linux Libertine}{
  \setmainfont[Ligatures={TeX, Common}, Numbers=Lining, ItalicFont=Linux Libertine]{Linux Libertine}
}{}
\IfFontExistsTF{Linux Libertine O}{
  \setmainfont[Ligatures={TeX, Common}, Numbers=Lining, ItalicFont=Linux Libertine O]{Linux Libertine O}
}{}

%% CTeX
% CJK support, used to show CJK characters in the resume
%
% - fontset=none: disable builtin fontset but instead set the CJK font manually
% - heading=false: disable ctex heading
% - punct=kaiming: use kaiming punctuations styles for CJK
% - scheme=plain: use plain scheme, do not override \normalsize font size
% - space=auto: space settings for CJK characters
%
% ref:
% - http://ctan.mirrorcatalogs.com/language/chinese/ctex/ctex.pdf
\usepackage[UTF8, heading=false, punct=kaiming, scheme=plain, space=auto]{ctex}

\IfFontExistsTF{Noto Serif CJK SC}{
  \setCJKmainfont{Noto Serif CJK SC}
}{}
\IfFontExistsTF{Noto Sans CJK SC}{
  \setCJKsansfont{Noto Sans CJK SC}
}{}

%% line spacing
\usepackage{setspace}
\setstretch{1.125}

%% URL styling - use normal text instead of monospace
\urlstyle{same}

% Auto-underline all links
% Defer until \begin{document} so hyperref is already loaded
\AtBeginDocument{%
  \let\oldhref\href
  \renewcommand{\href}[2]{\oldhref{#1}{\underline{#2}}}%
}

%% Patch \httplink and \httpslink to handle full URLs
% The original moderncv macros always prepend http:// or https:// to URLs.
% This causes issues when the URL already has a protocol (e.g., https://example.com)
% resulting in malformed URLs like https://https://example.com.
% This patch checks if the URL already contains "://" and uses it directly if so.
% Note: We use \str_set:Nx (x-expansion) to expand macros like \@homepage first.
\ExplSyntaxOn
\str_new:N \g_yamlresume_url_str

\RenewDocumentCommand{\httpslink}{O{}m}{
  \str_set:Nx \g_yamlresume_url_str {#2}
  \str_if_in:NnTF \g_yamlresume_url_str {://}
    { \url{#2} }
    { \url{https://#2} }
}

\RenewDocumentCommand{\httplink}{O{}m}{
  \str_set:Nx \g_yamlresume_url_str {#2}
  \str_if_in:NnTF \g_yamlresume_url_str {://}
    { \url{#2} }
    { \url{http://#2} }
}
\ExplSyntaxOff

\name{陳怡君}{}
\title{資料科學家 | 機器學習與數據分析}
\phone[mobile]{+886 912 345 678}
\email{yichun.chen@datasci.tw}
\homepage{https://yichun-ds.tw}

\address{中國臺灣，台北市，台北市，台北市大安區信義路三段 100 號，106}{}{}

\extrainfo{{\small \faGithub}\ \href{https://github.com/yichun-data}{@yichun-data} {} {} {} • {} {} {}
{\small \faLinkedin}\ \href{https://www.linkedin.com/in/yichunchen}{@yichunchen} {} {} {} • {} {} {}
{\small \faMedium}\ \href{https://medium.com/@yichun.ds}{@yichun.ds}}

\begin{document}

\maketitle

\section{簡介}

\cvline{}{我是一位擁有 6 年經驗的資料科學家，專精於機器學習、統計分析與大數據處理，擅長從複雜資料中挖掘商業洞見。
%
\begin{itemize}
\item 主導多項端到端資料科學專案，包括推薦系統、客戶流失預測與需求預測
\item 具備將模型導入生產環境的實務經驗，熟悉 GCP、AWS 等雲端服務
\item 重視跨部門溝通，能將技術成果轉化為具體商業決策
\item 持續學習新技術，並熱衷於透過 Medium 分享資料科學知識
\end{itemize}}
\section{教育背景}

\cventry{2015年9月–2017年7月}
        {碩士，資料科學學程，成績：4.2}
        {國立臺灣大學}
        {\url{https://www.ntu.edu.tw}}
        {}
        {研究方向為可解釋機器學習與推薦系統，碩士論文題目為「基於注意力機制之可解釋推薦模型」。擔任統計學助教，並協助教授整理實驗資料。
\textbf{課程}：機器學習、統計推論、深度學習、大數據分析、資料視覺化}

\cventry{2011年9月–2015年7月}
        {學士，數學系（雙主修資訊工程），成績：3.9}
        {國立清華大學}
        {\url{https://www.nthu.edu.tw}}
        {}
        {建立紮實的數學與程式基礎，參與系上專題競賽，並於大三暑期至科技公司實習，負責資料前處理與初步分析。
\textbf{課程}：微積分、線性代數、機率論、統計學、程式設計}
\section{工作經歷}

\cventry{2021年3月至今}
        {資深資料科學家}
        {雲端數據科技股份有限公司}
        {\url{https://www.datacloud.com.tw}}
        {}
        {\begin{itemize}
\item 主導客戶流失預測專案，整合 CRM、交易與行為數據，建立 XGBoost 模型，精準率提升 25\%
\item 開發個人化推薦系統，結合協同過濾與深度學習，帶動部門營收成長 18\%
\item 設計 A/B 測試評估框架，協助產品團隊建立數據驅動的決策流程
\item 負責資料科學團隊的 code review 與技術分享，提升團隊整體開發品質
\end{itemize}
\textbf{關鍵字}：客戶流失預測、推薦系統、深度學習、A/B 測試、團隊領導}

\cventry{2017年8月–2021年2月}
        {資料科學家}
        {智慧零售顧問有限公司}
        {\url{https://www.smartretail.tw}}
        {}
        {\begin{itemize}
\item 建立門市銷售預測模型，整合歷史銷售、天氣與促銷活動資料，預測誤差降低 30\%
\item 建置客戶分群系統，利用 RFM 分析與 K-Means 分群，協助行銷團隊規劃精準行銷活動
\item 開發自動化報表流程，以 Python 與 Airflow 取代人工產出，每月節省 20 人時
\item 與工程團隊協作，將模型包裝為 RESTful API 並部署至雲端環境
\end{itemize}
\textbf{關鍵字}：銷售預測、RFM 分析、K-Means、Airflow、API 部署}
\section{語言}

\cvline{中文}{母語或雙語水平 \hfill \textbf{關鍵字}：母語、商務溝通與簡報}
\cvline{英語}{完全專業水平 \hfill \textbf{關鍵字}：TOEIC 950、技術文件閱讀與撰寫}
\section{專業技能}

\cvline{機器學習}{專家 \hfill \textbf{關鍵字}：Python、scikit-learn、XGBoost、PyTorch、自然語言處理}
\cvline{資料分析與統計}{專家 \hfill \textbf{關鍵字}：SQL、R、統計檢定、時間序列分析、實驗設計}
\cvline{資料工程}{高級 \hfill \textbf{關鍵字}：Apache Spark、Airflow、dbt、Docker、雲端服務}
\cvline{資料視覺化}{高級 \hfill \textbf{關鍵字}：Tableau、Looker、Matplotlib、Plotly、資料故事化}
\section{榮譽}

\cventry{2022年11月}
        {台灣資料科學協會}
        {台灣資料科學競賽金牌獎}
        {}
        {}
        {以自動化機器學習平台參賽，自 300 多組隊伍中脫穎而出，獲得金牌獎。}
\section{證書}

\cventry{2023年4月}
        {Amazon Web Services}
        {AWS Certified Machine Learning – Specialty}
        {\url{https://aws.amazon.com/certification/}}
        {}
        {}

\cventry{2021年6月}
        {Google}
        {Google Professional Data Engineer}
        {\url{https://cloud.google.com/certification/data-engineer}}
        {}
        {}
\section{出版刊物}

\cventry{2022年3月}
        {基於注意力機制之可解釋推薦模型}
        {國際資料科學與分析期刊}
        {\url{https://doi.org/10.1007/s41060-022-00300-5}}
        {}
        {提出結合注意力機制與可解釋性的推薦系統架構，在公開資料集上取得領先成果，並深入探討模型決策的透明性。}
\section{項目}

\cventry{2023年1月–2023年6月}
        {整合政府開放資料與天氣資料，預測商圈即時人流，協助零售業者進行營運調度。}
        {即時人流預測系統}
        {\url{https://github.com/yichun-data/people-flow-forecast}}
        {}
        {\begin{itemize}
\item 使用 LightGBM 與時間序列特徵，預測準確度達 92\%
\item 部署至 GCP Cloud Run，並提供 REST API 供內部系統串接
\item 設計資料監控流程，確保模型穩定性
\end{itemize}
\textbf{關鍵字}：時間序列、LightGBM、GCP、開放資料}

\cventry{2022年3月–2022年12月}
        {建置可重現的 AutoML 流程，簡化模型訓練與部署。}
        {自動化機器學習平台}
        {\url{https://github.com/yichun-data/automl-platform}}
        {}
        {\begin{itemize}
\item 以 Kubeflow 與 MLflow 搭建機器學習生命週期管理平台
\item 支援多團隊協作與模型版本管理，降低 40\% 模型上線時間
\item 整合 CI/CD 流程，提升開發效率與可靠性
\end{itemize}
\textbf{關鍵字}：AutoML、Kubeflow、MLflow、CI/CD}
\section{興趣愛好}

\cvline{閱讀}{資料科學、經濟學、科幻小說}
\cvline{戶外活動}{登山、自行車、路跑}
\section{志願服務}

\cventry{2019年1月–2023年12月}
        {志工講師}
        {資料科學教育協會}
        {\url{https://www.datascitw.org}}
        {}
        {\begin{itemize}
\item 協助舉辦資料科學工作坊與線上課程，累計教導超過 500 名學員
\item 維護開源教材，推廣資料素養教育
\item 輔導學生完成實作專案，並提供職涯建議
\end{itemize}}

\end{document}