使用 BabelFy 进行实体提取、翻译和评估
项目描述
BabelEnte:使用 BabelFy 进行实体提取、翻译和隐式评估
======================================= =============================================
这是一个实体提取器,使用 `BabelFy <http://babelfy.org>`_ 的翻译器和评估器。最初
为 TraMOOC 项目开发。它是用 Python 3 编写的。
.. image:: https://github.com/proycon/babelente/blob/master/logo.jpg?raw=true
:align: center
安装
---------- -----
::
pip3 install babelente
或克隆这个 github 存储库并运行“python3 setup.py install”,可选地在命令前加上“sudo”进行
全局安装。
用法
------
你需要一个 BabelFy API 密钥,从 `BabelNet.org <http://babelnet.org>`_ 获取。
请参阅 ``babelente -h`` 以获得详细的使用说明,解释所有选项。
对于纯文本文档上的简单实体识别/链接,请按如下方式调用 BabelEnte。这将产生所有找到的实体的 JSON 输出:
``$ babelente -k "YOUR-API-KEY" -s en -S sentences.en.txt > output.json``
BabelEnte 带有 `FoLiA <https://github .com/proycon/folia>`_ 支持。允许您阅读 FoLiA 文档并
生成包含检测/链接实体的丰富 FoLiA 文档。为此,只需指定
您的 FoLiA 文档的语言并将它们传递给 babelente,如下所示,允许多个文档:
``$ babelente -k "YOUR-API-KEY" -s en yourdocument.folia.xml``
每个 FoLiA 文档将被输出到一个新文件,其中包括所有实体。实体将
在可能的情况下显式链接到 BabelNet 和 DBpedia。同时,“stdout”输出再次由一个包含所有找到的
实体的 JSON 对象组成。
请注意,此方法目前尚未对实体进行任何翻译(
如果您愿意,我愿意接受功能请求)。
如果您从纯文本开始但想要生成 FoLiA 输出,则首先使用例如 `ucto
<https://github.com/LanguageMachines/ucto>`_ 标记您的文档并将其转换为 FoLiA,然后再将其传递给
巴别塔。
TraMOOC 的用法
--------------------
该软件可用于翻译的隐式评估,因为它是在 TraMOOC
项目的范围内设计的。
要评估翻译(在此示例中为英语到葡萄牙语),输出将是 JSON 到标准输出:
``$ babelente -k "YOUR-API-KEY" -s en -t pt -S sentence.en.txt -T 句子。 pt.txt > output.json``
重新评估:
``$ babelente --evalfile output.json -S sentence.en.txt -T sentence.pt.txt > newoutput.json``
评估
~~~~~ ~~~~~~~~
评估产生了几个指标。
* source coverage 找到的源实体覆盖的字符数除以源文本中的字符总数
* target coverage 找到的目标实体覆盖的字符数除以目标文本中的字符总数
Precision and Recall
~~~~~~~~~~~~~~~~~~~~~~
在标准中评分方法 我们计算每个实体并计算分数
我们还实现了计算分数的选项
* **微精度** 在目标和源文本中找到的等效实体的总和除以目标语言中找到的实体的总和
* **宏精度** 目标文本和源文本中找到的等效实体的总和除以目标句子的数量
* **微召回**目标和源中找到的等效实体的总和除以在目标语言中存在等效链接的源语言中找到的实体的总和。换句话说,找到了多少假设的可能匹配项?
请注意,这是密集计算,需要指定为命令行参数 -recall。
* **宏观召回**目标文本和源文本中找到的等效实体的总和除以源句子的数量。
**计算实体集的召回率和精度**
除了计算每个出现的实体(“令牌”),我们还可以计算每个实体一次(“类型”或“集合”)。当输入文本包含相同句子的许多重复或轻微变化时,这可能是性能度量的更有用指标。
此选项通过参数 —nodup (no duplicates) 激活。
许可证
-----------
GNU - GPL 3.0
======================================= =============================================
这是一个实体提取器,使用 `BabelFy <http://babelfy.org>`_ 的翻译器和评估器。最初
为 TraMOOC 项目开发。它是用 Python 3 编写的。
.. image:: https://github.com/proycon/babelente/blob/master/logo.jpg?raw=true
:align: center
安装
---------- -----
::
pip3 install babelente
或克隆这个 github 存储库并运行“python3 setup.py install”,可选地在命令前加上“sudo”进行
全局安装。
用法
------
你需要一个 BabelFy API 密钥,从 `BabelNet.org <http://babelnet.org>`_ 获取。
请参阅 ``babelente -h`` 以获得详细的使用说明,解释所有选项。
对于纯文本文档上的简单实体识别/链接,请按如下方式调用 BabelEnte。这将产生所有找到的实体的 JSON 输出:
``$ babelente -k "YOUR-API-KEY" -s en -S sentences.en.txt > output.json``
BabelEnte 带有 `FoLiA <https://github .com/proycon/folia>`_ 支持。允许您阅读 FoLiA 文档并
生成包含检测/链接实体的丰富 FoLiA 文档。为此,只需指定
您的 FoLiA 文档的语言并将它们传递给 babelente,如下所示,允许多个文档:
``$ babelente -k "YOUR-API-KEY" -s en yourdocument.folia.xml``
每个 FoLiA 文档将被输出到一个新文件,其中包括所有实体。实体将
在可能的情况下显式链接到 BabelNet 和 DBpedia。同时,“stdout”输出再次由一个包含所有找到的
实体的 JSON 对象组成。
请注意,此方法目前尚未对实体进行任何翻译(
如果您愿意,我愿意接受功能请求)。
如果您从纯文本开始但想要生成 FoLiA 输出,则首先使用例如 `ucto
<https://github.com/LanguageMachines/ucto>`_ 标记您的文档并将其转换为 FoLiA,然后再将其传递给
巴别塔。
TraMOOC 的用法
--------------------
该软件可用于翻译的隐式评估,因为它是在 TraMOOC
项目的范围内设计的。
要评估翻译(在此示例中为英语到葡萄牙语),输出将是 JSON 到标准输出:
``$ babelente -k "YOUR-API-KEY" -s en -t pt -S sentence.en.txt -T 句子。 pt.txt > output.json``
重新评估:
``$ babelente --evalfile output.json -S sentence.en.txt -T sentence.pt.txt > newoutput.json``
评估
~~~~~ ~~~~~~~~
评估产生了几个指标。
* source coverage 找到的源实体覆盖的字符数除以源文本中的字符总数
* target coverage 找到的目标实体覆盖的字符数除以目标文本中的字符总数
Precision and Recall
~~~~~~~~~~~~~~~~~~~~~~
在标准中评分方法 我们计算每个实体并计算分数
我们还实现了计算分数的选项
* **微精度** 在目标和源文本中找到的等效实体的总和除以目标语言中找到的实体的总和
* **宏精度** 目标文本和源文本中找到的等效实体的总和除以目标句子的数量
* **微召回**目标和源中找到的等效实体的总和除以在目标语言中存在等效链接的源语言中找到的实体的总和。换句话说,找到了多少假设的可能匹配项?
请注意,这是密集计算,需要指定为命令行参数 -recall。
* **宏观召回**目标文本和源文本中找到的等效实体的总和除以源句子的数量。
**计算实体集的召回率和精度**
除了计算每个出现的实体(“令牌”),我们还可以计算每个实体一次(“类型”或“集合”)。当输入文本包含相同句子的许多重复或轻微变化时,这可能是性能度量的更有用指标。
此选项通过参数 —nodup (no duplicates) 激活。
许可证
-----------
GNU - GPL 3.0