【问题标题】:n-gram generation for words of non english languages非英语单词的 n-gram 生成
【发布时间】:2015-12-09 17:34:21
【问题描述】:

我正在为捷克语单词执行 Bigram 生成。我能够使用 Python 生成 Bi-gram。问题在于捷克语中的非英文字符。

输入:

republikán strategy proti znovuzvolení Obamy

执行Bigram,输出为

[['republik\xc3\xa1n', 'strategii'], ['strategii', 'proti'], ['proti', 'znovuzvolen\xc3\xad'], ['znovuzvolen\xc3 \xad', 'Obamy']]

捷克语的特殊字母在bigram中转换为\xc3\xad。 需要对代码进行哪些更改才能在输出中以正确的方式获取特殊字母

【问题讨论】:

    标签: python non-ascii-characters n-gram non-english


    【解决方案1】:

    数据是正确的,但是当您将列表转换为字符串时,输出是使用repr 为列表项准备的,而不是str。比较:

    >>> x = [['republikán']]
    >>> print(x)
    [['republik\xc3\xa1n']]
    >>> print(x[0])
    ['republik\xc3\xa1n']
    >>> print(x[0][0])
    republikán
    >>>
    

    【讨论】:

    • 这工作得很好,但我希望它打印列表中的所有单词,而不仅仅是第一个单词。
    • 打印列表的功能旨在作为调试工具,而不是用于最终输出。从列表元素构建你想要的字符串,然后打印它。
    猜你喜欢
    • 2021-06-29
    • 2019-02-23
    • 2014-04-04
    • 2014-12-29
    • 2014-02-10
    • 2018-02-20
    • 1970-01-01
    • 2019-08-07
    • 2019-08-03
    相关资源
    最近更新 更多