Spaces:
Sleeping
Sleeping
| import pytest | |
| from pandas import read_csv | |
| from src.parse_disambiguation.feature_extraction import get_word_features_df, join_feats | |
| def word_analysis(): | |
| return {'diac': 'ุจูุณูู ู', 'lex': 'ูฑูุณูู ', 'caphi': 'b_i_s_m_i', | |
| 'gloss': 'in/by_+_(the)_Name_of_+_[def.gen.]', | |
| 'bw': 'ุจู/PREP+ูฑูุณูู /NOUN+ู/CASE_DEF_GEN', 'pos': 'noun', | |
| 'catib6': 'PRT+NOM', 'ud': 'ADP+NOUN', 'root': 'ุณ.ู .#', | |
| 'pattern': 'ุจู1ู2ู', 'prc3': '0', 'prc2': '0', 'prc1': | |
| 'bi_prep', 'prc0': '0', 'per': 'na', 'asp': 'na', | |
| 'vox': 'na', 'mod': 'na', 'form_gen': 'm', 'gen': 'm', | |
| 'form_num': 's', 'num': 's', 'stt': 'c', 'cas': 'g', | |
| 'enc0': '0', 'rat': 'i', 'source': 'lex', 'd1seg': 'ุจูุณูู ู', | |
| 'd2seg': 'ุจู+_ุณูู ู', 'd3seg': 'ุจู+_ุณูู ู', 'atbseg': 'ุจู+_ุณูู ู', | |
| 'd1tok': 'ุจูุณูู ู', 'd2tok': 'ุจู+_ุงูุณูู ู', 'd3tok': 'ุจู+_ุงูุณูู ู', | |
| 'atbtok': 'ุจู+_ุงูุณูู ู', 'bwtok': 'ุจู+_ูฑูุณูู _+ู', 'pos_logprob': -0.4344233, | |
| 'lex_logprob': -3.156274, 'pos_lex_logprob': -3.156274, | |
| 'stem': 'ุจูุณูู ู', 'stemgloss': 'in/by_+_(the)_Name_of_+_[def.gen.]', 'stemcat': 'FW-Wa' | |
| } | |
| def clitic_feats(): | |
| return read_csv('data/clitic_feats.csv') | |
| def word_feats(): | |
| df = read_csv('tests/test_feats.tsv', sep='\t') | |
| return df.astype(str).astype(object) | |
| def test_get_word_features_df(word_analysis, clitic_feats, word_feats): | |
| tagset = "catib6" | |
| df = get_word_features_df(word_analysis, clitic_feats) | |
| df = df.astype(str).astype(object) | |
| assert word_feats.equals(df) | |
| def test_join_feats_catib6(word_feats): | |
| word_feats = join_feats(word_feats, 'catib6') | |
| assert word_feats['tokens'] == ['ุจู+', 'ุงูุณูู ู'] | |
| assert word_feats['pos_tags'] == ['PRT', 'NOM'] | |
| assert word_feats['lemmas'] == ['ุจู+', 'ูฑูุณูู '] | |
| assert word_feats['feats'] == ['ud=ADP|prc3=0|prc2=0|prc1=0|prc0=na|per=na|asp=na|vox=na|mod=na|gen=na|num=na|stt=na|cas=na|enc0=0|rat=na', 'ud=NOUN|prc3=0|prc2=0|prc1=bi_prep|prc0=0|per=na|asp=na|vox=na|mod=na|gen=m|num=s|stt=c|cas=g|enc0=0|rat=i'] | |
| def test_join_feats_ud(word_feats): | |
| word_feats = join_feats(word_feats, 'ud') | |
| assert word_feats['tokens'] == ['ุจู+', 'ุงูุณูู ู'] | |
| assert word_feats['pos_tags'] == ['ADP', 'NOUN'] | |
| assert word_feats['lemmas'] == ['ุจู+', 'ูฑูุณูู '] | |
| assert word_feats['feats'] == ['catib6=PRT|prc3=0|prc2=0|prc1=0|prc0=na|per=na|asp=na|vox=na|mod=na|gen=na|num=na|stt=na|cas=na|enc0=0|rat=na', 'catib6=NOM|prc3=0|prc2=0|prc1=bi_prep|prc0=0|per=na|asp=na|vox=na|mod=na|gen=m|num=s|stt=c|cas=g|enc0=0|rat=i'] |