元经纪 - 元宇宙与人工智能领域相关产品与服务一站式采购平台

400-6166692

Virtual-Assistant:基于 linux 的 C 人工智能虚拟助手

分类:开源 时间:2023-04-08 07:21 浏览:889
概述
内容

概述

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

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

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

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

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

  • 任何地方的天气预报
  • 播放音频歌曲、视频歌曲等多媒体文件
  • 打开 Web 浏览器、媒体播放器(如 vlc)、文本编辑器等应用程序
  • 在 Linux 中打开目录,日期和时间
  • 在 Google 上搜索任何内容
  • 打开用户选择的网站
  • 在 Youtube 上搜索任何内容
  • 打开任何一年的日历
  • 查找某个地区的餐厅
  • 使用您的 Gmail 帐户发送电子邮件
  • 算术计算

这一切如何运作?

[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]

 
微信客服
返回顶部