コード例 #1
0
import time
import logging
from dl_segmenter import get_or_create, DLSegmenter

src_dict_path = "D:\\copus\\src_dict.json"  # 源字典路径
tgt_dict_path = "D:\\copus\\tgt_dict.json"  # 目标字典路径
config_save_path = "D:\\copus\\default-config.json"  # 模型配置路径
weights_save_path = "D:\\copus\\weights.01-0.05.h5"  # 模型权重保存路径

if __name__ == '__main__':
    LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s"
    logging.basicConfig(level=logging.INFO, format=LOG_FORMAT)
    segmenter: DLSegmenter = get_or_create(config_save_path,
                                           src_dict_path,
                                           tgt_dict_path,
                                           weights_path=weights_save_path)

    texts = [
        "昨晚,英国首相特里萨•梅(TheresaMay)试图挽救其退欧协议的努力,在布鲁塞尔遭遇了严重麻烦。"
        "倍感失望的欧盟领导人们指责她没有拿出可行的提案来向充满敌意的英国议会兜售她的退欧计划。",
        "物理仿真引擎的作用,是让虚拟世界中的物体运动符合真实世界的物理定律,经常用于游戏领域,以便让画面看起来更富有真实感。"
        "PhysX是由英伟达提出的物理仿真引擎,其物理模拟计算由专门加速芯片GPU来进行处理,"
        "在节省CPU负担的同时还能将物理运算效能成倍提升,由此带来更加符合真实世界的物理效果。",
        "好莱坞女演员奥黛丽·赫本(AudreyHepburn)被称为“坠入人间的天使”,"
        "主演了《蒂凡尼的早餐》《龙凤配》《罗马假日》等经典影片,并以《罗马假日》获封奥斯卡影后。"
        "据外媒报道,奥黛丽·赫本的故事将被拍成一部剧集。", "巴纳德星的名字起源于一百多年前一位名叫爱德华·爱默生·巴纳德的天文学家。"
        "他发现有一颗星在夜空中划过的速度很快,这引起了他极大的注意。", "叶依姆的家位于仓山区池后弄6号,属于烟台山历史风貌区,"
        "一家三代五口人挤在五六十平方米土木结构的公房里,屋顶逢雨必漏,居住环境不好。"
        "2013年11月,烟台山历史风貌区地块房屋征收工作启动,叶依姆的梦想正逐渐变为现实。",
        "人民网北京1月2日电据中央纪委监察部网站消息,日前,经中共中央批准,"
        "中共中央纪委对湖南省政协原副主席童名谦严重违纪违法问题进行了立案检查。"
コード例 #2
0
                             shuffle_batch=steps_per_epoch,
                             sparse_target=False)

    config = {
        "vocab_size": data_loader.src_vocab_size,
        "chunk_size": data_loader.tgt_vocab_size,
        "sparse_target": data_loader.sparse_target,
        "embed_dim": 300,
        "bi_lstm_units": 256,
    }

    os.makedirs(os.path.dirname(weights_save_path), exist_ok=True)

    segmenter = get_or_create(config,
                              optimizer=Adam(),
                              embedding_file=embedding_file_path,
                              src_dict_path=src_dict_path,
                              weights_path=init_weights_path)

    save_config(segmenter, config_save_path)

    segmenter.model.summary()

    ck = SingleModelCK(weights_save_path,
                       segmenter.model,
                       save_best_only=True,
                       save_weights_only=True,
                       monitor='val_loss',
                       verbose=0)
    log = TensorBoard(log_dir='logs',
                      histogram_freq=0,
コード例 #3
0
        "vocab_size": data_loader.src_vocab_size,
        "chunk_size": data_loader.tgt_vocab_size,
        "embed_dim": 300,
        "bi_lstm_units": 256,
        # "max_num_words": 20000,
        "dropout_rate": 0.1
    }

    # tokenizer = get_or_create(config,
    #                           optimizer=Adam(),
    #                           embedding_file=embedding_file_path,
    #                           src_dict_path=src_dict_path,
    #                           weights_path=init_weights_path)
    tokenizer = get_or_create(config,
                              optimizer=Adam(),
                              embedding_file=embedding_file_path,
                              src_dict_path=src_dict_path,
                              tgt_dict_path=tgt_dict_path)

    save_config(tokenizer, config_save_path)

    # tokenizer.model.summary()

    ck = ModelCheckpoint(weights_save_path,
                         save_best_only=True,
                         save_weights_only=True,
                         monitor='val_loss',
                         verbose=0)
    log = TensorBoard(log_dir=log_dir,
                      histogram_freq=0,
                      batch_size=data_loader.batch_size,
コード例 #4
0
ファイル: decode_example.py プロジェクト: bung87/bi-lstm-crf
import time
import datetime
from dl_segmenter import get_or_create, DLSegmenter
import random
import os
# wget https://raw.githubusercontent.com/yanyiwu/practice/master/nodejs/nodejieba/performance/weicheng.utf8 -O examples/weicheng.utf8
DIR_PATH = os.path.join(os.path.dirname(__file__))

if __name__ == '__main__':
    segmenter = get_or_create(
        os.path.join(DIR_PATH, "../config/default-config.json"),
        src_dict_path=os.path.join(DIR_PATH, "../config/src_dict.json"),
        tgt_dict_path=os.path.join(DIR_PATH, "../config/tgt_dict.json"),
        weights_path=os.path.join(DIR_PATH, "../models/weights.32--0.18.h5"))

    texts = [
        "昨晚,英国首相特里萨•梅(TheresaMay)试图挽救其退欧协议的努力,在布鲁塞尔遭遇了严重麻烦。"
        "倍感失望的欧盟领导人们指责她没有拿出可行的提案来向充满敌意的英国议会兜售她的退欧计划。",
        "物理仿真引擎的作用,是让虚拟世界中的物体运动符合真实世界的物理定律,经常用于游戏领域,以便让画面看起来更富有真实感。"
        "PhysX是由英伟达提出的物理仿真引擎,其物理模拟计算由专门加速芯片GPU来进行处理,"
        "在节省CPU负担的同时还能将物理运算效能成倍提升,由此带来更加符合真实世界的物理效果。",
        "好莱坞女演员奥黛丽·赫本(AudreyHepburn)被称为“坠入人间的天使”,"
        "主演了《蒂凡尼的早餐》《龙凤配》《罗马假日》等经典影片,并以《罗马假日》获封奥斯卡影后。"
        "据外媒报道,奥黛丽·赫本的故事将被拍成一部剧集。", "巴纳德星的名字起源于一百多年前一位名叫爱德华·爱默生·巴纳德的天文学家。"
        "他发现有一颗星在夜空中划过的速度很快,这引起了他极大的注意。", "叶依姆的家位于仓山区池后弄6号,属于烟台山历史风貌区,"
        "一家三代五口人挤在五六十平方米土木结构的公房里,屋顶逢雨必漏,居住环境不好。"
        "2013年11月,烟台山历史风貌区地块房屋征收工作启动,叶依姆的梦想正逐渐变为现实。",
        "人民网北京1月2日电据中央纪委监察部网站消息,日前,经中共中央批准,"
        "中共中央纪委对湖南省政协原副主席童名谦严重违纪违法问题进行了立案检查。"
    ]
    sent, tag = segmenter.decode_text(texts[0])
コード例 #5
0
    text = "天上有无数个星星,那个最小的就是我。"
    file = None
    out_file = None
    # src_dict_path = "D:\\copus\\src_dict.json"  # 源字典路径
    # tgt_dict_path = "D:\\copus\\tgt_dict.json"  # 目标字典路径
    # config_save_path = "D:\\copus\\default-config.json"  # 模型配置路径
    # weights_save_path = "D:\\copus\\weights.01-0.05.h5"  # 模型权重保存路径

    #测试数据集
    src_dict_path = "D:\\copus\\src_dict.json"  # 源字典路径
    tgt_dict_path = "D:\\copus\\tgt_dict.json"  # 目标字典路径
    config_save_path = "D:\\copus\\test_icwb2\\default-config.json"  # 模型配置路径
    weights_save_path = "D:\\copus\\test_icwb2\\weights.01-0.04.h5"  # 模型权重保存路径

    tokenizer = get_or_create(config_save_path,
                              src_dict_path=src_dict_path,
                              tgt_dict_path=tgt_dict_path,
                              weights_path=weights_save_path)

    # text = args.text
    # file = args.file
    # out_file = args.out_file

    texts = []
    if text is not None:
        texts = text.split(' ')
        results = tokenizer.decode_texts(texts)
        print(results)

    elif file is not None:
        with open(file, encoding='utf-8') as f:
            texts = list(map(lambda x: x[0:-1], f.readlines()))
コード例 #6
0
ファイル: predict.py プロジェクト: FairyFali/Online-fenci
    parser.add_argument("-s", "--text", help="要进行分割的语句")
    parser.add_argument("-f",
                        "--file",
                        help="要进行分割的文件。",
                        default="../bilstm_data/restore.utf8")
    parser.add_argument("-o",
                        "--out_file",
                        help="分割完成后输出的文件。",
                        default="../bilstm_data/pred_text.utf8")

    args = parser.parse_args()

    tokenizer = get_or_create(
        "../bilstm_data/default-config.json",
        src_dict_path="../bilstm_data/src_dict.json",
        tgt_dict_path="../bilstm_data/tgt_dict.json",
        #weights_path="../bilstm_models/weights.32--0.18.h5"
        # weights_path="../bilstm_models/weights.02-0.11.h5"
        weights_path="../bilstm_models/weights.29--0.15.h5")
    print(tokenizer)

    text = args.text
    file = args.file
    out_file = args.out_file

    texts = []
    if text is not None:
        texts = text.split(' ')
        results = tokenizer.decode_texts(texts)
        print(results)
コード例 #7
0
import time

from dl_segmenter import get_or_create, DLSegmenter

if __name__ == '__main__':
    segmenter: DLSegmenter = get_or_create(
        "../data/default-config.json",
        src_dict_path="../data/src_dict.json",
        tgt_dict_path="../data/tgt_dict.json",
        weights_path="../models/weights.01-0.15.h5")

    texts = [
        "昨晚,英国首相特里萨•梅(TheresaMay)试图挽救其退欧协议的努力,在布鲁塞尔遭遇了严重麻烦。"
        "倍感失望的欧盟领导人们指责她没有拿出可行的提案来向充满敌意的英国议会兜售她的退欧计划。",
        "物理仿真引擎的作用,是让虚拟世界中的物体运动符合真实世界的物理定律,经常用于游戏领域,以便让画面看起来更富有真实感。"
        "PhysX是由英伟达提出的物理仿真引擎,其物理模拟计算由专门加速芯片GPU来进行处理,"
        "在节省CPU负担的同时还能将物理运算效能成倍提升,由此带来更加符合真实世界的物理效果。",
        "好莱坞女演员奥黛丽·赫本(AudreyHepburn)被称为“坠入人间的天使”,"
        "主演了《蒂凡尼的早餐》《龙凤配》《罗马假日》等经典影片,并以《罗马假日》获封奥斯卡影后。"
        "据外媒报道,奥黛丽·赫本的故事将被拍成一部剧集。", "巴纳德星的名字起源于一百多年前一位名叫爱德华·爱默生·巴纳德的天文学家。"
        "他发现有一颗星在夜空中划过的速度很快,这引起了他极大的注意。", "叶依姆的家位于仓山区池后弄6号,属于烟台山历史风貌区,"
        "一家三代五口人挤在五六十平方米土木结构的公房里,屋顶逢雨必漏,居住环境不好。"
        "2013年11月,烟台山历史风貌区地块房屋征收工作启动,叶依姆的梦想正逐渐变为现实。",
        "人民网北京1月2日电据中央纪委监察部网站消息,日前,经中共中央批准,"
        "中共中央纪委对湖南省政协原副主席童名谦严重违纪违法问题进行了立案检查。"
    ]

    for _ in range(1):
        start_time = time.time()
        for sent, tag in segmenter.decode_texts(texts):
            print(sent)
コード例 #8
0
import time
import logging
from dl_segmenter import get_or_create, DLSegmenter

if __name__ == '__main__':
    LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s"
    logging.basicConfig(level=logging.INFO, format=LOG_FORMAT)
    segmenter: DLSegmenter = get_or_create(
        "config/default-config.json",
        src_dict_path="config/src_dict.json",
        tgt_dict_path="config/tgt_dict.json",
        weights_path="models/weights.03-0.05.h5")

    texts = [
        "昨晚,英国首相特里萨•梅(TheresaMay)试图挽救其退欧协议的努力,在布鲁塞尔遭遇了严重麻烦。"
        "倍感失望的欧盟领导人们指责她没有拿出可行的提案来向充满敌意的英国议会兜售她的退欧计划。",
        "物理仿真引擎的作用,是让虚拟世界中的物体运动符合真实世界的物理定律,经常用于游戏领域,以便让画面看起来更富有真实感。"
        "PhysX是由英伟达提出的物理仿真引擎,其物理模拟计算由专门加速芯片GPU来进行处理,"
        "在节省CPU负担的同时还能将物理运算效能成倍提升,由此带来更加符合真实世界的物理效果。",
        "好莱坞女演员奥黛丽·赫本(AudreyHepburn)被称为“坠入人间的天使”,"
        "主演了《蒂凡尼的早餐》《龙凤配》《罗马假日》等经典影片,并以《罗马假日》获封奥斯卡影后。"
        "据外媒报道,奥黛丽·赫本的故事将被拍成一部剧集。", "巴纳德星的名字起源于一百多年前一位名叫爱德华·爱默生·巴纳德的天文学家。"
        "他发现有一颗星在夜空中划过的速度很快,这引起了他极大的注意。", "叶依姆的家位于仓山区池后弄6号,属于烟台山历史风貌区,"
        "一家三代五口人挤在五六十平方米土木结构的公房里,屋顶逢雨必漏,居住环境不好。"
        "2013年11月,烟台山历史风貌区地块房屋征收工作启动,叶依姆的梦想正逐渐变为现实。",
        "人民网北京1月2日电据中央纪委监察部网站消息,日前,经中共中央批准,"
        "中共中央纪委对湖南省政协原副主席童名谦严重违纪违法问题进行了立案检查。"
    ]

    for _ in range(1):
        start_time = time.time()
コード例 #9
0
import argparse

from dl_segmenter import get_or_create

if __name__ == '__main__':
    parser = argparse.ArgumentParser(description="执行命令行分词")
    parser.add_argument("-s", "--text", help="要进行分割的语句")
    parser.add_argument("-f", "--file", help="要进行分割的文件。", default="../data/restore.utf8")
    parser.add_argument("-o", "--out_file", help="分割完成后输出的文件。", default="../data/pred_text.utf8")

    args = parser.parse_args()

    tokenizer = get_or_create("../data/default-config.json",
                              src_dict_path="../data/src_dict.json",
                              tgt_dict_path="../data/tgt_dict.json",
                              weights_path="../models/weights.32--0.18.h5")

    text = args.text
    file = args.file
    out_file = args.out_file

    texts = []
    if text is not None:
        texts = text.split(' ')
        results = tokenizer.decode_texts(texts)
        print(results)

    elif file is not None:
        with open(file, encoding='utf-8') as f:
            texts = list(map(lambda x: x[0:-1], f.readlines()))