日期识别在文本中 - 拉丁

2024-09-24 00:33:54 发布

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

我正在处理一些包含日期的拉丁文本,并使用各种正则表达式模式和基于规则的语句来提取日期。我想知道我是否可以使用一个算法来训练提取这些日期,而不是我目前使用的方法。谢谢

这是我算法的摘录:

def checkLatinDates(i, record, no):
if(i == 0 and isNumber(record[i])): #get deed no
    df.loc[no,'DeedNo'] = record[i] 
rec = record[i].lower()
split = rec.split()
if(split[0] == 'die'):
    items = deque(split)
    items.popleft()
    split = list(items)
if('eodem' in rec): 
    n = no-1
    if(no>1):

        while ( pd.isnull(df.ix[n]['LatinDate'])):                
            n = n-1
        print n
        df['LatinDate'][no] = df.ix[n]['LatinDate']

if(words_in_string(latinMonths, rec.lower()) and len(split)<10):
    if not (dates.loc[dates['Latin'] == split[0], 'Number'].empty):
        day = dates.loc[dates['Latin'] == split[0], 'Number'].iloc[0]
        split[0] = day
        nd = ' '.join(map(str, split))
        df['LatinDate'][no] = nd
    elif(convertArabic(split[0])!= ''):
        day = convertArabic(split[0])
        split[0] = day
        nd = ' '.join(map(str, split))
        df['LatinDate'][no] = nd         

Tags: andno算法dfifitemsrecordlower
1条回答
网友
1楼 · 发布于 2024-09-24 00:33:54

你可以使用一些机器学习算法,比如adaboost,使用IOB tagging 添加一些上下文特性,比如单词的类型,一个正则表达式来检测它是否明显是一个日期,周围的单词类型,等等。 Here是一个教程。你知道吗

相关问题 更多 >