NLTK,将单词数字读入浮点数

NLTK, reading in word numbers to float numbers

我看过 NLTK 的语料库部分,但似乎没有数字语料库。我想将单词编号更改为文本。例如:

输入:one thousand two hundred forty three输出:1243

输入:second输出:2

输入:five percent输出:0.05

没有。您需要做的是建立这个 Is there a way to convert number words to Integers? 或您发现 useful/easier 可以与之合作的其他人。

首先,您需要使用正则表达式来提取感兴趣的字符串(即 onetwo...),然后使用上面的代码进行替换。

您给出的第一个示例将是三个示例中最简单的一个,最后一个示例只是将该数字除以 100,因为输出实际上是一个整数。第二个会有点棘手,因为您必须修改代码或可能创建一个全新的函数。

据我所知,没有模块可以为此解析整个文本。

另一种可能性,正如我进一步研究的那样,是使用 Tree Parser 中的 CD 标记来帮助识别数字。但是您仍然需要一个类似于上述功能的功能。