人工智能项目(介绍)

来源:互联网 发布:淘宝软文例题解 编辑:程序博客网 时间:2024/05/16 08:25

人工智能(Artificial Intelligence),英文缩写为AI。百度百科是这样介绍的:它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。

下面我将用技术的层面解释人工智能的实现:一般人工智能会用到ASR和NLP技术以及其他方面的技术:

ASR技术:语音识别技术,也被称为自动语音识别Automatic Speech Recognition,(ASR),其目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。与说话人识别及说话人确认不同,后者尝试识别或确认发出语音的说话人而非其中所包含的词汇内容。其实说得通俗点就是把说话人说得话转换成文字。

NLP:自然语言处理(Natural Language Processing:NLP)是计算机科学、人工智能以及语言学的交叉学科,旨在解决计算机与人类语言之间的交互问题,这其中包括对自然语言的分析、理解、生成、检索、变换及翻译等方面。其作用是把文字经过算法匹配程序预设的语句,从而转译成json或者其他格式。

这是一个简单的匹配语句的配置文件

<?xml version="1.0" encoding="UTF-8"?><package name=“packageName” suffix="xml" final="true" T="1" outputText="true">    <item name=“add” output="true">    <set value=“+”></set>    <set value=“+”>加上</set>    </item>    <item name=“reduce” output="true">    <set value=“-”></set>    <set value=“-”>减去</set>    </item>    <item name=“multiply” output="true">    <set value=“*”></set>    <set value=“*”>乘以</set>    </item>    <item name=“divide” output="true">    <set value=“/”></set>    <set value=“/”>除以</set>    </item>    //系统识别的数字返回的格式是{text:”一”,number:”1”}    <item name=“number1” output="true">        <pkg>system.number</pkg>    </item>    <item name="number2” output="true">        <pkg>system.number</pkg>    </item>    <!-- 加法计算 -->    <patternlist intent="add_intent”>        <pattern T="1">        //例如一加一等于几            <value>$number1$add$number2等于几</value>        //例如一加一等于多少        <value>$number1$add$number2等于多少</value>        </pattern>    </patternlist>      <!-- 减法计算 -->    <patternlist intent="add_intent”>        <pattern T="1">        //例如一减一等于几            <value>$number1$reduce$number2等于几</value>        //例如一减一等于多少        <value>$number1$reduce$number2等于多少</value>        </pattern>    </patternlist>  </package> 

首先这个配置文件会录入到管理后台,然后经过ASR识别语音“一加一等于几“,解析成文字,经过NPL匹配预先录入的语句,从而触发packageName项目下的add_intent这个intent,解析成下面的json

{    domain:packgeName,    intent: add_intent,    slots:{        number1:{text:”一”,number:”1},        add:”+”,        number2:{text:”一”,number:”1},    }} 

这段json会被Intent携带,经过packageName隐式启动这个App

<intent-filter>       <action android:name="packageName"/>       <category android:name="android.intent.category.DEFAULT"/></intent-filter>

启动这个App后,接下来又会从Intent中取出来json解析,根据intent和slots分发意图,处理数据。这就是简单的数据流程。当然要想更加智能,首先语句要匹配的很丰富,其次语句的训练也要很精准,识别准确率高。
当然要想具备主动学习的能力,那就离不开大数据以及数据算法呢。

Java交流群 

这里写图片描述

2 0
原创粉丝点击