【问题标题】:How to delete spaces beween letters that make up the same word?如何删除组成同一个单词的字母之间的空格?
【发布时间】:2021-07-10 00:33:42
【问题描述】:

我基本上有一个完整的文档,在某些时候包含文本 =“R E S U L T”,在我对其进行标记后,该函数逐字母对其进行标记,所以我想让计算机知道“RESULT”必须是标记为一个完整的词。关于如何消除文档中由空格分隔的单词的空格的任何想法?

我在想如何让计算机知道,如果它找到像 Letter+space+Letter+space 这样的模式,它也许可以识别它?

这是我得到的输出:

R 名词 conj

E名词对象

S PROPN 对象

U PROPN 平

L PROPN 平

T PROPN 平

这是我的代码:

for value in dict.values():
    sentence= nlp2(value)
    for token in sentence:
        token_text = token.text
        token_pos = token.pos_
        token_dep = token.dep_
        print("{:<12}{:<10}{:<10}".format(token_text,token_pos,token_dep))

非常感谢!:)

【问题讨论】:

  • 尽管有您的标签,但我无法确定您的 nlp2 函数在做什么。如果您使用的是包,请在代码中包含 include 行。在将文本发送到分词器之前调整文本可能更有意义。 RESULT 是您希望被隔开的唯一单词吗?如果是这样,您可能可以通过先进行转换来节省进一步的处理麻烦。
  • 是的,我想我给出的示例代码没有用,我计划在 nlp2() 调用之前转换文本,并且没有结果不是唯一的词..知道如何调整文字?再次感谢你!
  • 有没有插入空格的其他词样例?如果有一个模式,也许你可以只寻找那些开始的时间,并且只在这些情况下应用空间删除。这可能是搜索正则表达式并删除所有空格的问题,但也可能取决于确定哪些空格是重要的。

标签: python nlp token tokenize


【解决方案1】:

看起来句子的变量是单词“RESULT”,所以您正在遍历字母。例如,如果句子是一个列表,您将遍历这些单词。所以检查你的值和句子变量,看看你需要调整什么。看这个玩具例子:

word_not_sentence = 'RESULT'
sentence_as_list_of_words = ['desired', 'RESULT']

for letter in word_not_sentence:
    print(letter)

for word in sentence_as_list_of_words:
    print(word)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-08
    相关资源
    最近更新 更多