Skip to content

Latest commit

 

History

History

w2v_financial_target_bigram-char_dim300

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

w2v_financial_target_bigram-char_dim300

模型名称 w2v_financial_target_bigram-char_dim300
类别 文本-词嵌入
网络 w2v
数据集 financial
是否支持Fine-tuning
文件大小 499.52MB
词表大小 467163
最新更新日期 2021-04-28
数据指标 -

一、模型基本信息

  • 模型介绍

    • PaddleHub提供多个开源的预训练Embedding模型。这些Embedding模型可根据不同语料、不同训练方式和不同的维度进行区分,关于模型的具体信息可参考PaddleNLP的文档:Embedding模型汇总

二、安装

三、模型API

  • 1、预测代码示例

    • import paddlehub as hub
      embedding = hub.Module(name='w2v_financial_target_bigram-char_dim300')
      
      # 获取单词的embedding
      embedding.search("中国")
      # 计算两个词向量的余弦相似度
      embedding.cosine_sim("中国", "美国")
      # 计算两个词向量的内积
      embedding.dot("中国", "美国")
  • 2、API

    • def __init__(
          *args,
          **kwargs
      )
      • 创建一个Embedding Module对象,默认无需参数。

      • 参数

        • *args: 用户额外指定的列表类型的参数。
        • **kwargs:用户额外指定的关键字字典类型的参数。
      • 关于额外参数的详情可参考paddlenlp.embeddings

    • def search(
          words: Union[List[str], str, int],
      )
      • 获取一个或多个词的embedding。输入可以是strList[str]int类型,分别代表获取一个词,多个词和指定词编号的embedding,词的编号和模型的词典相关,词典可通过模型实例的vocab属性获取。

      • 参数

        • words: 需要获取的词向量的词、词列表或者词编号。
    • def cosine_sim(
          word_a: str,
          word_b: str,
      )
      • 计算两个词embedding的余弦相似度。需要注意的是word_aword_b都需要是词典里的单词,否则将会被认为是OOV(Out-Of-Vocabulary),同时被替换为unknown_token

      • 参数

        • word_a: 需要计算余弦相似度的单词a。
        • word_b: 需要计算余弦相似度的单词b。
    • def dot(
          word_a: str,
          word_b: str,
      )
      • 计算两个词embedding的内积。对于输入单词同样需要注意OOV问题。

      • 参数

        • word_a: 需要计算内积的单词a。
        • word_b: 需要计算内积的单词b。
    • def get_vocab_path()
      • 获取本地词表文件的路径信息。
    • def get_tokenizer(*args, **kwargs)
      • 获取当前模型的tokenizer,返回一个JiebaTokenizer的实例,当前只支持中文embedding模型。

      • 参数

        • *args: 额外传递的列表形式的参数。
        • **kwargs: 额外传递的字典形式的参数。
      • 关于额外参数的详情可参考paddlenlp.data.tokenizer.JiebaTokenizer

    • 更多api详情和用法可参考paddlenlp.embeddings

四、部署服务

  • 通过PaddleHub Serving,可以部署一个在线获取两个词向量的余弦相似度的服务。

  • Step1: 启动PaddleHub Serving

    • 运行启动命令:

    • $ hub serving start -m w2v_financial_target_bigram-char_dim300
    • 这样就完成了一个获取词向量的余弦相似度服务化API的部署,默认端口号为8866。

    • NOTE: 如使用GPU预测,则需要在启动服务之前,请设置CUDA_VISIBLE_DEVICES环境变量,否则不用设置。

  • 第二步: 发送预测请求

    • 配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果

    • import requests
      import json
      
      # 指定用于计算余弦相似度的单词对[[word_a, word_b], [word_a, word_b], ... ]]
      word_pairs = [["中国", "美国"], ["今天", "明天"]]
      # 以key的方式指定word_pairs传入预测方法的时的参数,此例中为"data",对于每一对单词,调用cosine_sim进行余弦相似度的计算
      data = {"data": word_pairs}
      # 发送post请求,content-type类型应指定json方式,url中的ip地址需改为对应机器的ip
      url = "http://127.0.0.1:8866/predict/w2v_financial_target_bigram-char_dim300"
      # 指定post请求的headers为application/json方式
      headers = {"Content-Type": "application/json"}
      
      r = requests.post(url=url, headers=headers, data=json.dumps(data))
      print(r.json())

五、更新历史

  • 1.0.0

    初始发布

  • 1.0.1

    优化模型

    • $ hub install w2v_financial_target_bigram-char_dim300==1.0.1