[问答模型]七 模型优化

优化方案设计

在这里插入图片描述
为中文维基百科知识建立索引库,利用albert模型进行命名实体提取,提取后进行检索。通过预训练W2V中文词向量进行模糊关键词匹配,最终找到索引库中的文段,使用上述阅读理解模型进行答案获取。

选择torchserve作为模型服务器部署工具,因此将模型全部替换为torch框架下的模型。

知识库索引建立

将转化为json的中文wiki数据存入sqlite数据库,对大规模数据索引进行加速

# -*- coding: utf-8 -*-
import os
import sqlite3, json
from tqdm import tqdm
import unicodedata


def normalize(text):
    """Resolve different type of unicode encodings."""
    return unicodedata.normalize('NFD', text)


def get_contents(filename):
    """Parse the contents of a file. Each line is a JSON encoded document."""
    documents = []
    with open(filename, encoding='utf-8') as f:
        for line in f:
            doc = json.loads(line)
            documents.append((normalize(doc['id']), doc['text']))

    return documents


conn = sqlite3.connect(r'DB_output/output.db')
os.chdir('data')
c = conn.cursor()
try:
    c.execute("CREATE TABLE documents (id PRIMARY KEY, text);")
except:
    pass

for file in tqdm(os.listdir()):
    doc = get_contents(file)
    c.executemany("INSERT INTO documents VALUES (?,?)", doc)
conn.commit()
conn.close()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值