当前位置: 首页 > 面试题库 >

在Python的标记化文字中寻找多字词

秦城
2023-03-14
问题内容

我有一个已被标记的文本,或者一般来说,单词列表也是可以的。例如:

   >>> from nltk.tokenize import word_tokenize
    >>> s = '''Good muffins cost $3.88\nin New York.  Please buy me
    ... two of them.\n\nThanks.'''
    >>> word_tokenize(s)
        ['Good', 'muffins', 'cost', '$', '3.88', 'in', 'New', 'York', '.',
        'Please', 'buy', 'me', 'two', 'of', 'them', '.', 'Thanks', '.']

如果我有一个包含单个单词和多个单词键的Python字典,该如何有效且正确地检查其在文本中的存在?理想的输出应该是key:location_in_text对,或者是一些方便的东西。提前致谢!

附言:“正确”地解释-如果我的字典中有“租赁”,我不希望请打上标记。另外,需要识别复数。我想知道如果没有许多if-else子句,是否可以很好地解决这个问题。


问题答案:

如果您已经有了“多词表达式”地名词典的列表,则可以使用MWETokenizer,例如:

>>> from nltk.tokenize import MWETokenizer
>>> from nltk import sent_tokenize, word_tokenize

>>> s = '''Good muffins cost $3.88\nin New York.  Please buy me
...     ... two of them.\n\nThanks.'''

>>> mwe = MWETokenizer([('New', 'York'), ('Hong', 'Kong')], separator='_')


>>> [mwe.tokenize(word_tokenize(sent)) for sent in sent_tokenize(s)]
[['Good', 'muffins', 'cost', '$', '3.88', 'in', 'New_York', '.'], ['Please', 'buy', 'me', '...', 'two', 'of', 'them', '.'], ['Thanks', '.']]


 类似资料:
  • 我试图打印三个数字的中间值,但当测试用例是数字2,1,2时,它没有给出任何结果,但当我尝试2,2,1时,它给出的正确答案是2,那么我该如何修复这段代码呢?

  • 我们使用管道()来分隔描述(左)和上下文意义(右)。

  • 我有一个带有一些输入字段行的HTML表。每个输入字段都有一个值。我要查找的输入字段是任何包含文本“filter”的输入字段。实际文本是“filter2”或可能是“filter3”。我可以使用Xpath中的contains关键字为@value属性查找“filter”吗? 我构建的XPATH是: 我想在value属性中找到具有过滤器的输入字段,排除数字2 HTML代码段是: 谢了Riaz

  • 问题内容: 我需要规范化值列表以适合概率分布,即介于0.0和1.0之间。 我知道 如何 规范化,但是很好奇Python是否具有自动执行此功能的功能。 我想从: 至 问题答案: 采用 : 对总和进行归一化以确保总和始终为1.0(或尽可能接近)。 采用 相对于最大值归一化

  • 但它显示。我如何解决这个问题?

  • 问题内容: 我正在尝试做一些在gson中非常容易的事情。由于我改用Jackson作为序列化程序,所以我不知道如何实现此目的: 我只想序列化已由注释标记的字段。GSON代码为: 这应该导致(JSON) (语法错误可能会被忽略-来源仅用于演示) 那么,杰克逊(Gson’s)和杰克逊(Json)的对应对象是什么? 问题答案: 似乎有一种方法可以配置为忽略所有非注释字段。 资源