我想将一些缩写词转换为字符串句子的完整单词,在NodeJS中制作简单明了的句子
例如
i'm => I am
i've => I have
w'ill => we will
lets => Let us
it's => It is
我已安装gingerbread
并使用此模块仅检查语法错误。是否有任何模块可用于处理这样的文本?
答案 0 :(得分:1)
JS没有这样的软件包,但是,替换收缩可以有快速而严格的规则:
var replacements = {
"'m": " am",
"'ll": " will",
"'re": " are",
"n't": " not",
"'ve": " have",
}
我经常使用它。
但真正的问题是区分包含“他能”,“他愿意”,“他有”的句子 - 简单的算法无法区分“他”。这需要一些严格的模式识别,这只能通过机器学习来实现。
我认为,这就是为什么这样的包装是禁止使用的原因。
<强>更新强>
事实证明,关于这样的包存在( @itereshchenkov 回答)我错误,但正确关于有意义收缩的性质。使用替换字典的简单包(无论它有多大)无法在不理解上下文的情况下正确地决定使用哪种完整形式。
答案 1 :(得分:1)
英文短文称为收缩。
您可以使用收缩 npm模块npm install contractions
使用起来非常简单。快速举例:
let contractions = require('contractions');
console.log(contractions.expand("I don't know who ya'll are."));
// Outputs: I do not know who you all are.
console.log(contractions.contract("You all will have not seen this."));
// Outputs: Y'all'll'ven't seen this.
您可以在此处找到更多信息https://www.npmjs.com/package/contractions
答案 2 :(得分:0)
var replacements = {
"I'm": "I am",
"we'll": "we will"
}
var sentence = "I'm sure we'll have a good time."
for (var k in replacements) {
sentence = sentence.replace(k, replacements[k])
}
console.log(sentence)