import fasttext


def dm01():
    # 禁用子词：
    # minn=0：子词最小长度，文本分类任务下，默认就是0，表示禁用
    # maxn=0：子词最大长度，文本分类任务下，默认就是0，表示禁用
    # bucket：子词哈希桶数量，一个平衡模型性能与内存开销的参数，默认就是2000000
    model = fasttext.train_supervised(input='subword.txt', dim=10, minn=0, maxn=0, bucket=2000000)
    print("model-->", model)
    all_words = model.get_words()
    print("all_words-->", all_words)
    result = model.get_subwords("产品棒")
    print("result-->", result)
    result = model.get_word_vector("产品棒")
    print("result-->", result)


def dm02():
    # 开启子词：
    # minn=2：子词最小长度
    # maxn=4：子词最大长度
    # bucket：子词哈希桶数量
    model = fasttext.train_supervised(input='subword.txt', dim=10, minn=2, maxn=4, bucket=2000000)
    print("model-->", model)
    all_words = model.get_words()
    print("all_words-->", all_words)
    result = model.get_subwords("馫")
    print("result-->", result)
    result = model.get_word_vector("馫")
    print("result-->", result)


if __name__ == '__main__':
    # dm01()
    dm02()