python - 영어 API 개발 문서(예: javadoc 문서)의 단어 빈도를 계산하는 방법은 무엇입니까?
迷茫
迷茫 2017-07-05 10:35:00
0
2
1117

제목처럼 더 간단한 기능은 EnglishAPI 개발 문서의 단어 빈도를 계산하는 방법입니다. (문서는 여러 개의 html 파일일 수도 있고 단순한 txt 텍스트가 아닌 chm 파일일 수도 있습니다)

더 복잡한 요구 사항은 개발 문서에 클래스 이름, 함수 또는 메서드 이름 등이 많이 포함되어 있기 때문에 단어가 서로 연결될 수 있으며 통계 시 분리하는 것이 가장 좋습니다 (이는 명명 규칙에 따라 분리될 수 있습니다) ) ;

더 복잡한 요구 사항은 단순히 문서의 단어 빈도를 계산하는 것이 실질적인 의미가 별로 없기 때문에 계산된 단어를 다시 처리하는 방법입니다.

  • the, are, to, is...

    와 같이 개발에 대한 의미가 거의 없는 간단한 단어를 제거하세요.
  • 컴퓨터와 관련된 전문 명사, 프로그래밍에서 특정 의미를 지닌 단어, 프로그래밍 언어의 키워드(문서에 해당하는 다양한 언어 포함)를 분석합니다.

    최종 분석된 단어에 대한 설명에 주석을 답니다(중국어, 타사 API를 통해)...
  • 위 기능을 갖춘 소프트웨어를 개발한다면 구체적으로 어떤 기술이 필요한가요?
아이디어 제공을 환영합니다...

사실 제 고민은 영어 문서를 읽을 때, 이해하지 못하는 단어가 너무 많아서, 단어를 찾아봐야 하는 경우가 많은데, 통계적으로 알 수 있는 도구가 있다면 너무 비효율적입니다. 문서의 어휘를 분석하고, 문서를 읽기 전에 어휘의 의미를 대략적으로 익힐 수 있어 효율성도 높아지고, 작명도 개발할 때 도움이 됩니다...

수정 시 주의 사항:

함께 연결된 단어를 분리하는 것은 실제로 단어 분할 기술이 아닙니다. 전에는 잘못 말했습니다.
  • 원래 질문에서 언급한 기계 학습 사용에 대한 제 생각은 다음과 같습니다. 기계 학습 기능이 있는 소프트웨어는 많은 프로그래밍 개발 문서를 읽고, 그 안에 있는 전문 용어를 찾아내고, 전체 기능의 구현을 더욱 지능적으로 만든다는 것입니다... 물론 이건 내 상상일 뿐이고 맞지 않을 수도 있으니 마음에 안 든다고 비난하지 마세요
  • 마지막으로 제가 언급한 영어 문서 읽기 문제는 누구나 처음에는 이해하지 못하는 단계가 있고 효율성이 낮다는 것입니다. 진실은 모두가 알고 있습니다...
  • 하지만 이것이 우리 논의의 초점은 아닙니다
  • , 저는 단지 이 아이디어를 가지고 모두가 논의할 수 있도록 제안하는 것뿐입니다

    또한 질문하신 내용이 잘못된 경우 메시지를 남겨주시면 수정해 드리도록 하겠습니다.
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

모든 응답(2)
世界只因有你

대학원 입학 시험을 준비하면서 오랫동안 코드를 작성하지 않았지만 일반적인 아이디어는 다음과 같습니다.

  1. 정리 및 필터링: HTML의 경우 먼저 콘텐츠를 필터링하여 자신만의 규칙을 작성하거나 다른 사람이 작성한 규칙을 찾을 수 있습니다

  2. 단어 분할: 먼저 공백과 같은 일반적인 구분 기호를 사용하여 단어를 필터링한 다음 다양한 언어 명명 규칙에 따라 단어를 하나씩 찾습니다

  3. 일반적인 단어 필터링: 인터넷에서 자주 사용되는 영어 단어 파일을 찾아서 일치시킬 수 있어야 합니다

  4. WordCount: Python을 사용하여 MapReduce 필터링을 직접 구현할 수도 있고 Hadoop, Spark 등을 사용할 수도 있습니다.

