<commit_before>%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
\documentclass[11pt,a4paper]{article}
\usepackage{fontspec,xltxtra,xunicode}
\usepackage[top=1.5in,bottom=1in,left=1.5in,right=1.5in]{geometry}
\usepackage{polyglossia}
\newfontfamily\thaifont{TH Sarabun New}
\setmainfont{TH Sarabun New}
\setdefaultlanguage{thai}
\XeTeXlinebreaklocale 'th'
\usepackage{scrextend}
% \changefontsizes[20pt]{16pt}
\XeTeXlinebreakskip = 0pt plus 1pt
\defaultfontfeatures{Scale=1.23}
\renewcommand{\baselinestretch}{1.2}

\newcommand{\numberOfDocument}{5}
\newcommand{\numberOfQuery}{2}
\newcommand{\numberOfTerm}{2}

\newcommand{\fir}{Python}
\newcommand{\seco}{course}
\newcommand{\thi}{data}
\newcommand{\fou}{learn}
\newcommand{\fif}{advanced}
\newcommand{\six}{science}
\newcommand{\sev}{spatial}
\newcommand{\eig}{money}
\newcommand{\nin}{code}
\newcommand{\ten}{programing}

\usepackage{tabularx}

\usepackage{fancyhdr}
\pagestyle{fancy}
\lhead{\bf{การบ้านครั้งที่ 3: คำนวณหา Global Similarity Thesaurus}}
\rhead{2110xxx: Information Store and Retrieval}
\cfoot{สิทธิพงษ์ เหล่าโก้ก \\
5870972621 วิศวกรรมซอฟต์แวร์ ภาคนอกเวลาราชการ}

