人工智能项目(介绍)

人工智能(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分发意图,处理数据。这就是简单的数据流程。当然要想更加智能,首先语句要匹配的很丰富,其次语句的训练也要很精准,识别准确率高。
当然要想具备主动学习的能力,那就离不开大数据以及数据算法呢。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值