多语言Google Meet摘要工具和Python项目

多语言Google Meet摘要工具和Python项目

介绍

多语言Google Meet摘要工具是一个可以在多种语言中为Google Meet对话创建文字记录的工具/Chrome扩展。在COVID时期,人们需要一种能够有效总结会议、教室讲座和演讲视频的工具。因此,这样的工具在这方面非常有用。

在本文中,让我们通过代码的帮助来了解项目的结构概述和一些实现方面。

该项目是关于什么的

这是一个简单的Chrome扩展,当在Google Meet会议期间启用时,可以生成会议记录并以多语言格式总结对话。

我们将使用哪些工具

  • 前端 − Reactjs、HTML、CSS、Bootstrap

  • 后端Django REST service

  • Python (ML ) − Pytorch、NLTK库

  • 数据库SQLite

项目所需的流程图和步骤

  • 用户启动会议并同时启用扩展。

  • 然后扩展使用HTML音频提取会议的音频并进行转录。

  • 然后将数据发送到后端,后端使用ML算法对文本进行摘要。

  • ML翻译模型将摘要文本翻译成目标语言。

  • 最后,可以从扩展中下载摘要。

多语言Google Meet摘要工具和Python项目

项目实施

UI(前端)和后端

  • 使用Django Rest API创建了一个身份验证服务,允许用户登录并保存转录文本。

  • 在Django中创建了一个模型,并使用JWT令牌。REST API用于生成令牌和身份验证用户。

  • 然后,使用SQL语言在SQLite中创建了一个数据库并建立关系。

  • 创建了转录架构,包括id、姓名、日期、主持人、标题、持续时间和文本等。

  • 接下来,创建了一个REST API,用于由Chrome扩展程序将数据发送到前端。

  • 在后端,还使用Python、NLTK和NLP创建了用于文本摘要和翻译的API。

代码实现

示例

from googletrans import Translator
LANG_CODES = {
   'ENGLISH': 'en',
   'HINDI': 'hi',
   'MARATHI': 'mr',
   'ARABIC': 'ar',
   'BENGALI': 'bn',
   'CHINESE': 'zh-CN',
   'FRENCH': 'fr',
   'GUJARATI': 'gu',
   'JAPANESE': 'ja',
   'KANNADA': 'kn',
   'MALAYALAM': 'ml',
   'NEPALI': 'ne',
   'ORIYA': 'or',
   'PORTUGUESE': 'pt',
   'PUNJABI': 'pa',
   'RUSSIAN': 'ru',
   'SPANISH': 'es',
   'TAMIL': 'ta',
   'TELUGU': 'te',
   'URDU': 'ur'
}

def langauge_translate(input_data, input_lang, output_lang):
   input_lang, output_lang = input_lang.upper(), output_lang.upper()
   tr = Translator()
   text_translate = tr.translate(
   input_data, src=LANG_CODES[input_lang], dest=LANG_CODES[output_lang])
   output_text = text_rtanslate.text
   return(output_text)

机器学习算法

总结

数据清洗 -> 分词 -> 词汇生成/排名/频率 -> 句子选取 -> 总结

翻译

初始化 -> 嵌入生成 -> 编码 -> 解码 -> 总结

用于总结和翻译的Python代码

示例

from nltk.tokenize import sent_tokenize,word_tokenize
import nltk
from nltk.corpus import stopwords
nltk.download('stopwords')
nltk.download('punkt')

def text_clean(txt):
   data = txt.split('**')
   data.pop(0)
   cleaned_data = ""
   i = 0
   for t in data:
      if i % 2 != 0:
         cleaned_data += str(t)
      i += 1
   return cleaned_data
stopwords = set(stopwords.words("english"))

def word_token(txt):
   w = word_tokenize(txt)
   return w
def frequency_table(txt):
   frequencyT = dict()
   words = word_token(txt)
   for w in words:
      w = w.lower()
      if w in stopwords:
         continue
      if w in frequencyT:
         frequencyT[w] += 1
      else:
         frequencyT[w] = 1
   return frequencyT
def Senttokenizer(txt):
   sents = sent_tokenize(txt)
   return sents
def sents_rank_table(txt):
   sent_value = dict()
   freq_Table = frequency_table(txt)
   sents = Senttokenizer(txt)
   for s in sents:
      for word, freq in freq_Table.items():
         if word in s.lower():
            if s in sent_value:
               sent_value[s] += freq
            else:
               sent_value[s] = freq
   return sent_value
def summary(txt):
   sum = 0
   sent_value = sents_rank_table(txt)
   for sentence in sent_value:
      sum += sent_value[sentence]
   average = int(sum / len(sent_value))
   summary = ""
   sents = Senttokenizer(txt)
   for s in sents:
      if (s in sent_value) and (sent_value[s] > (1.2 * average)):
         summ += " " + s
   return summ
def main(input_text):
   # getting text cleaned
   if("**" not in input_text):
      txt = input_text
   else:
      cleanedtext = text_clean(input_text)
      txt = cleanedtext
   summarized_text = summary(txt)
   print("Summary: ", summarized_text)
   return summarized_text

网站排名/位置和搜索引擎优化在当今的搜索趋势和结果相关性中起着至关重要的作用。搜索引擎排名广泛被许多大型科技组织如谷歌采用,配备了最先进的算法。

在本文中,我们将探讨机器学习如何影响网站的排名,以及如何利用网站数据来提升最先进的算法。

机器学习在排名中如何有用?

有一段时间,SEO领域的专家一直避免使用深度学习和神经网络来开发排名算法,但如今随着机器学习和深度学习算法的实施的多样性,这种情况已经完全改变。

今天,谷歌、微软和雅虎等大型组织正在积极利用这些算法。

main(textdata)

输出

Summary:    Search Engine Ranking is widely 
adopted by many big tech organizations  like google today with state-of-the-art 
algorithms.In this article, we are going to explore how Machine Learning can impact 
the ranking of sites and how it can utilize site data to fuel state-of-the-art 
algorithms.How can Machine Learning be useful in Ranking?For some time, back 
specialists in SEO have been keeping themselves away using Deep Learning and 
neuralnetworks for developing ranking algorithms, but today with the versatility of 
implementation of machine learning and deep learning algorithms this scenario has 
completely changed.Today big organizations like Google, Microsoft, and Yahoo are 
actively exploiting these algorithms.

结论

Google Meet Summarizer 是一个简单的项目,可以使用与前端、后端和机器学习相关的技术栈,在多种语言下总结一个 Google 会议。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程