【问题标题】:Finding all verbs in Microsoft Word document查找 Microsoft Word 文档中的所有动词
【发布时间】:2017-03-02 15:16:10
【问题描述】:

我想知道是否可以搜索 Microsoft Word 文档中的所有动词。

我发现你可以找到特定动词的所有“形式”(例如搜索“be”,单词会找到“be”、“am”、“are”、“was”等。 ) 但我需要一些更通用的东西:只要找到每个动词(可能还有它们的形式)。

我也看过这个Checking whether a particular word is a noun or verb,我看到了“使用 VBA”。是否有某种 API 可以与 ms-Word 一起使用来查找所有动词或访问某种关于单词的元数据/注册表?或者我可以使用某种特殊的正则表达式吗?

我知道有时它无法确定一个词是名词还是动词,但如果不是 100% 准确,那也不是问题。

在某些情况下:我正在用法语写作,尽管 ms-Word 发现了很多错误,但它并没有找到所有错误。有一些 ms-Word 看不到的反复出现的错误,但是如果我搜索每个动词,我可以轻松/快速地检查自己(比重新阅读整个文档要快)。

我使用的是 Microsoft Office 2007 SP3。

编辑:当然我不确定这是否可能,但 ms-Word 似乎相当准确地知道这一点。我相信 ms-Word 有一些方法可以根据它如何纠正语法错误来判断一个词是动词、名词、复数等。也许我对 ms-Word 的工作方式有误,也许我是对的,但无法访问此类数据。如果我是对的并且可以访问它,如何访问它?

【问题讨论】:

  • 哪种编程语言?
  • 您链接到的帖子正确地指出了这几乎是不可能的。这甚至需要相当复杂的人工智能来确定动词是什么。如果让计算机尝试确定什么是动词,您可能会遇到更多错误。
  • @FredrikRedin 我希望使用正则表达式或 VBA(如果 ms-Word 为此显示某种 API)。
  • @Carcigenicate 也许只是一个大数据库嵌入在 ms-Word 中,这就足够了吗?至于动词,上下文可能会有所帮助,ms-Word 似乎很擅长。
  • @Asoub 这将非常依赖于上下文。我敢打赌,除非你能找到一个专门为此目的而设计的库,否则你将很难做到这一点。

标签: ms-word


【解决方案1】:

正则表达式是创建定义搜索模式的字符序列的标准,您仍然需要某种编程语言来解释结果。如果您是编程新手,我会推荐 C# - 它比 VBA 和许多其他语言更现代,IMO 更容易,并且与 Microsoft 的“OpenXML SDK”一起,以编程方式读取/解析 Word 文档变得容易。为了确定一个词是否是动词,我会使用一个好的字典 REST API 来帮助我(那里有很多字典 API)。

编辑:如果您熟悉 Java,请使用 Java。由于 .docx 文件实际上是 XML,因此您可以使用 Java 深入研究 XML 并查找所有文本元素(以及调用您选择的字典 REST API)。

.docx 文档的 XML 结构:

<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
  <w:body>
    <w:p>
      <w:r>
        <w:t>Example text.</w:t>
      </w:r>
    </w:p>
  </w:body>
</w:document>

祝你好运

OpenXML SDK: msdn.microsoft.com/en-us/library/office/bb448854.aspx https://msdn.microsoft.com/en-us/library/office/ff478541.aspx

字典 API: http://www.programmableweb.com/category/dictionary

如何在 java 中读取 Doc 或 Docx 文件: https://stackoverflow.com/a/7102794/1380061

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-31
    • 2021-10-30
    • 1970-01-01
    • 2012-08-31
    • 1970-01-01
    相关资源
    最近更新 更多