【问题标题】:how to create an incremental id for sentences? [duplicate]如何为句子创建增量 id? [复制]
【发布时间】:2016-11-30 13:49:42
【问题描述】:

我的任务是 NLP 任务,我必须分析句子语料库。句子的每个单词都是一行,并且分析该行中的每个单词。

句子之间用空行分隔。我想给每个句子一个 ID,以便能够恢复另一个表中其他字段中的其他信息。期望的结果是:

1 the
1 cat
1 is
1 black

2 the
2 moon
2 is
2 full

以此类推,每个单词都是一个新行。我想我应该用 Python 来做,但我很困惑。

【问题讨论】:

  • 嗨 Gloria -- 不幸的是,StackOverflow 不是为您编写代码或获得一般建议的地方。站点规则要求您自己尝试编码,研究您遇到的问题,如果仍然需要帮助,请提供您的代码并提供有关您如何尝试解决问题的信息。我怀疑这个问题将被关闭。好消息是,Python 很容易上手,而且这个问题并不是特别复杂。 Try this tutorial 或在谷歌搜索 Python 教程。有很多免费的可以帮助您入门
  • 你能提供一个输入文件吗
  • 在这些情况下,我喜欢参考“我们不是代码编写服务”部分。话虽如此,我会按照以下方式做一些事情:将句子拆分为一个列表(在每个空格处),然后使用新行指示器来设置您的 ID,或者保存在与句子一起的矩阵中,或者保存在单独的列表中,具体取决于如何你想做。
  • 要阅读 StackOverflow 以解决您的问题,请尝试以下问题:reading lines in a file into PythonSplitting Sentence into list of words
  • @Navidad20 通常我们会要求您在编辑帖子时不要将拼写从英国更改为美国(反之亦然)。

标签: python nlp


【解决方案1】:

这样的事情应该可以解决问题:

count = 1
input_file = open('input.txt', 'r')
output_file = open('results.txt', 'w')
for line in input_file:
    new_line = str(count) + ' '  + line.lstrip().replace(' ', ' ' + str(count) + ' ')
    count = count + 1
    print new_line
    output_file.write(new_line)

input_file.close()
output_file.close()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-15
    • 2013-07-27
    • 2020-04-23
    • 2010-11-05
    • 1970-01-01
    • 1970-01-01
    • 2018-12-13
    • 1970-01-01
    相关资源
    最近更新 更多