热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

项目构想——使用NLP

项目构想——使用NLP从旧报纸上搜索新闻原文:https

项目构想——使用 NLP

从旧报纸上搜索新闻

原文:https://www . geesforgeks . org/project-idea-search-news-from-old-press-use-NLP/

我们知道报纸是丰富的知识来源。当一个人需要某个特定话题或主题的一些信息时,他会在网上搜索,但很难从地区地方报纸上获得与我们搜索相关的所有旧新闻文章。因为不是每个地方报纸都提供在线搜索。在这篇文章中,我们将提出一个解决这个问题的想法。

什么项目?



  • 本项目使用旧区域报纸的图像或报纸图像的 pdf 作为数据库的输入。

  • 该模型将使用 Pytesseract 从图像中提取文本。

  • 《侏儒怪》中的文字将会被 NLP 的实践所清理,以简化和消除对我们没有帮助的词语(停止词语)。

  • 数据将以键值对的形式保存,其中键有图像路径,值在图像中有关键字。

  • 搜索:当用户访问网站时,他会在搜索框中键入主题名称或实体名称,然后报纸的图像会加载到屏幕上。


为什么是 NLP?

报纸文章包含许多文章、介词和其他对我们没有用的停止词,所以 NLP 帮助我们删除那些停止词。这也有助于获得独特的词汇。

使用的技术:



  • 我是 NLTK

  • 计算机编程语言


使用的工具:



  • Google colab


使用的库:



  • 侏儒:图像转文字。

  • NLTK: 文本预处理,过滤。

  • 熊猫:储存数据帧。


用例图

逐步实施:


库安装

首先,在 colab 上安装所需的库。

Python 3

!pip install nltk
!pip install pytesseract
!sudo apt install tesseract-ocr
# to check if it installed properly
# !which tesseract
# pytesseract.pytesseract.tesseract_cmd = (
#     r'/usr/bin/tesseract'
# )

让我们导入所有必要的库:

Python 3

import io
import glob
import os
from PIL import Image
import cv2
import pytesseract 
# /usr/bin/tesseract
import pandas as pd
import nltk
nltk.download('popular')
nltk.download('stopwords')
nltk.download('wordnet')
from nltk.tokenize import RegexpTokenizer
from nltk.corpus import stopwords
from nltk.stem.wordnet import WordNetLemmatizer
from IPython.display import Image
from google.colab.patches import cv2_imshow

前置功能

这将清理文本以获得重要的名称、关键词等。停止词和重复词被下面的函数删除。

Python 3

def pre(text):
    text = text.lower()
    tokenizer = RegexpTokenizer(r'\w+')
    new_words = tokenizer.tokenize(text)
    stop_words = list(stopwords.words("english"))
    filtered_words = []
    for w in new_words:
        if w not in stop_words:
            filtered_words.append(w)
    unique = []
    for w in filtered_words:
        if w not in unique:
            unique.append(w)
    res = ' '.join([str(elem) for elem in unique])
    res = res.lower()
    return res

to_df 函数

当给定图像路径作为参数时,它返回文本变量中的预处理文本。然后,该文本作为参数传递给 pre()。这个函数返回带有文件名和重要文本的字典。

计算机编程语言

def to_df(imgno):
  text = pytesseract.image_to_string(imgno)
  out = pre(text)
  data = {'filename':imgno,
          'text':out}
  return data

推荐阅读
author-avatar
高远PASTOR
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有