지금까지 간단한 단어 필터링을 위한 단어 통계를 완성했습니다.
컴퓨터 관련 단어 계산에 관해서는 온라인에서 컴퓨터 관련 단어의 데이터 파일을 다운로드하여 직접 일치시켜야 합니다.
설명이 필요한 경우, Youdao 또는 Baidu Translate API를 호출하면 충분하지만 이러한 API에는 상한이 있을 수 있으므로 사용하지 않았습니다.

위 단계에서는 효율성 문제를 고려하지 않았습니다. 효율성 문제를 고려해야 하는 경우 일부 알고리즘을 사용하거나 다른 사람이 작성한 클래스 라이브러리를 직접 사용해야 합니다.
당신이 언급한 머신러닝의 경우, 여기의 요구사항은 현재 필요하지 않으며 사용할 필요도 없습니다.

마지막으로, 문서를 이해하는 가장 빠른 방법은 더 많은 문서를 읽는 것이라고 말하고 싶습니다. 계속해서 읽으면 문서를 읽는 속도가 점점 더 빨라진다는 것을 알게 될 것입니다. 그러나 이것을 훈련 프로젝트로 삼는 것은 흥미로운 일을 하는 것으로 간주될 수 있습니다.


질문에 대한 수정된 답변:
당신이 언급한 기계 학습은 현재 일반적으로 감독 및 비지도 방식이지만 언급한 내용에 따르면:

머신 러닝이 적용된 소프트웨어는 대량의 프로그래밍 개발 문서를 읽고, 내부의 전문 용어를 찾아 전체 기능의 구현을 더욱 지능적으로 만듭니다...

  1. 지도 학습을 사용하는 경우 코퍼스 데이터의 지원이 반드시 필요합니다. 이미 코퍼스 데이터가 있는 경우 문자열 매칭을 직접 사용하는 것은 어떨까요?

  2. 비지도 학습을 사용할 때 저는 아직 초보자입니다. 제 이해로는 클러스터링의 효과만 얻을 수 있는 것 같습니다. 컴퓨터 용어를 자동으로 식별하려면 수동 주석이나 데이터 지원이 필요합니다

  3. 더 나아가면 NLP를 주의 깊게 공부해야 합니다

머신러닝에 관심이 있으신 것 같은데, 이 프로젝트는 머신러닝을 연습하기에는 좋은 프로젝트가 아닌 것 같아요.

淡淡烟草味

이것을 영어 단어 분할이라고 부르면 안 됩니다. 단어 분할은 문장 구성 요소별로 나누는 것을 의미해야 합니다. 서로 연결된 변수 이름은 대문자와 소문자의 Camel-Case, 밑줄로 구분된 밑줄 등 일반적인 명명 방법으로 식별할 수 있습니다.

단어 분할을 위한 다양한 Word Splitting 라이브러리를 찾을 수 있으며 Python에도 많이 있을 것입니다. 컴퓨터 전문 명사 어휘를 다운로드하고, 단어를 추출한 후 어휘와 일치시켜 의미를 알아보세요.

하지만 사실 만들어졌다고 해서 반드시 읽기 편해지는 것은 아닐 수도 있습니다. 단어만 보기에는 나라를 구하려는 곡선이 조금 있어서 읽지 못할 가능성이 매우 높습니다. 전혀. 컴퓨터 기사의 어휘는 그리 많지 않습니다. 한번 익숙해지면 두 번 익숙해집니다. 단어 검색 경험을 최적화하는 것이 좋습니다. Macmillan, MDict 또는 Oulu 사전과 결합된 Collins 듀얼 솔루션을 사용하여 로드하는 것이 좋습니다. . Chrome에서는 Saladict를 설치하여 단어를 검색할 수도 있습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