开源
Virtual-Assistant:基于 linux 的 C 人工智能虚拟助手
来源:元经纪     阅读:888
网站管理员
发布于 2023-04-08 07:21
查看主页

概述

一个基于 linux 的 C 人工智能虚拟助手。

虚拟助手是可以为个人执行任务或服务的软件代理。术语“聊天机器人”也用于指代虚拟助手。还记得那个时候,当你在看钢铁侠的时候,心里想,如果你有自己的贾维斯,那该有多酷?好吧,是时候让这个梦想变成现实了。

人工智能是下一代。想象一下,如果你有朋友来你家,那该有多酷,突然间你说,“嘿 JARVIS,给我看一些模因。”然后 JARVIS 说:“当然,先生。这是最新的意大利模因。 ",同时向您展示最有趣的意大利模因。酷吧?

好吧,这既不是聊天机器人也不是 JARVIS,但为了更好地理解它,最好了解两者。

虚拟助手使用人工智能将用户文本输入与可执行命令相匹配。它可以提供各种各样的服务,其中包括:

这一切如何运作?

[hidecontent type="logged" desc="隐藏内容:登录后可查看"]

用户的句子被读取并通过我们的自然语言处理 (NLP) 代码进行处理。句子处理完成后,会根据句子的意思重定向到要执行的动作。我们的 NLP 代码使用多项朴素贝叶斯算法的简化版本。

可以执行以下操作:

  • 播放音频和媒体文件
  • 根据指定位置显示天气预报
  • 显示指定年份的日历
  • 执行 YouTube 视频搜索
  • 执行谷歌搜索
  • 显示餐厅推荐
  • 发电子邮件

如果虚拟助手不理解用户的句子,则执行谷歌搜索。

人工智能

简化的多项式朴素贝叶斯算法

每个分类都包含一组与输入匹配的句子。基于每个分类的输入句子中单词的出现来分配分数。分数衡量输入句子对分类的共性。单词和分类之间的共性很重要。例如,匹配单词“it”的意义远不如单词“cheese”的匹配。输入句子被分配最高分的分类。这是一种简化,因为单词需要简化为词干。

样本训练集:

ai样本

让我们对几个示例输入句子进行分类:

截图来自2017-11-04 23 08 21

请注意,“What's it like outside”的分类在另一个类别中找到了一个术语,但该术语与所需类别的相似性产生了更高的分数。通过使用一个等式,我们正在为每个类别寻找一些给定示例句子的单词匹配,并且我们避免了必须识别每个模式。

设置

对于 Ubuntu(基于 Debian 的 Linux)

该程序使用GNUstep 语音引擎来实现文本到语音的目的。要使用此功能,需要几个命令:

say 使用 GNUstep 语音引擎将文本转换为可听语音。

$ sudo apt-get install gnustep-gui-runtime
$ say "hello"

需要 Firefox 才能执行浏览器任务,例如打开 google 和 youtube。

$ sudo apt-get install firefox

除此之外,还需要以下命令来安装必要的软件包。

$ sudo apt-get install libcurl4-openssl-dev
$ sudo apt-get install libjson-c-dev
$ sudo apt-get install libssl0.9.8

对于 Fedora(基于 RHEL 的 Linux)

这个程序使用Espeak来实现文本到语音的目的。

espeak 将文本转换为可听语音。

$ espeak "hello"

需要 Firefox 才能执行浏览器任务,例如打开 google 和 youtube。

$ sudo yum install firefox

除此之外,还需要以下命令来安装必要的软件包。

$ sudo yum install libcurl libcurl-devel
$ sudo yum install json-c json-c-devel
$ sudo dnf install openssl
$ sudo dnf install openssl-devel

对于 macOS

GNUstep 可以从 Linux 交叉编译以在 Apple 的 macOS 上运行(参见:http://wiki.gnustep.org/index.php/Cross_Compiling)。

brew install curl
brew install json-c
brew install openssl

编译

使用 make 编译:

sudo make install

virtual_assistant然后从任何位置执行使用

删除所有构建文件

make clean

删除更改

sudo make uninstall

使用 gcc 编译:

gcc main.c src/init_config.c $(pkg-config --libs --cflags libcurl) -lssl -lcrypto -ljson-c -std=gnu11

[/hidecontent]

 
免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 开源
为什么蒙古人要去套马 原来蒙古的马各司其职
2024金旗奖年度主题正式发布(附赛事安排)
数字化带来消费新体验(消费视窗·中国实体商业新观察)
消费品“以旧换新”,能落着实惠吗?(读者点题·共同关注)
智能驾驶升级!小米SU7宣布推送城市领航辅助先锋版:全国都能开

首页

分类

定制方案

消息

我的