
    9i*.                     8    S SK r S SKrSSKJr  S rS rS rS rg)    N   )ontologyc                 f    [         R                  " SSU 5      n [         R                  " SSU 5      n U $ )N([a-zT]+)\.([a-z])\1 . \2(\w+)\.\.? \1 . resub)texts    h/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/modelscope/utils/nlp/space/clean_dataset.pyclean_text_split_dotr   	   s/    66'D66.(D1DK    c                    UR                  5       nUR                  5       nUR                  SS5      nUR                  SS5      nUR                  SS5      nUR                  SS5      nUR                  SS	5      nUR                  S
S5      n[        U5      n0 SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_S S!_S"S#_S$S%_S&S'_S(S)_S*S)_S+S,S-S.S/S0S1S2S3S3S4.
EnUR	                  5        H  u  p4[
        R                  " X4U5      nM     [
        R                  " S5S6U5      n[
        R                  " S7S8U5      n[        [        R                  R                  U S95      S:S;S<9 nUR                  5        HO  nUR                  S=S35      R                  S>5      u  pxSU-   S-   nUR                  SU-   S-   SU-   S-   5      S?S@ nMQ     S S S 5        U$ ! , (       d  f       U$ = f)ANu   ’'u   ‘;," /z and zdon'tzdo n'tz c\.b (\d), (\d) ([a-z])\.([a-z])z
cb\1\2\3\4zc.b. 1 7 d.ycb17dyzc.b.1 7 d.yzc.b 25, 9 a.qcb259aqzisc.b 25, 9 a.qz
is cb259aqzc.b2, 1 u.fcb21ufzc.b 1,2 q.acb12qaz0-122-336-566401223365664postcodecb21rszpostcode cb21rszi\.didz i d zTelephone:01223358966zTelephone: 01223358966depature	departure
depearting	departingz-typez typezb[\s]?&[\s]?bzbed and breakfastzb and bguest houseswimming poolzwill notz would z am z are z will z have  )
zguesthouse[s]?zswimmingpool[s]?zwo n'tz 'd z 'm z 're' z 'll' z 've z^\'z\'$r   r   r   r	   zmapping.pairrzutf-8)encoding
	r   )striplowerreplace
clean_timeitemsr   r   openospathjoin	readlinessplit)	data_dirr   baddatatmplgoodfinlinefromxtoxs	            r   
clean_textr>      sk   ::<D::<D<<$D<<$D<<S!D<<S!D<<W%D<<*DdD+] 	x 		
 	< 	x 	x 	- 	+ 	 	 	 !9 	K 	k 	  	-!" 	&#$ ),7G: mmo
