This application is a Natural Language Processing (NLP) tool focused on analyzing and manipulating textual information. It integrates various functionalities such as search engines, content recommendation, plagiarism analysis, identification of trends in social media, and automatic summary generation. To achieve this, it uses a news corpus stored in CSV format and BERT-based models to obtain semantic representations of texts.
-
Search Engine π:
Given a user prompt or query, the most relevant documents from the corpus are retrieved and ranked according to their similarity to the query. -
Content Recommendation π‘:
Based on a series of keywords, the application suggests the most relevant articles or news. -
Plagiarism Analysis π:
Detects duplication or textual similarity. It provides a plagiarism percentage after comparing the input text with documents from the corpus. -
Document Trends π:
Identifies and summarizes the most relevant trends. Displays graphs and summaries of emerging topics based on available information. -
Automatic Summarization βοΈ:
Generates document summaries. It leverages BERT models to understand the semantic context of each text.
- Python 3.8+
- Python Libraries:
customtkinter
π₯οΈCTkTable
πPIL
(Pillow) πΌοΈPyInstaller
π οΈ
To install the dependencies, use pip
:
pip install customtkinter CTkTable Pillow pyinstaller
- The corpus must be stored in CSV format.
- Ensure that fields are structured appropriately to facilitate processing.
- Clone the repository or download the source code.
- Install the dependencies (see the previous section).
- Run the main script (e.g.,
app.py
ormain.py
, depending on its actual name):
python src/main.py
- The graphical interface will open. Use the sidebar to navigate through the different sections (Search, Recommendation, Plagiarism, Trends, Summary).
Use the following command in Git Bash or any terminal:
pyinstaller --onefile --noconsole --icon=assets/images/logo.ico \
--add-data "assets/images/logo.ico;assets/images" \
--add-data "assets/images/article.png;assets/images" \
--add-data "assets/images/bars.png;assets/images" \
--add-data "assets/images/bug.png;assets/images" \
--add-data "assets/images/like.png;assets/images" \
--add-data "assets/images/logo.png;assets/images" \
--add-data "assets/images/search.png;assets/images" \
--add-data "assets/images/chart.png;assets/images" \
--name "Nota Insights" \
src/main.py
--onefile
: Generates a single executable file.--noconsole
: Prevents a terminal window from appearing when running the application.--icon=logo.ico
: Sets a custom icon for the executable.--add-data
: Includes additional resources (images, icons, etc.) required for the application. Each item must specify its original path and destination path separated by;
.
Once completed, the executable will be located in the dist/
folder generated by PyInstaller. π