<jupyter_start><jupyter_text>zhsegment: default program<jupyter_code>from default import *<jupyter_output><empty_output><jupyter_text>Run the default solution on dev<jupyter_code>Pw = Pdist(data=datafile("data/count_1w.txt"))
segmenter = Segment(Pw) # note that the default solution for this homework ignores the unigram counts
output_full = []
with open("data/input/dev.txt") as f:
    for line in f:
        output = " ".join(segmenter.segment(line.strip()))
        output_full.append(output)
print("\n".join(output_full[:3])) # print out the first three lines of output as a sanity check<jupyter_output>中 美 在 沪 签 订 高 科 技 合 作 协 议
新 华 社 上 海 八 月 三 十 一 日 电 （ 记 者 白 国 良 、 夏 儒 阁 ）
“ 中 美 合 作 高 科 技 项 目 签 字 仪 式 ” 今 天 在 上 海 举 行 。<jupyter_text>Evaluate the default output<jupyter_code>from zhsegment_check import fscore
with open('data/reference/dev.out', 'r') as refh:
    ref_data = [str(x).strip() for x in refh.read().splitlines()]
    tally = fscore(ref_data, output_full)
    print("score: {:.2f}".format(tally), file=sys.stderr)<jupyter_output>score: 0.27
{'fraction_non_alphanumeric': 0.12215909090909091, 'fraction_numerical': 0.005681818181818182, 'mean_word_length': 4.392857142857143, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 7, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '3', 'dir': 'jupyter-structured-clean-dedup', 'id': '664433', 'license': 'Apache-2.0', 'n_tokens_mistral': 452, 'n_tokens_neox': 465, 'n_words': 129, 'path': 'zhsegment/default.ipynb', 'repo_name': 'anoopsarkar/nlp-class-hw', 'size': '1056'}