自然语言计算器转换问题

2024-09-30 14:18:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个小的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计算器,但我无法以使其有用的方式破译他们的代码。如果有人能帮我,我将不胜感激


Tags: 项目import苹果renlpfoonp句子
2条回答

由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)

谢谢

没有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

相关问题 更多 >