public class TextUnderstander
extends com.iflytek.cloud.msc.module.SpeechInterface
通过此类,把自然语言的文本字符串,转换成以一定数据结构的文本数据,应用 通过结构中的数据,获取用户的意图,进行下一步处理。
关于语义理解的介绍,请参考语音语义类SpeechUnderstander。
本类使用单例,调用者使用本类的对象,只需要通过createTextUnderstander(Context, com.iflytek.cloud.InitListener)
创建一次对象后,便可一直使用该对象,直到通过调用destroy()进行单例对象销毁。
调用者可通过getTextUnderstander()获取当前已经创建的单例。在销毁本类的单例
对象后,需要先通过createTextUnderstander(Context, com.iflytek.cloud.InitListener)再次创建单例对象,方可再使用。
在当前应用生命周期第一次使用本类的任何函数前,须先调用
SpeechUtility.createUtility(Context, java.lang.String)进行SDK初始化。
SpeechUtility.createUtility(Context, java.lang.String),
SpeechUnderstander| 限定符和类型 | 方法和说明 |
|---|---|
void |
cancel()
取消会话
通过此函数取消当前的会话。
|
static TextUnderstander |
createTextUnderstander(Context context,
InitListener listener)
创建单例对象
使用此函数创建一个本类单例对象。
|
boolean |
destroy()
销毁单例对象
通过本函数,销毁由
createTextUnderstander(Context, com.iflytek.cloud.InitListener)创建的单例对象。 |
java.lang.String |
getParameter(java.lang.String key)
获取参数
获取指定的参数的当前值。
|
static TextUnderstander |
getTextUnderstander()
获取单例对象
通过函数获取已创建的单例对象。
|
boolean |
isUnderstanding()
是否在会话中
通过此函数,获取当前SDK是否正在进行会话。
|
boolean |
setParameter(java.lang.String key,
java.lang.String value)
参数设置
可设置的参数有:
SpeechConstant.NET_TIMEOUT: 网络连接超时时间SpeechConstant.LANGUAGE:语言SpeechConstant.ACCENT:语言区域SpeechConstant.DOMAIN:应用领域SpeechConstant.RESULT_TYPE:识别结果类型
SpeechConstant.ENGINE_TYPE:引擎类型(目前语义仅支持在线模式);
|
int |
understandText(java.lang.String text,
TextUnderstanderListener listener)
理解文本
调用此函数,传入自然语言的文本内容,获取语义理解的结果。
|
public static TextUnderstander createTextUnderstander(Context context, InitListener listener)
使用此函数创建一个本类单例对象。当成功创建一次单例对象后,可一直使用此对象,
直到调用destroy()销毁已创建的单例对象为止。若在当前应用生命周期内调用
destroy()前再次调用本函数,则直接返回已创建的单例对象。可通过
getTextUnderstander()获取已创建的单例对象。
destroy(),
getTextUnderstander()public static TextUnderstander getTextUnderstander()
通过函数获取已创建的单例对象。当单例对象未创建时,将返回null,此时应先通过
createTextUnderstander(Context, com.iflytek.cloud.InitListener)创建单例对象。
createTextUnderstander(Context, com.iflytek.cloud.InitListener),
destroy()public int understandText(java.lang.String text,
TextUnderstanderListener listener)
调用此函数,传入自然语言的文本内容,获取语义理解的结果。
目前SDK不支持多线程,所以在调用本函数开始一次会话后,直到结束前(结果返回 完毕,或出现错误),不能再调用本函数开始新的会话。一次会话,即从会话开始,到结 束为止。
在调用本函数开始会话前,通过setParameter(String, String)设置相
应的参数。通过cancel()取消本次会话。
text - 需要理解的文本listener - 监听器setParameter(String, String),
cancel(),
getTextUnderstander(),
TextUnderstanderListenerpublic boolean isUnderstanding()
通过此函数,获取当前SDK是否正在进行会话。应用层可通过此函数,查询能否 开始一路新的会话等。
understandText(String, TextUnderstanderListener),
cancel()public void cancel()
通过此函数取消当前的会话。
在会话被取消后,当前会话结束,未返回的结果将不再返回。
public boolean setParameter(java.lang.String key,
java.lang.String value)
可设置的参数有:
SpeechConstant.NET_TIMEOUT: 网络连接超时时间
SpeechConstant.LANGUAGE:语言
SpeechConstant.ACCENT:语言区域
SpeechConstant.DOMAIN:应用领域
SpeechConstant.RESULT_TYPE:识别结果类型
SpeechConstant.ENGINE_TYPE:引擎类型(目前语义仅支持在线模式);
setParameter 在类中 com.iflytek.cloud.msc.module.SpeechInterfacekey - 参数名称value - 参数值getParameter(String),
understandText(String, TextUnderstanderListener)public java.lang.String getParameter(java.lang.String key)
获取指定的参数的当前值。
某些有默认的值的参数,如SpeechConstant.NET_TIMEOUT,在应用层未
调用setParameter(String, String)来设置参数值前,可能获取到的是null值,
但在实际会话会始时,SDK会使用默认值传给服务器。
getParameter 在类中 com.iflytek.cloud.msc.module.SpeechInterfacekey - 参数名称,所有支持参数,参考setParameter(String, String)SpeechConstant对各参数的说明。setParameter(String, String)public boolean destroy()
通过本函数,销毁由createTextUnderstander(Context, com.iflytek.cloud.InitListener)创建的单例对象。
在调用本函数进行销毁前,应先保证当前不在会话中,否则,本函数将尝试取消当前
会话,并返回false,此时销毁失败。关于当前是否在会话中,请参考函数
isUnderstanding()。若销毁失败,请在取消当前会话后,再次调用本函数重试。
当本函数返回true时,销毁成功。此时,之前创建的单例对象已不能再使用,否则,
将会报错。此时需要再使用,应先通过createTextUnderstander(Context, com.iflytek.cloud.InitListener)创建一个新
的单例对象。
createTextUnderstander(Context, com.iflytek.cloud.InitListener),
cancel()