swan.ai.nlpLexerCustom
基础库 3.20.11 开始支持,低版本需做兼容处理。
解释:词法分析,提供分词、词性标注、专名识别三大功能。
方法参数
Object object
object参数说明
属性名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
text | string | 是 | 待分析文本 | |
success | Function | 否 | 接口调用成功后的回调函数 | |
fail | Function | 否 | 接口调用失败的回调函数 | |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
success 返回参数说明
参数名 | 参数类型 | 说明 |
---|---|---|
log_id | Number | 唯一的log id,用于问题定位。 |
text | string | 原始单条请求文本 |
items | Array | 词汇数组,每个元素对应结果中的一个词。 |
items 参数说明
参数名 | 参数类型 | 说明 |
---|---|---|
item | string | 词汇的字符串 |
ne | string | 命名实体类型,命名实体识别算法使用。词性标注算法中,此项为空串。 |
pos | string | 词性,词性标注算法使用。命名实体识别算法中,此项为空串。 |
byte_offset | number | 在text中的字节级offset(使用GBK编码) |
byte_length | number | 字节级length(使用GBK编码) |
uri | string | 链指到知识库的URI,只对命名实体有效。对于非命名实体和链接不到知识库的命名实体,此项为空串。 |
formal | string | 词汇的标准化表达,主要针对时间、数字单位,没有归一化表达的,此项为空串。 |
basic_words | Array | 基本词成分 |
loc_details | Array | 地址成分,非必需,仅对地址型命名实体有效,没有地址成分的,此项为空数组。 |
示例
请使用百度APP扫码
图片示例
代码示例
- 在 swan 文件中
<view class="wrap">
<view class="card-area">
<view class="top-description border-bottom">识别内容</view>
<view class="display-area">{{content}}</view>
</view>
<view s-if="{{hasResult}}" class="card-area bottom">
<view class="top-description border-bottom">识别结果</view>
<view s-if="{{sucResult}}">
<view s-for="item in result" class="list-area border-bottom">
<view class="list-item">
<text class="list-item-key-6">词汇的字符串:</text>
<text class="list-item-value">{{item.item}}</text>
</view>
<view class="list-item">
<view class="list-item-key-6">命名实体类型:</view>
<view class="list-item-value">{{item.ne !== '' ? item.ne : '暂无'}}</view>
</view>
<view class="list-item">
<view class="list-item-key-6">词性:</view>
<view class="list-item-value">{{item.pos !== '' ? item.pos : '暂无'}}</view>
</view>
</view>
</view>
<view s-else>
<view class="result-area-fail">识别出错,请到控制台查看信息</view>
</view>
</view>
<view class="swan-security-padding-bottom flex-button">
<button type="primary" class="" bindtap="nlpLexerCustom">
nlpLexerCustom
</button>
</view>
</view>
- 在 js 文件中
Page({
data: {
content: '百度是一家高科技公司',
result: '',
hasResult: false,
sucResult: false
},
nlpLexerCustom() {
const text = this.getData('content');
let that = this;
// AI系列的api有宿主使用限制,只可在百度App中使用,建议使用时加一层判断防止代码报未知错误
let host = swan.getSystemInfoSync().host;
if (host === 'baiduboxapp') {
swan.ai.nlpLexerCustom({
text,
success(res) {
console.log('ai.nlpLexerCustom success', res);
that.setData({
'result': res.items,
'sucResult': true
})
},
fail(err) {
console.log('ai.nlpLexerCustom fail', err);
that.setData({
'sucResult': false
})
},
complete() {
that.setData('hasResult', true)
}
});
}
else {
swan.showToast({
title: '此api目前仅可在百度App上使用',
icon: 'none'
});
}
}
});
返回示例
{
"text":"百度是一家高科技公司",
"items":[
{
"byte_length":4,
"byte_offset":0,
"formal":"",
"item":"百度",
"ne":"ORG",
"pos":"",
"uri":"",
"loc_details":[ ],
"basic_words":["百度"]
},
{
"byte_length":2,
"byte_offset":4,
"formal":"",
"item":"是",
"ne":"",
"pos":"v",
"uri":"",
"loc_details":[ ],
"basic_words":["是"]
},
{
"byte_length":4,
"byte_offset":6,
"formal":"",
"item":"一家",
"ne":"",
"pos":"m",
"uri":"",
"loc_details":[ ],
"basic_words":["一","家"]
},
{
"byte_length":6,
"byte_offset":10,
"formal":"",
"item":"高科技",
"ne":"",
"pos":"n",
"uri":"",
"loc_details":[ ],
"basic_words":["高","科技"]
},
{
"byte_length":4,
"byte_offset":16,
"formal":"",
"item":"公司",
"ne":"",
"pos":"n",
"uri":"",
"loc_details":[ ],
"basic_words":["公司"]
}
]
}