ltp icon indicating copy to clipboard operation
ltp copied to clipboard

实体识别的,如何才能定位到原文中的位置,

Open renyunfeng opened this issue 3 years ago • 1 comments

因为结果要返显到原文中,我想到用返回实体在分词结果中的位置去做定位,但是原文中有很多的空格,回车等符号,根据分词后的序号也无法进行还原。例如: 原文: 中共中央副主席 刘少奇在栾城县贾村视察
分词结果:[['中共中央', '副', '主席', '刘少奇', '在', '栾城县', '贾村', '视察']] 原文中的空格分词结果没有了,

renyunfeng avatar Jan 16 '22 12:01 renyunfeng

用python3 简单实现了一个

from typing import List

def get_word_begin_index(origin_text: str, seg_word_list: List[str]):
    begin = 0  # char index for origin_text
    results = []
    for word in seg_word_list:
        word_len = len(word)
        word_index = origin_text.find(word, begin)
        if begin < word_index:
            results.append(origin_text[begin:word_index])
        results.append(origin_text[word_index:word_index+word_len])
        begin = word_index + word_len
    if begin < len(origin_text):
        results.append(origin_text[begin:])
    return results

origin_text = ' 中共中央副主席 刘少奇在栾城县贾村视察\n'
seg = ['中共中央', '副', '主席', '刘少奇', '在', '栾城县', '贾村', '视察']

real_seg = get_word_begin_index(origin_text, seg)
print(real_seg)
# [' ', '中共中央', '副', '主席', ' ', '刘少奇', '在', '栾城县', '贾村', '视察', '\n']

DevRoss avatar Jan 18 '22 09:01 DevRoss