如何以单词形式提取数字'从一个字符串

时间:2015-01-08 02:55:01

标签: regex nlp

有谁知道从哪里开始? 例如,从“我有两个苹果”中提取“两个”。 我正朝着NLP或QDA的方向前进。任何有关如何去做的线索将不胜感激。

2 个答案:

答案 0 :(得分:1)

您可能对Stanford NER系统感兴趣。 它标识数字实体。

您可以在此处试用:http://nlp.stanford.edu:8080/corenlp/

答案 1 :(得分:0)

这个怎么样?

(((?:sixty|seventy|eighty|ninety|fourteen|sixteen|seventeen|eighteen|nineteen|one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve|thirteen|fourteen|fifteen|twenty|thirty|forty|fifty|hundred|thousand|million|billion|trillion|and)[,   -]*)+)

这些单词必须乱序,因为正则表达式匹配找到的第一个轮换。六十,六,十四,四,等等。

演示: Regexr

这个正则表达式可能更好,它管理它忽略尾随空格

((\b(?:fourty|sixty|seventy|eighty|ninety|fourteen|sixteen|seventeen|eighteen|nineteen|one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve|thirteen|fifteen|twenty|thirty|forty|fifty|hundred|thousand|million|billion|trillion|and)\b[ ,    -]*)+(?=\W|$)+)

此外,你在这个正则表达式开始时会注意到四十岁。这是一个十分常见的拼写错误,所以我认为这对你有用。如果您愿意,可以将其删除。