自然语言计算器转换问题

时间:2018-01-11 02:51:23

标签: python python-3.x nlp calculator

我正在开发一个小型的nlp项目,它基本上采用自然语言并使用它。我正在处理的方面是采取一个相当基本的句子,“我有32个苹果,8个橙子和10个香蕉。”我想用它来做的是搜索字符串中的整数,将它们转换为数组,然后求它。这是我现在拥有的:

import re
import numpy as np

myString = 'i have 32 apples, 8 oranges, and 10 bananas.'

def evaluation (foo):
    numsineval = re.findall(r'\d+', foo)
    myarray =  np.asarray(numsineval)
    yay = np.cumsum(myarray)
    print(yay)
evaluation(myString)

我一直在撞墙挡住了几天,真的很想得到一些帮助。谢谢!我找到了其他人编写的NLP计算器,但我无法破解他们的代码以使其有用。如果有人可以帮助我,我会非常感激。

2 个答案:

答案 0 :(得分:0)

由Banana提供,此代码有效:

myString = 'i have 32 apples, 8 oranges, and 10 bananas.'

def evaluation (foo):
    numsineval = list(map(int, re.findall(r'\d+', foo)))
    myarray =  np.asarray(numsineval)
    yay = sum(myarray)
    print(yay)
evaluation(myString)

谢谢!

答案 1 :(得分:0)

没有numpy

>>> import re
>>> s = 'i have 32 apples, 8 oranges, and 10 bananas.'
>>> re.findall(r'\d+', s)
['32', '8', '10']
>>> sum(map(int, re.findall(r'\d+', s)))
50