多语言摘要生成器,旨在提高文本可读性
multilang-summarizer的Python项目详细描述
多语言摘要生成器
该软件包实现了一个在线多文档摘要算法,旨在提高文本的可读性。它支持以下语言:
- “de”:“德语”
- 'en':'english'
- “是”:“西班牙语”
- 'fr':'french'
- “hu”:“匈牙利语”
- “It”:“意大利语”
- “pt”:“葡萄牙语”
- “ro”:“罗马尼亚语”
- “sv”:“瑞典语”
这项工作得到了墨西哥国家科学技术委员会(康纳克特)的部分支持,作为C.C.TeDras CONACYTT项目的一部分^ {EM1}$NeaseStula PARAGIZARAR EL DeSARLLO DE SistaMas Entuuro EUURIOO < EEM >,参考文献3053。
先决条件
此项目具有以下依赖项:
- 扑热息痛
- 文本状态
- 分句器
- 努比
- nltk(需要下载标记化语料库)
安装
该软件包通过pip:
pip install multilang-summarizer
使用
摘要生成器函数直接实现算法。
from multilang_summarizer.summarizer import summarizer
# summarizer(D_path, f_method, seq_method, lemmatizer, session_id=1)
它接收到单个文档的路径、三个不同句子关联函数的选择(f_方法)、相关术语选择方法(seq_方法)、引理器和会话号(用于存储目的)。
F_方法的选择可以是以下三种方法之一:
- “f1”:使用平均术语似然作为相关性的指标。 “F2”:使用过去的用语和音节熵分别测量相关性和句子复杂度。
- “f3”:使用基于加权tfidf的方法来度量相关性。
seq_方法的选择可以是以下三种方法之一:
- “partial”:使用最后生成的摘要和新输入之间的简单匹配来标识相关术语。
- “概率”:使用过去的术语likelihood来识别相关术语。
- “lcs”:使用最长的公共子序列算法来识别最后生成的摘要和新输入之间的相关术语。
lemmatizer对象包含所选语言的元素化规则。对于英语,它可以引用如下:
from multilang_summarizer.lemmatizer import Lemmatizer
lemmatizer = Lemmatizer.for_language("en")
最后,session_id告诉运行摘要输入d将添加到的算法。可以同时打开不同的会话。要清除所有会话的缓存,请使用以下方法:
from multilang_summarizer.summarizer import clean_working_memory
clean_working_memory()
最后,summanger返回一个document对象,该对象包含从命名会话中所有以前的文档中选择的所有句子,以及选择每个句子所用的f分数。
运行测试
回购协议中提供了两个示例脚本:
- 测试/测试英语.py
- 测试/西班牙语测试.py
要运行它们,需要test_documents文件夹中的文档。简单地说,执行
python tests/test_english.py
安装后从根文件夹。
示例结果
以下摘要是使用f_method='f3'和seq_method='lcs'在test_documents文件夹中的10个新闻项上获得的。
For the second day in a row, astronauts boarded space shuttle Endeavour
on Friday for liftoff on NASA's first space station construction flight.
The decision, which followed ``frank and
candid'' discussions between the two partners, was not imposed by
the United States, he said.
The main cargo Thursday was the Unity module, the first U.S.-built
station part.
The shuttle contains
the second station component.
The mechanical arm has never before moved anything so big.
The bigger worry, by far, was over Endeavour's pursuit and capture
of Zarya, and its coupling with Unity.
在西班牙语中,使用f_method='f1'和seq_method='lcs'对test_documents文件夹中的12个西班牙语新闻项获取以下摘要。
Tras una intensa búsqueda llevada a cabo por rescatistas, los 12 niños y su profesor fueron encontrados con vida y en buen estado de salud.
El rescate de los 12 niños y su entrenador que quedaron atrapados en una cueva inundada, en el norte de Tailandia, podría tomar semanas o incluso meses.
Pero aunque los 13 pudieran bucear, algunas partes de la cueva son demasiado estrechas,lo que exige mucho entrenamiento para poder pasar con tanques de buceo.
Los niños fueron encontrados, 200 metros más adelante.
Están cansados y necesitan un tiempo para reponerse.
La primera etapa del rescate es hacerles recuperar fuerzas.
Los 13 miembros están bien.
作者
- arturo curiel-arturocuriel.com
许可证
此项目是在gplv3许可下授权的-有关详细信息,请参见LICENSE文件
致谢
- 感谢Claudio Gutierrez Soto和Rafael Rojano在算法开发中的投入。