array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(9) "308660876" ["text"]=> string(45) "安全测试前置实践1-白盒&黑盒扫描" ["intro"]=> string(411) "本文我们将以围绕系统安全质量提升为目标,讲述在安全前置扫描上实践开展过程。希望通过此篇文章,帮助大家更深入、透彻地了解安全测试,能快速开展安全测试。 作者:京东物流 陈维 一、引言 G.J.Myers在《软件测试的艺术》中提出:从心理学角度来说,测试是一个为了寻找错误而运行程序的过程。 " ["username"]=> string(12) "jingdongkeji" ["tagsname"]=> string(39) "前端|安全|黑盒测试|白盒测试" ["tagsid"]=> string(29) "["160","2823","14120","5741"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1681206002" ["_id"]=> string(9) "308660876" } [1]=> array(10) { ["id"]=> string(9) "308660875" ["text"]=> string(24) "vulnhub靶场之ORASI: 1" ["intro"]=> string(256) "准备: 攻击机:虚拟机kali、本机win10。 靶机:Orasi: 1,下载地址:https://download.vulnhub.com/orasi/Orasi.ova,下载后直接vbox打开即可。 知识点:hex编码、ida逆向、AndroidKiller逆向、ffuf爆破、ssti漏洞、s" ["username"]=> string(6) "upfine" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1681204802" ["_id"]=> string(9) "308660875" } [2]=> array(10) { ["id"]=> string(9) "308660874" ["text"]=> string(92) "C# Kafka重置到最新的偏移量,即从指定的Partition订阅消息使用Assign方法" ["intro"]=> string(428) "在使用Kafka的过程中,消费者断掉之后,再次开始消费时,消费者会从断掉时的位置重新开始消费。 场景再现:比如昨天消费者晚上断掉了,今天上午我们会发现kafka消费的数据不是最新的,而是昨天晚上的数据,由于数据量比较多,也不会及时的消费到今天上午的数据,这个时候就需要我们对偏移量进行重置为最新的,以" ["username"]=> string(15) "Poetwithapistol" ["tagsname"]=> string(10) ".NET|Kafka" ["tagsid"]=> string(13) "["300","440"]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1681203303" ["_id"]=> string(9) "308660874" } [3]=> array(10) { ["id"]=> string(9) "308660873" ["text"]=> string(129) "迁移学习()《Attract, Perturb, and Explore: Learning a Feature Alignment Network for Semi-supervised Domain Adaptation》" ["intro"]=> string(194) "论文信息 论文标题:Attract, Perturb, and Explore: Learning a Feature Alignment Network for Semi-supervised Domain Adaptation论文作者:Taekyung Kim论文来源:2020 ECCV论文地" ["username"]=> string(12) "BlairGrowing" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1681203302" ["_id"]=> string(9) "308660873" } [4]=> array(10) { ["id"]=> string(9) "308660872" ["text"]=> string(92) "C# Kafka重置到最新的偏移量,即从指定的Partition订阅消息使用Assign方法" ["intro"]=> string(428) "在使用Kafka的过程中,消费者断掉之后,再次开始消费时,消费者会从断掉时的位置重新开始消费。 场景再现:比如昨天消费者晚上断掉了,今天上午我们会发现kafka消费的数据不是最新的,而是昨天晚上的数据,由于数据量比较多,也不会及时的消费到今天上午的数据,这个时候就需要我们对偏移量进行重置为最新的,以" ["username"]=> string(10) "goodboydcc" ["tagsname"]=> string(10) ".NET|Kafka" ["tagsid"]=> string(13) "["300","440"]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1681202402" ["_id"]=> string(9) "308660872" } [5]=> array(10) { ["id"]=> string(9) "308660870" ["text"]=> string(42) "Django怎么使用原生SQL查询数据库" ["intro"]=> string(392) "这篇文章主要介绍“Django怎么使用原生SQL查询数据库”,在日常操作中,相信很多人在Django怎么使用原生SQL查询数据库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Django怎么使用原生SQL查询数据库”的疑惑有所帮助!接下来,请跟着小编一起来学习吧! D" ["username"]=> NULL ["tagsname"]=> string(20) "django|sql|数据库" ["tagsid"]=> NULL ["catesname"]=> string(0) "" ["catesid"]=> NULL ["createtime"]=> string(10) "1681201981" ["_id"]=> string(9) "308660870" } [6]=> array(10) { ["id"]=> string(9) "308660871" ["text"]=> string(37) "Express怎么实现定时发送邮件" ["intro"]=> string(432) "今天小编给大家分享一下Express怎么实现定时发送邮件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。 在开发中我们有时候需要每隔 一段时间发送一次电子邮件,或者在某个特定的时间进行发" ["username"]=> NULL ["tagsname"]=> string(7) "express" ["tagsid"]=> NULL ["catesname"]=> string(0) "" ["catesid"]=> NULL ["createtime"]=> string(10) "1681201981" ["_id"]=> string(9) "308660871" } [7]=> array(10) { ["id"]=> string(9) "308660869" ["text"]=> string(29) "mysql运维------分库分表" ["intro"]=> string(412) "1. 介绍 问题分析: 随着互联网以及移动互联网的发展,应用系统的数据量也是成指数式增长,若采用单数据库进行数据存储,存在以下性能瓶颈: IO瓶颈:热点数据太多,数据库缓存不足,产生大量磁盘IO,效率较低。请求数据太多,带宽不够,网络IO瓶颈。CPU瓶颈:排序、分组、连接查询、聚合统计等SQL会耗费" ["username"]=> string(13) "qds1401744017" ["tagsname"]=> string(5) "mysql" ["tagsid"]=> string(7) "["237"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1681200304" ["_id"]=> string(9) "308660869" } [8]=> array(10) { ["id"]=> string(9) "308660868" ["text"]=> string(41) "ASP.NET Core - 缓存之内存缓存(下)" ["intro"]=> string(292) "话接上篇 [ASP.NET Core - 缓存之内存缓存(上)],所以这里的目录从 2.4 开始。 2.4 MemoryCacheEntryOptions MemoryCacheEntryOptions 是内存缓存配置类,可以通过它配置缓存相关的策略。除了上面讲到的过期时间,我们还能够设置下面这些" ["username"]=> string(6) "wewant" ["tagsname"]=> string(12) "asp.net core" ["tagsid"]=> string(7) "["179"]" ["catesname"]=> string(25) "APS.NET Core 系列总结" ["catesid"]=> string(9) "["15288"]" ["createtime"]=> string(10) "1681200302" ["_id"]=> string(9) "308660868" } [9]=> array(10) { ["id"]=> string(9) "308660867" ["text"]=> string(9) "SPI协议" ["intro"]=> string(334) "SPI协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral Interface),即串行外设接口。广泛用在ADC、LCD等设备与MCU间,要求通讯速率较高的场合。区分它与I2C协议差异以及FLASH存储器与EEPROM存储器的区别。下面我们分别对SPI协议的物理层及协议层进行讲解。" ["username"]=> string(8) "Kaelthas" ["tagsname"]=> string(5) "STM32" ["tagsid"]=> string(8) "["1311"]" ["catesname"]=> string(5) "STM32" ["catesid"]=> string(8) "["1139"]" ["createtime"]=> string(10) "1681199702" ["_id"]=> string(9) "308660867" } } ["count"]=> int(5621682) } JAVA中[人工无脑]系统(chatbot)的实现 - 爱码网
所谓[人工无脑],根据本人在百度百科中的解释^^,即:

人工无脑“人工无脳(じんこうむのう)”,是日语中特有的说法,日文引用英文的舶来语,[人工无脑]在英文中被称为chatterbot、chatbot等,中文通常称其为“聊天机器人”。[人工无脑]与[人工智能]等[强AI]产物相反,是[弱AI]的代表产品。

世界上第一个[人工无脑]系统chatterbot, 诞生于1966年.名为ELIZA,由J. Weizenbaum开发。ELIZA会分解问话,再以问话检索事前录入好的答案。从而模拟人机通信,造成计算机与人沟通的[假象],这也是所有[弱 AI]系统的共同特点。初期的[人工无脑]实现,以ELIZA和PARRY为主流。此后Ractor、Verbot、A.L.I.C.E.、ELLA等陆 续登场,[弱AI]系统得以长足发展。

[人工无脑]与[人工智能]的最大区别在于,它仅是模拟人机数据交换,而根据简单的[表面现象]使之产生作用的程式,并没有[强AI]那种模拟生命智能的 需 求。只是应用编码好的程序,把提出的问题再以固定的方式回应,是一种[弱AI]。再简单地说,这是在暂时无法实现人工智能时,一种模拟人工智能的方式。

如绝大部分游戏编程中,关于[人机交互]这一部分,都是以[人工无脑]的方式来实现的。


在这里首先提供一个简单的Java用例:

JAVA中[人工无脑]系统(chatbot)的实现

此用例不过滤用户会话,仅将输入的会话再次返回,但却是[无脑]系统的基础所在。

代码如下:

ChatbotPanel:
JAVA中[人工无脑]系统(chatbot)的实现packageorg.test;
JAVA中[人工无脑]系统(chatbot)的实现JAVA中[人工无脑]系统(chatbot)的实现
/***//**
JAVA中[人工无脑]系统(chatbot)的实现*<p>Title:LoonFramework</p>
JAVA中[人工无脑]系统(chatbot)的实现*<p>Description:</p>
JAVA中[人工无脑]系统(chatbot)的实现*<p>Copyright:Copyright(c)2007</p>
JAVA中[人工无脑]系统(chatbot)的实现*<p>Company:LoonFramework</p>
JAVA中[人工无脑]系统(chatbot)的实现*
@authorchenpeng
JAVA中[人工无脑]系统(chatbot)的实现*@email:[email protected]
JAVA中[人工无脑]系统(chatbot)的实现*
@version0.1
JAVA中[人工无脑]系统(chatbot)的实现
*/

JAVA中[人工无脑]系统(chatbot)的实现
importjava.awt.BorderLayout;
JAVA中[人工无脑]系统(chatbot)的实现
importjava.awt.Dimension;
JAVA中[人工无脑]系统(chatbot)的实现
importjava.awt.Frame;
JAVA中[人工无脑]系统(chatbot)的实现
importjava.awt.Panel;
JAVA中[人工无脑]系统(chatbot)的实现
importjava.awt.ScrollPane;
JAVA中[人工无脑]系统(chatbot)的实现
importjava.awt.TextArea;
JAVA中[人工无脑]系统(chatbot)的实现
importjava.awt.TextField;
JAVA中[人工无脑]系统(chatbot)的实现
importjava.awt.event.ActionEvent;
JAVA中[人工无脑]系统(chatbot)的实现
importjava.awt.event.ActionListener;
JAVA中[人工无脑]系统(chatbot)的实现
importjava.awt.event.WindowAdapter;
JAVA中[人工无脑]系统(chatbot)的实现
importjava.awt.event.WindowEvent;
JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现JAVA中[人工无脑]系统(chatbot)的实现
/***//**
JAVA中[人工无脑]系统(chatbot)的实现*<p>Title:LoonFramework</p>
JAVA中[人工无脑]系统(chatbot)的实现*<p>Description:[人工无脑]系统的初步实现。</p>
JAVA中[人工无脑]系统(chatbot)的实现*<p>Copyright:Copyright(c)2007</p>
JAVA中[人工无脑]系统(chatbot)的实现*<p>Company:LoonFramework</p>
JAVA中[人工无脑]系统(chatbot)的实现*
@authorchenpeng
JAVA中[人工无脑]系统(chatbot)的实现*@email:[email protected]
JAVA中[人工无脑]系统(chatbot)的实现*
@version0.1
JAVA中[人工无脑]系统(chatbot)的实现
*/

JAVA中[人工无脑]系统(chatbot)的实现JAVA中[人工无脑]系统(chatbot)的实现
publicclassChatbotPanelextendsPanelimplementsActionListener...{
JAVA中[人工无脑]系统(chatbot)的实现JAVA中[人工无脑]系统(chatbot)的实现
/***//**
JAVA中[人工无脑]系统(chatbot)的实现*
JAVA中[人工无脑]系统(chatbot)的实现
*/

JAVA中[人工无脑]系统(chatbot)的实现
privatestaticfinallongserialVersionUID=1L;
JAVA中[人工无脑]系统(chatbot)的实现
privatestaticfinalintWIDTH=480;
JAVA中[人工无脑]系统(chatbot)的实现
privatestaticfinalintHEIGHT=480;
JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现
//用于信息显示
JAVA中[人工无脑]系统(chatbot)的实现
privateTextAreadialogueArea;
JAVA中[人工无脑]系统(chatbot)的实现
//用于信息输入
JAVA中[人工无脑]系统(chatbot)的实现
privateTextFieldinputField;
JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现
privateChatbotchatbot=newChatbot(Chatbot.NAME);
JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现JAVA中[人工无脑]系统(chatbot)的实现
publicChatbotPanel()...{
JAVA中[人工无脑]系统(chatbot)的实现setPreferredSize(
newDimension(WIDTH,HEIGHT));
JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现init();
JAVA中[人工无脑]系统(chatbot)的实现}

JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现JAVA中[人工无脑]系统(chatbot)的实现
/***//**
JAVA中[人工无脑]系统(chatbot)的实现*初始显示
JAVA中[人工无脑]系统(chatbot)的实现
*/

JAVA中[人工无脑]系统(chatbot)的实现JAVA中[人工无脑]系统(chatbot)的实现
privatevoidinit()...{
JAVA中[人工无脑]系统(chatbot)的实现setLayout(
newBorderLayout());
JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现
//创建文本框
JAVA中[人工无脑]系统(chatbot)的实现
dialogueArea=newTextArea();
JAVA中[人工无脑]系统(chatbot)的实现dialogueArea.setEditable(
false);
JAVA中[人工无脑]系统(chatbot)的实现dialogueArea.append(
"人机通信模拟 ");
JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现
//初始信息
JAVA中[人工无脑]系统(chatbot)的实现
inputField=newTextField("要与["+Chatbot.NAME+"]进行的对话。");
JAVA中[人工无脑]系统(chatbot)的实现inputField.selectAll();
JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现
//设定滚动条
JAVA中[人工无脑]系统(chatbot)的实现
ScrollPanescrollPane=newScrollPane();
JAVA中[人工无脑]系统(chatbot)的实现scrollPane.add(dialogueArea);
JAVA中[人工无脑]系统(chatbot)的实现add(scrollPane,BorderLayout.CENTER);
JAVA中[人工无脑]系统(chatbot)的实现add(inputField,BorderLayout.SOUTH);
JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现inputField.addActionListener(
this);
JAVA中[人工无脑]系统(chatbot)的实现}

JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现JAVA中[人工无脑]系统(chatbot)的实现
publicvoidactionPerformed(ActionEvente)...{
JAVA中[人工无脑]系统(chatbot)的实现
//获得输入的内容
JAVA中[人工无脑]系统(chatbot)的实现
Stringinput=inputField.getText();
JAVA中[人工无脑]系统(chatbot)的实现dialogueArea.append(
"人类说: "+input+" ");
JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现
//返回响应
JAVA中[人工无脑]系统(chatbot)的实现
Stringresponse=chatbot.getResponse(input);
JAVA中[人工无脑]系统(chatbot)的实现dialogueArea.append(chatbot.getName()
+""+response+" ");
JAVA中[人工无脑]系统(chatbot)的实现dialogueArea.setCaretPosition(dialogueArea.getText().length());
JAVA中[人工无脑]系统(chatbot)的实现inputField.setText(
"");
JAVA中[人工无脑]系统(chatbot)的实现}

JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现JAVA中[人工无脑]系统(chatbot)的实现
publicstaticvoidmain(String[]args)...{
JAVA中[人工无脑]系统(chatbot)的实现Framefrm
=newFrame();
JAVA中[人工无脑]系统(chatbot)的实现frm.setSize(WIDTH,HEIGHT);
JAVA中[人工无脑]系统(chatbot)的实现frm.setResizable(
false);
JAVA中[人工无脑]系统(chatbot)的实现frm.setTitle(Chatbot.NAME);
JAVA中[人工无脑]系统(chatbot)的实现frm.add(
newChatbotPanel());
JAVA中[人工无脑]系统(chatbot)的实现frm.setVisible(
true);
JAVA中[人工无脑]系统(chatbot)的实现JAVA中[人工无脑]系统(chatbot)的实现frm.addWindowListener(
newWindowAdapter()...{
JAVA中[人工无脑]系统(chatbot)的实现JAVA中[人工无脑]系统(chatbot)的实现
publicvoidwindowClosing(WindowEvente)...{
JAVA中[人工无脑]系统(chatbot)的实现System.exit(
0);
JAVA中[人工无脑]系统(chatbot)的实现}

JAVA中[人工无脑]系统(chatbot)的实现}
);
JAVA中[人工无脑]系统(chatbot)的实现}

JAVA中[人工无脑]系统(chatbot)的实现}

JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现

Chatbot:
JAVA中[人工无脑]系统(chatbot)的实现packageorg.test;
JAVA中[人工无脑]系统(chatbot)的实现JAVA中[人工无脑]系统(chatbot)的实现
/***//**
JAVA中[人工无脑]系统(chatbot)的实现*<p>Title:LoonFramework</p>
JAVA中[人工无脑]系统(chatbot)的实现*<p>Description:</p>
JAVA中[人工无脑]系统(chatbot)的实现*<p>Copyright:Copyright(c)2007</p>
JAVA中[人工无脑]系统(chatbot)的实现*<p>Company:LoonFramework</p>
JAVA中[人工无脑]系统(chatbot)的实现*
@authorchenpeng
JAVA中[人工无脑]系统(chatbot)的实现*@email:[email protected]
JAVA中[人工无脑]系统(chatbot)的实现*
@version0.1
JAVA中[人工无脑]系统(chatbot)的实现
*/

JAVA中[人工无脑]系统(chatbot)的实现JAVA中[人工无脑]系统(chatbot)的实现
publicclassChatbot...{
JAVA中[人工无脑]系统(chatbot)的实现
privateStringname;
JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现
publicstaticfinalStringNAME="无脑0号机";
JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现JAVA中[人工无脑]系统(chatbot)的实现
publicChatbot(Stringname)...{
JAVA中[人工无脑]系统(chatbot)的实现
this.name=name;
JAVA中[人工无脑]系统(chatbot)的实现}

JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现JAVA中[人工无脑]系统(chatbot)的实现
publicStringgetResponse(Stringmessage)...{
JAVA中[人工无脑]系统(chatbot)的实现
returnmessage;
JAVA中[人工无脑]系统(chatbot)的实现}

JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现JAVA中[人工无脑]系统(chatbot)的实现
publicStringgetName()...{
JAVA中[人工无脑]系统(chatbot)的实现
returnname;
JAVA中[人工无脑]系统(chatbot)的实现}

JAVA中[人工无脑]系统(chatbot)的实现}

JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现


在[人工无脑]系统中,真正关键的技术在词条的检索和回复方式,比如我略微扩充Chatbot类后,将变成这样。
JAVA中[人工无脑]系统(chatbot)的实现

变更后Chatbot如下:

JAVA中[人工无脑]系统(chatbot)的实现packageorg.test;
JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现
importjava.io.BufferedReader;
JAVA中[人工无脑]系统(chatbot)的实现
importjava.io.FileNotFoundException;
JAVA中[人工无脑]系统(chatbot)的实现
importjava.io.IOException;
JAVA中[人工无脑]系统(chatbot)的实现
importjava.io.InputStreamReader;
JAVA中[人工无脑]系统(chatbot)的实现
importjava.util.ArrayList;
JAVA中[人工无脑]系统(chatbot)的实现
importjava.util.Random;
JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现JAVA中[人工无脑]系统(chatbot)的实现
/***//**
JAVA中[人工无脑]系统(chatbot)的实现*<p>Title:LoonFramework</p>
JAVA中[人工无脑]系统(chatbot)的实现*<p>Description:</p>
JAVA中[人工无脑]系统(chatbot)的实现*<p>Copyright:Copyright(c)2007</p>
JAVA中[人工无脑]系统(chatbot)的实现*<p>Company:LoonFramework</p>
JAVA中[人工无脑]系统(chatbot)的实现*
@authorchenpeng
JAVA中[人工无脑]系统(chatbot)的实现*@email:[email protected]
JAVA中[人工无脑]系统(chatbot)的实现*
@version0.1
JAVA中[人工无脑]系统(chatbot)的实现
*/

JAVA中[人工无脑]系统(chatbot)的实现JAVA中[人工无脑]系统(chatbot)的实现
publicclassChatbot...{
JAVA中[人工无脑]系统(chatbot)的实现
privateStringname;
JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现
publicstaticfinalStringNAME="无脑0号机";
JAVA中[人工无脑]系统(chatbot)的实现
privateArrayListdic;
JAVA中[人工无脑]系统(chatbot)的实现
privateRandomrand;
JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现JAVA中[人工无脑]系统(chatbot)的实现
publicChatbot(Stringname)...{
JAVA中[人工无脑]系统(chatbot)的实现
this.name=name;
JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现dic
=newArrayList();
JAVA中[人工无脑]系统(chatbot)的实现rand
=newRandom(System.currentTimeMillis());
JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现
//加载字典
JAVA中[人工无脑]系统(chatbot)的实现
loadDic();
JAVA中[人工无脑]系统(chatbot)的实现}

JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现JAVA中[人工无脑]系统(chatbot)的实现
publicStringgetResponse(Stringmessage)...{
JAVA中[人工无脑]系统(chatbot)的实现Stringresponse
=(String)dic.get(rand.nextInt(dic.size()));
JAVA中[人工无脑]系统(chatbot)的实现
returnresponse;
JAVA中[人工无脑]系统(chatbot)的实现}

JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现JAVA中[人工无脑]系统(chatbot)的实现
publicStringgetName()...{
JAVA中[人工无脑]系统(chatbot)的实现
returnname;
JAVA中[人工无脑]系统(chatbot)的实现}

JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现JAVA中[人工无脑]系统(chatbot)的实现
privatevoidloadDic()...{
JAVA中[人工无脑]系统(chatbot)的实现JAVA中[人工无脑]系统(chatbot)的实现
try...{
JAVA中[人工无脑]系统(chatbot)的实现BufferedReaderbr
=newBufferedReader(
JAVA中[人工无脑]系统(chatbot)的实现
newInputStreamReader(getClass().getResourceAsStream("dic.txt")));
JAVA中[人工无脑]系统(chatbot)的实现Stringline;
JAVA中[人工无脑]系统(chatbot)的实现JAVA中[人工无脑]系统(chatbot)的实现
while((line=br.readLine())!=null)...{
JAVA中[人工无脑]系统(chatbot)的实现dic.add(line);
//写入list
JAVA中[人工无脑]系统(chatbot)的实现
}

JAVA中[人工无脑]系统(chatbot)的实现br.close();
JAVA中[人工无脑]系统(chatbot)的实现JAVA中[人工无脑]系统(chatbot)的实现}
catch(FileNotFoundExceptione)...{
JAVA中[人工无脑]系统(chatbot)的实现e.printStackTrace();
JAVA中[人工无脑]系统(chatbot)的实现JAVA中[人工无脑]系统(chatbot)的实现}
catch(IOExceptione)...{
JAVA中[人工无脑]系统(chatbot)的实现e.printStackTrace();
JAVA中[人工无脑]系统(chatbot)的实现}

JAVA中[人工无脑]系统(chatbot)的实现}

JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现}

JAVA中[人工无脑]系统(chatbot)的实现
JAVA中[人工无脑]系统(chatbot)的实现

dic.txt内容如下:
[中国人民是不可战胜的。
一切派都是纸老虎。
人民万岁!
庆祝17大胜利召开。
共建和谐社会。]


虽然没有经过更多处理,但已经能体现出人机对话的[假象了],若通过网络的字典数据库系统,甚至能够完成以假乱真的弱AI聊天机器人呢。

相关文章:

  • 2022-12-23
  • 2021-11-23
  • 2021-04-01
  • 2022-12-23
  • 2021-12-17
  • 2021-04-11
  • 2021-10-24
  • 2021-04-28
猜你喜欢
  • 2021-05-02
  • 2021-12-04
  • 2021-04-17
  • 2022-12-23
  • 2022-01-15
  • 2021-12-04
  • 2022-12-23
相关资源
相似解决方案