nlp-compromise - 用单词规范句子
问题描述
我试图用该代码规范这句话“选择两个保留”:
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 错误地解释了动词 hold 和名词 hold。所以我强制带有标签的库将动词视为名词,这样它就会正确地规范这个词。
配置:result.match('#Infinitive #Value [#PresentTense]').tag('Noun');
推荐阅读
- python - 如何通过 python docker SDK 保持 docker 容器运行?
- xml - 如何使用 XSL 从 XML 中获取多行
- angular - 如何对浏览器平台库中的元标记进行 Angular 2 单元测试?
- r - 从函数返回因子级别,而不是 R 中的整数
- react-native - 通过 props 传递动态数据
- ios - 图像视图的纵横比在 iPad 和 iPhone 上不一样
- javascript - 如何解构嵌套对象
- regex - 正则表达式在一行中出现字符串后获取任何数字
- java - 如果Java中有多个相同的字符,则替换字符串中的字符
- python - 如何获取除一列之外的每一行的空计数?