swan.ai.nlpLexerCustom

基础库 3.20.11 开始支持,低版本需做兼容处理。

解释:词法分析,提供分词、词性标注、专名识别三大功能。

方法参数

Object object

object参数说明

属性名类型必填默认值说明
textstring待分析文本
successFunction接口调用成功后的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

success 返回参数说明

参数名参数类型说明
log_idNumber唯一的log id,用于问题定位。
textstring原始单条请求文本
itemsArray词汇数组,每个元素对应结果中的一个词。

items 参数说明

参数名参数类型说明
itemstring词汇的字符串
nestring命名实体类型,命名实体识别算法使用。词性标注算法中,此项为空串。
posstring词性,词性标注算法使用。命名实体识别算法中,此项为空串。
byte_offsetnumber在text中的字节级offset(使用GBK编码)
byte_lengthnumber字节级length(使用GBK编码)
uristring链指到知识库的URI,只对命名实体有效。对于非命名实体和链接不到知识库的命名实体,此项为空串。
formalstring词汇的标准化表达,主要针对时间、数字单位,没有归一化表达的,此项为空串。
basic_wordsArray基本词成分
loc_detailsArray地址成分,非必需,仅对地址型命名实体有效,没有地址成分的,此项为空数组。

示例

在开发者工具中预览效果

词法分析 swan.ai.nlpLexerCustom - 图1请使用百度APP扫码

图片示例

词法分析 swan.ai.nlpLexerCustom - 图2

词法分析 swan.ai.nlpLexerCustom - 图3

词法分析 swan.ai.nlpLexerCustom - 图4

代码示例

  • 在 swan 文件中
  1. <view class="wrap">
  2. <view class="card-area">
  3. <view class="top-description border-bottom">识别内容</view>
  4. <view class="display-area">{{content}}</view>
  5. </view>
  6. <view s-if="{{hasResult}}" class="card-area bottom">
  7. <view class="top-description border-bottom">识别结果</view>
  8. <view s-if="{{sucResult}}">
  9. <view s-for="item in result" class="list-area border-bottom">
  10. <view class="list-item">
  11. <text class="list-item-key-6">词汇的字符串:</text>
  12. <text class="list-item-value">{{item.item}}</text>
  13. </view>
  14. <view class="list-item">
  15. <view class="list-item-key-6">命名实体类型:</view>
  16. <view class="list-item-value">{{item.ne !== '' ? item.ne : '暂无'}}</view>
  17. </view>
  18. <view class="list-item">
  19. <view class="list-item-key-6">词性:</view>
  20. <view class="list-item-value">{{item.pos !== '' ? item.pos : '暂无'}}</view>
  21. </view>
  22. </view>
  23. </view>
  24. <view s-else>
  25. <view class="result-area-fail">识别出错,请到控制台查看信息</view>
  26. </view>
  27. </view>
  28. <view class="swan-security-padding-bottom flex-button">
  29. <button type="primary" class="" bindtap="nlpLexerCustom">
  30. nlpLexerCustom
  31. </button>
  32. </view>
  33. </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":["公司"]
         }
      ]
}