Numbers 用于将数字的单词表示形式转换为数字的库

Numbers 用于将数字的单词表示形式转换为数字的库,numbers,Numbers,搜索“单词到数字”几乎总是得到将数字转换为单词表示的结果,这似乎比反向搜索简单得多。有一些非常简单的情况可以用基本的查找表来处理(“first,1st,one”->1,等等),但是我正在寻找更适合处理一般情况的方法。我正在构建的应用程序需要用户输入可能包含或不包含数字,并将其与已知结果(其本身存储为文本)进行比较,因此,对于更复杂的问题,如果它能够处理拼写错误(例如,frist,sceond),则更可取但是,这可能是通过将输入首先通过拼写检查器来完成的) 到目前为止,我发现它似乎很酷,因为它似乎

搜索“单词到数字”几乎总是得到将数字转换为单词表示的结果,这似乎比反向搜索简单得多。有一些非常简单的情况可以用基本的查找表来处理(“first,1st,one”->1,等等),但是我正在寻找更适合处理一般情况的方法。我正在构建的应用程序需要用户输入可能包含或不包含数字,并将其与已知结果(其本身存储为文本)进行比较,因此,对于更复杂的问题,如果它能够处理拼写错误(例如,frist,sceond),则更可取但是,这可能是通过将输入首先通过拼写检查器来完成的)

到目前为止,我发现它似乎很酷,因为它似乎支持一些其他语言(或不支持),但我更喜欢一些更便于移植和更少混淆的语言

我发现的最复杂的一个是,而且似乎很有希望


还有更完整的图书馆吗?我希望它能以不同的格式处理英语和西班牙语数字,如first、1st、1、one,甚至是无效的数字,如1nd,以及罗马数字,如MMXII。

鉴于您希望将人类语言转换为数学,而不是相反,您基本上需要庞大的表/枚举集。数学是以逻辑为基础的,规则集是用来指向单条道路上的单词的。从一套商定规则的语言(每一条规则的不合逻辑的例外情况见英语)向后移动,唯一可靠的实现方法是收集引用数字的所有可能方式,并将其绑定到翻译图中

你找到的任何库不仅需要随着时间的推移进行更新,以接受谈论数字的新形式,还可能否定或改变以前已经改变的规则


你打算如何处理像1nd这样的无效输入?他们是指1还是2?这是为什么整个博士论文都致力于自然语言处理的原因的一瞥。

对于这类事情,你应该研究一下Lex&Yacc。 我认为一些“人类计算器”已经编写好了(即使我现在找不到),所以你可以从中提取数字