Python 文本拉丁语中的日期识别
我正在研究一些包含日期的拉丁文本,并使用各种正则表达式模式和基于规则的语句来提取日期。我想知道我是否可以使用一种算法来训练提取这些日期,而不是我目前使用的方法。谢谢 这是我算法的摘录:Python 文本拉丁语中的日期识别,python,nlp,natural-language-processing,Python,Nlp,Natural Language Processing,我正在研究一些包含日期的拉丁文本,并使用各种正则表达式模式和基于规则的语句来提取日期。我想知道我是否可以使用一种算法来训练提取这些日期,而不是我目前使用的方法。谢谢 这是我算法的摘录: 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
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
def校验日期(i,记录,否):
如果(i==0和isNumber(记录[i]):#获取契约号
df.loc[no,'DeedNo']=记录[i]
rec=记录[i]。下限()
拆分=记录拆分()
如果(拆分[0]=='die'):
项目=deque(拆分)
items.popleft()
拆分=列表(项目)
如果记录中有('eodem'):
n=no-1
如果(否>1):
while(pd.isnull(df.ix[n]['latinate']):
n=n-1
印刷品
df['latinate'][no]=df.ix[n]['LatinDate']
如果(单词在字符串中(latinMonths,rec.lower())和len(split),您可以使用一些机器学习算法,比如adaboost,使用
添加一些上下文特性,如单词类型、用于检测是否明显是日期的正则表达式、周围的单词类型等。
是一个教程。我们不知道您当前使用的是什么方法,因为您没有实际共享它。您发布的Python代码没有正确的缩进,因此无法运行。请您的问题来纠正这个问题。代码格式非常简单-粘贴代码,选择它,键入ctrl-K(虽然这只适用于桌面版本的网站;但在移动设备上,您需要在每个代码行前手动添加四个空格)。另请参阅