DrishtiSharma commited on
Commit
3a11daf
·
verified ·
1 Parent(s): 5633d52

Update patentwiz/preprocess_data.py

Browse files
Files changed (1) hide show
  1. patentwiz/preprocess_data.py +18 -17
patentwiz/preprocess_data.py CHANGED
@@ -81,29 +81,30 @@ def download_weekly_patents(year, month, day, logging):
81
  )
82
  return False
83
 
84
- def filter_rf_patents(patents, keywords=None):
85
  """
86
- Filters patents based on RF-related keywords.
87
  Parameters:
88
- patents (list): A list of patent descriptions.
89
  keywords (list): Keywords to filter patents.
 
90
  Returns:
91
- list: Filtered patents containing RF-related keywords.
92
  """
93
  if keywords is None:
94
- keywords = [
95
- "RF", "Radio Frequency", "Wireless Communication", "Microwave Antenna", " Microwave Devices", "Antenna",
96
- "Antenna Array", "Beamforming", "Analog beamforming", "Digital Beamforming", "Radiation Pattern",
97
- "Antenna Gain", "Antenna Bandwidth", "5G", "6G", "IoT", "RF Spectrum", "RF Filter", "Power Amplifier",
98
- "High Frequency Oscillator", "RF Mixer", "RF Coupler", "Standing Wave Ratio", "SWR",
99
- "Voltage Standing Wave Ratio", "VSWR", "Transceiver", "Patch Antenna", "Parabolic Antenna", "Dipole Antenna",
100
- "Directional Coupler", "Phased Array Antenna", "Wireless Charging", "Inductive charging", "Transparent Antenna",
101
- "Scattering Parameters", "Smith Chart"
102
- ]
103
- rf_patents = [
104
- patent for patent in patents if any(keyword.lower() in patent.lower() for keyword in keywords)
105
- ]
106
- return rf_patents
107
 
108
  def extract_patents(year, month, day, logging):
109
  """
 
81
  )
82
  return False
83
 
84
+ def filter_rf_patents(patents, keywords=None, fields=None):
85
  """
86
+ Filters patents based on keywords and specified fields.
87
  Parameters:
88
+ patents (list): List of patents.
89
  keywords (list): Keywords to filter patents.
90
+ fields (list): Fields to search for keywords (e.g., Title, Abstract, Claims).
91
  Returns:
92
+ list: Filtered patents.
93
  """
94
  if keywords is None:
95
+ keywords = ["Radio Frequency", "Antenna", "UAV", "Wireless Charging"] # Default keywords
96
+ if fields is None:
97
+ fields = ["Title", "Abstract"] # Default fields
98
+
99
+ filtered_patents = []
100
+ for patent in patents:
101
+ for field in fields:
102
+ field_content = patent.get(field.lower(), "")
103
+ if any(keyword.lower() in field_content.lower() for keyword in keywords):
104
+ filtered_patents.append(patent)
105
+ break
106
+ return filtered_patents
107
+
108
 
109
  def extract_patents(year, month, day, logging):
110
  """