From d3558a9c210de3750227485686c4d948ba0c9e70 Mon Sep 17 00:00:00 2001 From: zy123 <646228430@qq.com> Date: Thu, 23 Jan 2025 14:30:26 +0800 Subject: [PATCH] =?UTF-8?q?1.23=20=E4=BF=AE=E4=BA=86=E5=BC=80=E8=AF=84?= =?UTF-8?q?=E5=AE=9A=E6=A0=87=E6=8F=90=E7=A4=BA=E8=AF=8D=20=E5=BA=9F?= =?UTF-8?q?=E6=A0=87=E6=97=A0=E6=95=88=E6=A0=87=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=BA=86'=E5=8D=81=E3=80=81=E5=BA=9F=E6=A0=87=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6'=20=E8=BF=99=E7=A7=8D=E7=9A=84=E6=8F=90=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- flask_app/general/无效标和废标公共代码.py | 101 +++++++++++----------- 1 file changed, 52 insertions(+), 49 deletions(-) diff --git a/flask_app/general/无效标和废标公共代码.py b/flask_app/general/无效标和废标公共代码.py index 1bf1e36..3cb34ab 100644 --- a/flask_app/general/无效标和废标公共代码.py +++ b/flask_app/general/无效标和废标公共代码.py @@ -19,7 +19,7 @@ def clean_dict_datas(extracted_contents, keywords, excludes): # 让正则表达 # 定义用于分割句子的正则表达式,包括中文和西文的结束标点 split_pattern = r'(?<=[。!?\!\?])' clean_pattern = (r'^\s*(?:[((]\s*\d+\s*[)))]|' - r'[A-Za-z]?\d+(?:\.\s*\d+)*[\s\.、.)\)]+|' + r'[A-Za-z]?\d+(?:\.\s*\d+)*[\s\.、.)\)]?|' #12.1 r'[一二三四五六七八九十]+、|' r'[A-Za-z][))\.、.]?\s*)') idx = 0 # 共享的序号标记 @@ -31,7 +31,10 @@ def clean_dict_datas(extracted_contents, keywords, excludes): # 让正则表达 if any(exclude in data for exclude in excludes): continue # 如果包含任何排除字符串,跳过这个数据 # 去掉开头的序号,eg:1 | (1) |(2) | 1. | 2.(全角点)| 3、 | 1.1 | 2.3.4 | A1 | C1.1 | 一、 + print("--------------") + print(data) data = re.sub(clean_pattern, '', data).strip() + print(data) keyword_match = re.search(keywords, data) if keyword_match: # 从关键词位置开始查找结束标点符号 @@ -582,54 +585,54 @@ def combine_find_invalid(invalid_docpath, output_dir): os.path.join(output_dir, "temp1.txt"), "否决和无效投标情形" ), - ( - r'废\s*标', - """以下是从招标文件中摘取的内容,文本中序号分明,文本内之间的信息以'...............'分割。 -任务目标: -请根据以下内容,筛选出 废标项的情况 (明确描述导致 废标 的情况)并返回对应的序号。 -要求与指南: - 文本中可能存在无关的信息,请准确筛选符合条件的信息,并将符合条件的信息的序号返回。 -输出格式: - 返回结果以 [x, x, x] 的形式,其中 x 为符合条件的信息的序号,为自然数。无需额外返回解释与说明。 - 如果文本中没有任何符合条件的废标情况,请返回 []。 -示例输出,仅供格式参考: - [1,3,4,6] -文本内容:{full_text} - """, - os.path.join(output_dir, "temp2.txt"), - "废标项" - ), - ( - r'不\s*得(?!\s*(分|力))|禁\s*止\s*投\s*标', - """以下是从招标文件中摘取的内容,文本中序号分明,文本内的条款以'...............'分割。条款规定了各方不得存在的情形。请根据以下要求进行筛选: -**投标相关主体与非投标相关主体的定义**: - 投标相关主体:包括但不限于“投标人”、“中标人”、“供应商”、“联合体投标各方”、“响应人”、“应答人”或其他描述投标方的词语。 - 非投标相关主体:包括但不限于“招标人”、“采购人”、“评标委员会”或其他描述非投标方的词语。 -**筛选要求**: -1. **仅筛选**明确描述投标相关主体禁止情形或不得存在的情形的条款,不包含笼统或未具体说明情形的条款。例如: - 若条款内容包含'投标人不得存在的其他关联情形'这样的笼统描述,而未说明具体的情形,则无需添加该条款。 -2. **排除**仅描述非投标相关主体行为限制或禁止情形的条款,例如“招标人不得泄露信息”或“评标委员会不得收受贿赂”,则无需返回。 -3. 若条款同时描述了对投标相关主体与非投标相关主体的行为限制、禁止情形,也需返回。 -4. **特殊情况**:如果条款中包含“磋商小组”、”各方“等既能指代投标相关主体又能指代非投标相关主体的词汇: - 若在语境中其指代或包含投标相关主体,则应将其考虑在内;否则,排除该条款。 - -**输出格式**: - 返回结果以 [x, x, x] 的形式,其中 x 为符合条件的条款的序号,为自然数。无需额外返回解释与说明。 - 如果没有符合条件的条款,返回 `[]`。 -**示例**: -- **符合条件**: - - `1. 投标人不得...` → 包含,返回序号 1。 - - `3. 联合体投标各方不得...` → 包含,返回序号 3。 -- **不符合条件**: - - `2. 采购人不得...` → 主语为“采购人”,排除。 --示例输出: [1,3] -请根据上述筛选要求,阅读以下文本内容,并返回符合条件的条款序号, - -文本内容:{full_text} - """, - os.path.join(output_dir, "temp3.txt"), - "不得存在的情形" - ) +# ( +# r'废\s*标', +# """以下是从招标文件中摘取的内容,文本中序号分明,文本内之间的信息以'...............'分割。 +# 任务目标: +# 请根据以下内容,筛选出 废标项的情况 (明确描述导致 废标 的情况)并返回对应的序号。 +# 要求与指南: +# 文本中可能存在无关的信息,请准确筛选符合条件的信息,并将符合条件的信息的序号返回。 +# 输出格式: +# 返回结果以 [x, x, x] 的形式,其中 x 为符合条件的信息的序号,为自然数。无需额外返回解释与说明。 +# 如果文本中没有任何符合条件的废标情况,请返回 []。 +# 示例输出,仅供格式参考: +# [1,3,4,6] +# 文本内容:{full_text} +# """, +# os.path.join(output_dir, "temp2.txt"), +# "废标项" +# ), +# ( +# r'不\s*得(?!\s*(分|力))|禁\s*止\s*投\s*标', +# """以下是从招标文件中摘取的内容,文本中序号分明,文本内的条款以'...............'分割。条款规定了各方不得存在的情形。请根据以下要求进行筛选: +# **投标相关主体与非投标相关主体的定义**: +# 投标相关主体:包括但不限于“投标人”、“中标人”、“供应商”、“联合体投标各方”、“响应人”、“应答人”或其他描述投标方的词语。 +# 非投标相关主体:包括但不限于“招标人”、“采购人”、“评标委员会”或其他描述非投标方的词语。 +# **筛选要求**: +# 1. **仅筛选**明确描述投标相关主体禁止情形或不得存在的情形的条款,不包含笼统或未具体说明情形的条款。例如: +# 若条款内容包含'投标人不得存在的其他关联情形'这样的笼统描述,而未说明具体的情形,则无需添加该条款。 +# 2. **排除**仅描述非投标相关主体行为限制或禁止情形的条款,例如“招标人不得泄露信息”或“评标委员会不得收受贿赂”,则无需返回。 +# 3. 若条款同时描述了对投标相关主体与非投标相关主体的行为限制、禁止情形,也需返回。 +# 4. **特殊情况**:如果条款中包含“磋商小组”、”各方“等既能指代投标相关主体又能指代非投标相关主体的词汇: +# 若在语境中其指代或包含投标相关主体,则应将其考虑在内;否则,排除该条款。 +# +# **输出格式**: +# 返回结果以 [x, x, x] 的形式,其中 x 为符合条件的条款的序号,为自然数。无需额外返回解释与说明。 +# 如果没有符合条件的条款,返回 `[]`。 +# **示例**: +# - **符合条件**: +# - `1. 投标人不得...` → 包含,返回序号 1。 +# - `3. 联合体投标各方不得...` → 包含,返回序号 3。 +# - **不符合条件**: +# - `2. 采购人不得...` → 主语为“采购人”,排除。 +# -示例输出: [1,3] +# 请根据上述筛选要求,阅读以下文本内容,并返回符合条件的条款序号, +# +# 文本内容:{full_text} +# """, +# os.path.join(output_dir, "temp3.txt"), +# "不得存在的情形" +# ) ] results = []