机器学习或nlp方法将字符串转换成月,年为日期

时间:2019-02-20 03:35:34

标签: python regex machine-learning nlp nltk

我目前正在开发一个程序,该程序能够将代表年份的人类风格转换为实际日期。 示例:上个月的去年 2018年12月 字符串可能是完整的句子,例如:您五年前在做什么

它将给出 2014

目的是将人类的风格重新定义为实际的日期或年份,我创建了这种类型的字符串的集合,并将它们与正则表达式匹配。

我已经阅读了一些机器学习知识,但是我不确定哪种算法最适合此问题,或者我是否应该考虑使用NLP。

有人建议使用哪种算法,或者在哪里可以找到解决问题的必要文献?


我目前的方法是使用大约年,月和季度的字符串语料库,然后使用关于年或月数的正则表达式。

for key in corpus.keys():
        a = re.findall(r'.*('+key+r')',information)

然后使用熊猫将其转换为日期格式

def times(year):
        current_year = datetime.datetime.now().year
        c = current_year - int(year)
        date_obj = pandas.Timestamp(c,1,1,12)
        last_date = pandas.Timestamp(c,12,31,11,59)

1 个答案:

答案 0 :(得分:0)

NLP中通常的方法是收集训练所需的数据集。处理该数据集,以便将数据集中的单词转换为数字。

将其转换为数字的一个简单示例是从数据集中制作一个大型单词词典,并使用词典中每个单词的索引作为代表数字。也可以使用其他方法。

https://blog.insightdatascience.com/how-to-solve-90-of-nlp-problems-a-step-by-step-guide-fda605278e4e

这些处理后的数据被馈送到机器学习算法中进行训练。我认为递归神经网络(RNN)应该可以解决给定的问题。也可以使用更简单的方法,例如线性回归。 This gives an idea on different neural network approaches in NLP

要了解更多信息,请使用链接。