\begin{document}
    \emph{\bf{โจทย์}}
        จงปรับคำค้นตามวิธีการคำนวณแบบ Global Similarity Thesaurus โดยใช้ข้อคำถาม (query) จำนวน \numberOfQuery\ ข้อคำถาม คำ (term) ขนาด \numberOfTerm\ คำ เพื่อใช้สืบค้นเอกสาร จากจำนวนเอกสารทั้งสิ้น \numberOfDocument\ ชิ้น 

    \emph{\bf{วิธีทำ}}  

    \section{จัดเตรียมข้อมูล}

    กำหนดให้ ข้อคำถามแรก ($q_1$) คือ \emph{"Python programing"} และ ข้อคำถามที่สอง ($q_2$) คือ \emph{"Data science"} โดยจะสืบค้นจากคำอธิบายรายวิชาของวิชา ($D$) ที่ได้จากเว็บไซต์ coursera.org, edx.org และ udemy.com ซึ่งประกอบไปด้วยรายวิชาทั้งสิ้น \numberOfDocument\ วิชา ($|D|$) ดังรายการด้านล่าง

    \begin{itemize}
        \item[$d_1$:] {\bf Python for Geospatial}  \\
            \input{documents/raw/documents-1.txt}

        \item[$d_2$:] {\bf Data science with Pandas in Python 3}  \\
            \input{documents/raw/documents-2.txt}

        \item[$d_3$:] {\bf Complete Python Bootcamp} \\
            \input{documents/raw/documents-3.txt}

        \item[$d_4$:] {\bf Using Python for Research} \\
            \input{documents/raw/documents-4.txt}

        \item[$d_5$:] {\bf Programming with Python for Data Science} \\
            \input{documents/raw/documents-5.txt}

        % \item[$d_6$:] Introduction to Python for Data Science
        % \item[$d_7$:] Learn to Program Using Python
        % \item[$d_8$:] Introduction to Data Science in Python
        % \item[$d_9$:] Using Python to Access Web Data
        % \item[$d_{10}$:] Introduction to Data Science in Python
    \end{itemize}

    จากนั้นนำคำที่ปรากฎในรายการของ Stop word ในรายการออกไป โดยใช้ชุดคำสั่งภาษา Python ที่ชื่อว่า nltk (http://nltk.org) จะเหลือข้อมูล
    
    \begin{itemize}
        \item[$d_1$:] {\bf Python for Geospatial}  \\
            \input{documents/processed/documents-1.txt}

        \item[$d_2$:] {\bf Data science with Pandas in Python 3}  \\
            \input{documents/processed/documents-2.txt}

        \item[$d_3$:] {\bf Complete Python Bootcamp} \\
            \input{documents/processed/documents-3.txt}

        \item[$d_4$:] {\bf Using Python for Research} \\
            \input{documents/processed/documents-4.txt}

        \item[$d_5$:] {\bf Programming with Python for Data Science} \\
            \input{documents/processed/documents-5.txt}
    \end{itemize}

    \section{หาค่าความถี่คำที่สนใจ}
    ในขั้นตอนนี้จะหาความถี่ของคำที่สนใจทั้งหมด 10 คำ จากกลุ่มเอกสาร โดยคำที่เลือกมาได้แก่ \fir,\ \seco,\ \thi,\ \fou,\ \fif,\ \six,\ \sev,\ \eig,\ \nin,\ \ten\ โดยปรากฎความถี่ในแต่ละเอกสารดังนี้

    \begin{table}[ht!]
        \centering
        \caption{สรุปความถี่ของคำที่ปรากฎในเอกสาร}
        \label{tab:freq}
        \begin{tabular}{ p{3cm}ccccc}
            \hline
            คำ ($k_i$)      & $d_1$ &  $d_2$    &  $d_3$    &  $d_4$    &  $d_5$ \\
            \hline \hline
            \fir            & 7     &  2        &  7        &  7        &  3  \\
            \seco           & 4     &  5        &  8        &  2        &  4  \\
            \thi            & 1     &  5        &  0        &  0        &  7  \\
            \fou            & 1     &  3        &  3        &  1        &  0  \\
            \fif            & 0     &  1        &  1        &  1        &  0  \\
            \six            & 0     &  3        &  0        &  0        &  0  \\
            \sev            & 3     &  0        &  0        &  0        &  0  \\
            \eig            & 0     &  1        &  2        &  0        &  0  \\
            \nin            & 3     &  0        &  1        &  0        &  0 \\
            \ten            & 0     &  0        &  1        &  0        &  2  \\
            \hline 
            $max(f_{i,j})$  & 7     &  5        &  8        &  7        &  7  \\
            \hline
        \end{tabular}
    \end{table}

    จากนั้นจึงหากค่า Inverse term frequency ของแต่ละคำใน\tablename\ \ref{tab:freq} โดยแยกตามเอกสาร $d_j$ ดังสูตร
    \begin{equations} 
        \label{eq:itf}
        \begin{split}
            itf_j = \log{\frac{t}{t_j}}
        \end{split}
    \end{equations}


\end{document}

<commit_msg>Add itf section<commit_after>%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
\documentclass[11pt,a4paper]{article}
\usepackage{fontspec,xltxtra,xunicode}
\usepackage[top=1.5in,bottom=1in,left=1.5in,right=1.5in]{geometry}
\usepackage{polyglossia}
\newfontfamily\thaifont{TH Sarabun New}
\setmainfont{TH Sarabun New}
\setdefaultlanguage{thai}
\XeTeXlinebreaklocale 'th'
\usepackage{scrextend}
% \changefontsizes[20pt]{16pt}
\XeTeXlinebreakskip = 0pt plus 1pt
\defaultfontfeatures{Scale=1.23}
\renewcommand{\baselinestretch}{1.2}

\newcommand{\numberOfDocument}{5}
\newcommand{\numberOfQuery}{2}
\newcommand{\numberOfTerm}{2}

\newcommand{\fir}{Python}
\newcommand{\seco}{course}
\newcommand{\thi}{data}
\newcommand{\fou}{learn}
\newcommand{\fif}{advanced}
\newcommand{\six}{science}
\newcommand{\sev}{spatial}
\newcommand{\eig}{money}
\newcommand{\nin}{code}
\newcommand{\ten}{programing}

\usepackage{amsmath}

\usepackage{fancyhdr}
\pagestyle{fancy}
\lhead{\bf{การบ้านครั้งที่ 3: คำนวณหา Global Similarity Thesaurus}}
\rhead{2110xxx: Information Store and Retrieval}
\cfoot{สิทธิพงษ์ เหล่าโก้ก \\
5870972621 วิศวกรรมซอฟต์แวร์ ภาคนอกเวลาราชการ}

\begin{document}
    \emph{\bf{โจทย์}}
        จงปรับคำค้นตามวิธีการคำนวณแบบ Global Similarity Thesaurus โดยใช้ข้อคำถาม (query) จำนวน \numberOfQuery\ ข้อคำถาม คำ (term) ขนาด \numberOfTerm\ คำ เพื่อใช้สืบค้นเอกสาร จากจำนวนเอกสารทั้งสิ้น \numberOfDocument\ ชิ้น 

    \emph{\bf{วิธีทำ}}  

    \section{จัดเตรียมข้อมูล}

    กำหนดให้ ข้อคำถามแรก ($q_1$) คือ \emph{"Python programing"} และ ข้อคำถามที่สอง ($q_2$) คือ \emph{"Data science"} โดยจะสืบค้นจากคำอธิบายรายวิชาของวิชา ($D$) ที่ได้จากเว็บไซต์ coursera.org, edx.org และ udemy.com ซึ่งประกอบไปด้วยรายวิชาทั้งสิ้น \numberOfDocument\ วิชา ($|D|$) ดังรายการด้านล่าง

    \begin{itemize}
        \item[$d_1$:] {\bf Python for Geospatial}  \\
            \input{documents/raw/documents-1.txt}

        \item[$d_2$:] {\bf Data science with Pandas in Python 3}  \\
            \input{documents/raw/documents-2.txt}

        \item[$d_3$:] {\bf Complete Python Bootcamp} \\
            \input{documents/raw/documents-3.txt}

        \item[$d_4$:] {\bf Using Python for Research} \\
            \input{documents/raw/documents-4.txt}

        \item[$d_5$:] {\bf Programming with Python for Data Science} \\
            \input{documents/raw/documents-5.txt}

        % \item[$d_6$:] Introduction to Python for Data Science
        % \item[$d_7$:] Learn to Program Using Python
        % \item[$d_8$:] Introduction to Data Science in Python
        % \item[$d_9$:] Using Python to Access Web Data
        % \item[$d_{10}$:] Introduction to Data Science in Python
    \end{itemize}

    จากนั้นนำคำที่ปรากฎในรายการของ Stop word ในรายการออกไป โดยใช้ชุดคำสั่งภาษา Python ที่ชื่อว่า nltk (http://nltk.org) จะเหลือข้อมูล
    
    \begin{itemize}
        \item[$d_1$:] {\bf Python for Geospatial}  \\
            \input{documents/processed/documents-1.txt}

        \item[$d_2$:] {\bf Data science with Pandas in Python 3}  \\
            \input{documents/processed/documents-2.txt}

        \item[$d_3$:] {\bf Complete Python Bootcamp} \\
            \input{documents/processed/documents-3.txt}

        \item[$d_4$:] {\bf Using Python for Research} \\
            \input{documents/processed/documents-4.txt}

        \item[$d_5$:] {\bf Programming with Python for Data Science} \\
            \input{documents/processed/documents-5.txt}
    \end{itemize}

    \section{หาค่าความถี่คำที่สนใจ}
    ในขั้นตอนนี้จะหาความถี่ของคำที่สนใจทั้งหมด 10 คำ จากกลุ่มเอกสาร โดยคำที่เลือกมาได้แก่ \fir,\ \seco,\ \thi,\ \fou,\ \fif,\ \six,\ \sev,\ \eig,\ \nin,\ \ten\ โดยปรากฎความถี่ในแต่ละเอกสารดังนี้

    \begin{table}[ht!]
        \centering
        \caption{สรุปความถี่ของคำที่ปรากฎในเอกสาร}
        \label{tab:freq}
        \begin{tabular}{ p{3cm}ccccc}
            \hline
            คำ ($k_i$)      & $d_1$ &  $d_2$    &  $d_3$    &  $d_4$    &  $d_5$ \\
            \hline \hline
            \fir            & 7     &  2        &  7        &  7        &  3  \\
            \seco           & 4     &  5        &  8        &  2        &  4  \\
            \thi            & 1     &  5        &  0        &  0        &  7  \\
            \fou            & 1     &  3        &  3        &  1        &  0  \\
            \fif            & 0     &  1        &  1        &  1        &  0  \\
            \six            & 0     &  3        &  0        &  0        &  0  \\
            \sev            & 3     &  0        &  0        &  0        &  0  \\
            \eig            & 0     &  1        &  2        &  0        &  0  \\
            \nin            & 3     &  0        &  1        &  0        &  0 \\
            \ten            & 0     &  0        &  1        &  0        &  2  \\
            \hline 
            $max(f_{i,j})$  & 7     &  5        &  8        &  7        &  7  \\
            \hline
        \end{tabular}
    \end{table}

    \section{คำนวณค่า Inverse term frequency}
    จากนั้นจึงหากค่า Inverse term frequency ของแต่ละคำใน\tablename\ \ref{tab:freq} โดยแยกตามเอกสาร $d_j$ ดังสูตร
    \begin{equation} 
        \label{eq:itf}
        \begin{split}
            itf_j = \log{\frac{t}{t_j}}
        \end{split}
    \end{equation}


\end{document}


{'fraction_non_alphanumeric': 0.15597820892669406, 'fraction_numerical': 0.0254229188569244, 'mean_word_length': 1.9376754632229085, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 44, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7287691', 'n_tokens_mistral': 4700, 'n_tokens_neox': 4704, 'n_words': 706}