j-higgins commited on
Commit
f7b170c
·
verified ·
1 Parent(s): 63e7475

Update app.py

Browse files

fixed noob syntax errors 🤦

Files changed (1) hide show
  1. app.py +71 -73
app.py CHANGED
@@ -290,81 +290,79 @@ app.layout = dbc.Container([
290
  dcc.Store(id='processed-data'),
291
 
292
  # Explanation content
293
- dbc.Row([
294
- dbc.Col([
295
- html.Div([
296
- dbc.Card([
297
- dbc.CardBody([
298
- html.H3([html.I(className="fas fa-info-circle mr-2"), "About KeyIntentNER-T"], className="card-title text-warning"),
299
- html.P("This tool provides valuable keyword insights for SEO and digital marketing professionals. Enter a list of keywords and get insights into Keyword Intent, NLP Entities extracted via NER (Named Entity Recognition), & Topics. I created KeyIntentNER-T as an example of how to use more modern NLP methods to gain insights into shorter text strings (keywords) and how this information may be understood by search engines using similar techniques.", className="card-text"),
300
- ])
301
- ], className="mb-4 shadow-sm"),
302
- # New Usage Instructions Section
303
- dbc.Card([
304
- dbc.CardBody([
305
- html.H3([html.I(className="fas fa-user-cog mr-2"), "Usage Instructions"], className="card-title text-primary"),
306
- dbc.ListGroup([
307
- dbc.ListGroupItem([html.I(className="fas fa-1 mr-2"), "Enter your keywords: Paste your list of keywords into the text area, one per line."]),
308
- dbc.ListGroupItem([html.I(className="fas fa-2 mr-2"), "Click 'Process Keywords': This will start the analysis."]),
309
- dbc.ListGroupItem([html.I(className="fas fa-3 mr-2"), "Wait for processing: This can take 30 seconds to 2 minutes depending on the number of keywords."]),
310
- dbc.ListGroupItem([html.I(className="fas fa-4 mr-2"), "View results: The tool will display Keyword Intent, NLP Entities, and Topics for each keyword."]),
311
- dbc.ListGroupItem([html.I(className="fas fa-5 mr-2"), "Export data: Use the 'Export to CSV' button to download your results."]),
312
- ], flush=True)
313
- ])
314
- ], className="mb-4 shadow-sm"),
315
-
316
- dbc.Row([
317
- dbc.Col([
318
- dbc.Card([
319
- dbc.CardBody([
320
- html.H3([html.I(className="fas fa-pen mr-2"), "Notes on the data"], className="card-title text-success"),
321
- dbc.ListGroup([
322
- dbc.ListGroupItem([html.I(className="fas fa-check mr-2"), "Keyword Intent is determined using a custom function that looks for the presence of specific terms and then classifies it into one of six predefined intent categories: 'informational', 'navigational', 'local', 'commercial investigation', 'transactional', or 'other'."]),
323
- dbc.ListGroupItem([html.I(className="fas fa-check mr-2"), "NLP Entities are determined using GLiNER, an advanced Named Entity Recognition (NER) model that is better at classifying shorter text strings. Additionally, Entitites are mapped to all Entity Types included in the Google Cloud Natural Language API."]),
324
- dbc.ListGroupItem([html.I(className="fas fa-check mr-2"), "Topics are determined by matching keywords to topics from Google's well-known Content and Product taxonomies."]),
325
- dbc.ListGroupItem([html.I(className="fas fa-check mr-2"), "Since this tool is doing a lot behind the scenes, keyword processing can take anywhere from 30 seconds up to ~2 minutes."]),
326
- ], flush=True)
327
- html.P([
328
- "For detailed instructions and more information, please refer to the ",
329
- html.A("README file", href="https://github.com/jeredhiggins/KeyIntentNER-T/blob/main/README.md", target="_blank"),
330
- "."
331
- ], className="mt-3")
332
  ])
333
  ], className="mb-4 shadow-sm"),
334
- ])
335
- ], className="mb-4 shadow-sm")
336
- ], md=6),
337
- dbc.Col([
338
- dbc.Card([
339
- dbc.CardBody([
340
- html.H3([html.I(className="fas fa-chart-line mr-2"), "Benefits for SEO"], className="card-title text-info"),
341
- dbc.ListGroup([
342
- dbc.ListGroupItem([html.I(className="fas fa-arrow-up mr-2"), "Improved content strategy by focusing your SEO efforts on creating more relevant/helpful content that addresses the search intent for keywords."]),
343
- dbc.ListGroupItem([html.I(className="fas fa-bullseye mr-2"), "Enhanced keyword targeting by matching keywords to Google's well-known categories, ensuring your content is aligned with popular search themes."]),
344
- dbc.ListGroupItem([html.I(className="fas fa-users mr-2"), "Better understanding of what kind of information a person is looking for."]),
345
- dbc.ListGroupItem([html.I(className="fas fa-robot mr-2"), "Better understanding of how keywords can be interpreted by search engines."]),
346
- ], flush=True)
347
- ])
348
- ], className="mb-4 shadow-sm")
349
- ], md=6),
350
- ]),
351
- dbc.Card([
352
- dbc.CardBody([
353
- html.H3([html.I(className="fas fa-quote-left mr-2"), "GLiNER Model Citation"], className="card-title text-light"),
354
- html.P([
355
- "GLiNER: Generalist Model for Named Entity Recognition using Bidirectional Transformer. ",
356
- html.Br(),
357
- "Authors: Urchade Zaratiana, Nadi Tomeh, Pierre Holat, Thierry Charnois.",
358
- html.Br(),
359
- "Year: 2023.",
360
- html.Br(),
361
- html.A([html.I(className="fas fa-external-link-alt mr-2"), "arXiv:2311.08526"], href="https://arxiv.org/abs/2311.08526", target="_blank", className="btn btn-outline-warning btn-sm mt-2")
362
- ], className="card-text"),
363
- ])
364
- ], className="mb-4 shadow-sm")
365
- ], id="about")
366
- ], width=12)
367
- ], className="mt-5"),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
368
 