vvd$' & 66'D66.(D1D	GGLL>2C
!$MMODdB/55d;JE:#D<<ec 139s?CAbID $
 K
 
 Ks   #A$G
G c                 ,   [         R                  " SS U 5      n [         R                  " SSU 5      n [         R                  " SSU 5      n [         R                  " SS U 5      n [         R                  " S	S
 U 5      n [         R                  " SSU 5      n U $ )Nz(\d+) ([ap]\.?m)c                 H    U R                  S5      U R                  S5      -   $ )Nr      )groupxs    r   <lambda>clean_time.<locals>.<lambda>J   s    !''!*qwwqz2Ir   z((?<!\d)\d:\d+)(am)?z0\1z((?<!\d)\d)amz0\1:00z((?<!\d)\d)pmc                 T    [        [        U R                  S5      5      S-   5      S-   $ )Nr      z:00strintrB   rC   s    r   rE   rF   O   s    SQWWQZ2!56>r   z(\d+)(:\d+)pmc                 r    [        [        U R                  S5      5      S-   5      U R                  S5      -   $ )Nr   rH   rA   rI   rC   s    r   rE   rF   Q   s'    SQWWQZ2!56Cr   z
(\d+)a\.?mz\1r
   )utters    r   r.   r.   I   s    FF&(IEFF*FE:EFF#Y6EFF#>GEFF#CULEFF=%/ELr   c                 	   [        X5      nU(       d  SnGOlUS:X  a  SnGObUS:X  a  US:X  a  US:X  a  SnUS:X  a  SnGODUS:X  a  US	;   a  S
nGO4US;   a  SnGO*US;   a  SnGO US:X  ab  US;   a  SnGOUS;   a  SnGOUS;   a  SnGOUS;   a  SnGOUS;   a  SnGOUS;   a  SnGOUS;   a  SnGOUS;   a  SnGOUS;   a  SnGOUS ;   a  S!nGOUS":X  Ga^  US:X  a(  US#;   a  S
nGOUS$;   a  S%nGOUS&;   a  S'nGOUS;   a  SnGOUS(:X  a  US):X  a  S*nGOqUS:X  a  S+nGOgUS:X  aF  US,:X  a  S-nGOWUS.:X  a  S-nGOMUS/:X  a  S0nGOCUS1:X  a  S2nGO9US3:X  a  S4nGO/US5:X  a  S6nGO%US7:X  a  SnGOUS8:X  a  US9:X  a  S7nGOUS:;   a  S;nGOUS<;   a  SnGOUS=:X  a  US>:X  a  S7nGOUS?;   a  S;nGOUS@;   a  S;nGOUSA;   a4  SBnUSC:X  a  SDnGOUSE;   a  SFnGOUSE;   a  SFnGOUSG;   a  SHnGOUSI;   a  SnGOUSJ:X  a  USK:X  a  SLnGOUSM:X  a  SNnGOUSO;   a  SPnGOuUS:X  a  USQ:X  a  SnGOeUSR:X  a  SSnGO[UST;  a  SnGOQUSU:X  Ga  US:X  a2  USV;   a  S
nGO:USW:X  a  SnGO0US>:X  a  S'nGO&USX;   a  SYnGOUSZ;  a  SnGOUS(:X  a  US):X  a  S*nGOUS:X  a  S+nGOUSA;   a   SBnUS[;   a  SDnGOUS\;   a  SnGOUS];   a  SHnGOUS^:X  a
  US_:X  a  S`nGOUSB:X  a
  USC:X  a  SDnGOUSa:X  al  USb:X  a  ScnGOUSd:X  a  SenGOUSf:X  a  SgnGOUSh:X  a  SinGOUSj:X  a  SknGOzUSl:X  a  SmnGOpUSn:X  a  SonGOfUSp:X  a  ScnGO\USq:X  a  SrnGORUSs:X  a  StnGOHUSu:X  a  SvnGO>USw:X  a~  USx;   a  SynUSz:X  a  S{nGO&US|:X  a  SnGOUS};   a[  S~nUSs:X  a  SnO>US:X  a  SnO5US:X  a  SnO,US:X  a  SnO#US:X  a  SnOUS:X  a  SnOUS:X  a  SnOUSl:X  a  SmnUR                  SS5      nOUS:X  a  USx;   a8  SynUS:X  a  SnOUS;   a  SFnOUS:X  a  SnOUS:X  a  SnUR                  SS5      nOvUS(:X  a  US:X  d  US:X  a  SFnOaUS};   a[  S~nUS:X  a  SnO>US:X  a  SnO5US:X  a  SnO,US;   a  SnO#US:X  a  SnOUS:X  a  SnOUS:X  a  SnOUS;   a  SFnUR                  SS5      nUS;   a  SFn[        R                  R	                  U5      (       a  [        R                  U   nX#4$ )Nr%   znot mentioned
attractionnamettrinityztrinity collegearea)ztown centrecentcentercecentre)elyzin townmuseumnorwichzsame area as hotel)wewesttype)mmusmusuemrY   )artarchitecturalarchitecture)churcheschurch)collcollege)concertconcerthallzconcert hall)z
night club	nightclub)zmutiple sportszmutliple sportssportsgalleriazmultiple sports)olscience	gastropubzla raza)swimmingpoolpoolr$   )funentertainmenthotel)cenzcentre of townznear city centerrU   )z	east areaz	east sideeast)zin the northznorth part of townnorthdaymondamondaytuesdayunizuniversity arms hotelzuniversity armsacronzacorn guest houseashleyzashley hotelzarbury lodge guesthousezarbury lodge guest houselazla margheritnointernetzdoes not)yfreezfree internetyes)4parkingn)zfree parking)r   )
pricerangezprice ranger   
moderatelymoderate)anydo n't care)inexpensivecheap)2r   starstwor   three3)z4-starz4 starsz4 starz	four starz
four starsr   z0 star rarting
guesthouser#   )rt   r#   r   
restaurant)rU   scentrezcenter of townzcity centercb30aqztown centerzcentre of cambridgezcity centrezwest part of town)z	the southsouth)rW   r   r   r\   rv   rw   )r   modemo)not)r   chfoodbarbecuebarbequetimez9:00z09:00z9:45z09:451330z13:301430z14:30z9:15z09:15z9:30z09:301830z18:309z2:00z14:00z1:00z13:00z3:00z15:00taxi)arriveByz	arrive byarriveby1530z15:30z
15 minutes)leaveAtzleave atleaveatz01:00z21:4z21:04z4:15z04:15z5:45z05:450700z07:00z4:45z04:45z8:30z08:30.:train1)does not caredoesnt caredoesn't carez	not 15:45r   r   z2:30z02:30z7:54z07:54zafter 5:45 pmz17:45)zearly eveningfridaysundayr{   	afternoon12z12:001030z10:301700z17:00)r   r   
do nt carer   )z	dont carez
don't carer   r   )r>   r-   r   normlize_slot_namesget)r6   domainslotvalues       r   clean_slot_valuesr   V   sY   x'E	/	!	<	6>|	!)V^??    &V^.. 22&,& ("!44&.(#   *CC22''!'	7	6>   !44@@&U] #!V^~/++/'!+("&332$&$Z
"88%Y|**%22D$"'!%'!%/)*$W_~'!   V^((,&%EE	<	6>  
 !--#-'   U] #!22D44"'!//V^
""\!$"V^&&&&&&#&&&	6	,,D,&,,D&&&&&&&MM#s+E	7	,,D|JJ%&+%MM#s+EU]%.)@%,,D&/)   $&&   &MM#s+EII##''--++D1;r   )r1   r   r%   r   r   r>   r.   r    r   r   <module>r      s&    
 	 6r
{r   