热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

自动问答

最近又看了一看自然语言的东西,然后想做一个类似于自动问答的东西。然后做了一个简单的。还蛮有意思。这里总结一下怎么做。首先,你需要语料,这个不容易找到。https:pinyin.so

最近又看了一看自然语言的东西 ,然后想做一个类似于自动问答的东西。然后做了一个简单的。还蛮有意思。这里总结一下怎么做。

  1. 首先,你需要语料,这个不容易找到。https://pinyin.sogou.com/dict/ 。搜狗输入法有词库,可以试用一下。关于自动问答,你首先是需要问题,或者问题的关键字词,还需要问题的答案。

2.其次,需要做一些自然语言处理的工作,分词,文本向量化,计算dtm矩阵活着diidf矩阵。

3.最后,使用你想使用的机器学习模型

我找了一些数学领域的语料,然后机器就可以给我找答案了就是这样:

QA("我想知道万有泰希米勒空间")
[1] "你需要的回答是: 泰希米勒空间,是指黎曼曲面复结构的形变所组成的空间。理论主要是用拟共形映射为工具来研究黎曼曲面的模问题,这种研究与克莱因群以及低维拓扑问题有一定的联系"
QA("维球是什么意思")
[1] "你需要的回答是: 超球面,也称n维球面,是普通的球面在任意维度的推广。"

代码如下:

QA=function(question){
#首先创建语料库
library(text2vec)
it = itoken(as.character(math_sample$V1),
tokenizer = word_tokenizer)
# Creates a vocabulary of unique terms
v = create_vocabulary(it)
#remove very common and uncommon words
#这个功能可以过滤输入词汇,并抛出非常频繁且非常罕见的词汇。
pruned_vocab = prune_vocabulary(v, term_count_min = 1,
doc_proportion_max = 0.5, doc_proportion_min = 0.001)
#该函数创建一个文本向量化函数,用于构建一个dtm / tcm /语料库。
vectorizer = vocab_vectorizer(pruned_vocab)
# 创建语料数据的dtm
it = itoken(as.character(math_sample$V1), preprocess_function = tolower,
tokenizer = word_tokenizer)
#Document-term matrix construction
dtm_raw = create_dtm(it, vectorizer)
# 创建问题的dtm
it = itoken(question, preprocess_function = tolower,
tokenizer = word_tokenizer)
#Document-term matrix construction
dtm_question = create_dtm(it, vectorizer)
# 找到最相近的问题
n=which(as.matrix(sim2(dtm_raw,dtm_question))==max(sim2(dtm_raw,dtm_question)))
print(paste("你需要的回答是:",math_sample$V2[n]))
}
QA("万有泰希米勒空间是什么意思")
[1] "你需要的回答是: 泰希米勒空间,是指黎曼曲面复结构的形变所组成的空间。理论主要是用拟共形映射为工具来研究黎曼曲面的模问题,这种研究与克莱因群以及低维拓扑问题有一定的联系"

推荐阅读
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
author-avatar
成都迅捷代驾
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有