首页 > 解决方案 > 用单词规范句子

问题描述

我试图用该代码规范这句话“选择两个保留”:

        const config = {numbers: true, case: true, plurals:true, whitespace: true}
    const text = this.state.nlp(this.state.sentense);
    console.log(text.debug());
    text.normalize(config)

    this.setState({result: text.out('text')});

结果是:“选择 2 保持”。

如果我将句子更改为:“选择两个保留”,结果是:“选择 2 个保留”。我输出了调试,我看到当我输入 Holds 时,它看到 'Holds' 作为名词,但是当我输入 'holds' 时,它看到它作为动词。

有没有办法覆盖规则或类似的东西,这样它就可以删除保持的“s”或每条路上写的任何单词?

谢谢。

标签: nlp-compromise

解决方案


问题是库 nlp-compromise 错误地解释了动词 hold 和名词 hold。所以我强制带有标签的库将动词视为名词,这样它就会正确地规范这个词。

配置:result.match('#Infinitive #Value [#PresentTense]').tag('Noun');


推荐阅读