369
  # Contact section
370
  dbc.Row([
 
290
  dcc.Store(id='processed-data'),
291
 
292
  # Explanation content
293
+ dbc.Row([
294
+ dbc.Col([
295
+ html.Div([
296
+ dbc.Card([
297
+ dbc.CardBody([
298
+ html.H3([html.I(className="fas fa-info-circle mr-2"), "About KeyIntentNER-T"], className="card-title text-warning"),
299
+ html.P("This tool provides valuable keyword insights for SEO and digital marketing professionals. Enter a list of keywords and get insights into Keyword Intent, NLP Entities extracted via NER (Named Entity Recognition), & Topics. I created KeyIntentNER-T as an example of how to use more modern NLP methods to gain insights into shorter text strings (keywords) and how this information may be understood by search engines using similar techniques.", className="card-text"),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
300
  ])
301
  ], className="mb-4 shadow-sm"),
302
+ # New Usage Instructions Section
303
+ dbc.Card([
304
+ dbc.CardBody([
305
+ html.H3([html.I(className="fas fa-user-cog mr-2"), "Usage Instructions"], className="card-title text-primary"),
306
+ dbc.ListGroup([
307
+ dbc.ListGroupItem([html.I(className="fas fa-1 mr-2"), "Enter your keywords: Paste your list of keywords into the text area, one per line."]),
308
+ dbc.ListGroupItem([html.I(className="fas fa-2 mr-2"), "Click 'Process Keywords': This will start the analysis."]),
309
+ dbc.ListGroupItem([html.I(className="fas fa-3 mr-2"), "Wait for processing: This can take 30 seconds to 2 minutes depending on the number of keywords."]),
310
+ dbc.ListGroupItem([html.I(className="fas fa-4 mr-2"), "View results: The tool will display Keyword Intent, NLP Entities, and Topics for each keyword."]),
311
+ dbc.ListGroupItem([html.I(className="fas fa-5 mr-2"), "Export data: Use the 'Export to CSV' button to download your results."]),
312
+ ], flush=True),
313
+ html.P([
314
+ "For detailed instructions and more information, please refer to the ",
315
+ html.A("README file", href="https://github.com/jeredhiggins/KeyIntentNER-T/blob/main/README.md", target="_blank"),
316
+ "."
317
+ ], className="mt-3")
318
+ ])
319
+ ], className="mb-4 shadow-sm"),
320
+
321
+ dbc.Row([
322
+ dbc.Col([
323
+ dbc.Card([
324
+ dbc.CardBody([
325
+ html.H3([html.I(className="fas fa-pen mr-2"), "Notes on the data"], className="card-title text-success"),
326
+ dbc.ListGroup([
327
+ dbc.ListGroupItem([html.I(className="fas fa-check mr-2"), "Keyword Intent is determined using a custom function that looks for the presence of specific terms and then classifies it into one of six predefined intent categories: 'informational', 'navigational', 'local', 'commercial investigation', 'transactional', or 'other'."]),
328
+ dbc.ListGroupItem([html.I(className="fas fa-check mr-2"), "NLP Entities are determined using GLiNER, an advanced Named Entity Recognition (NER) model that is better at classifying shorter text strings. Additionally, Entitites are mapped to all Entity Types included in the Google Cloud Natural Language API."]),
329
+ dbc.ListGroupItem([html.I(className="fas fa-check mr-2"), "Topics are determined by matching keywords to topics from Google's well-known Content and Product taxonomies."]),
330
+ dbc.ListGroupItem([html.I(className="fas fa-check mr-2"), "Since this tool is doing a lot behind the scenes, keyword processing can take anywhere from 30 seconds up to ~2 minutes."]),
331
+ ], flush=True)
332
+ ])
333
+ ], className="mb-4 shadow-sm")
334
+ ], md=6),
335
+ dbc.Col([
336
+ dbc.Card([
337
+ dbc.CardBody([
338
+ html.H3([html.I(className="fas fa-chart-line mr-2"), "Benefits for SEO"], className="card-title text-info"),
339
+ dbc.ListGroup([
340
+ dbc.ListGroupItem([html.I(className="fas fa-arrow-up mr-2"), "Improved content strategy by focusing your SEO efforts on creating more relevant/helpful content that addresses the search intent for keywords."]),
341
+ dbc.ListGroupItem([html.I(className="fas fa-bullseye mr-2"), "Enhanced keyword targeting by matching keywords to Google's well-known categories, ensuring your content is aligned with popular search themes."]),
342
+ dbc.ListGroupItem([html.I(className="fas fa-users mr-2"), "Better understanding of what kind of information a person is looking for."]),
343
+ dbc.ListGroupItem([html.I(className="fas fa-robot mr-2"), "Better understanding of how keywords can be interpreted by search engines."]),
344
+ ], flush=True)
345
+ ])
346
+ ], className="mb-4 shadow-sm")
347
+ ], md=6),
348
+ ]),
349
+ dbc.Card([
350
+ dbc.CardBody([
351
+ html.H3([html.I(className="fas fa-quote-left mr-2"), "GLiNER Model Citation"], className="card-title text-light"),
352
+ html.P([
353
+ "GLiNER: Generalist Model for Named Entity Recognition using Bidirectional Transformer. ",
354
+ html.Br(),
355
+ "Authors: Urchade Zaratiana, Nadi Tomeh, Pierre Holat, Thierry Charnois.",
356
+ html.Br(),
357
+ "Year: 2023.",
358
+ html.Br(),
359
+ html.A([html.I(className="fas fa-external-link-alt mr-2"), "arXiv:2311.08526"], href="https://arxiv.org/abs/2311.08526", target="_blank", className="btn btn-outline-warning btn-sm mt-2")
360
+ ], className="card-text"),
361
+ ])
362
+ ], className="mb-4 shadow-sm")
363
+ ], id="about")
364
+ ], width=12)
365
+ ], className="mt-5"),
366
 
367
  # Contact section
368
  dbc.Row([