TALK TO BOOKS--在线使用/本地部署--与你的图书对话
产品简介
Talk to Books 是谷歌的一款人工智能产品,可用于与已出版书籍中的内容进行交互。它本质上是一个搜索引擎,使用高级自然语言处理将用户问题和提示与书籍中的相关文本相匹配。
它允许您与书籍交谈,因为它会生成响应以帮助您从索引书籍中发现新的观点和信息。看看下面的图片——我们向这个工具提出了一个问题,它从书中返回了相关的答案!
TalkToBooks 完全免费使用,无需注册或登录。
目前该产品的在线使用已经关闭且不再迭代,但是过往的训练内容,依然可以再次查阅和使用。但是,提供了开源的本地化方案以及完善的开发相关说明。具体信息如下:
回顾demo项目地址:https://books.google.com/talktobooks/
本地化部署项目地址:https://tfhub.dev/google/universal-sentence-encoder/1
概述
通用句子编码器将文本编码为高维向量,可用于文本分类、语义相似性、聚类和其他自然语言任务。
该模型针对大于单词长度的文本(例如句子、短语或短段落)进行训练和优化。它接受了各种数据源和各种任务的训练,旨在动态适应各种自然语言理解任务。输入是可变长度的英文文本,输出是 512 维向量。我们将此模型应用于STS 基准以获取语义相似性,结果可以在 提供的示例笔记本中看到。通用句子编码器模型使用深度平均网络 (DAN) 编码器进行训练。
要了解有关文本嵌入的更多信息,请参阅TensorFlow Embeddings 文档。我们的编码器与单词级嵌入模型的不同之处在于,我们训练许多自然语言预测任务,这些任务需要对单词序列的含义进行建模,而不仅仅是单个单词。详细信息请参阅论文“Universal Sentence Encoder”[1]。
通用句子编码器系列
通用句子编码器模型有多个版本,针对不同的目标进行训练,包括大小/性能多语言和细粒度问题答案检索。
使用示例
import tensorflow_hub as hub
embed = hub.load("https://tfhub.dev/google/universal-sentence-encoder/4")
embeddings = embed([
"The quick brown fox jumps over the lazy dog.",
"I am a sentence for which I would like to get its embedding"])
print(embeddings)
# The following are example embedding output of 512 dimensions per sentence
# Embedding for: The quick brown fox jumps over the lazy dog.
# [-0.03133016 -0.06338634 -0.01607501, ...]
# Embedding for: I am a sentence for which I would like to get its embedding.
# [0.05080863 -0.0165243 0.01573782, ...]
该模块大约1GB。根据您的网络速度,第一次使用它运行推理时可能需要一段时间才能加载。之后,加载模型应该会更快,因为默认情况下会缓存模块(了解有关缓存的更多信息)。此外,一旦模块加载到内存中,推理时间应该相对较快。
预处理
该模块不需要在应用模块之前对数据进行预处理,它会在图形内执行尽力而为的文本输入预处理。
语义相似度
语义相似度是衡量两段文本具有相同含义的程度。这对于获得使用语言表达思想的多种方式的良好覆盖非常有用,而无需手动枚举它们。
简单的应用程序包括提高触发某些关键字、短语或话语行为的系统的覆盖范围。 笔记本的这一部分 展示了如何对文本进行编码并比较编码距离作为语义相似性的代理。
分类
本笔记本 展示了如何在任何可以嵌入句子的 TF-Hub 模块之上训练简单的二进制文本分类器。通用句子编码器部分训练时考虑了自定义文本分类任务。可以训练这些类型的分类器来执行各种分类任务,通常使用非常少量的标记示例。
变更日志
版本1
初始发行。
版本2
将内部变量公开为可训练。
版本3
使用 TF2 重新训练。
版本4
修复了 GitHub 问题 #409。
默认推理函数现在返回张量而不是字典。
参考
[1] Daniel Cer、Yinfei Yang、Sheng-yi Kong、Nan Hua、Nicole Limtiaco、Rhomni St. John、Noah Constant、Mario Guajardo-Céspedes、Steve Yuan、Chris Tar、Yun-Hsuan Sung、Brian Strope、Ray Kurzweil。通用句子编码器。arXiv:1803.11175,2018。