o
    6ti                     @   s   d dl mZ dedefddZdedefddZdedefdd	Zdefd
dZdedefddZ	dedefddZ
dd ZdS )    )Datasetdocreturnc                 C   s(   ddd| d    }| d  d| S )Nu    왜냐하면u
    그래서)u   원인u   결과questionpremise )strip)r   	connector r
   N/home/ubuntu/.local/lib/python3.10/site-packages/lm_eval/tasks/kobest/utils.pycopa_doc_to_text   s   r   c                 C   s(   | d dkr| d }| S | d }| S )Nlabelr   alternative_1alternative_2r
   )r   correct_choicer
   r
   r   copa_doc_to_target	   s   r   c                 C   s   | d  | d  gS )Nr   r   r
   r   r
   r
   r   copa_doc_to_choice   s   r   c                 C   s   d| d  dS )N   문장: sentenceu    긍부정:r
   r   r
   r
   r   sentineg_doc_to_text   s   r   c                 C   s$   d| d  d| d  d| d  dS )Nu	   문장1: 	context_1u
    문장2: 	context_2u    두 문장에서 wordu   가 같은 뜻으로 쓰였나?r
   r   r
   r
   r   wic_doc_to_text   s   $r   c                 C   s   dd }|  |S )Nc                 S   s6   d| d  | d | d | d | d gt | d dS )	Nr   contextending_1ending_2ending_3ending_4r   )querychoicesgold)int)datasetr
   r
   r   preprocessor   s   
z+hellaswag_process_doc.<locals>.preprocessor)map)r   r%   r
   r
   r   hellaswag_process_doc   s   
r'   c                 C   s:   ddl m} tt|  }|d }|d }|||dd}|S )Nr   )f1_score   macro)average)sklearn.metricsr(   listzip)itemsr(   unzipped_listgoldspredsfscorer
   r
   r   macro_f1_score*   s   r4   N)datasetsr   dictstrr   r   r-   r   r   r   r'   r4   r
   r
   r
   r   <module>   s    